攻撃面の縮小 (ASR) ルールのデモンストレーション

この記事のテスト ファイル、スクリプト、および手順を使用して、Microsoft Defender for Endpointの特定の攻撃面の減少 (ASR) 規則を示します。

ASR ルールは、攻撃者がマルウェアを介して一般的に悪用する Windows デバイスでの危険なソフトウェア動作を対象としています (たとえば、ファイルをダウンロードするスクリプトの起動、難読化されたスクリプトの実行、他のプロセスへのコードの挿入など)。 ASR ルールの詳細については、「 攻撃面の縮小 (ASR) ルールの概要」を参照してください。

Important

この記事に含まれるスクリプトとテスト ファイルは、意図的に悪意のある動作をシミュレートしているため、Microsoft Defender Antivirus や Windows セキュリティによって検出され(たとえば Trojan:Win32/Vigorf.A として)、ブロック、隔離、または削除される可能性があります。 これらのファイルはテスト デバイスでのみ使用し、ファイルをダウンロードする前にダウンロード フォルダーを除外します。 フォルダーを除外した場合でも、スクリプトやASRSamplesAll.zipをダウンロードしても、ブラウザーまたはMicrosoft Defender SmartScreenから警告が表示されることがあります。 除外は、ファイルがフォルダーに到達した後にのみ適用されるため、ダウンロードを完了するには [ 保持 ] (または同等の許可オプション) を選択する必要がある場合があります。

前提条件

開始する前に、テスト デバイスが次の要件を満たしていることを確認します。

  • Windows 10バージョン 1709 (2017 年 10 月) 以降。
  • Microsoft Defenderウイルス対策が有効で、アクティブ モードです。

要件、サポートされているオペレーティング システム、モードの完全な一覧については、「 攻撃面の減少 (ASR) ルールの概要」を参照してください。 ASR 規則を有効にするために使用できる方法については、ASR 規則の デプロイと構成方法に関するセクションを参照してください。

デモを設定する

Important

セットアップ スクリプトとモード スクリプトにより、有効 (ブロック) モードで デモンストレーション ASR ルール有効 になります。 開始する前に ASR ルールの現在の状態を確認するには、管理者特権の PowerShell ウィンドウ ([管理者として実行] を選択して開いた PowerShell ウィンドウ) で次のコマンド を実行します。

$p = Get-MpPreference;0..([math]::Min($p.AttackSurfaceReductionRules_Ids.Count,$p.AttackSurfaceReductionRules_Actions.Count)-1) | % {[pscustomobject]@{Id=$p.AttackSurfaceReductionRules_Ids[$_];Action=$p.AttackSurfaceReductionRules_Actions[$_]}} | Format-Table -AutoSize

