次の方法で共有


エクスプロイト保護を有効にする

適用対象:

ヒント

Defender for Endpoint を試す場合は、 無料試用版にサインアップしてください。

Exploit Protection は、悪用によりデバイスに感染し、拡散するマルウェアから保護するのに役立ちます。 Exploit Protection は、オペレーティング システムまたは個々のアプリに適用できるさまざまな軽減策で構成されています。

重要

.NET 2.0 は、一部の悪用保護機能 (具体的には、エクスポート アドレス フィルター (EAF) およびインポート アドレス フィルター (IAF)) と互換性がありません。 .NET 2.0 を有効にしている場合、EAF と IAF の使用はサポートされていません。

Enhanced Mitigation Experience Toolkit (EMET) ツールの多くの機能が Exploit Protection に含まれています。

前提条件

このセクションには、エクスプロイト保護のデプロイに成功するための推奨事項が含まれています。

  • アプリケーションクラッシュの監視 (イベント ID 1000 またはイベント ID 1001) およびハング (イベント ID 1002) の設定

  • ユーザー モードの完全なダンプ収集を有効にする

  • 主にメモリ破損の脆弱性の軽減に焦点を当てた "制御フロー ガード" (CFG) を使用して既にコンパイルされているアプリケーションを確認します。 dumpbin ツールを使用して、 CFG でコンパイルされているかどうかを確認します。 これらのアプリケーションでは、DEP、ASRL、SEHOP、ACG の適用の有効化をスキップできます。

  • 安全なデプロイ プラクティスを使用します。

警告

テストを行わなくても、安全なデプロイ プラクティスを実行しない場合は、エンド ユーザーの生産性の停止に貢献できます。

安全なデプロイプラクティス

安全なデプロイ プラクティス (SDP): 安全なデプロイ プロセスと手順により、ワークロードに対する変更を安全に行ってデプロイする方法が定義されます。 SDP を実装するには、リスク管理のレンズを通じてデプロイについて考える必要があります。 SDP を実装することで、デプロイでのエンド ユーザーの生産性の停止のリスクを最小限に抑え、問題のあるデプロイがユーザーに与える影響を制限できます。

Windows デバイスの小さなセット (10 から 50 など) から始めて、テスト環境として使用して、21 の軽減策のうち、エクスプロイト保護と互換性がないのを確認します。 アプリケーションと互換性のない軽減策を削除します。 ターゲットとするアプリケーションを繰り返します。 ポリシーが運用の準備ができていると感じたら。

まず、IT 管理者、セキュリティ管理者、ヘルプ デスク担当者で構成されるユーザー受け入れテスト (UAT) にプッシュします。 次に、1%、5%、10%、25%、50%、75%、そして最後に環境の100%に。

エクスプロイト保護の軽減策の有効化

次のいずれかの方法を使用して、各軽減策を個別に有効にすることができます。

このサービスは、Windows 10 と Windows 11 では既定で有効になっています。 各軽減策は、オン、オフ、またはその既定値に設定できます。 一部の軽減策には、より多くのオプションがあります。 これらの設定を XML ファイルとしてエクスポートし、他のデバイスに展開できます。

軽減策を 監査モードに設定することもできます。 監査モードを使用すると、デバイスの通常の使用に影響を与えることなく、軽減策がどのように機能するかをテスト (およびイベントの確認) できます。

