エクスプロイト&脆弱性
Internet Explorerのゼロデイ脆弱性を解析、ファイルやシステム情報を窃取される恐れ
セキュリティリサーチャのJohn Page氏は、2019年4月中旬、Microsoft Internet Explorer(IE)において、XML External Entityインジェクションが可能になるゼロデイ脆弱性について公開しました。攻撃者がこの脆弱性を利用した場合、機密情報の漏えいや対象PCからローカルファイルが窃取されるなどの被害に遭う可能性があります。
セキュリティリサーチャのJohn Page氏は、2019年4月中旬、Microsoft Internet Explorer(IE)において、XML External Entityインジェクションが可能になるゼロデイ脆弱性について公開しました。攻撃者がこの脆弱性を利用した場合、機密情報の漏えいや対象PCからローカルファイルが窃取されるなどの被害に遭う可能性があります。これに関して、Page氏はWindows 7、Windows 10、そしてWindows Server 2012 R2に最新の修正プログラムを適用した状態で「IE 11」の最新バージョンでこの脆弱性を検証しました。トレンドマイクロは、この脆弱性がどのように機能し、そこから生じ得る脅威をどのようにして軽減することができるかについてより深く理解するため、この攻撃の流れについて調査しました。 XML External Entity(XXE)インジェクションは、不適切に制限されたXML 外部実体参照(CWE-611)を持つXMLパーサを利用することで機能します。攻撃者は外部実体参照を使用し、アクセス権の無いコンテンツにアクセスします。 XXEインジェクションは、XMLのようなマークアップ言語で文書タイプを定義するDocument Type Definition(DTD)(CWE-827)も利用します。 例えば、攻撃者は、「file://」プロトコルを悪用した外部実体参照を持つ不正なXMLファイルを利用することで、ローカルファイルにアクセスしたり、「http://」プロトコルを悪用した外部実体参照を使ってWebサーバ上のファイルにアクセスしたりすることが可能です。 Page氏によって報告された脆弱性の場合、ユーザが特別に細工されたMHTMLファイル(拡張子:mht)をIEで開き、新しいタブを複製(Ctrl+K)、またはページを印刷する(Ctrl + P)などの操作を行うことで攻撃が成立します。MHTMLは、Webページを保存するために使用されるファイル形式です。「window.print()」のようなJavaScriptの関数を使うことで、ユーザの操作を再現することも可能です。ユーザが不正なMHTMLファイルを開くと、攻撃者はユーザのシステムからファイルを取得することができます。この脆弱性の悪用に成功するかどうかは、ソーシャルエンジニアリングにかかっています。つまり、攻撃者は、不正なMHTMLファイルをダウンロードして手動で脆弱性攻撃を起動するようにユーザを誘導する必要があるということです。 Page氏が公開したこの脆弱性について、解析結果をMircosoftに提供したところ、次のような公式声明が発表されました。
■脆弱性の影響
攻撃者がこの脆弱性を悪用した場合、ユーザのPC上のファイルに不正にアクセスされてしまう可能性があります。他にも、さらなる攻撃に利用可能な情報を偵察されてしまう恐れもあります。ユーザがインストールしたアプリケーション、ネットワーク構成、権限、およびウイルス対策の詳細などが攻撃者に漏れてしまうことがその一例です。攻撃者は入手した情報を利用して、影響を受けたシステムのネットワークへの足がかりを作ることができます。 XXEインジェクション攻撃は目新しいものではありませんが、重大なセキュリティ上のリスクをもたらす可能性があります。 実際に、「Open Web Application Security Project (OWASP)」の中で、XXE攻撃はアプリケーションや一般的なソフトウェアまたはツールの機能に対する上位のセキュリティリスクの一つと言われています。MHTMLファイルが攻撃経路として利用されている点も注目に値します。MHTMLファイルは、以前にも脆弱性攻撃ツール(エクスプロイトキット)や情報窃取型マルウェアのような脅威によって悪用されたことが知られています。
■攻撃の流れ
この脆弱性を悪用するためには、攻撃者のHTTPサーバに不正なXMLファイルを配置する必要があります。図1のように、攻撃者はこのXMLファイルの中で、HTTPメッセージ内の要求または応答を表すENTITYタグに、ユーザのPCから窃取するファイルを指定する必要があります。対応するファイルは不正なMHTMLファイルから外部エンティティとして参照されます。ファイルへの参照は、ユーザによる自身のPCでの手動の操作によって実行されてしまう可能性があります。
図1:ユーザのPCから窃取するファイルを指定する不正なXMLファイル
攻撃者は、ソーシャルエンジニアリングの手法を利用したスパムメールの添付ファイルやフィッシングのような外部からの攻撃手段を利用し、不正なMHTMLファイルをダウンロードするようにユーザを誘導します。IEはWindowsのすべてのバージョンでMHTMLファイルを開くために使用されるデフォルトのアプリケーションです。そのため、アプリケーションを指定しなくても、ユーザはIEでこの不正なファイルを開くことになります。
図2:攻撃者のサーバから不正なXMLファイルをダウンロードするために、IEのXXE脆弱性を利用するMHTMLファイルのサンプル
図3で示されているように、ユーザが不正なMHTMLファイルを開くと、脆弱なIEは不正なXMLファイルを取得するために攻撃者のサーバーにGETリクエストを送信します。
図3:不正なXMLファイルを取得するために攻撃者のサーバーに送信された1つ目のGETリクエスト
上の図1のように、不正なXMLファイルには、攻撃者が管理するのサーバのUniform Resource Identifier(URI)と共に、窃取するファイルの詳細が含まれています。不正なXMLファイルが参照したファイルの内容は、同じXMLファイルに記載されているURIのパスに従って攻撃者のサーバに送られます。攻撃者側には図4のパケットが表示されます。
図4:ユーザのPCから攻撃者のサーバに送信される2つ目のリクエスト、攻撃者が狙うファイルの内容が含まれている
■トレンドマイクロの対策
本記事執筆時点(2019年5月9日)では、Mircosoftはこの脆弱性に対する修正プログラムを公開していません。 望まないソースからのファイルを開く際には注意を払うことが大切です。 この脆弱性の悪用に成功するためには、攻撃者はユーザを誘導し、悪意のあるファイルを開かせる必要があります。脅威から身を守るために、以下のベストプラクティスを参考にしてください。
- 望まないソースからのリンクをクリックすることや、ファイルをダウンロードして開いたりすることは避ける
- OSとアプリケーションに最新のセキュリティアップデートが適用されていることを確認する(レガシーシステムには仮想パッチを適用)
また、システム管理者、開発者、およびプログラマもベストプラクティスを採用する必要があります。 例えば、OWASPは、XXE攻撃の被害に遭わないためにできることが記されたリストを提供しています。 サーバ向け総合セキュリティ製品「Trend Micro Deep Security™」および「Trend Micro Virtual Patch for Endpoint(旧 Trend Micro 脆弱性対策オプション)」をご利用のお客様は、以下の DPIルールによってこの脆弱性を利用する脅威から保護されています。
- 1005676 – Identified Download Of XML File With External Entity Reference
ネットワーク脅威防御ソリューション「TippingPoint」は、以下のMainlineDV filterにより今回の脅威をブロックします。
- 35016: HTTP: Internet Explorer MHT XXE Information Disclosure Vulnerability
参考記事:
- 「Zero-day XML External Entity (XXE) Injection Vulnerability in Internet Explorer Can Let Attackers Steal Files, System Info」 By Ranga Duraisamy and Kassiane Westell (Vulnerability Researchers)
翻訳: 下舘 紗耶加(Core Technology Marketing, TrendLabs)