ルールとその モード値 をメモして、デモンストレーションが完了したときに クリーンアップ中に復元 できるようにします。

  1. セットアップ スクリプトを実行する前に、実行ポリシーを現在のセッションの RemoteSigned に設定して実行できるようにします。 管理者特権の PowerShell ウィンドウで次のコマンドを実行します。

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
    

    RemoteSignedは、インターネットからダウンロードされた署名されていないスクリプトをブロックし、セッションを閉じるとUnrestrictedスコープによって変更が元に戻されるため、Processよりも安全です。

    ヒント

    セットアップ スクリプトは符号なしであるため、スクリプトに "インターネットからダウンロードした" マーク (mark-of-the-web) が引き続き含まれている場合は、 RemoteSigned によってブロックされます。 その場合は、スクリプトが信頼できるソースからのものであり、それを実行する前にブロックを解除します。

    Unblock-File -Path "<path>\WindowsDefender_ASR_SetupScript.ps1"
    
  2. WindowsDefender_ASR_SetupScript.ps1からhttps://demo.wd.microsoft.com/Content/ASR_SetupScript.zipをダウンロードして抽出します。 セットアップ スクリプトでは、次の手順が自動化されます。

    Important

    セットアップ スクリプトは、c:\demo を Microsoft Defender Antivirus の除外リストに追加します。 ASRブロックや検出のテストを行う際は、 c:\demo やそのサブフォルダからASRテストファイルを実行しないでください。 Microsoft Defenderのアンチウイルス除外事項(ランサムウェアに対する高度な保護の使用を含む)を尊重するASRルールは、期待されるブロックや検出を生み出さない場合があります。 テストファイルを実行する前に、Microsoft DefenderのアンチウイルスやASRルールから除外されていないフォルダにコピーしてください。 詳細については、「 ASR ルールのファイルとフォルダーの除外」を参照してください。

    セットアップ スクリプトとクリーンアップ スクリプトは、CFA ブロック アプリと CFA ランサムウェアデモと共有されるため、 CFA を調整します。 この記事の ASR 規則のシナリオでは CFA を使用しません。 セットアップ スクリプトは、CFA で保護されたフォルダーの一覧に c:\demo を追加しますが、CFA を有効にしないため、エントリはこのデモには影響しません。 クリーンアップ スクリプトでは CFA が無効になるため、セットアップ スクリプトを実行する前に、現在の CFA モード を確認し、値をメモして、デモセクションの クリーンアップ で復元できるようにします。

    Get-MpPreference | Format-List EnableControlledFolderAccess
    

    または、代わりに次の手動手順を実行することもできます。

    1. フォルダー c:\demoを作成します。

    2. c:\demo を Microsoft Defender Antivirus の除外リストに追加し、ダウンロードして展開する際にリアルタイム保護によってテスト ファイルが隔離されないようにします。 管理者特権の PowerShell ウィンドウで次のコマンドを実行します。

      Add-MpPreference -ExclusionPath C:\demo
      
    3. クリーン テスト ファイル (testfile_safe.txt) を c:\demoに保存します。

    4. ASRSamplesAll.zipからhttps://demo.wd.microsoft.com/Content/ASRSamplesAll.zipをダウンロードし、c:\demo\ASRSamplesAllに抽出します。

    5. 管理者特権の PowerShell ウィンドウで次のコマンドを実行して、デモンストレーション ASR ルール[有効] (ブロック) モードで有効にします。

      Add-MpPreference -AttackSurfaceReductionRules_Ids 01443614-cd74-433a-b99e-2ecdc07bfc25,3b576869-a4ec-4529-8536-b80a7769e899,5beb7efe-fd9a-4556-801d-275e5ffc04cc,75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84,92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b,b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4,be9ba2d9-53ea-4cdc-84e5-9b1eeee46550,c1db55ab-c21a-4637-bb3f-a12568109d35,d1e49aac-8f56-4280-b9ba-993a6d77406c,d3e037e1-3eb8-44c8-a917-57927947596d,d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled
      

      このデモ セクションの ASR ルールには、 ASR ルール 名と関連する GUID 値が記載されています。

  3. https://demo.wd.microsoft.com/Content/WindowsDefender_ASR_scripts.zipからモード スクリプトをダウンロードして抽出します。 WindowsDefender_ASR_Block.ps1WindowsDefender_ASR_Audit.ps1、およびWindowsDefender_ASR_Disabled.ps1スクリプトは、それぞれ同じデモンストレーション ASR ルール有効 (ブロック)、AuditMode、または Disabled モードに切り替えます。 それらを実行して、テストとクリーンアップ中に、デモンストレーション ASR ルールを 有効 (ブロック)、 AuditMode、および Disabled モードに切り替えます。

    Note

    3 つのモード スクリプトはすべて、実際に適用されるモードに関係なく、同じコンソール メッセージ ( Enabling Exploit Guard ASR rules and setting to audit mode) を表示します。 このメッセージはハードコーディングされており、 WindowsDefender_ASR_Block.ps1 スクリプトと WindowsDefender_ASR_Disabled.ps1 スクリプトでは正しくありません。 適用したモードを確認するには、メッセージではなくスクリプト名を使用します。

このデモにおけるASRルール

次の表に、このデモで有効にする ASR ルール、その GUID 値、および各ルールをトリガーするテスト ファイル (使用可能な場合) を示します。 セットアップ スクリプトは、これらのテスト ファイルのいくつかを ASRSamplesAll.zip にダウンロードし、 c:\demo\ASRSamplesAllに抽出します。

ヒント

ルール名は、ルールの詳細にリンクされます。 一部のテスト ファイルでは、複数のルールがトリガーされます。

