エクスプロイト保護を有効にする
適用対象:
- Microsoft Defender for Endpoint Plan 2
- Microsoft Defender for Endpoint Plan 1
- Microsoft 365 Defender
ヒント
Defender for Endpoint を試す場合は、 無料試用版にサインアップしてください。
エクスプロイト保護は、エクスプロイトを使用してデバイスに感染し、拡散するマルウェアから保護するのに役立ちます。 エクスプロイト保護は、オペレーティング システムまたは個々のアプリに適用できるさまざまな軽減策で構成されています。
重要
.NET 2.0 は、一部の悪用保護機能 (具体的には、エクスポート アドレス フィルター (EAF) およびインポート アドレス フィルター (IAF)) と互換性がありません。 .NET 2.0 を有効にしている場合、EAF と IAF の使用はサポートされていません。
Enhanced Mitigation Experience Toolkit (EMET) ツールの多くの機能がエクスプロイト保護に含まれています。
次のいずれかの方法を使用して、各軽減策を個別に有効にすることができます。
- Windows セキュリティ アプリを開きます。
- Microsoft Intune
- モバイル デバイス管理 (MDM)
- Microsoft Endpoint Configuration Manager
- グループ ポリシー
- PowerShell
このサービスは、Windows 10 と Windows 11 では既定で有効になっています。 各軽減策は、オン、オフ、またはその既定値に設定できます。 一部の軽減策には、より多くのオプションがあります。 これらの設定を XML ファイルとしてエクスポートし、他のデバイスに展開できます。
軽減策を 監査モードに設定することもできます。 監査モードを使用すると、デバイスの通常の使用に影響を与えることなく、軽減策がどのように機能するかをテスト (およびイベントの確認) できます。
Windows セキュリティ アプリを開きます。
タスク バーで盾のアイコンを選択するか、スタート メニューで "セキュリティ" を検索して、Windows セキュリティ アプリを開きます。
[アプリとブラウザーの制御] タイル (または左側のメニュー バーのアプリ アイコン) を選択し、[エクスプロイト保護の設定] を選択します。
[プログラムの設定] に移動し、軽減策を適用するアプリを選択します。
- 構成するアプリが既に一覧表示されている場合は、それを選択し、[編集] を選択します。
- アプリが一覧にない場合は、一覧の上部にある [プログラムの追加] を選択してカスタマイズし、アプリを追加する方法を選択します。
- [プログラム名で追加] を使用して、その名前を持つ実行中のプロセスに軽減策を適用します。 その拡張子を持つファイルを指定します。 完全なパスを入力して、その場所でその名前を持つアプリのみに軽減策を制限できます。
- 標準のエクスプローラー ファイル ピッカー ウィンドウを使用して目的のファイルを検索して選択するには、[正確なファイル パスの選択] を使用します。
アプリを選択すると、適用できるすべての軽減策の一覧が表示されます。 [監査] を選択すると、監査モードでのみ軽減策が適用されます。 プロセスまたはアプリを再起動する必要がある場合、または Windows を再起動する必要がある場合は、通知されます。
構成するすべてのアプリと軽減策について、手順 3 から 4 を繰り返します。
[システム設定] セクションで、構成する軽減策を見つけて、次のいずれかの設定を指定します。 [プログラムの設定] セクションで個別に構成されていないアプリでは、ここで構成されている設定が使用されます。
- 既定ではオン: この軽減策がアプリ固有の [プログラム設定] セクションで設定されていないアプリに対して軽減策が 有効 になります
- 既定ではオフ: この軽減策がアプリ固有の [プログラム設定] セクションで設定されていないアプリに対して軽減策が 無効 になります
- 既定値を使用: Windows 10 または Windows 11 のインストールによって設定されている既定の構成に応じて、軽減策が有効または無効になります。既定値 (オン または オフ) は、軽減策ごとに [既定のラベルを使用する] の横に常に指定されます
構成するすべてのシステムレベルの軽減策について、手順 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 に対して有効になります。
タスク バーで盾のアイコンを選択するか、スタート メニューで "Windows セキュリティ" を検索して、Windows セキュリティ アプリを開きます。
[アプリとブラウザーの制御] タイル (または左側のメニュー バーのアプリ アイコン) を選択し、[エクスプロイト保護] を選択します。
[プログラムの設定] に移動し、軽減策を適用するアプリを選択します。
- 構成するアプリが既に一覧表示されている場合は、それを選択し、[編集] を選択します。
- アプリが一覧にない場合は、一覧の上部にある [プログラムの追加] を選択してカスタマイズし、アプリを追加する方法を選択します。
- [プログラム名で追加] を使用して、その名前を持つ実行中のプロセスに軽減策を適用します。 拡張子を持つファイルを指定します。 完全なパスを入力して、その場所でその名前を持つアプリのみに軽減策を制限できます。
- 標準のエクスプローラー ファイル ピッカー ウィンドウを使用して目的のファイルを検索して選択するには、[正確なファイル パスの選択] を使用します。
アプリを選択すると、適用できるすべての軽減策の一覧が表示されます。 [監査] を選択すると、監査モードでのみ軽減策が適用されます。 プロセスまたはアプリを再起動する必要がある場合、または Windows を再起動する必要がある場合は、通知されます。
構成するすべてのアプリと軽減策について、手順 3 から 4 を繰り返します。 構成の設定が完了したら、[適用] を選択します。
Intune
Azure portal にログインして Intune を開きます。
[デバイス構成] > [構成プロファイル] > [+ プロファイルの作成] を選択します。
プロファイルに名前を付け、[Windows 10 以降] と [エンドポイントの保護] を選択します。
[構成] > [Windows Defender Exploit Guard] > [エクスプロイト保護] を選択します。
エクスプロイト保護設定を使用して XML ファイルをアップロードします。
[OK] を選択して、開いている各ブレードを保存し、次に [作成] を選択します。
プロファイルの [割り当て] タブを選択し、[すべてのユーザーとすべてのデバイス] にポリシーを割り当てて、[保存] を選択します。
MDM
./Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings 構成サービス プロバイダー (CSP) を使用して、エクスプロイト保護の軽減策を有効または無効にするか、監査モードを使用します。
Microsoft エンドポイント マネージャー
Microsoft エンドポイント マネージャーで、[エンドポイント セキュリティ] > [攻撃面の縮小] に移動します。
[ポリシーの作成] > [プラットフォーム] を選択し、[プロファイル] に対して [エクスプロイト保護] を選択します。 その後、[作成] を選択します。
プロファイルの名前と説明を指定し、[次へ] を選択します。
[XML ファイルの選択] を選択し、エクスプロイト保護 XML ファイルの場所を参照します。 ファイルを選択して、[次へ] を選択します。
必要に応じて、[スコープ] タグと [割り当て] を構成します。
[確認と作成] で、設定を確認し、[作成] を選択します。
Microsoft Endpoint Configuration Manager
Microsoft Endpoint Configuration Managerで、[資産とコンプライアンス] > [エンドポイントの保護] > [Windows Defender Exploit Guard] に移動します。
[ホーム] > [Exploit Guard ポリシーの作成] を選択します。
プロファイルの名前と説明を指定し、[エクスプロイト保護] を選択し、次に [次へ] を選択します。
エクスプロイト保護の XML ファイルの選択の場所を参照し、[次へ] を選択します。
設定を確認し、[次へ] を選択してポリシーを作成します。
ポリシー作成後、[閉じる] を選択します。
グループ ポリシー
グループ ポリシーの管理デバイスで、グループ ポリシーの管理コンソールを開き、構成するグループ ポリシー オブジェクトを右クリックして、[編集] をクリックします。
[グループ ポリシー管理エディター] で、[コンピューターの構成] に移動し、[管理用テンプレート] を選択します。
ツリーを [Windows コンポーネント] > [Windows Defender Exploit Guard] > [エクスプロイト保護] > [一般的なエクスプロイト保護設定のセットを使用] の順に展開します。
[有効] を選択し、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>
ここで、
- <Scope>:
- 特定のアプリに軽減策を適用する必要があることを示す
-Name。 このフラグの後にアプリの実行可能ファイルを指定します。- システムレベルで軽減策を適用する必要があることを示す
-System。
- システムレベルで軽減策を適用する必要があることを示す
- 特定のアプリに軽減策を適用する必要があることを示す
- <Action>:
- 軽減策を有効にする
-Enable - 軽減策を無効にする
-Disable
- 軽減策を有効にする
- <Mitigation>:
- 軽減策のコマンドレットと任意のサブオプション (スペースで囲まれています)。 各軽減策はコンマで区切られます。
たとえば、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 セキュリティ」を参照してください。