ハッキングコンテストで使われたWindows 7版IE8のセキュリティ機構回避手法、公開される

2011年1月17日 15:52

 あるAnonymous Coward 曰く、

 ハッキングコンテスト「Pwn2Own 2010」でWindows 7のハッキングに使われた脆弱性実証(Exploit)コードが公開された (Vreugdenhil Researchのブログ記事Exploitコード)。

 このExploitコードはJavaScriptコードが含まれたHTMLコードとなっており、Windows7のIE8から開くとネイティブコードが実行されるというもの。内容は整数型のラップアラウンドを起こさせてからヒープ確保を行わせて文字列のヒープオーバーフローを起こすという単純なものだが、Windows7に備わっているセキュリティ機構であるASLR(アドレス空間配置のランダム化)やDEP(ヒープやスタックでのコード実行の禁止)を突破する点が新しい。方法の詳細は論文に書かれている。

 ASLRの回避に使った方法は、バッファのオーバーフロー部分をいじくり回してヒープのレイアウトを求めることで、vftableにあるDLLのアドレスを手に入れるというもの。DEPの回避に使った方法は、今後作るオブジェクトと同じメモリ確保サイズの配列を作り、use-after-freeを利用して配列と同じメモリを別のオブジェクトに割り当てさせて、配列を書き換えてオブジェクトのメンバを操作することによって、間接callからVirtualProtectを呼ぶというもの。

 VirtualProtectのアドレスもランダマイズされているが、IEで使用しているATLライブラリがVirtualProtectの呼び出しを含んでいるために、vftableから得たDLLのインポートセクションのアドレスからVirtualProtectのアドレスを取得することができるそうだ。

 スラッシュドットのコメントを読む | セキュリティ | テクノロジー

 関連ストーリー:
IE6/7に未修正の脆弱性、IE8には影響なし 2010年03月10日
「F1」キー押下に注意。Windowsで新たな脆弱性見つかる 2010年03月04日
IE全バージョンに含まれる脆弱性発覚、そして月例セキュリティ・パッチにも不具合 2010年02月15日

 

関連記事

最新記事