macOS Security Protections
Gatekeeper
Gatekeeperは通常、Quarantine + Gatekeeper + XProtectの組み合わせを指すために使用されます。これらは、ユーザーが潜在的に悪意のあるソフトウェアを実行するのを防ごうとする3つのmacOSセキュリティモジュールです。
詳細は次の場所で入手できます:
pagemacOS Gatekeeper / Quarantine / XProtectプロセス制限
SIP - システム整合性保護
pagemacOS SIPサンドボックス
macOSサンドボックスは、サンドボックス内で実行されるアプリケーションをサンドボックスプロファイルで指定された許可されたアクションに制限します。これにより、アプリケーションが予期されるリソースにのみアクセスすることが保証されます。
pagemacOS SandboxTCC - 透明性、同意、および制御
TCC(透明性、同意、および制御)はセキュリティフレームワークです。アプリケーションの権限を管理するために設計されており、特にアプリケーションが機密機能へのアクセスを規制することによって、位置情報サービス、連絡先、写真、マイク、カメラ、アクセシビリティ、およびフルディスクアクセスへのアクセスを規制します。TCCは、ユーザーの明示的な同意を得た後にのみこれらの機能にアクセスできるようにし、プライバシーと個人データのコントロールを強化します。
pagemacOS TCC起動/環境制約と信頼キャッシュ
macOSの起動制約は、プロセスの開始を規制するセキュリティ機能であり、プロセスの起動を誰が、どのように、どこから行うかを定義します。macOS Venturaで導入された信頼キャッシュ内の制約カテゴリにシステムバイナリを分類します。各実行可能バイナリには、自己、親、および責任者の制約を含む、その起動のためのルールが設定されています。macOS Sonomaでは、サードパーティアプリケーションに拡張された環境制約として、これらの機能はプロセスの起動条件を規制することで、潜在的なシステムの悪用を緩和します。
pagemacOS Launch/Environment Constraints & Trust CacheMRT - マルウェア除去ツール
マルウェア除去ツール(MRT)は、macOSのセキュリティインフラのもう1つの部分です。その名前が示すように、MRTの主な機能は、感染したシステムから既知のマルウェアを除去することです。
Macでマルウェアが検出されると(XProtectによってまたは他の手段で)、MRTを使用してマルウェアを自動的に除去できます。MRTはバックグラウンドで静かに動作し、通常、システムが更新されるときや新しいマルウェア定義がダウンロードされるときに実行されます(マルウェアを検出するためのMRTのルールはバイナリ内にあるようです)。
XProtectとMRTの両方がmacOSのセキュリティ対策の一部ですが、それぞれ異なる機能を果たします:
XProtectは予防ツールです。ファイルをダウンロードする際に(特定のアプリケーションを介して)、既知の種類のマルウェアを検出した場合、ファイルの開くのを防止して、最初にシステムにマルウェアが感染するのを防ぎます。
一方、MRTは反応的なツールです。システムでマルウェアが検出された後に動作し、問題のあるソフトウェアを除去してシステムをクリーンアップすることを目指します。
MRTアプリケーションは**/Library/Apple/System/Library/CoreServices/MRT.app
**にあります
バックグラウンドタスクの管理
macOSは今や、ツールがコード実行を維持するためによく知られた手法を使用するたびにアラートを表示するため、ユーザーはどのソフトウェアが維持されているかをよりよく把握できます。
これは、/System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/backgroundtaskmanagementd
にあるデーモンと、/System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app
にあるエージェントで実行されます。
backgroundtaskmanagementd
が永続フォルダに何かがインストールされていることを知る方法は、FSEventsを取得してそれらのためのいくつかのハンドラを作成することです。
さらに、Appleが管理しているよく知られたアプリケーションを含むplistファイルが次の場所にあります:/System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/attributions.plist
列挙
AppleのCLIツールを実行して、設定されたすべてのバックグラウンドアイテムを列挙することができます:
さらに、この情報をDumpBTMを使用してリストアップすることも可能です。
この情報は**/private/var/db/com.apple.backgroundtaskmanagement/BackgroundItems-v4.btm
**に保存されており、TerminalにFDAが必要です。
BTMをいじる
新しい永続性が見つかると、ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD
というタイプのイベントが発生します。したがって、このイベントが送信されるのを防止する方法やエージェントがユーザーに警告するのを防ぐ方法は、攻撃者がBTMを_バイパス_するのに役立ちます。
データベースをリセットする:次のコマンドを実行すると、データベースがリセットされます(基盤から再構築する必要があります)。ただし、何らかの理由で、これを実行した後、システムが再起動されるまで新しい永続性は警告されません。
rootが必要です。
エージェントの停止: エージェントに停止シグナルを送信して、新しい検出が見つかったときにユーザーにアラートを表示させないようにすることが可能です。
バグ: もし永続性を作成したプロセスがすぐに存在しなくなると、デーモンはそれについて情報を取得しようとして失敗し、新しいものが永続化されていることを示すイベントを送信できなくなります。
BTMに関する参考文献や詳細:
Last updated