本文へスキップ
← 用語集一覧へ

バッファオーバーフロー攻撃

教科書で学ぶWebアプリケーションへの攻撃

定義バッファオーバーフロー攻撃 は、プログラムが入力用に確保した記憶領域 (バッファ) の大きさを超えるデータを送り込み、プログラムに想定外の振る舞いをさせる攻撃である。

解説入力の長さを確かめないプログラムでは、領域からあふれたデータが隣のメモリの内容を上書きする。上書きの結果、プログラムが異常終了したり、攻撃者が送り込んだ命令が実行されたりする。対策は、入力の長さの検査に加え、欠陥を直した修正プログラム (パッチ) をソフトウェアに適用することである。

たとえ決まった大きさの升に米を注ぎ続け、あふれた米が隣の升に流れ込んで中身を混ぜてしまうようなもの。

記憶フックオーバーフローは overflow (あふれる)。バッファはもともと「緩衝材・一時置き場」を指す語である。

攻撃者が過大なデータを送信

バッファの容量を超過

あふれた分が隣接メモリを上書き

プログラムが異常終了

不正なコードを実行

関連する過去問(4 問)