■メモリ破損の脆弱性/メモリ破壊の脆弱性(memory corruption vulnerability)
不正なメモリ書き換えやメモリ操作を許してしまう脆弱性。
メモリ破損の脆弱性は、主に以下のようなメモリ操作に起因する。
- 動的に確保したメモリを解放したにもかかわらず、再度解放してしまう
- すでに解放済みのメモリ領域へアクセスしたり、データを書き込んだりでしまう
- 演算ミスなどによって予期しないバッファ・サイズが割り当てられ、そこに書き込みや初期化処理を行ってしまう
- 割り当てられた領域を超えて、アクセスしたり、データを書き込んだりしてしまう
- ポインタ操作やアドレス演算のミスにより、予期しない場所に値を代入してしまう
メモリ破壊を引き起こすように不正な値を設定したデータを処理させることで、この脆弱性は悪用される。メモリ破壊の脆弱性は、プログラムが異常終了するサービス拒否が引き起こされることが多い。しかし場合によっては、プログラム・コードを書き換えることで、任意のコードを実行させられることもある。Internet
ExplorerのWMF画像ファイルの処理などにメモリ破損の脆弱性が見つかっており、すでに修正されている。
|