[緊急寄稿] Internet Explorer 0-day脆弱性に関する調査レポート | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2016.12.07(水)

[緊急寄稿] 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》

関連記事

Scan PREMIUM 会員限定

もっと見る

Scan PREMIUM 会員限定特集をもっと見る

Scan BASIC 会員限定記事

もっと見る

Scan BASIC 会員限定記事特集をもっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ

もっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ特集をもっと見る

カテゴリ別新着記事

特集 カテゴリの人気記事 MONTHLY ランキング

  1. [インタビュー] セキュリティ人材育成は日本だけの課題ではない、デロイトサイバーチーム日蘭対談

    [インタビュー] セキュリティ人材育成は日本だけの課題ではない、デロイトサイバーチーム日蘭対談

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

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

  3. KPMG のサイバーセキュリティ経営 (3) セキュリティ部門と経営者のギャップ

    KPMG のサイバーセキュリティ経営 (3) セキュリティ部門と経営者のギャップ

  4. [インタビュー] セキュリティ診断で検知される脆弱性の傾向に変化あり(NTTデータ先端技術)

  5. [インタビュー] セキュリティ診断会社の「脆弱性を見つける以外のシゴト」(NTTデータ先端技術)

  6. [数字でわかるサイバーセキュリティ] 個人情報1492人分、放射性物質の研究成果も流出? 富山大学にサイバー攻撃

  7. [セキュリティ ホットトピック] 利益目的の情報漏えいは一発免職! 公務員の新しい懲戒指針を人事院が通達

  8. [数字でわかるサイバーセキュリティ] 2016年上半期サイバー脅威、8割以上「非公開アドレス」を標的

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

  10. ここが変だよ日本のセキュリティ 第25回 「天才少年ハッカーって言い方はどうよ?」

全カテゴリランキング

特集

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

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

×