バッファオーバーフロー対策
更新日:
用語解説
バッファオーバーフローは、確保したメモリの領域を超えてデータを書き込み、隣のデータや制御の情報を壊してしまう脆弱性です。
■ 試験で押さえるポイント
プログラムの異常終了だけでなく、攻撃者に任意のコードを実行されることがあります。
入力の長さを確認し、領域の大きさを超えないように処理する(境界の検査)ことが根本の対策です。
ASLRやDEPなどの仕組みは悪用を難しくしますが、根本の対策の代わりにはなりません。
■ 過去問での着眼点
境界の検査をしないことが原因です。安全な関数や言語を使い、入力の長さを必ず確認します。
例: 256バイトの領域に、受け取ったデータの長さを確認せずにコピーする処理は危険です。