*セキュリティ用語集*


*バッファオーバフロー*

用語の別名Buffer-OverFlow、バッファオーバーフロー、バッファ溢れ
ジャンル[攻撃]
内容プログラムのコードに含まれる、変数や領域を処理するために使用されるバッファに対する考慮不足を突いた攻撃の総称です。主にC言語から派生したプログラミング言語で発生するため、UNIXを代表として様々なシステムが該当する可能性があり、商用アプリケーションやオープンソースなど多くのソフトウェアが持つ脆弱性の原因として知られています。
基本的な攻撃の方法はとても単純で、プログラムのプロセスがメモリ上に用意したバッファよりも大きなデータを故意に渡す、というシンプルなものです。これにより、はみ出たデータがバッファの前後の領域を書き換えてしまい、その部分を使用していたプロセスが影響を受けて予測できない動きをする可能性があります。この動きを制御できれば攻撃者はプロセスに思い通りの命令を渡すことが可能であり、仮にうまくいかなくてもプロセスを不安定にさせる程度の効果は充分に期待できます。これを防ぐ方法も単純で、要は用意されたバッファよりも大きなデータが渡されなければよいので、基本的には入力値と変数の型をチェックするだけで大抵の攻撃は回避できます。プログラマが気を付けていれば充分に回避可能であり、このようなチェックをコンパイル時に実施してくれるパッケージもあるので、最近は減少傾向にあるようです。


ネットワークセキュリティ関係者の部屋 > gLOSSARY > バッファオーバフロー