2016.09.29(木)

[緊急寄稿] 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. クラウドセキュリティ認証「ISO 27017」「ISO 27018」の違いとは? ~クラウドのよさを活かす認証コンサル LRM 社 幸松 哲也 社長に聞く

    クラウドセキュリティ認証「ISO 27017」「ISO 27018」の違いとは? ~クラウドのよさを活かす認証コンサル LRM 社 幸松 哲也 社長に聞く

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

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

  3. KPMG のサイバーセキュリティ経営 (2) 情報システム部門が社長の疑問に答えるためには

    KPMG のサイバーセキュリティ経営 (2) 情報システム部門が社長の疑問に答えるためには

  4. ここが変だよ日本のセキュリティ 第24回「毎年恒例、台湾HITCON突撃レポート」

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

  6. [インタビュー] 脆弱性を探す「バウンティハンター」を育てる、高度サイバーセキュリティ人材育成の一環 (MBSD)

  7. Scan BASIC MEMBERS 登録方法(お土産大放出キャンペーン実施中!)

  8. [数字でわかるサイバーセキュリティ] 2016年上半期インシデントふりかえり、JTB 約 680 万人の個人情報流出 他

  9. シンクライアントを本当にわかっていますか 〜意外に知られていないシンクライアントの真価

  10. Man in the Browser と Man in the Middle 攻撃(CA Security Reminder)

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

  12. なぜ中小企業における不正送金被害が続出しているのか 第5回「中小企業から見たUTMの利点」

  13. 【インタビュー】忘れられがちな内部対策、標的型サイバー攻撃対策

  14. [インタビュー]Sandbox製品部門で顧客満足度1位、Trend Micro Deep Discovery

  15. NSS LabsがNGFWの性能評価マップSVMを公開――各製品の特徴を可視化

  16. 主要Sandbox製品使用実感 第2回「FireEye、Palo Alto」

  17. ドラマ「ブラッディ・マンデイ」ハッキングシーン製作秘話

  18. 工藤伸治のセキュリティ事件簿 シーズン3 エリカとマギー編 第1回「プロローグ:破壊」

  19. 編集長の試用体験記「IBM Rational AppScan」(2)誤検知について

  20. CODE BLUE 第 2 回の舞台裏を聞く~ BLUE 篠田佳奈氏インタビュー

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

★~(=^・ω・^)ノ☆★10月7日まで ノベルティや海外カンファレンスのお土産大放出キャンペーンを実施中 ★★
★~(=^・ω・^)ノ☆★10月7日まで ノベルティや海外カンファレンスのお土産大放出キャンペーンを実施中 ★★

登録すれば、記事一覧、人気記事ランキング、BASIC 会員限定記事はもちろんのこと、掲載された全ての限定コンテンツに、フルアクセスが可能となります。

×