2016.08.24(水)

[緊急寄稿] 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. KPMG のサイバーセキュリティ経営 (1) 経営者の 3 つの関心事とは

    KPMG のサイバーセキュリティ経営 (1) 経営者の 3 つの関心事とは

  2. [数字でわかるサイバーセキュリティ] 約4割がセキュリティ被害、総務省「通信利用動向調査」

    [数字でわかるサイバーセキュリティ] 約4割がセキュリティ被害、総務省「通信利用動向調査」

  3. [セキュリティ ホットトピック] 話題の「ポケモンGO」、その面白さと危険度

    [セキュリティ ホットトピック] 話題の「ポケモンGO」、その面白さと危険度

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

  5. 仮想化によって拡大するセキュリティリスク、海外子会社で発生したVM削除事件

  6. [緊急寄稿] 電脳コイルとポケモンGO の誘う AR 犯罪新時代

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

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

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

  10. ここが変だよ日本のセキュリティ 第21回「セキュリティ人材は生き残ることができるか?」

  11. [インタビュー]キャリア15年目、新井悠が描くマルウェア研究者のキャリア(トレンドマイクロ)

  12. Scan BASIC MEMBERS 登録方法

  13. [DEF CON 23] 米で相次ぐサイバー攻撃、ソーシャルエンジニアリングはどう悪用されるのか~クリス・ハドナジー インタビュー

  14. 日本企業における情報セキュリティ国際資格CISSP取得の現状

  15. [特別レポート] リアル DMZ 訪問記

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

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

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

  19. 工藤伸治のセキュリティ事件簿シーズン6 誤算 第1回「プロローグ:七月十日 夕方 犯人」

  20. ソリトンシステムズのサイバーセキュリティ 第2回 「 『ランサムウェア』 が試金石? 今、企業の多層防御が試される」

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

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

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

×