macOS Mojaveに未修正の脆弱性があり、攻撃者はGatekeeperセキュリティ機能を完全に回避することが可能です。Appleはこの脆弱性について2月22日に初めて報告しましたが、先週のmacOS 10.14.5アップデートでは、修正されるはずだった脆弱性が未修正のままです。
Gatekeeper は、ダウンロードしたアプリを開く前にコード署名を強制して検証する macOS のセキュリティ機能であり、誤ってマルウェアを実行する可能性を軽減します。
macOSのこのセキュリティ上の欠陥を発見し、Appleに報告したセキュリティ研究者のフィリッポ・カヴァッラリン氏(AppleInsider経由)によると、不正アプリはGatekeeperが外付けドライブとネットワーク共有の両方を「安全な場所」と見なすという性質を悪用する可能性があるという。その結果、これらの場所から実行されるアプリはすべて、Gatekeeperの介入なしに実行されることになる。
概念実証の実践を示すビデオがこちらにあります。
この Gatekeeper の設計を macOS の 2 つの正当な機能と組み合わせることで、不正な者が Gatekeeper の意図された動作を完全に変更できる可能性があると研究者は警告している。
さて、2つの正当な機能とは何でしょうか?
一つ目の正当な機能は、automount(autofsとも呼ばれます)です。これは、特定のパス(この場合は「/net/」で始まる任意のパス)にアクセスすることで、ネットワーク共有を自動的にマウントします。二つ目の正当な機能は、ZIPアーカイブに任意の場所(「automount」エンドポイントを含む)を指すシンボリックリンクを含めることができ、macOSのアンアーカイバはシンボリックリンクを作成する前に一切チェックを行わないことです。
このエクスプロイトが実際にどのように機能するかを示す例を挙げてみます。
次のようなシナリオを考えてみましょう。攻撃者は、自身が管理する自動マウントエンドポイント(例:Documents -> /net/evil.com/Documents)へのシンボリックリンクを含むZIPファイルを作成し、被害者に送信します。被害者は悪意のあるアーカイブをダウンロードし、解凍してシンボリックリンクをたどります。
これはひどいです。ほとんどの人はシンボリックリンクと実際のファイルを区別できません。
被害者は攻撃者が管理する場所にいるものの、Gatekeeperによって信頼されているため、攻撃者が管理する実行ファイルは警告なしに実行できます。Finderはアプリの拡張機能とウィンドウのタイトルバーに表示されるファイルのフルパスを隠すように設計されているため、この手法は非常に効果的で、発見が困難です。
カヴァラリン氏によると、2019年2月22日にこの問題の警告を受けて以来、Appleは彼へのメールへの返信を停止したという。「Appleは私の90日間の情報開示期限を知っているので、この情報を公開します」と彼はブログに書いた。
現時点では修正プログラムはありません。
Appleはほぼ確実に次のアップデートでこの脆弱性をfpatchxで修正するでしょう。それまでは、Cavallarinのブログ記事の下部に記載されている手順に従って「自動マウント」機能を無効にするという回避策が考えられます。
この脆弱性の影響を受けましたか?
もしそうなら、コメント欄であなたの考えを聞かせてください!