***すれ立てるまでもない質問はここで 第23刷***
■ このスレッドは過去ログ倉庫に格納されています
0280デフォルトの名無しさん
NGNGてのはスタック上のバッファをあふれさせて、highアドレス側に積まれている復帰
アドレスなどを書き換えることで任意のコードを実行させるわけだよね。
これって もしもスタックが low方向にではなく high方向に伸びる、つまりプッシュ
によってスタックポインタが増加するような仕様だったら、オーバフローさせても
破壊可能な highアドレス側には無意味なデータしかないわけだから、脆弱性には
なり得ないんじゃないかな(high 方向にヒープとか静的領域が置かれていた場合、
それらを破壊することはできても、任意のコードを実行させることはできないはず)。
じゃあ、なんでスタックは通常 low側に伸びるようになってるのか?と考えると
特に意味はないような…。つまり「バッファ・オーバフロー脆弱性」の根本原因は、
スタックが low方向に伸びる仕様にあるわけで、まずはそのような CPU アーキ
テクチャを変更すべきである、と思うんだけど、どっか間違ってる?
板ちがいだったらスマソ。
■ このスレッドは過去ログ倉庫に格納されています