GUID 値 ルール名 テスト ファイル
01443614-cd74-433a-b99e-2ecdc07bfc25 有病率、年齢、または信頼されたリストの条件を満たしていない限り、実行可能ファイルの実行をブロックする 利用可能なものはありません
3b576869-a4ec-4529-8536-b80a7769e899 Office アプリケーションによる実行可能なコンテンツの作成をブロックする TestFile_Block_Office_applications_from_creating_executable_content_3b576869-a4ec-4529-8536-b80a7769e899.docm
5beb7efe-fd9a-4556-801d-275e5ffc04cc 難読化される可能性のあるスクリプトの実行をブロックする TestFile_ScriptObfuscatedContent_5BEB7EFE-FD9A-4556-801D-275E5FFC04CC.jsASRSamplesAll.zip
75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 Office アプリケーションによる他のプロセスへのコード挿入をブロックする 利用可能なものはありません
92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b Office マクロからの Win32 API 呼び出しをブロックする Block_Win32_imports_from_Macro_code_in_Office_92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b.docm
b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 USB から実行される信頼されていない、署名されていないプロセスをブロックする UNSIGNED_ransomware_test_exe.exeASRSamplesAll.zip
be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 電子メール クライアントと Web メールから実行可能なコンテンツをブロックする* 利用可能なものはありません
c1db55ab-c21a-4637-bb3f-a12568109d35 ランサムウェアに対する高度な保護を使用する ransomware_testfile_exe.exeASRSamplesAll.zip
d1e49aac-8f56-4280-b9ba-993a6d77406c PSExec コマンドと WMI コマンドから発生するプロセス作成をブロックする TestFile_PsexecAndWMICreateProcess_D1E49AAC-8F56-4280-B9BA-993A6D77406C.vbsASRSamplesAll.zip
d3e037e1-3eb8-44c8-a917-57927947596d ダウンロードした実行可能コンテンツの起動を JavaScript または VBScript でブロックする* TestFile_ScriptInternetContent_D3E037E1-3EB8-44C8-A917-57927947596D.jsASRSamplesAll.zip
d4f940ab-401b-4efc-aadc-ad5f3c50688a すべての Office アプリケーションによる子プロセスの作成をブロックする TestFile_OfficeChildProcess_D4F940AB-401B-4EFC-AADC-AD5F3C50688A.docmASRSamplesAll.zip

* ブロック モードまたは警告モードでは、このルールの EDR アラートとユーザー通知には、Microsoft Defender ウイルス対策の追加のクラウド保護レベルの要件があります。 詳細については、規則名を選択して、 ASR 規則リファレンスでそのセクションを開きます。

Note

このデモでは、次の ASR 規則は有効にもテストもされません。 その一部は、 セーフ モードでのコンピューターの再起動をブロックするなど、サンプル ファイルではトリガーできません。 各ルールの詳細については、そのリンクを選択します。

シナリオ

次のシナリオを使用して、さまざまなモードでのデモンストレーション ASR ルールの動作を確認します。

シナリオ 1: すべてのデモンストレーション ASR ルールによってテスト ファイルがブロックされる

すべてのデモンストレーション ASR ルールで対応するテスト ファイルがブロックされていることを確認するには、次の手順を実行します。

  1. ブロック モードでデモンストレーション ASR ルールを有効にします。 WindowsDefender_ASR_Block.ps1 スクリプトを実行するか (デモのセットアップを参照)、または PowerShell コマンドを使用します。
  2. テストファイルを開いたり実行したりする前に、そのファイルがMicrosoft Defender AntivirusやASRルールから除外されていないフォルダにあることを確認してください。 セットアップ スクリプトが c:\demo\ASRSamplesAll に抽出したテスト ファイルを使用する場合は、除外されていないフォルダーにコピーしてください。 テストファイルは c:\demo やそのサブフォルダから実行しないでください。 メッセージが表示されたら、編集とコンテンツを有効にします。

"アクションがブロックされました" という通知がすぐに表示されます。

シナリオ 2: 個々の ASR ルールが一致するテスト ファイルをブロックする

このシナリオを使用して、1 つの ASR 規則をテストし、対応するテスト ファイルがブロックされていることを確認します。

  1. テストする個々のルールを構成します。 たとえば、 すべての Office アプリケーションで子プロセスの作成をブロックするルールを 有効にするには、管理者特権の PowerShell ウィンドウで次のコマンドを実行します。

    Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Enabled
    
  2. このデモンストレーション表のASRルールでルールのテストファイルを見つけてください。 ASRSamplesAll.zipマークされたファイルは、既にc:\demo\ASRSamplesAllに抽出されています。

  3. テストファイルをMicrosoft Defender AntivirusやASRルールから除外されていないフォルダにコピーしてください。 テストファイルを c:\demo やそのサブフォルダから開いたり実行したりしないでください。 例えば、「すべてのOfficeアプリケーションが子プロセスを作成するのをブロックする」ルールでは、c:\demo\ASRSamplesAllから除外されていないフォルダにTestFile_OfficeChildProcess_D4F940AB-401B-4EFC-AADC-AD5F3C50688A.docmコピーします。

  4. コピーしたテストファイルを開くか実行してください。 メッセージが表示されたら、編集とコンテンツを有効にします。

"アクションがブロックされました" という通知がすぐに表示されます。

シナリオ 3: ASR 規則によって、USB ドライブから実行される署名されていないファイルがブロックされる