Windows セキュリティ アプリを開きます。

  1. タスク バーで盾のアイコンを選択するか、スタート メニューで "セキュリティ" を検索して、Windows セキュリティ アプリを開きます。

  2. [アプリとブラウザーの制御] タイル (または左側のメニュー バーのアプリ アイコン) を選択し、[エクスプロイト保護の設定] を選択します。

  3. [プログラムの設定] に移動し、軽減策を適用するアプリを選択します。

    • 構成するアプリが既に一覧表示されている場合は、それを選択し、[編集] を選択します。
    • アプリが一覧にない場合は、一覧の上部にある [プログラムを追加してカスタマイズ] を選択し、アプリを追加する方法を選択します。
    • [プログラム名で追加] を使用して、その名前を持つ実行中のプロセスに軽減策を適用します。 その拡張子を持つファイルを指定します。 完全なパスを入力して、その場所でその名前を持つアプリのみに軽減策を制限できます。
    • 標準のエクスプローラー ファイル ピッカー ウィンドウを使用して目的のファイルを検索して選択するには、[正確なファイル パスの選択] を使用します。
  4. アプリを選択すると、適用できるすべての軽減策の一覧が表示されます。 [ 監査 ] を選択すると、監査モードでのみ軽減策が適用されます。 プロセスまたはアプリを再起動する必要がある場合、または Windows を再起動する必要がある場合は、通知されます。

  5. 構成するすべてのアプリと軽減策について、手順 3 から 4 を繰り返します。

  6. [システム設定] セクションで、構成する軽減策を見つけて、次のいずれかの設定を指定します。 [プログラムの設定] セクションで個別に構成されていないアプリでは、ここで構成されている設定が使用されます。

    • 既定ではオン: この軽減策がアプリ固有の [プログラム設定] セクションで設定されていないアプリに対して軽減策が有効になります
    • 既定ではオフ: この軽減策がアプリ固有の [プログラム設定] セクションで設定されていないアプリに対して軽減策が無効になります
    • 既定値を使用: Windows 10 または Windows 11 のインストールによって設定されている既定の構成に応じて、軽減策が有効または無効になります。既定値 (オン または オフ) は、軽減策ごとに [既定のラベルを使用する] の横に常に指定されます
  7. 構成するすべてのシステムレベルの軽減策について、手順 6 を繰り返します。 構成の設定が完了したら、[適用] を選択します。

アプリを [プログラムの設定 ] セクションに追加し、そこで個々の軽減策の設定を構成すると、[ システム設定 ] セクションで指定したのと同じ軽減策の構成の上に適用されます。 既定の動作を理解するのに次のマトリックスと例が役立ちます:

[プログラム設定] で有効 [システム設定] で無効 動作
はい 不要 [プログラム設定] で定義されているとおり
はい はい [プログラム設定] で定義されているとおり
不要 はい [システム設定] で定義されているとおり
不要 不要 [既定のオプションを使用する] で定義されている既定値

例 1: Mikael がシステム設定セクションの [データ実行防止] を既定でオフに構成する場合

Mikael はアプリの test.exe を [プログラム設定] セクションに追加します。 そのアプリのオプションで、Mikael は [データ実行防止 (DEP)] の [システム設定のオーバーライド] オプションを有効にして、スイッチを [オン] に設定します。 [プログラム設定] セクションには他にアプリがありません。

その結果、DEP は test.exe に対してのみ有効になります。 他のすべてのアプリには DEP が適用されません。

例 2: Josie がシステム設定セクションの [データ実行防止] を既定でオフに構成する場合

Josie はアプリの test.exe を [プログラム設定] セクションに追加します。 そのアプリのオプションで、Josie は [データ実行防止 (DEP)] の [システム設定のオーバーライド] オプションを有効にして、スイッチを [オン] に設定します。

Josie は、[プログラム設定] セクションにアプリの miles.exe を追加し、[制御フロー ガード (CFG)] を [オン] に設定します。 Josie は、DEP またはそのアプリのその他の軽減策の [システム設定のオーバーライド] オプションは有効にしません。

その結果、DEP は test.exe に対して有効になります。 DEP は、miles.exe を含む他のアプリでは有効になりません。 CFG は miles.exe に対して有効になります。

  1. タスク バーで盾のアイコンを選択するか、スタート メニューで "Windows セキュリティ" を検索して、Windows セキュリティ アプリを開きます。

  2. [アプリとブラウザーの制御] タイル (または左側のメニュー バーのアプリ アイコン) を選択し、[エクスプロイト保護] を選択します。

  3. [プログラムの設定] に移動し、軽減策を適用するアプリを選択します。

    • 構成するアプリが既に一覧表示されている場合は、それを選択し、[編集] を選択します。
    • アプリが一覧にない場合は、一覧の上部にある [プログラムを追加してカスタマイズ] を選択し、アプリを追加する方法を選択します。
      • [プログラム名で追加] を使用して、その名前を持つ実行中のプロセスに軽減策を適用します。 拡張子を持つファイルを指定します。 完全なパスを入力して、その場所でその名前を持つアプリのみに軽減策を制限できます。
      • 標準のエクスプローラー ファイル ピッカー ウィンドウを使用して目的のファイルを検索して選択するには、[正確なファイル パスの選択] を使用します。
  4. アプリを選択すると、適用できるすべての軽減策の一覧が表示されます。 [ 監査 ] を選択すると、監査モードでのみ軽減策が適用されます。 プロセスまたはアプリを再起動する必要がある場合、または Windows を再起動する必要がある場合は、通知されます。

  5. 構成するすべてのアプリと軽減策について、手順 3 から 4 を繰り返します。 構成の設定が完了したら、[適用] を選択します。

