バッファオーバーフロー

更新日:

用語解説

確保したメモリ領域の境界を超えてデータを書き込み、隣接するデータ、管理情報、制御情報を破壊する脆弱性・現象です。

■ 試験で押さえるポイント

  • スタック上とヒープ上のバッファで発生し、異常終了によるサービス妨害だけでなく、条件によって制御フローを奪われ任意コード実行へつながります。

  • 入力データの長さと終端、整数計算による確保サイズ、コピー先容量を検証し、境界検査のある言語・コンテナ・安全なAPIを優先します。

  • スタックカナリア、ASLR、実行防止(DEP/NX)、制御フロー保護などは悪用を難しくする多層防御であり、境界外書込みそのものを修正する代替ではありません。

  • コンパイラ警告、静的解析、ファジング、コードレビューで早期に発見し、プロセスを最小権限・分離環境で動かして悪用時の影響を限定します。

■ 過去問での着眼点

固定長領域を超える書込みによるメモリ破壊です。単なる入力値の長さ超過ではなく、境界検査不足がクラッシュやコード実行を招きます。

例: 受信長を確認せず256バイトの配列へコピーする処理は危険です。実際の配列容量と受信長を比較し、超過を拒否する境界安全な処理へ直します。

音声で聞く

同じ分野の用語