■Internet Explorerの脆弱性を利用した攻撃の仕組み

投稿者: | 2014年6月19日

先月騒がれたInternet Explorer(以下IE)の脆弱性について
(CVE-2014-1776)
攻撃の仕組みを簡単に説明したいと思います。

今回の脆弱性を利用した攻撃には基本的に
Use After Free
Heap spray
という手法を用いて行われるようです。

Use After Freeとは、使わなくなったデータへの参照を
残しておき、参照先を別のデータに書き換えた後に参照を
呼び出し、不正にプログラムを実行する手法です。
手順はおおまかに下記のようになります。




仕組み上はUse After Freeのみで攻撃を実現できます。
ただ、データAとBがメモリのどの位置に確保されるかは
実際にプログラムが動作しないと分からない為、
狙って攻撃を成功させる事は現実的ではないでしょう。
そこで使用されるのがHeap sprayという手法です。

Heap sprayとは、大量の攻撃用コードでメモリを
埋め尽くして攻撃コードの実行率を上げたる為の手法です。
手順はおおまかに下記のようになります。


ただ、上記のように攻撃コードのみで埋め尽くした場合、
どの位置から攻撃コードが実行されるか予測がつきません。
そこで次のコードを実行するという命令を合わせて使用し、
更に攻撃コードの実行率を上げます。


他にもROP(Return-oriented Programming)という
手法が使われていたりしたようです。
この手法はOSの不正コード防止機能を避ける為の手法です。
少しややこしい手法なので、説明はまたの機会に回します。

ただ、昨今のインターネットブラウザは上記の様な攻撃に
対処するため、「ASLR(Address space layout randomization)
という技術を取り入れています。
ASLRとはメモリの確保する位置をランダムにするという技術です。
メモリの確保位置をランダムにされると、上記の攻撃成功率は
非常に低くなります。

そこで今回の脆弱性はASLR対策が行われていないVGX.DLLという
プログラムライブラリを通して行われたようです。
今回の一時的な対策としてFlashまたはVGX.DLLの無効が推奨されて
いましたが、このVGX.DLLというライブラリがFlash経由で攻撃者に
利用されていたという事でしょう。

今回の仕組みは不特定多数のユーザーを相手にするには不向きな手法で、
基本的には標的型攻撃となります。
メールなどで攻撃プログラムを仕込んだサイトへ誘導し、
攻撃を受けたユーザーからデータを引き出したりします。
怪しいメールなどのリンクはクリックしないように気をつけましょう。

Use After Free脆弱性はIEに限らず、どんなプログラムでも
起こりうる脆弱性です。
使用しているインターネットブラウザがIEでなくても、
セキュリティの情報は定期的にチェックした方がよいでしょう。

参考サイト
システム構築に関してのご依頼、ご質問等がある場合は弊社ホームページ上のお問い合わせフォームまでお問い合わせ下さい。
弊社お問い合わせフォーム
株式会社ヴィンテージ
TEL:093-513-7255