アカウント名:
パスワード:
どうも、この方法って乱暴に言うと「ASLRは空きメモリの中で実行コードの読み込み位置をランダム化して攻撃を避けやすくする。なら、空きメモリを減らしてやりゃあ、読み込み位置は1つに決まっちゃうんじゃね?モグラ叩きでモグラ穴を1個残して埋めてやりゃあ、確実にその穴からモグラが顔を出すみたいに」という方法みたいですね。 で、本家の方では「実証は32bitでやってるけど、64bitだと埋めなきゃいけないメモリが広すぎて機能しないんじゃね?」みたいな話が挙がってます。
元々ASLRって、繰り返し攻撃できる状態ならまぐれ当たりの確率が上がっていくので確実な防御ではないはずですよね。その程度のものを突破するためにメモリを急激に大量消費するってのは、発覚するリスクとか考えると「簡単に回避」でもないような気がします。 元ネタの英文とか斜め読みなので認識が間違ってるかもしれませんけど。
windowsって物理メモリ+swapの合計以上の仮想アドレスは貰えもしないのだっけ?
あ、PAE有効な32bit機なら物理メモリを使い切ることなく仮想アドレス空間を埋め尽くせるんじゃ・・・と思ったけど32bit機で4GB越えのメモリ積んだマシンなんて見たことなかった。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
簡単に回避できるかいまいち不明 (スコア:3, 参考になる)
どうも、この方法って乱暴に言うと「ASLRは空きメモリの中で実行コードの読み込み位置をランダム化して攻撃を避けやすくする。なら、空きメモリを減らしてやりゃあ、読み込み位置は1つに決まっちゃうんじゃね?モグラ叩きでモグラ穴を1個残して埋めてやりゃあ、確実にその穴からモグラが顔を出すみたいに」という方法みたいですね。
で、本家の方では「実証は32bitでやってるけど、64bitだと埋めなきゃいけないメモリが広すぎて機能しないんじゃね?」みたいな話が挙がってます。
元々ASLRって、繰り返し攻撃できる状態ならまぐれ当たりの確率が上がっていくので確実な防御ではないはずですよね。その程度のものを突破するためにメモリを急激に大量消費するってのは、発覚するリスクとか考えると「簡単に回避」でもないような気がします。
元ネタの英文とか斜め読みなので認識が間違ってるかもしれませんけど。
Re: (スコア:0)
読み込み位置を固定アドレスに追い込むために、本当にヒープを要求して物理メモリの空きを減らさなくても、zero pageでも何でもいいからアドレス空間にマップしまくればいいような気がするんだけど。それだったら重くなったりして見た目で気づかれることなく実行できてしまうのではないかな。
Re: (スコア:0)
Re:簡単に回避できるかいまいち不明 (スコア:0)
windowsって物理メモリ+swapの合計以上の仮想アドレスは貰えもしないのだっけ?
あ、PAE有効な32bit機なら物理メモリを使い切ることなく仮想アドレス空間を埋め尽くせるんじゃ・・・
と思ったけど32bit機で4GB越えのメモリ積んだマシンなんて見たことなかった。