運用中のプログラムを改変し、特定の条件のときに実行される不正な命令を隠しておく手口に対して有効な対策はどれか。
ア:一時記憶領域にあるプログラムは、ジョブの終了時に確実に消去する。
イ:実行用プログラムのバックアップコピーのハッシュ値と実際に使用しているプログラムのハッシュ値を提起的に突き合せて、一致していることを確認する。
ウ:全レコードの総合計欄の値が、各レコードのフィールド値を合計した値と一致していることを確認する。
エ:データの各フィールドにチェックディジットを付加する。
答:イ
ア:有効な対策ではない。一時記憶領域にあるプログラムは、ジョブの終了後に再利用されることはない。消去しなくてもプログラムが改変される危険性はない。
イ:有効な対策である。バックアップコピーのハッシュ値と実際に使用しているプログラムのハッシュ値を確認することで、プログラムの改変を発見することができる。
ウ:有効な対策ではない。全レコードの総合計欄の値と各レコードのフィールド値を合計した値を確認することで、データの改ざんを発見することはできる。しかし、プログラムの改変を発見することはできない。
エ:有効な対策ではない。データの各フィールドにチェックディジットを付加することにより、データの改ざんを発見することはできる。しかし、プログラムの改変を発見することはできない。
ハッシュ値(hash number)とは
■ハッシュ関数(ある一定範囲の数値を生成する関数)を使って算出された値のこと。
■メッセージダイジェストやフィンガープリント(指紋)とも呼ばれる。
■異なるデータから同じハッシュ値が算出されることは殆どないため、ハッシュ値を比較すればデータが改ざんされていないかチェックすることができる。
■ハッシュ値とハッシュ関数が分かっていても,元のデータを再現することはできない。
チェックディジット(check digit)とは
■符号の入力誤りや捏造などをチェックするために、元の符号に付加される数字のこと。
■銀行の口座番号やクレジットカード番号、バーコードなどに利用されている。
■元の符号を一定の式で計算し、その計算結果(チェックディジット)をその符号の末尾などに付加する。
■読み取り時に再計算することで、符号の誤りや捏造をチェックすることができる。


