ヒープベースのバッファオーバーフロー
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/22 07:15 UTC 版)
「バッファオーバーラン」の記事における「ヒープベースのバッファオーバーフロー」の解説
mallocなどでヒープ領域に動的にメモリを確保する関数に対するオーバーフロー攻撃である。基本的な攻撃手法としては、関数がヒープに確保したメモリ領域が2つあるとき、そのうち一方の領域に対して確保済みのメモリサイズより大きなデータを入力する事でオーバーフローを起こし、もう一方のメモリ領域を書き換えるというものである。mallocは複雑な方法でメモリ確保の場所を決定しているものの、連続して2度mallocした場合にはその結果として確保される2つのメモリ領域は(仮想アドレス空間上で)近くにある傾向があるため、上述のようなバッファオーバーフロー攻撃が可能になる。
※この「ヒープベースのバッファオーバーフロー」の解説は、「バッファオーバーラン」の解説の一部です。
「ヒープベースのバッファオーバーフロー」を含む「バッファオーバーラン」の記事については、「バッファオーバーラン」の概要を参照ください。
- ヒープベースのバッファオーバーフローのページへのリンク