macOS Sequoiaでシステムセキュリティポリシーの外でアプリを実行する方法

macOS Sequoiaでシステムセキュリティポリシーの外でアプリを実行する方法

macOSには、通常の保護システムポリシーの外で実行できるアプリを制限するためのセキュリティポリシーが用意されています。macOS Sequoiaがシステムポリシーをオーバーライドするケースを以下に示します。

AppleのmacOSは、世界で最も安全なオペレーティングシステムの一つです。しかし、どんなオペレーティングシステムも完璧ではなく、セキュリティ侵害の可能性は依然として存在します。

過去10年間で、AppleはmacOSにセキュリティ強化のためのセキュリティ機能を複数追加してきました。これには以下が含まれますが、これらに限定されるものではありません。

  1. 開発者ID
  2. ゲートキーパー
  3. アプリの公証
  4. デジタルアプリ署名
  5. システム整合性保護(SIP)

Developer IDとGatekeeperは、Macアプリを検証・承認し、実行を許可または拒否する2つのアプリ関連セキュリティ機能です。Gatekeeperは、登録済みのApple開発者またはMac App Storeから提供されたアプリであることが確認されていない限り、アプリの実行をブロックします。

また、開発者 ID のみのアプリは、Apple によって検証されていれば、Mac App Store 以外からダウンロードした場合でも実行できます。

Gatekeeperは、新しくダウンロードしたアプリを初めて起動した際にFinderに「検証中」の進行状況ウィンドウを表示する原因となります。このウィンドウは、Gatekeeperが初回起動時にアプリの全コンポーネントの署名済みデジタルレシートを検証しているときに表示されます。

macOSのシステム設定アプリでは、Gatekeeper認証済み(App Store)のアプリのみ実行を許可するかどうかを選択できます。また、Developer ID経由でGatekeeperとApple登録開発者のアプリのみを許可することもできます。

これらのセキュリティ機能のいずれかを使用せずにmacOSアプリを実行しようとすると、macOS Finderにアプリを開けないという警告が表示されます。この警告を無視するには、「完了」をクリックし、 「システム設定」->「プライバシーとセキュリティ」に戻って「このまま開く」ボタンをクリックします。

未検証の macOS インストーラー アプリ。

Gatekeeper 検証の対象外であるダウンロードされたインストーラー アプリ。

App Notarization は、悪意のあるコンポーネントが含まれていないことを Apple が検証することで、Mac アプリとディスク イメージのセキュリティを強化します。

デジタルアプリ署名とは、開発者がMacアプリを開発する際、およびMac App Storeからダウンロードされる際に行われる暗号化された署名です。デジタル署名は、アプリが偽造されていないこと、そして配信後にコンテンツが改ざんされていないことを保証します。

システム整合性保護 (SIP) は、Apple が 2015 年に macOS 10.11 El Capitan に追加したシステム全体のセキュリティ機能です。SIP は、重要なオペレーティング システム ファイルが改ざんされるのを防ぐだけでなく、有効になっている場合はルート UNIX ユーザーからでも macOS の一部が保護されます。

SIP は macOS のターミナル アプリで無効にしたり再度有効にしたりできますが、Mac がセキュリティ リスクにさらされるため、Apple ではこれを推奨していません。

これらのセキュリティ コンポーネントは、macOS では ランタイム保護と呼ばれます。

ターミナルアプリ

Appleは、ターミナルアプリを実行するスタンドアロンバイナリアプリ向けに、他のランタイム保護を提供しています。これには、拡張属性(xattr)やその他のシステムレベルの保護が含まれます。

一部のコマンドラインターミナルアプリは、デフォルトのシステムセキュリティポリシーでは実行できない場合があります。Appleは、未検証の悪意のあるサードパーティ製コマンドラインターミナルツールからユーザーを保護するために、この措置を講じています。

これらの制限は一部のアプリにのみ適用されます。

場合によっては、通常のダブルクリック可能な macOS アプリで、別のコマンドライン ツールやその他のソフトウェア コンポーネントを実行する必要があることがあります。

アプリが他のアプリを実行できるようにする

macOS SequoiaでmacOSシステムのセキュリティポリシーの外で実行する必要があるアプリを実行したい場合は、「システム設定」→「プライバシーとセキュリティ」パネルに戻ってください。各サブページでスイッチをチェックして有効にしてください。

たとえば、一部のコマンドライン開発ツールでは、他のコマンドを実行したり、ファイルを処理したり、その他の制限されたアクションを実行したりするために、システム セキュリティ ポリシーの外部で実行する必要があります。

この例では、「システム設定」->「プライバシーとセキュリティ」->「開発者ツール」ペインに移動すると、次のスイッチが表示されます。

プライバシーとセキュリティ

特別なセキュリティ ポリシー スイッチについては、「プライバシーとセキュリティ」を確認してください。

残念ながら、macOS では現在、これをマシン全体で有効にする方法はありません。また、Mac が他のセキュリティ リスクにさらされることになるため、有効にすべきではないでしょう。

ただし、対象のアプリが対応していれば、アプリごとにこの機能を有効にすることができます。繰り返しますが、この機能はすべてのアプリで利用できるわけではないので、個別に確認する必要があります。

ほとんどの場合、macOS のセキュリティ ポリシーを上書きする必要はありませんが、特定のアプリでは上書きが必要になる場合があります。

macOS の Gatekeeper とランタイム保護の詳細については、Apple プラットフォーム セキュリティ ガイドの関連セクションを参照してください。

Gatekeeper、開発者 ID、およびシステム設定を使用してアプリを開く方法の完全な概要については、Apple のテクニカルノート 102445「Mac でアプリを安全に開く」を参照してください。