研究者らは、Safari のカスタム URL ハンドラーを使用することで標的のマシンにマルウェアをリモートでインストールできる、最近発見された macOS のエクスプロイトのデモを行いました。
セキュリティ研究者のパトリック・ウォードル氏によると、WINDSHIFT APTは主にmacOSユーザーなら誰もがお馴染みの「許可しますか?」ポップアップを狙っているという。これらのドキュメントハンドラーは、App StoreのリンクやPDFをクリックした際に頻繁に利用され、Mac App StoreやPreviewなどの登録済みアプリでリンクやファイルを開く前にユーザーの許可を求める。
カスタムURLハンドラーや同様のドキュメントハンドラーは、基本的にアプリケーションがOSに特定のドキュメント形式を処理できることを通知する手段です。例えば、VLCは様々なビデオ形式に対応していることを謳っており、Previewも同様に様々なファイル形式に対応しています。
エクスプロイトが存在するのは、これらのハンドラーを通じてです。
Wardle 氏は多くの開発者が喜ぶであろう詳細な説明をしていますが、このエクスプロイトの基本的な方法は次のとおりです。
エクスプロイトプロセス
まず、マルウェアは悪意のあるウェブサイトにアップロードされます。ウェブサイトにアクセスすると、macOSによって悪意のある.zipファイルがダウンロードされ、自動的に解凍されます。Appleは「安全」と判断したファイルの解凍を許可しており、ユーザーがSafari経由でダウンロードしたマルウェアもこれに含まれます。
ファイルが解凍されると、マルウェアアプリケーションはカスタムURLスキームハンドラをファイルシステムに登録できるようになります。Wardle氏によると、悪意のあるウェブページ内のコードはカスタムURLを読み込み(「参照」)、macOSがインストールしたばかりのURLハンドラを参照して悪意のあるアプリを起動するようになります。
Safariはユーザーに操作の実行をキャンセルするか許可するかを促しますが、開発者はアプリケーションのテキストを誤解を招くようなものに変更できます。「Safariで恐ろしいマルウェアアプリケーションを開くことを許可しますか?」ではなく、「Safariでプレビューを開くことを許可しますか?」と表示することもできます。
次に、OS はダウンロード フォルダーにあるマルウェアを起動しようとします。
防止
macOSにはいくつかの予防策が組み込まれていますが、今回のケースでは必ずしも効果的ではありません。最初の障壁は、Safariのポップアップでユーザーに「許可」をクリックさせることですが、カスタムテキストを使えば、一見ありふれた信頼できるメッセージを簡単に作成できます。
File Quarantineについても同様です。この安全メカニズムは、ソフトウェアをインストールする前にユーザーに確認を求めますが、ここでも名前は変更できます。
Wardle 氏の説明によると、GateKeeper もおそらくバイパスされると思われます。
「Gatekeeperのデフォルト設定では、署名済みのアプリケーションは許可されます」と彼は書いています。「WINDSHIFT APTグループが使用したマルウェアは署名済みでした(最近のMacマルウェアのほとんどが署名済みです)。つまり、Gatekeeperはそもそも機能しないのです!」
Apple は、アプリがマルウェアに使用されていることが判明した場合、そのアプリの署名を取り消すことができますが、すでに騙されてアプリを実行してしまった人にとっては役に立ちません。
この脆弱性を最も心配しているユーザーにとって、安全を確保したいのであれば、安全なファイルの自動解凍をオフにするという簡単な解決策があります。
環境設定で、 Safari > 一般に移動し、ダウンロード後に「安全な」ファイルを開くのチェックを外します。
macOSは技術的にはすべて正しく動作していますが、一連の無害な動作によって、ユーザーが気付かないうちにマルウェアがインストールされる可能性があります。Appleは、将来のアップデートで、デフォルトでファイルの解凍を自動的に防止するなど、このプロセスに何らかの変更を加える可能性があります。