Exploit Protection を評価する

この記事では、運用環境で軽減策を有効にする前に、監査モードを使用して悪用防止の軽減策の評価、互換性ガイドラインの確認、テスト用のシステムとプログラムの設定の構成、監査イベントの解釈を行う方法について説明します。

Exploit Protection は、悪用により拡散および他のデバイスに感染するマルウェアからデバイスを保護するのに役立ちます。 軽減策は、オペレーティング システムまたは個々のアプリに適用できます。 Enhanced Mitigation Experience Toolkit (EMET) の一部であった機能の多くは、Exploit Protection に含まれています。 (EMET はサポート終了となりました。)

監査では、テスト環境内の特定のアプリに対する軽減策のしくみを確認できます。 監査モードでは、運用環境で Exploit Protection を有効にした場合 に何が 起こるかを示します。 監査モードを使用すると、エクスプロイト保護が基幹業務アプリに悪影響を及ぼさないことを確認し、疑わしいイベントまたは悪意のあるイベントが発生したかどうかを確認できます。

Exploit Protection を評価するための一般的なガイドライン

エクスプロイト保護の軽減策はオペレーティング システムの低レベルで機能します。また、同様の低レベル操作を実行する一部の種類のソフトウェアでは、エクスプロイト保護を使用して保護されるように構成されている場合、互換性の問題が発生する可能性があります。

エクスプロイト保護によって保護すべきではないソフトウェアの種類は何ですか?

  • マルウェア対策および侵入防止または検出ソフトウェア
  • デバッガー
  • デジタル著作権管理 (DRM) テクノロジ (つまり、ビデオゲーム) を処理するソフトウェア
  • デバッグ防止、難読化、またはフック テクノロジを使用するソフトウェア

エクスプロイト保護を有効にすることを検討する必要があるアプリケーションの種類は何ですか?

信頼されていないデータを受信または処理するアプリケーション。

どのような種類のプロセスが悪用保護の範囲外ですか?

サービス

  • システム サービス
  • ネットワーク サービス

既定で有効なエクスプロイト保護の緩和策

次の表に、既定で有効になっている Exploit Protection の軽減策を示します。

軽減策 既定で有効
データ実行防止 (DEP) 64 ビットおよび 32 ビット アプリケーション
例外チェーンの検証 (SEHOP) 64 ビット アプリケーション
ヒープの整合性の検証 64 ビットおよび 32 ビット アプリケーション

非推奨の "プログラム設定" の軽減策

次のプログラム設定の軽減策は非推奨です。 この表では、各削除された理由について説明します。

"プログラム設定" の軽減策 理由
エクスポート アドレス フィルター (EAF) アプリケーション互換性の問題
インポート アドレス フィルター (IAF) アプリケーション互換性の問題
実行をシミュレート (SimExec) Arbitrary Code Guard (ACG) に置き換え
API 呼び出しの検証 (CallerCheck) Arbitrary Code Guard (ACG) に置き換えられました
スタックの整合性の検証 (StackPivot) 任意コード ガード (ACG) に置き換えました

Office アプリケーションのベスト プラクティス

Outlook、Word、Excel、PowerPoint、OneNoteなどの Office アプリの場合は、Exploit Protection ではなく、攻撃表面の縮小 (ASR) ルールを使用します。 ASR 規則は、これらのアプリケーションの誤用を防ぐための最新の方法を提供します。

Adobe Reader の場合は、次の ASR 規則を使用します。

Adobe Reader による子プロセスの作成をブロックする

Google Chrome では、組み込みの攻撃軽減策で冗長または置き換えられるため、Exploit Protection (EMET) を有効にすることは推奨されなくなりました。

アプリケーション互換性リスト

次の表に、エクスプロイト保護に含まれる軽減策に互換性の問題がある特定の製品を示します。 エクスプロイト保護を使用して製品を保護する場合は、互換性のない特定の軽減策を無効にする必要があります。 この一覧では、製品の最新バージョンの既定の設定が考慮されていることに注意してください。 互換性の問題は、特定のアドインやその他のコンポーネントを標準ソフトウェアに適用するときに発生する可能性があります。

Note

EMET 軽減策は、仮想マシンの大きなメモリ チャンクを予約する設定 (つまり、-Xms オプションを使用して) を使用して実行する場合、Oracle Javaと互換性がない可能性があります。

製品 エクスプロイト保護の軽減策
.NET 2.0/3.5 EAF/IAF
7-Zip コンソール/GUI/ファイル マネージャー EAF
AMD 62xx プロセッサ EAF
Avecto (Beyond Trust) Power Broker EAF、EAF+、スタック ピボット
特定の AMD (ATI) ビデオ ドライバー システム ASLR=AlwaysOn
Dropbox EAF
Excel Power Query、Power View、Power Map、PowerPivot EAF
Google Chrome (推奨されなくなりました) EAF+
Immidio Flex+ EAF
Microsoft Office Web コンポーネント (OWC) システム DEP=AlwaysOn
Microsoft PowerPoint EAF
Microsoft Teams EAF+
Oracle Javaǂ Heapspray
Pitney Bowes Print Audit 6 SimExecFlow
Siebel CRM バージョンは 8.1.1.9 です SEHOP
Skype EAF
SolarWinds Syslogd Manager EAF
Windows Media Player 必須ASLR、EAF