Intune

  1. Azure portal にログインして Intune を開きます。

  2. [デバイス構成>構成プロファイル>プロファイルの作成] に移動します。

  3. プロファイルに名前を付け、[Windows 10以降] を選択し、[プロファイルの種類] で [テンプレート] を選択し、[テンプレート名] で [エンドポイント保護] を選択します。

    エンドポイント保護作成プロファイル

  4. [構成] > [Windows Defender Exploit Guard] > [Exploit Protection] を選択します。

  5. Exploit Protection 設定を使用して XML ファイルをアップロードします。

    Intune のネットワーク保護有効化設定

  6. [OK] を選択して、開いている各ブレードを保存し、次に [作成] を選択します。

  7. プロファイルの [割り当て] タブを選択し、[すべてのユーザーとすべてのデバイス] にポリシーを割り当てて、[保存] を選択します。

MDM

./Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings 構成サービス プロバイダー (CSP) を使用して、Exploit Protection の軽減策を有効または無効にするか、監査モードを使用します。

Microsoft 構成マネージャー

エンドポイントのセキュリティ

  1. Microsoft 構成マネージャー で、[エンドポイント セキュリティ]>[攻撃面の縮小] に移動します。

  2. [ポリシーの作成]>[プラットフォーム] を選択し、[プロファイル] に対して [Exploit Protection] を選択します。 その後、[作成] を選択します。

  3. プロファイルの名前と説明を指定し、[次へ] を選択します。

  4. [XML ファイルの選択] を選択し、Exploit Protection XML ファイルの場所を参照します。 ファイルを選択して、[次へ] を選択します。

  5. 必要に応じて、[スコープ] タグと [割り当て] を構成します。

  6. [確認と作成] で、設定を確認し、[作成] を選択します。

資産とコンプライアンス

  1. Microsoft Configuration Manager で、[資産とコンプライアンス]>[エンドポイントの保護]>[Windows Defender Exploit Guard] に移動します。

  2. [ホーム] > [Exploit Guard ポリシーの作成] を選択します。

  3. プロファイルの名前と説明を指定し、[Exploit Protection] を選択し、次に [次へ] を選択します。

  4. Exploit Protection の XML ファイルの選択の場所を参照し、[次へ] を選択します。

  5. 設定を確認し、[次へ] を選択してポリシーを作成します。

  6. ポリシー作成後、[閉じる] を選択します。

グループ ポリシー

  1. グループ ポリシー管理デバイスで、グループ ポリシー管理コンソールを開きます。 構成するグループ ポリシー オブジェクトを右クリックし、[編集] を選択します

  2. [グループ ポリシー管理エディター] で、[コンピューターの構成] に移動し、[管理用テンプレート] を選択します。

  3. ツリーを [Windows コンポーネント] > [Windows Defender Exploit Guard] > [Exploit Protection] > [一般的な Exploit Protection 設定のセットを使用] の順に展開します。

  4. [有効] を選択し、XML ファイルの場所を入力して、[OK] をクリックします。

PowerShell

コマンドレット ProcessMitigationを使用して、PowerShell 動詞 Get または Set を使用できます。 Getを使用すると、デバイスで有効になっている軽減策の現在の構成状態が一覧表示されます。 -Name コマンドレットとアプリ exe を追加して、そのアプリの軽減策を確認します。

Get-ProcessMitigation -Name processName.exe

重要

構成されていないシステムレベルの軽減策については NOTSET の状態が表示されます。

  • システムレベルの設定の場合、NOTSET は、その軽減策の既定の設定が適用されたことを示します。
  • アプリレベルの設定の場合、NOTSET は、その軽減策のシステムレベルの設定が適用されたことを示します。 各システムレベルの軽減策の既定の設定は、Windows セキュリティで確認できます。

Set を使用して、次の形式で各軽減策を構成します:

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

ここで、

  • <範囲>:
    • 特定のアプリに軽減策を適用する必要があることを示す -Name。 このフラグの後にアプリの実行可能ファイルを指定します。
      • システムレベルで軽減策を適用する必要があることを示す -System
  • <アクション>:
    • 軽減策を有効にする -Enable
    • 軽減策を無効にする -Disable
  • <軽減策>:
    • 軽減策のコマンドレットと任意のサブオプション (スペースで囲まれています)。 各軽減策はコンマで区切られます。

