ニュース

Windows 10/11でリンクを踏むときは注意 ~URIハンドラーの不備にセキュリティ会社が警鐘

「ms-officecmd://」URIでドライブバイコード実行が可能

「ms-officecmd://」URIを悪用したドライブバイコード実行の脆弱性(Positive Securityの公式ブログより引用)

 ドイツのセキュリティ企業Positive Securityは12月7日(現地時間)、Windows 10/11でドライブバイコード実行(drive-by code execution)の脆弱性(CVE番号は未割り当て)を明らかにした。Microsoftのセキュリティ部門(MSRC)が脆弱性を正当に評価せず、バグ報酬プログラムで支払われた報奨金が少なかったことが不服で公表に踏み切ったようだ。

 脆弱性の内容は、Windows 10のURIハンドラーに実装不備があり、リモートコード実行(RCE)につながる可能性があるというもの。URIハンドラーは「https://」であればシステム既定のWebブラウザー、「file://」であれば「エクスプローラー」、「microsoft-edge://」であれば「Microsoft Edge」を開くといった具合に、URLの種類に応じて、適切なアプリを起動する仕組み。最近では「https://youtube.com/」へのアクセスで「Youtube」アプリを起動するといったシナリオにも用いられる。Webブラウザーに他アプリのURIが入力された場合は、当該URIに関連付けられたアプリを起動するかを問うポップアップが現れる。

URIハンドラーの例
新しい「Edge」、「Chrome」、「Firefox」は同様のポップアップが現れる

 同社は以前にも「VLC media player」などのアプリでURLハンドラーの実装不備を指摘してきた。

 今回公表された脆弱性は、「ms-officecmd://」のURIハンドラーを調査する過程で発見された。このスキーム(ms-officecmd://)は「Microsoft Office」アプリ(OSにプリインストール)で内部的に用いられているが、Webブラウザーなどで実行すると「LocalBridge.exe」という実行ファイルをトリガーしようとする。

 この実行ファイルを同社が解析したところ、JSON形式でさまざまなパラメーターを与えることで「LocalBridge.exe」の挙動を変更させられることが明らかになったという。なかでもJSONパラメーターの「filename」プロパティに実行ファイル名を与えるとそれを起動できる点はいかにも悪用できそうな仕様だった。

 そこで同社は、「outlook.exe」という悪意のある実行ファイルをダウンロードさせるWebページを用意し、一見無害な「mailto:」リンクに悪意ある「ms-officecmd://」URIを埋め込み、ダウンロードさせた「outlook.exe」をキックする仕掛けを作成した。ユーザーはメールリンクで「Outlook」が起動することを期待するので、偽の「outlook.exe」を実行してしまう可能性が高い。途中、当該URIに関連付けられたアプリを起動するかを問うポップアップがWebブラウザーに現れるはずだが、「Internet Explorer」と古い「Microsoft Edge」(Edge レガシ)には表示されないため攻撃が成立しうる。

 また、アプリフレームワーク「Electron」にかつて存在したプロトコルハンドラー機能の脆弱性(CVE-2018-1000006)を悪用して攻撃を成功させることも可能。この問題はすでに修正されているはずだが、同社は修正漏れのケースを発見し、「Microsoft Teams」で攻撃を実演する動画を公開している。同じ「Electron」ベースの「Skype」でも悪用が可能なようだ。

 同社はこの脆弱性を3月にMicrosoftへ報告したが、当初は「セキュリティの脆弱性の定義を満たしていないソーシャル エンジニアリングに依存している」という理由でレポートは却下されたという。その後、数カ月にわたってやり取りを進めてた結果「リモートコード実行の脆弱性(Critical)」と分類されたものの、CVE番号は割り当てられず、5か月後に発行されたパッチも「Teams」と「Skype」に対処したに過ぎなかった。また、本来であれば最大50,000米ドルの報奨金が得られるはずが、1/10の5,000米ドルしか支払われなかったとのこと。

 Microsoftはこの件に対して声明を発表していないが、URIハンドラーのポップアップを表示しない2つの古いWebブラウザーのうち、「Edge レガシ」はすでにサポートを終了しており、最近のバージョンのWindows 10には搭載されていない。また、米Malwarebytesがこの問題を検証したところ、「Internet Explorer」はクラッシュしてしまい、攻撃の検証ができなかったという。本件に関するMicrosoftの消極的な姿勢は、この辺りに起因するのかもしれない。

 ともあれ、「ms-officecmd://」以外にも、他のスキームで同様のURIハンドラー問題が発見されることは十分考えられる。MalwarebytesはURIハンドラーのポップアップをよく読むこと、リンクにマウスカーソルをホバーさせてジャンプ先を確認することは有益だとしている。