バッファオーバーフロー

バッファオーバーフロー(buffer overflow)とは、メモリ領域であるバッファに対してそれ以上のデータが入力されることで発生するバグやその状態のこと。バッファオーバーランともいう。

システム等において、プログラムが確保しているメモリ領域をバッファと呼ぶ。このバッファの上限を超えたデータが入力・送信されることで、本来意図していないところにデータが入り込み、別の正しいデータを上書きしてしまう。
これによってシステムが誤動作を起こしたり、悪意のあるプログラムを入力されることで、ウイルスが侵入、ファイルの削除、情報漏えいなどが起こる可能性があるため、大きなセキュリティホールとなる。

これらを防ぐためには、入力データの量をチェックする処理や関数を使用する事、不正な引数であれば処理を行わないようにすることが効果的である。