ǂ EMET の軽減策は、仮想マシンのメモリの大きなチャンクを予約する設定 (つまり、-Xms オプションを使用) を使用して実行される場合、Oracle Java と互換性がない可能性があります。

テスト用のエクスプロイト保護システム設定を有効にする

これらの Exploit Protection のシステム設定は、Windows 10 以降、Windows Server 2019 以降、および Windows Server バージョン 1803 Core エディション以降では、必須のアドレス空間レイアウトのランダム化 (ASLR) を除き、既定で有効になっています。

システムの設定 設定
制御フロー ガード (CFG) 既定値を使用する (オン)
データ実行防止 (DEP) 既定値を使用する (オン)
イメージの強制的なランダム化 (必須 ASRL) 既定値を使用する (オフ)
メモリ割り当てをランダム化する (ボトムアップ ASRL) 既定値を使用する (オン)
高エントロピー ASRL 既定値を使用する (オン)
例外チェーンの検証 (SEHOP) 既定値を使用する (オン)

次の XML サンプルは、既定のシステム軽減策の構成を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<MitigationPolicy>
  <SystemConfig>
    <DEP Enable="true" EmulateAtlThunks="false" />
    <ASLR ForceRelocateImages="false" RequireInfo="false" BottomUp="true" HighEntropy="true" />
    <ControlFlowGuard Enable="true" SuppressExports="false" />
    <SEHOP Enable="true" TelemetryOnly="false" />
    <Heap TerminateOnError="true" />
  </SystemConfig>
</MitigationPolicy>

テスト用のエクスプロイト保護プログラムの設定を有効にする

ヒント

ASR ルールを使用する脆弱性の軽減策については、最新のアプローチを確認することを強くお勧めします。

Windows セキュリティ アプリまたは Windows PowerShell を使用して、特定のプログラムのテスト モードで軽減策を設定できます。

Windows セキュリティ アプリ

Windows セキュリティ アプリを使用して、特定のプログラムのテスト モードで Exploit Protection の軽減策を構成します。

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

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

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

    1. 構成するアプリが既に一覧表示されている場合は、アプリを選択し、[編集] を選択 します

    2. アプリが一覧にない場合は、一覧の上部にある [プログラムの追加] を選択してカスタマイズします。 次に、アプリを追加する方法を選択します。

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

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

PowerShell

アプリ レベルの軽減策をテスト モードに設定するには、Set-ProcessMitigation コマンドレットで を使用します。

特定のアプリの軽減策を有効または監査するには、次の Set-ProcessMitigation 構文を使用します。 プレースホルダーをスコープ、実行可能ファイル、アクション、軽減コマンドレットに置き換えます。

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

場所:

  • <範囲>:
    • 特定のアプリに軽減策を適用する必要があることを示す -Name。 このフラグの後にアプリの実行可能ファイルを指定します。
  • <アクション>:
    • -Enable緩和策を有効にする
      • 軽減策を無効にする -Disable
  • <軽減策>:
    • 次の表で定義されている軽減策のコマンドレット。 各軽減策はコンマで区切られます。
軽減策 テスト モード コマンドレット
Arbitrary Code Guard (ACG) AuditDynamicCode
整合性が低いイメージのブロック AuditImageLoad
信頼されていないフォントのブロック AuditFontFontAuditOnly
コードの整合性ガード AuditMicrosoftSignedAuditStoreSigned
Win32kシステムコールの無効化 AuditSystemCall
子プロセスを許可しない AuditChildProcess

たとえば、次のコマンドを実行すると、 testing.exeという名前のアプリの監査モードで任意の Code Guard (ACG) が有効になるため、動的コード制限の影響をテストしてから適用できます。

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode

監査モードを無効にするには、-Enable-Disable に置き換えます。

Exploit Protection の監査イベントを確認する

ブロックされるアプリを確認するには、イベント ビューアーを開き、Security-Mitigations ログで次のイベントをフィルター処理します。

機能 プロバイダー/ソース イベント ID 説明
エクスプロイト保護 セキュリティ軽減策 (カーネル モード/ユーザー モード) 1 ACG の監査
エクスプロイト保護 セキュリティ軽減策 (カーネル モード/ユーザー モード) 3 [Do not allow child processes] (子プロセスを許可しない) 監査
エクスプロイト保護 セキュリティ軽減策 (カーネル モード/ユーザー モード) 5 低整合性の画像をブロックする監査
エクスプロイト保護 セキュリティ軽減策 (カーネル モード/ユーザー モード) 7 [Block remote images] (リモート イメージのブロック) 監査
エクスプロイト保護 セキュリティ軽減策 (カーネル モード/ユーザー モード) 9 [Disable win32k system calls] (win32k システム呼び出しの無効化) 監査
エクスプロイト保護 セキュリティ軽減策 (カーネル モード/ユーザー モード) 11 コード整合性ガード監査