Appleプラットフォームのセキュリティ
macOSでのGatekeeperおよびランタイム保護
macOSには、信頼されたソフトウェアのみがユーザのMac上で動作することを保証するGatekeeperテクノロジーおよびランタイム保護機能が搭載されています。
Gatekeeper
macOSには、信頼されたソフトウェアのみがユーザのMac上で動作することを保証するように設計された、Gatekeeperと呼ばれるセキュリティテクノロジーが搭載されています。ユーザがApp Storeの外からアプリ、プラグイン、またはインストーラパッケージをダウンロードして開くと、Gatekeeperは、そのソフトウェアの提供元がIDを有するデベロッパであり、そのソフトウェアに既知の悪質なコンテンツがないとAppleが公証し、ソフトウェアが改変されていないことを確認します。Gatekeeperはさらに、ダウンロードしたソフトウェアを初めて開く際にユーザの承認を求めます。単なるデータファイルだとユーザに信じ込ませて何らかの実行コードを実行する策略ではないと確認するためです。また、Gatekeeperは、ダウンロードしたソフトウェアによって書き込まれたファイルの出所も追跡します。
デフォルトでは、Gatekeeperによって、ダウンロード済みのすべてのソフトウェアが、App Storeで署名されている、または登録済みのデベロッパが署名し、かつAppleで公証されていることが保証されます。App Storeのレビュープロセスと公証パイプラインはどちらも、アプリに既知のマルウェアが含まれていないことを保証するように設計されています。そのためデフォルトでは、macOSのすべてのソフトウェアは、どのような経路でMacに入ったかに関係なく、既知の悪意あるコンテンツが含まれていないかが最初に開かれるときにチェックされます。
ユーザや組織は、App Storeからインストールされたソフトウェアのみを許可するように設定できます。またはユーザは、モバイルデバイス管理(MDM)ソリューションで制限されていない限りどのソフトウェアでも開くように、Gatekeeperのポリシーを無効にできます。組織は、代替のIDによるソフトウェアの署名を許可するなど、MDMを使用してGatekeeperの設定を変更できます。状況に応じてGatekeeperを完全に無効にすることもできます。
Gatekeeperは、無害なアプリを経由した悪質なプラグインの配付からも保護します。このようなアプリを使用すると、ユーザが知らないうちに悪質なプラグインが読み込まれてしまいます。Gatekeeperは必要に応じて、ランダム化された読み出し専用の場所からアプリを開きます。これは、アプリと共に配付されるプラグインの自動読み込みを防ぐための動作です。
ランタイム保護
システムファイル、リソース、およびカーネルは、ユーザのアプリ空間から保護されています。App Storeから取得したアプリはすべてサンドボックス化されており、ほかのアプリによって保存されたデータへのアクセスが制限されています。App Storeから取得したアプリで別のアプリのデータにアクセスする必要がある場合は、必ずmacOSで提供されているAPIおよびサービスを使用する必要があります。