USB 実行規則によって署名されていないファイルがブロックされていることを確認するには、次の手順を実行します。

  1. 管理者特権の PowerShell ウィンドウで次のコマンドを実行して、USB ASR から 実行される信頼されていないプロセスと署名されていないプロセスをブロック する規則を有効にします。

    Add-MpPreference -AttackSurfaceReductionRules_Ids b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 -AttackSurfaceReductionRules_Actions Enabled
    
  2. UNSIGNED_ransomware_test_exe.exeから USB ドライブにc:\demo\ASRSamplesAllをコピーします。

  3. USB ドライブからファイルを実行します。

"アクションがブロックされました" という通知がすぐに表示されます。

シナリオ 4: ASR ルールがない場合、ランサムウェア テスト ファイルはファイルを暗号化します

ASR ルールが無効になっている場合のランサムウェア テスト ファイルの動作を確認するには、デモの ASR ルールをオフにします。

  1. ASR ルールを無効にするには、次のいずれかの手順を実行します。
  2. ransomware_testfile_exe.exeからランサムウェア テスト ファイル (c:\demo\ASRSamplesAll) を実行します。

その結果、 c:\demo 内のファイルは暗号化され、警告メッセージが表示されます。

テスト ファイルをもう一度実行して、ファイルの暗号化を解除します。

デモをクリーンアップする

セットアップ スクリプトを実行した場合は、クリーンアップ スクリプトを実行してデモを元に戻します。

Important

クリーンアップ スクリプトは、他の理由でこれらの規則の一部を有効にした場合でも、デモンストレーションの ASR 規則とその他の 2 つの ASR 規則を無効にします。 スクリプトを実行する前に、「 デモを設定 する」の検証コマンドを使用して現在の ASR ルールの状態を確認し、保持するルールを再度有効にできるようにします。

  1. この ZIP ファイルからクリーンアップ スクリプト WindowsDefender_ASR_CFA_CleanupScript.ps1 をダウンロードして抽出します: https://demo.wd.microsoft.com/Content/ASR_CFA_CleanupScript.zip。 クリーンアップ スクリプトは、次のタスクを実行します。

  2. クリーンアップ スクリプトは署名されていないため、「デモンストレーションのセットアップ」の説明に従って実行ポリシーを 設定し、スクリプトのブロックを解除します。 次に、管理者特権の PowerShell ウィンドウでクリーンアップ スクリプトを実行します。

    クリーンアップ スクリプトでは、CFA が 無効に設定されます。 デモを開始する前に (を実行して) 元の Get-MpPreference | Format-List EnableControlledFolderAccessを記録した場合は、ここでその値を復元します。 <mode>を元の CFA モードの値 (EnabledAuditModeDisabledなど) に置き換え、管理者特権の PowerShell ウィンドウで次のコマンドを実行します。

    Set-MpPreference -EnableControlledFolderAccess <mode>
    

または、手動の方法を使用した場合は、次の手順を実行します。

  1. デモンストレーション ASR ルールを無効にします。 WindowsDefender_ASR_Disabled.ps1 スクリプトを実行するか (デモンストレーションの設定を参照)、管理者特権の PowerShell ウィンドウで次のコマンドを実行します。

    Add-MpPreference -AttackSurfaceReductionRules_Ids 01443614-cd74-433a-b99e-2ecdc07bfc25,3b576869-a4ec-4529-8536-b80a7769e899,5beb7efe-fd9a-4556-801d-275e5ffc04cc,75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84,92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b,b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4,be9ba2d9-53ea-4cdc-84e5-9b1eeee46550,c1db55ab-c21a-4637-bb3f-a12568109d35,d1e49aac-8f56-4280-b9ba-993a6d77406c,d3e037e1-3eb8-44c8-a917-57927947596d,d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled
    
  2. シナリオ 4 でc:\demo内のファイルを暗号化した場合は、復号化ツール () を使用してransomware_cleanup_encrypt_decrypt.exeします。

どちらの方法を使用しても、クリーンアップ スクリプトはテスト ファイルを削除したり、セットアップ スクリプト (または手動の手順) が追加したc:\demo Microsoft Defenderウイルス対策の除外を削除したりすることはありません。 変更を完全に元に戻すには:

  1. c:\demo外にコピーしたテストファイルはすべて削除してください。

  2. c:\demo フォルダーとそのフォルダーに含まれているテスト ファイルを削除します。 次の手順で除外を削除する に、この手順を実行します。 それ以外の場合、フォルダーのリアルタイム保護が再開されると、Microsoft Defenderウイルス対策は残っているテスト ファイル (Trojan:Win32/Vigorf.A など) を検出して検疫します。 管理者特権の PowerShell ウィンドウで次のコマンドを実行します。

    Remove-Item -Path C:\demo -Recurse -Force
    
  3. 管理者特権の PowerShell ウィンドウで次のコマンドを実行して、c:\demo Microsoft Defenderウイルス対策の除外を削除します。

    Remove-MpPreference -ExclusionPath C:\demo