Gatekeeper (macOS)

Gatekeeper（ゲートキーパー）は、macOSに備わったセキュリティ機能である。 コード署名を利用して、ダウンロードされたアプリケーションを実行する前に検証し、マルウェアを不注意に実行してしまう可能性を減らす。 Gatekeeperは、ファイル検疫に基づく。ファイル検疫機能は、Mac OS X Leopardで導入され、Mac OS X Snow Leopardで拡張された。この機能は、最初にMac OS X Lionのバージョン10.7.3でコマンドラインユーティリティspctlとして作られた。グラフィカルユーザーインターフェイスがMac OS X Lion v10.7.5で追加された。 システム設定 の [プライバシーとセキュリティ] パネルには、3つのオプションがある。コマンドラインユーティリティのspctlは、カスタムルール、個別またはブランケットのアクセス許可などの詳細な制御、およびGatekeeperをオフにするオプションを提供する。 アプリケーションのダウンロード時に、特定の拡張ファイル属性（「検疫フラグ」）をダウンロードしたファイルに追加できる。この属性は、ファイルをダウンロードするアプリケーション（Webブラウザやメールクライアントなど）によって追加されるが、Transmission（BitTorrentクライアント）やBitTorrentなどのダウンローダーによっては追加されない。この動作は、サードパーティのアプリケーションではデフォルトで無効になっており、開発者はそれを選択する必要がある。macOS側で、Xprotectという名前の署名ベースのシステムを使用して、個々のアプリケーションにこの動作を強制することもできる。 ユーザがそのような属性を持つアプリケーションを開こうとすると、システムは実行を遅らせ、次のことを確認する。 ブラックリストに登録 コード署名 アップルまたは認定開発者によってコード署名された コード署名とコード署名されたコンテンツが署名と一致 Mac OS X Snow Leopard以降、システムは2つのブラックリストを保持して、既知のマルウェアまたは安全でないソフトウェアを識別する。ブラックリストは定期的に更新される。アプリケーションがブラックリストに登録されている場合、ファイル検疫はそれを開くことを拒否し、ユーザにごみ箱に移動することを推奨する。 コード署名の要件が満たされない場合、Gatekeeperはアプリケーションを開くことを拒否する。アップルは、アプリケーションが署名された開発者の証明書を失効させ、それ以上の配布を防ぐことができる。 アプリケーションがファイル検疫またはゲートキーパーに合格すると、通常の実行が許可され、再びの検証はされない。 Gatekeeperをオーバーライドするには、ユーザ（管理者として機能）は、システム設定のセキュリティとプライバシーパネルからより緩やかなポリシーに切り替えるか、コンテキストメニューからアプリケーションを開く、もしくは、特定のアプリケーションの手動オーバーライドを許可する必要がある。また、spctlで追加することもできる。 開発者は、システムがユニットとして検証できるディスクイメージに署名できる。macOS Sierraでは、これにより開発者はすべてのバンドルされたファイルの整合性を保証し、攻撃者がディスクイメージに感染させ再配布することを防ぐことができる。さらに「パスのランダム化」は、ランダムな隠されたパスからアプリケーションバンドルを実行し、それらのファイルの位置に関連する外部ファイルへのアクセスを防ぐ。アプリケーションバンドルが署名されたインストーラーパッケージやディスクイメージから作成された場合、更にユーザが単独でアプリケーションを別のディレクトリに手動で移動した場合、この機能はオフになる。 マルウェア対策におけるGatekeeperの有効性と理論的根拠は認められているが、実装レベルでは留保されている。セキュリティ研究者のChris Millerは、Gatekeeperが開発者の証明書を検証し、既知のマルウェアリストを参照するのは、アプリケーションが最初に開かれたときだけだと指摘した。すでにGatekeeperを通過したマルウェアは停止されない。さらに、Gatekeeperは検疫フラグを持つアプリケーションのみを検証する。このフラグはシステムではなく他のアプリケーションによって追加されるため、無視または失敗してもGatekeeperはトリガーされない。セキュリティブロガーのThomas Reedによると、BitTorrentクライアントはこれを頻繁に犯している。アプリケーションがネットワーク共有やUSBフラッシュドライブなどの別のソースからのものである場合も、フラグは追加されない。開発者証明書を取得するための登録プロセスおよび証明書の盗難の可能性についても疑問が提起されている。 2015年9月、セキュリティ研究者のPatrick Wardleが、ライブラリやJavaScriptを含めたHTMLファイルなどの外部ファイルとともに配布されるアプリケーションに関する別の欠点について指摘した。攻撃者はこれらのファイルを操作し、それらを介して署名されたアプリケーションの脆弱性を悪用できる。つまりアプリケーションとその外部ファイルは、アプリケーションバンドル自体の元の署名をそのまま残しながら再配布できる。Gatekeeperはそのような個々のファイルを検証しないため、セキュリティが侵害される可能性がある。パスのランダム化と署名されたディスクイメージにより、アップルはmacOS Sierraでこの問題を軽減するメカニズムを提供した。 システム整合性保護 サンドボックス (セキュリティ) ^ a b c d “OS X: About Gatekeeper”. Apple (February 13, 2015). June 18, 2015閲覧。 ^ Siegler, MG (February 16, 2012). “Surprise! OS X Mountain Lion Roars Into Existence (For Developers Today, Everyone This Summer)”. TechCrunch (AOL Inc.). https://techcrunch.com/2012/02/16/os-x-mountain-lion/ March 3, 2012閲覧。  ^ a b c d Siracusa (July 25, 2012). “OS X 10.8 Mountain Lion: the Ars Technica review”. Ars Technica. pp. 14–15. March 14, 2016時点のオリジナルよりアーカイブ。June 17, 2016閲覧。 ^ Reed (April 25, 2014). “Mac Malware Guide : How does Mac OS X protect me?”. The Safe Mac. October 6, 2016閲覧。 ^ Ullrich (February 22, 2012). “How to test OS X Mountain Lion's Gatekeeper in Lion”. Internet Storm Center. July 27, 2012閲覧。 ^ a b “spctl(8)”. Mac Developer Library. Apple. July 27, 2012閲覧。 ^ “About the OS X Lion v10.7.5 Update”. Apple (February 13, 2015). June 18, 2015閲覧。 ^ a b Reed (October 6, 2015). “Bypassing Apple's Gatekeeper”. Malwarebytes Labs. June 17, 2016閲覧。 ^ a b Moren (August 26, 2009). “Inside Snow Leopard's hidden malware protection”. Macworld. September 30, 2016閲覧。 ^ “About the 'Are you sure you want to open it?' alert (File Quarantine / Known Malware Detection) in OS X”. Apple Support (March 22, 2016). June 17, 2016時点のオリジナルよりアーカイブ。September 30, 2016閲覧。 ^ Foresman (February 17, 2012). “Mac developers: Gatekeeper is a concern, but still gives power users control”. Ars Technica. June 18, 2015閲覧。 ^ Chatterjee, Surojit (February 21, 2012). “OS X Mountain Lion Gatekeeper: Can it Really Keep Malware Out?”. International Business Times. http://www.ibtimes.com/articles/302094/20120221/os-x-mountain-lion-gatekeeper-malware-out.htm March 3, 2012閲覧。  ^ Goodin. “Drop-dead simple exploit completely bypasses Mac's malware Gatekeeper”. Ars Technica. March 20, 2016時点のオリジナルよりアーカイブ。June 17, 2016閲覧。