エクスプロイト&脆弱性
Microsoft EdgeとInternet Explorerにゼロデイ脆弱性、セッション情報が露出する恐れ
2019年3月30日、セキュリティリサーチャのJames Lee氏によって現行バージョンのMicrosoft EdgeおよびInternet Explorerのゼロデイ脆弱性が報告されました。これらの脆弱性は「同一生成元ポリシー違反」と呼ばれるもので、不正なWebサイトに埋め込まれたJavaScriptが、ユーザが訪問した別のWebサイトに関連した情報を収集することが可能になります。
2019年3月30日、セキュリティリサーチャのJames Lee氏によって現行バージョンのMicrosoft EdgeおよびInternet Explorerのゼロデイ脆弱性が報告されました。これらの脆弱性は「同一生成元ポリシー違反」と呼ばれるもので、不正なWebサイトに埋め込まれたJavaScriptが、ユーザが訪問した別のWebサイトに関連した情報を収集することが可能になります。ユーザがMicrosoft EdgeまたはInternet Explorerを使用して不正なWebサイトを訪問した場合、これらの脆弱性が利用され、ブラウザのセッションに関する機密情報が攻撃者に転送される恐れがあります。Lee氏はそれぞれの脆弱性に対する簡単な概念実証(Proof of Concept、PoC)サイトも公開しています。
■同一生成元ポリシーの仕組み
ユーザの銀行情報にアクセスしたいと考える攻撃者がいたとします。攻撃者は、ユーザを不正なWebサイト(例えば「hxxp://www.attack1.com」)に誘導します。このWebサイトには、クライアントのキャッシュに保存されているすべてのセッションIDにアクセスするJavaScriptが埋め込まれています。攻撃者の狙いは、銀行のWebサイト(例えば「hxxp://www.trustedbank.com」)のセッション情報です。 しかし、同一生成元ポリシーが機能していれば「attack1.com」のスクリプトは「trustedbank.com」のセッション情報にアクセスすることはできません。なぜなら銀行のWebサイトである「trustedbank.com」は攻撃者のWebサイトである「attack1.com」とは生成元が異なるためです。従ってユーザの銀行情報が攻撃者に知られることはありません。
■攻撃の解析
しかし残念なことに、上述した脆弱性により攻撃者はMicrosoft EdgeとInternet Explorerの同一生成元ポリシーを回避することが可能です。上述のLee氏の公開しているPoCサイト「pwning.click」では、このことを実体験することができます。脆弱なブラウザ、この場合はInternet Explorerから、PoCサイトにアクセスすると図1のような結果が得られます。
図1:Internet ExplorerでPoCサイトにアクセスした結果表示されるポップアップ
PoCサイトは検索エンジン「bing.com」にリダイレクトします。もし、Internet Explorerの同一生成元ポリシーが適切に機能していれば、埋め込まれたJavaScriptは「pwning.click」からの情報のみを表示するはずです。しかし、このポップアップは「bing.com」の検索結果を表示しています。つまり、Internet ExplorerはリダイレクトしたWebサイトに関する情報へのアクセスを制限せず、「pwning.click」が別のWebサイトである「bing.com」でのユーザの活動に関する情報にアクセスすることを許してしまっています。 図2と図3は、それぞれInternet ExplorerとMicrosoft EdgeからPoCサイトにアクセスした際のトラフィックです。
図2:Internet ExplorerでJames Lee氏のPoCサイトにアクセスしたトラフィック
図3:Microsoft EdgeでJames Lee氏のPoCサイトにアクセスしたトラフィック
Microsoft Edge向けPoCの重要な部分は「performance.getEntries("resource")[index].name」です。埋め込まれたJavaScriptは、この行でPerformance APIを通してリクエストしたリソースのURLにアクセスします。 「Performance.getEntries(<entryType>)」は図4のような属性を持つPerformanceEntryオブジェクトを返します。更新された有効なEntryType一覧はこちらを参照してください。
図4:PerformanceEntryオブジェクトのフィールド一覧(図はこちらから引用)
「performance.getEntries」は、Internert Explorerでは「performance.getEntriesByType("resource")[index].name」となっていますが、技術的な説明は本質的に同一です。 図1のポップアップに表示されたURLは埋め込まれた生成元とは異なるため、攻撃者はブラウザの同一生成元ポリシーの回避に成功し、本来アクセスが制限されているリソースにアクセスできたことになります。 生成元とは異なるURLには、平文またはハッシュ値の形で、クッキー、セッションID、ユーザ名、パスワード、認証トークンのような情報が保存されている可能性があります。特に、権限認可のための方式であるOAuthは、サードパーティのアプリケーションがユーザのオンラインアカウントにログインする1つの方法であり、過去にも悪用が確認されています。攻撃者はこの脆弱性を利用し、WebサイトのURLに含まれた機密情報を収集することが可能です。 以上を踏まえ、上述した攻撃シナリオを振り返ってみましょう。攻撃者が、同一生成元ポリシーを回避し、ユーザが銀行のWebサイトとの間でやり取りした認証情報などの機密情報にアクセスすることができた場合、攻撃者はユーザの銀行アカウントを侵害することが可能になります。攻撃者はユーザになりすましてサイトにログインし、すべての個人情報にアクセスしたり、決済処理を認証したりすることも可能になるでしょう。
■被害に遭わないためには
セッション情報を不正なサーバに露出するこの脆弱性の影響は非常に大きなものですが、本記事執筆時点(2019年4月2日)でこの脆弱性に対処する修正プログラムの公開予定についてはまだ情報がありません。1つの回避策は、この不具合が修正されるまでMicrosoft EdgeとInternet Explorerの使用を控えることです。
■トレンドマイクロの対策
サーバ向け総合セキュリティ製品「Trend Micro Deep Security™」およびエンドポイントセキュリティ製品「Trend Micro Virtual Patch for Endpoint™」は、以下のルールによってこのゼロデイ脆弱性を利用する脅威からお客様を保護します。
- 1009640 - Microsoft Edge And Internet Explorer Same Origin Policy Bypass Vulnerabilities
【更新情報】
2019/04/04 12:00 | トレンドマイクロの対策に「Trend Micro Virtual Patch for Endpoint™」を追加しました。 |
参考記事:
- 「Microsoft Edge and Internet Explorer Zero-Days Allow Access to Confidential Session Data」
by Kassiane Westell(Vulnerability Researcher)
翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)