macOS のサンドボックス アプリがユーザーを保護する方法

2007 年に導入され、2012 年に追加されたサンドボックスは、アプリケーションが与える可能性のある損害を制限するために MacOS システムで使用されるツールです。 Appleは言う: "それでも サンドボックスアプリケーション アプリケーションに対する攻撃を防ぐことはできませんが、攻撃が引き起こす可能性のある損害は軽減されます。 macOS アプリのサンドボックス化は、悪意のあるアプリが引き起こす可能性のあるトラブルの量を制限することでユーザーを救います。

MacOS のサンドボックスとは何ですか?

各アプリケーションには、「サンドボックス」という独自のプレイスペースが与えられます。アプリケーションがサンドボックスの外部にアクセスしたい場合は、オペレーティング システムに許可を求める必要があります。サンドボックスの設定に応じて、オペレーティング システムはリクエストを拒否するか、リクエストを完了するためにできるだけ具体的な情報を提供せずに承認します。

車のことを考えてみましょう。ドライバーは、アンチロック ブレーク、エアバッグ、クランプル ゾーンなどの複数の安全機能で保護されています。 2007 年にサンドボックスが導入された時点では、同様のコンピューター システムは存在していませんでした。 プレゼンテーションでも質問されました コンピューターのシートベルトはどこにありましたか?車がドライバーを保護するのと同じように、サンドボックスはユーザーを保護します。損害最小化システムを満たさない場合です。悪意のあるアクティビティによるものであっても、コーディング エラーによるものであっても、被害は軽減されます。

サンドボックスはアプリが実行できる権限を制限するため、開発者の自由が制限される可能性があります。サンドボックス アプリケーションの実行速度が遅くなり、開発に時間がかかります。 Mac の膨大な機能のおかげで、サンドボックスの制限がさまざまなアプリケーションの互換性に重大な影響を与える可能性があります。その結果、有望なユーザーは、パフォーマンスや機能関連の問題が原因で、サンドボックスの外で作業するためにアプリケーションを起動するように指示されることがよくあります。

サンドボックスはどのように機能しますか?

サンドボックス モードは、最小特権の原則に基づいています。つまり、システムは必要なことは実行できますが、それ以上のことは実行できません。システムの各部分を、定められた目的のみを達成するように制限することで、アプリケーションが危険にさらされる可能性を減らします。たとえば、懐中電灯アプリが連絡先リストにアクセスする理由はありません。

アプリケーションは、オペレーティング システムの許可がある場合にのみ、サンドボックスの外部にアクセスできます。 macOS の [保存して開く] ダイアログ ボックスを考えてみましょう。サンドボックス内のアプリケーションは、ハード ドライブ上のファイル システム リソースに直接アクセスできません。たとえば、「~/Documents」で開いたパネルを描画することはできません。代わりに、アプリケーションはリクエストする必要があります パワーボックス API NSOpenPanel および NSSavePanel クラスを使用してパネルにアクセスします。

アプリケーションは、Powerbox 内で何が起こっているかを直接確認することはできません。開いたファイルまたは保存したファイルのみがアプリケーションで使用可能になります。これにより、アプリケーションは不要なリスクにさらされることなく重要な機能を実行できます。

この機能は次の方法で有効になります。 メリット (具体的には com.apple.security.files.user-selected.read-write)。アプリ開発者は、アプリの動作を定義する資格を設定します。規定された権利に基づいて、オペレーティング システムは、アプリケーションが適切に制限されたレベルの機能を持つことを許可します。

この思考プロセスは、アプリケーションのサンドボックス モデルとメカニズム全体の基礎となっています。アプリケーションは、危険なことを実行するには、その意図を宣言し、オペレーティング システム レベルのマスターに許可を要求する必要があります。

サンドボックス化されたアプリケーションとサンドボックス化されていないアプリケーション

1 年 2012 月 XNUMX 日以降、Mac App Store を通じて配布されるすべてのサードパーティ アプリはサンドボックス モードである必要があります。サンドボックスによりアプリの幅広い機能が可能になりますが、Mac App Store アプリは保護されていないコンポーネントよりも制限されていることが多いことがわかります。開発者の中には、直接ダウンロード用のフル機能のアプリと Mac App Store 用のインストール バージョンの XNUMX つのバージョンを保持している人もいます。また、サンドボックス開発の複雑さのおかげで、アプリケーションに新しい機能を追加することは、たとえそのような機能がオペレーティング システムで許可されているとしても、はるかに困難になります。

サンドボックス アプリは Mac App Store の配布から恩恵を受けることができますが、私たちが良いと考える価値は推測できるでしょう。サンドボックス モードは、セキュリティ権限を使用して拡張することもできます。アプリケーションではできませんが、 同じものに対するアクセシビリティ権限をオンにします ただし、ユーザーにそうするよう求めることができます。

どのアプリがサンドボックス化されているかを確認するには、アクティビティ モニターを開き、列見出しを右クリックしてウィンドウに「サンドボックス」を追加します。

サンドボックス モードでは存在できないアプリケーションがいくつかあります。実際、さまざまな貴重なユースケースがサンドボックスによって妨げられています。サンドボックス モードでは、アプリケーション間の通信、監視、または変更が禁止され、アプリケーションの対話方法が大幅に制限されます。サンドボックスではこのレベルの機能のみが許可されるため、TextExpander などのシステム全体のショートカットは厳しく禁止されています。

結論

予想どおり、macOS アプリは サンドボックスモード 良くなかったですね。速度や強化された機能など、Mac アプリの独自のセールス ポイントを特定します。サンドボックスの外で実行されるアプリケーションは、常により高機能で高速です。パワー ユーザーの観点から見ると、最も頻繁に使用されるアプリケーションはサンドボックス化されていません。 TextExpander、SnagIt、TotalFinder などのアプリはすべて、私の日々の仕事に不可欠です。同様の広範な問題を回避するために、将来のセキュリティ システムには、透明性とバランスのとれた柔軟性と堅牢性が必要です。

トップボタンに移動