2016.06.25(土)

[緊急寄稿] Internet Explorer 0-day脆弱性に関する調査レポート

特集 特集

9月17日、Internet Explorer(IE)に新たな脆弱性が報告されました。米Microsoftは9月21日(日本時間22日)、予告通りにIEのセキュリティ更新プログラムを緊急公開しましたが、この間はいわゆる0-dayの脆弱性となっており、IE7やIE8を標的とした攻撃が発生していたことが報告されています。

影響を受けるInternet Explorerのバージョンは6、7、8、9であり、Webサイトの閲覧のみで被害に遭う可能性があります。

FFRIでは本件に関して調査を行い、独自にIn the wildの検体を入手し、その検体と攻撃に利用された脆弱性について以下に報告いたします。なお、検体は以下のブログで報告されているものです。

Zero-Day Season Is Really Not Over Yet
http://eromang.zataz.com/2012/09/16/zero-day-season-is-really-not-over-yet/

このブログの筆者によれば、先日のJava Runtimeの脆弱性について調査を行っていたときにこの検体を発見したとのことです。

この検体はIEの脆弱性を突くもので、2つのJavaScriptコードとAdobe Flashのオブジェクトを組み合わせたものでした。

この脆弱性はuse-after-free脆弱性と呼ばれるもので、プログラマとしての視点からすると、このタイプの脆弱性を完全になくすのは非常に難しいと言えます。

エラーチェックなどはありませんが、今回の問題を理解するための簡単なコードを書いてみました。

MyApp::WorkWithObjメソッドは_myObjを利用して2つの仕事を行っています。_myObj->method1()を呼び出したとき、その先でどこかのコン ポーネントが

MyApp::DeleteObjを呼び出してしまった場合、_myObj->method2()呼出しの結果は不定となってしまいます。

さらに、C++のオ ブジェクト内にそのオブジェクトの関数テーブル(vtable)へのポインタ(vptr)が配置されていることを考慮した場合、_myObjのあった領域 にユーザー入力のデータが配置され、

その結果、任意のアドレスにある関数テーブルを参照させることができてしまいます。

他にもユーザーからの入力をメモリ上に配置するコードが存在すれば、その場所ポイントすることで任意のアドレスの実行が可能となって しまいます。

この例の場合、単純なため、このような間違いを組み込むことは少ないかもしれませんが、コンポーネントや関係するプログラマの増加により複雑さが増していけば、このような間違いが起きる可能性はかなり高いと思います。

今回のIEの場合、JavaScriptの処理に問題があり、これからメソッドを呼び出そうとしているオブジェクトをその前の処理で削除してしまうというものでした。

また、9月19日のFFRIブログにおいて弊社FFR yaraiにてMetasploitの検証モジュールによる攻撃を防御できることをお伝えしましたが、今回、この検体についても同様に防御できることを確認しました(本脆弱性に対する対応を行い、事後による防御が可能となったのではなく、既リリースのもので「事前に」防御可能であった)。

Internet Exploer脆弱性検証結果
http://www.fourteenforty.jp/blog/2012/09/2012-09-19.htm

・Windows XP SP3
・Internet Explorer 8 (英語版)
・FFR yarai 2.1.850(2012年3月30日リリース)

なお、この検体はIE8の日本語版では動作しませんでした。プログラムの挙動のログからの推測になりますが、この検体が利用している Adobe Flashのファイルが日本語版の場合には意図通り動作していないようです。

FFR yaraiのインストールされていない環境で確認した結果、細工されたWebサイトの閲覧だけで、サーバーに接続しファイル(EXE形式の 実行ファイル)をダウンロードしようとするコードが実行されました。

現在はそのファイルは存在せずダウンロードに失敗しますが、そのまま動作すればそのユーザー権限で任意のファイルの実行が可能です。
つまり、メール本文等に書かれたURLリンクをクリックしただけで攻撃が成立してしまい、PCを乗っ取られてしまう可能性があるということになります。

バッファオーバーフロー系の脆弱性に関しては、危険な個所を開発環境やコンパイラが指摘するなどの機能も備わってきていますが、use- after-freeはコードの流れ全体を把握しないと判断できないという特性上、すべて見つけるのは困難だと言えます。そういう意味では、このような脆弱性は今後も発見され得ると思われます。

本脆弱性のパッチは出るまでの間、この検体は0-day攻撃となっていました。修正パッチが出るまでは攻撃対象となるIEの利用を避ける、怪しいURLを閲覧しないといった対策が必要となっていましたが、修正パッチがリリースされた現在では速やかなパッチ適用が必要となります。

(鈴木 秀一郎)

筆者略歴:株式会社フォティーンフォティ技術研究所 技術戦略室 シニア・リサーチ・エンジニア
《ScanNetSecurity》

編集部おすすめの記事

特集

特集 アクセスランキング

  1. ソリトンシステムズのサイバーセキュリティ 第6回 「理解されないデジタル・フォレンジック(後編) - 攻撃者優位を打破 できるか?」

    ソリトンシステムズのサイバーセキュリティ 第6回 「理解されないデジタル・フォレンジック(後編) - 攻撃者優位を打破 できるか?」

  2. ここが変だよ日本のセキュリティ 第3回「台湾HITCON突撃レポート 前編」

    ここが変だよ日本のセキュリティ 第3回「台湾HITCON突撃レポート 前編」

  3. 生体認証は危険!? 課題と危険が山積みで利用者にはデメリットだけ!?(1)

    生体認証は危険!? 課題と危険が山積みで利用者にはデメリットだけ!?(1)

  4. 顧客視点のサイバーセキュリティスタンダードを発信 ~ デロイト、インテリジェンスセンター(CIC)設立

  5. ソリトンシステムズのサイバーセキュリティ 第5回 「理解されないデジタル・フォレンジック(前編) - お願いだから端末に触らないで!」

  6. ここが変だよ日本のセキュリティ 第22回「セキュリティ対策の弱点探しキーワード 前篇」

  7. ここが変だよ日本のセキュリティ 第1回「被害総額14億円という規模」

  8. ここが変だよ日本のセキュリティ 第4回「台湾HITCON突撃レポート 後編」

  9. 日本の情報セキュリティ機関の現状−情報処理推進機構セキュリティセンター(IPA/ISEC) (2)

  10. ISMS認証とは何か■第1回■

アクセスランキングをもっと見る

★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★
★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★

登録すれば、記事一覧、人気記事ランキング、BASIC 会員限定記事をすべて閲覧できます。毎週月曜朝には一週間のまとめメルマガをお届けします(BASIC 登録後 PREMIUM にアップグレードすれば全ての限定コンテンツにフルアクセスできます)。

×