セキュリティ研究者が、Appleが既に信頼しているファイルを使ってMacコンピュータを攻撃することで、OS X Gatekeeperを迂回する簡単な方法を発見したと発表した。Gatekeeperは、Macユーザーをアプリインストール時の悪意ある脅威から保護するために、2012年にAppleによって開発された。
アルステクニカ:
今回、セキュリティ研究者が、Gatekeeperの保護が最も厳しい設定であっても、完全に回避できる非常にシンプルな手法を発見しました。このハッキングは、AppleがGatekeeperを通過できるよう既に信頼しているバイナリファイルを使用します。Appleが信頼しているファイルがGatekeeperを通過すると、同じフォルダに含まれる1つ以上の悪意のあるファイルを実行します。バンドルされたファイルは、パスワードロガー、音声・動画キャプチャアプリ、ボットネットソフトウェアなど、様々な悪質なプログラムをインストールする可能性があります。
「アプリケーションが有効な場合、つまり開発者IDで署名されているか、Mac App Storeからダウンロードされた場合、Gatekeeperは基本的に『OK、実行を許可します』と指示し、その後Gatekeeperは事実上終了します」と、セキュリティ研究者のパトリック・ウォードル氏はArsに語った。「Gatekeeperは、そのアプリケーションの動作を監視しません。そのアプリケーションが同じディレクトリから他のコンテンツを読み込んだり実行したりしても、Gatekeeperはそれらのファイルを検査しません。」
Wardle氏の概念実証では、Appleの署名が既に付いた、広く入手可能なバイナリが使用されています。このバイナリを実行すると、元のアプリと同じフォルダにある別のアプリが実行されます。AppleはWardle氏とArs氏に対し、2つのバイナリの名前を伏せるよう要請し、両氏はこれに同意し、バイナリAとバイナリBとだけ呼んでいます。
「彼のエクスプロイトは、バイナリAの名前を変更するだけで、それ以外は変更を加えません。そして、それをAppleのディスクイメージ内にパッケージ化します。名前が変更されたバイナリAはAppleによって署名された既知のファイルであるため、Gatekeeperによって即座に承認され、OS Xによって実行されます。」
この時点で、バイナリAは同じフォルダ内にあるバイナリB(ダウンロードしたディスクイメージ)を探します。Gatekeeperはクリックされた元のファイルのみをチェックするため、エクスプロイトは正規のバイナリBを悪意のあるバイナリBに置き換え、同じディスクイメージに同じファイル名でバンドルします。バイナリBは実行にデジタル証明書を必要としないため、攻撃者が望むものをすべてインストールできます。
ウォードル氏は、60日以上前にAppleに非公式に報告し、同社が修正に取り組んでいると確信していると述べた。Appleの広報担当者はArsに対し、同社の開発者がセキュリティホールの修正に取り組んでいることを確認した。
ウォードル氏は木曜日にプラハで開催されるウイルス・ブレティン会議で研究結果を発表する予定。