たとえば、ATL サンク エミュレーションを使用してデータ実行防止 (DEP) 軽減策を有効にし、C:\Apps\LOB\tests フォルダー内の testing.exe という実行可能ファイルに対して有効にし、その実行可能ファイルが子プロセスを作成できないようにするには、次のコマンドを使用します:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation

重要

各軽減策オプションは、コンマで区切ります。

システムレベルで DEP を適用する場合は、次のコマンドを使用します:

Set-Processmitigation -System -Enable DEP

軽減策を無効にするには、-Enable-Disable に置き換えることができます。 ただし、アプリレベルの軽減策の場合、このアクションでは、そのアプリに対してのみ軽減策が強制的に無効になります。

軽減策をシステムの既定値に戻す必要がある場合は、次の例に示すように、-Remove コマンドレットも含める必要があります:

Set-Processmitigation -Name test.exe -Remove -Disable DEP

次の表に、-Enable または -Disable コマンドレット パラメーターで使用する個々の軽減策 (および使用可能な場合は監査) の一覧を示します。

軽減策の種類 適用対象 軽減策コマンドレット パラメーター キーワード 監査モードのコマンドレット パラメーター
制御フロー ガード (CFG) システムレベルとアプリレベル CFG, StrictCFG, SuppressExports 監査は使用できません
データ実行防止 (DEP) システムレベルとアプリレベル DEP, EmulateAtlThunks 監査は使用できません
イメージのランダム化の強制 (必須 ASLR) システムレベルとアプリレベル ForceRelocateImages 監査は使用できません
メモリ割り当てのランダム化 (ボトムアップ ASLR) システムレベルとアプリレベル BottomUp, HighEntropy 監査は使用できません
例外チェーンの検証 (SEHOP) システムレベルとアプリレベル SEHOP, SEHOPTelemetry 監査は使用できません
ヒープの整合性の検証 システムレベルとアプリレベル TerminateOnError 監査は使用できません
任意のコード ガード (ACG) アプリレベルのみ DynamicCode AuditDynamicCode
整合性が低いイメージのブロック アプリレベルのみ BlockLowLabel AuditImageLoad
リモート イメージのブロック アプリレベルのみ BlockRemoteImages 監査は使用できません
信頼されていないフォントのブロック アプリレベルのみ DisableNonSystemFonts AuditFont, FontAuditOnly
コードの整合性ガード アプリレベルのみ BlockNonMicrosoftSigned, AllowStoreSigned AuditMicrosoftSigned, AuditStoreSigned
拡張ポイントの無効化 アプリレベルのみ ExtensionPoint 監査は使用できません
Win32k システム コールの無効化 アプリレベルのみ DisableWin32kSystemCalls AuditSystemCall
子プロセスを許可しない アプリレベルのみ DisallowChildProcessCreation AuditChildProcess
エクスポート アドレス フィルター (EAF) アプリレベルのみ EnableExportAddressFilterPlus, EnableExportAddressFilter[1] 監査は使用できません [2]
インポート アドレス フィルター (IAF) アプリレベルのみ EnableImportAddressFilter 監査は使用できません [2]
実行のシミュレート (SimExec) アプリレベルのみ EnableRopSimExec 監査は使用できません [2]
API 呼び出しの検証 (CallerCheck) アプリレベルのみ EnableRopCallerCheck 監査は使用できません [2]
ハンドルの使用状態の検証 アプリレベルのみ StrictHandle 監査は使用できません
軽減策の依存関係の整合性の検証 アプリレベルのみ EnforceModuleDepencySigning 監査は使用できません
スタックの整合性の検証 (StackPivot) アプリレベルのみ EnableRopStackPivot 監査は使用できません [2]

[1]: 次の形式を使用して、プロセスの DLL に対して EAF モジュールを有効にします。

Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll

[2]: この軽減策の監査は、PowerShell コマンドレットでは使用できません。

通知のカスタマイズ

ルールがトリガーされ、アプリまたはファイルがブロックされたときの通知をカスタマイズする方法については、「Windows セキュリティ」を参照してください。

エクスプロイト保護の軽減策の削除

エクスプロイト保護の軽減策をリセット (元に戻すまたは削除) するには、 Exploit Protection リファレンスを参照してください

関連項目

ヒント

さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティ (Microsoft Defender for Endpoint Tech Community) にご参加ください。