サンドボックスMicrosoft Defenderウイルス対策を実行する
[アーティクル] 2024/04/26
2 人の共同作成者
フィードバック
この記事の内容
前提条件
サンドボックスでMicrosoft Defenderウイルス対策を実行する理由
Microsoft Defender ウイルス対策のサンドボックスの実装
Microsoft Defender ウイルス対策のサンドボックス化を有効にする
FAQ
適用対象:
プラットフォーム:
Defender for Endpoint を試す場合は、 無料試用版にサインアップしてください。
この記事では、サンドボックス環境でMicrosoft Defenderウイルス対策を実行して、改ざんに対する保護を強化する方法について説明します。
Microsoft Defenderウイルス対策機能が組み込まれているウイルス対策は、2018 年 10 月 26 日の時点で Windows 上のサンドボックス内で実行できます。 この機能を備えた最初の完全なウイルス対策ソリューションであり、セキュリティのバーを引き上げる業界をリードし続けています。
開始する前に、次の要件を満たす必要があります。
Microsoft Defender ウイルス対策 (アクティブ モード)
バージョン 1703 以降Windows 11またはWindows 10
Windows Server 2022 または Windows Server 2019 以降Windows Server 2016以降
サンドボックスでMicrosoft Defenderウイルス対策を実行する理由
セキュリティ研究者は、Microsoft の内部と外部の両方で、攻撃者が任意のコード実行を可能にするウイルス対策のコンテンツ パーサー Microsoft Defenderの脆弱性を利用する方法を以前に特定しました。 悪意のあるコンテンツと成果物についてシステム全体を検査するために、ウイルス対策は高い特権 (ローカル システム、NT 機関\SYSTEM) で実行され、攻撃の対象になります。
サンドボックスからの特権のエスカレーションは、最新バージョンのWindows 10以降では非常に困難であり、サンドボックスでMicrosoft Defenderウイルス対策を実行すると、セキュリティ侵害が発生した場合に悪意のあるアクションが分離された環境に限定され、残りのシステムが害から保護されます。 これは、セキュリティの革新を通じて攻撃者を先取りするための Microsoft の継続的な投資の一部です。
Microsoft Defender ウイルス対策のサンドボックスの実装
最新のマルウェア対策製品は、ディスク上のファイル、メモリ内のデータストリーム、リアルタイムでの動作イベントなど、多くの入力を検査します。 これらの機能の多くには、問題のリソースへのフル アクセスが必要です。 最初の主要なサンドボックス化作業は、ウイルス対策Microsoft Defender検査機能を、完全な特権とサンドボックス化できるコンポーネントで絶対に実行する必要があるコンポーネントに階層化することに関連していました。 サンドボックス コンポーネントの目標は、信頼されていない入力のスキャンやコンテナーの拡張など、最もリスクの高い機能を確実に包含することでした。 同時に、実質的なパフォーマンス コストを回避するために、2 つのレイヤー間の相互作用の数を最小限に抑える必要がありました。
また、リソースの使用状況は、重要な投資を必要とするもう 1 つの問題です。特権プロセスとサンドボックス プロセスの両方が、セキュリティ インテリジェンスの更新プログラム、その他の検出と修復メタデータにアクセスできる必要があります。 状態を共有する安全でない方法を避けるため、またはプロセス間でデータ/コンテンツを渡すための重要なランタイム コストを発生させないように、重複を避け、強力なセキュリティ保証を維持するために、ほとんどの保護データが実行時に読み取り専用のメモリ マップ ファイルでホストされるモデルを使用します。 つまり、保護データはオーバーヘッドなしで複数のプロセスにホストできます。
Microsoft Defender ウイルス対策のサンドボックス化を有効にする
次の手順に従って、コンピューター全体の環境変数を設定してサンドボックス化を有効にすることができます。
PowerShell または CMD で管理者として次のコマンドを実行します。
setx /M MP_FORCE_USE_SANDBOX 1
デバイスを再起動します。 再起動すると、次のフォルダーにある MsMpEng.exe 以外に新しいプロセスが MsMpEngCP.exe
表示されます。
テーブルを展開する
Path
プロセス
説明
C:\ProgramData\Microsoft\Windows Defender\Scans
MsMpEngCP.exe
マルウェア対策サービスの実行可能なコンテンツ プロセス
C:\Users\All Users\Microsoft\Windows Defender\Scans
MsMpEngCP.exe
マルウェア対策サービスの実行可能なコンテンツ プロセス
注意
CP in MsMpEngCP.exe
はコンテンツ プロセスです。
Microsoft Defenderウイルス対策のサンドボックス化を無効にするには、PowerShell または CMD で管理者として次のコマンドを実行します。
setx /M MP_FORCE_USE_SANDBOX 0
サンドボックスが無効になっているとどうなりますか?
Microsoft Defenderウイルス対策は、保護を提供するために特権/親プロセスでコンテンツ スキャンをホストするインプロセス フォールバックを実行します。
低い特権で実行されるコンテンツ プロセスでは、使用可能なすべての軽減ポリシーを積極的に使用して、サーフェス攻撃を減らします。 これらは、データ実行防止 (DEP)、アドレス空間レイアウトのランダム化 (ASLR)、制御フロー ガード (CFG) などの最新の悪用軽減手法のランタイム変更を有効および防止します。 また、Win32K システム呼び出しとすべての機能拡張ポイントも無効にし、署名された信頼されたコードのみが読み込まれるように強制します。
サンドボックスが有効になっている MDAV のパフォーマンス
多くの場合、パフォーマンスはサンドボックス化に関して発生するメインの懸念事項です。特に、マルウェア対策製品は、ファイル操作の同期的な検査や、多数のランタイム イベントの処理と集計、一致など、多くの重要なパスに存在します。 パフォーマンスが低下しないようにするには、サンドボックスと特権プロセス間の相互作用の数を最小限に抑える必要がありました。 同時に、I/O が実行されている場合など、コストが大きくならない重要なタイミングでのみ、これらの操作を実行します。
Microsoft Defenderウイルス対策は、不要な I/O を回避するために調整された作業を行います。たとえば、検査されたすべてのファイルの読み取りデータ量を最小限に抑えることは、特に古いハードウェア (回転ディスク、リモート リソース) で優れたパフォーマンスを維持する上で最も重要です。 そのため、サンドボックスがコンテンツ全体を渡す代わりに、必要に応じて検査のためにデータを要求できるモデルを維持することが重要でした。
サンドボックスが有効な MDAV の信頼性
注意
サンドボックスへのハンドルの受け渡し (実際のコンテンツの渡しコストを回避するため) はオプションではありません。リアルタイム検査、AMSI など、サンドボックスで使用できる "共有可能" ハンドルがないため、セキュリティが低下します。
サンドボックス化に関するもう 1 つの重要な懸念事項は、デッドロックや優先順位反転などの潜在的な問題を回避するためのプロセス間通信メカニズムに関連しています。 通信では、呼び出し元を調整するか、処理できる同時要求の数を制限することで、潜在的なボトルネックが発生しないようにする必要があります。 さらに、サンドボックス プロセスが単独で検査操作をトリガーしないようにする必要があります。 すべての検査は、より多くのスキャンをトリガーすることなく行われる必要があります。 これには、サンドボックスの機能を完全に制御し、予期しない操作をトリガーできないことを確認する必要があります。 低特権 AppContainers は、機能ベースのモデルによってサンドボックス プロセスで実行できる内容をきめ細かく制御できるため、強力な保証を実装するための最適な方法です。
サンドボックスが有効になっている MDAV の修復
最後に、セキュリティの観点から見た大きな課題は、コンテンツの修復または消毒に関連しています。 アクションの機密性の高い性質 (バイナリを元のプレインフェクション コンテンツに復元しようとする) を考えると、コンテンツ プロセス (サンドボックス) が侵害され、消毒を使用して予期しない方法で検出されたバイナリを変更できるケースを軽減するために、これが高い特権で行われるようにする必要があります。
数分後に開始および停止した場合、MsMpEng.CP.exe プロセスのトラブルシューティング中に何を行う必要がありますか?
プロセスの停止前後に関連するWindows エラー報告 (WER) イベントがある場合は、サポート診断ログ と関連するダンプ/クラッシュ情報を収集します。