フォルダー アクセス制御 (CFA) によってランサムウェアがどのようにブロックされるかを示す

ランサムウェア テスト ファイルを使用して、フォルダー アクセスの制御 (CFA) によって、重要なフォルダーを暗号化しようとする信頼されていないプロセスから保護する方法を確認します。

フォルダー アクセスの制御 (CFA) は、信頼されたアプリのみが保護されたフォルダー内のファイルを変更できるようにすることで、悪意のあるアプリやランサムウェアなどの脅威から貴重なデータを保護するのに役立ちます。 Microsoft Defenderウイルス対策は、すべてのアプリ (.exe、.scr、.dll ファイルを含む実行可能ファイル) を評価し、悪意のあるアプリや疑わしいアプリが保護されたフォルダー内のファイルの変更をブロックします。

Important

このデモのランサムウェア テスト ファイルとスクリプトは署名されておらず、意図的に悪意のあるソフトウェアのように動作するため、Microsoft Defender SmartScreen、ブラウザー、または Microsoft Defender ウイルス対策によって警告が表示されたり、ダウンロードがブロックされたりする可能性があります。 これらのファイルは、テスト デバイスでのみ使用します。 セットアップまたはクリーンアップ スクリプトまたはランサムウェア テスト ファイルをダウンロードするときに、ダウンロードを完了するために [保持 ] (または同等の許可オプション) を選択することが必要な場合があります。

Prerequisites

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

要件、サポートされているオペレーティング システム、保護モードの完全な一覧については、「 フォルダー アクセスの制御 (CFA) の概要」を参照してください。 CFA を有効にして保護されたフォルダーを追加するために使用できる方法については、「 フォルダー アクセスの制御の構成 (CFA)」を参照してください。

デモを設定する

Note

セットアップ スクリプトは、ブロック モードで CFA を有効にします。 現在の CFA モードを表示するには、管理者特権の PowerShell セッション ([ 管理者として実行] を選択して開いた PowerShell ウィンドウ) で次のコマンドを実行します。

Get-MpPreference | Format-List EnableControlledFolderAccess

モードの値をメモして、デモンストレーションの終了時 に CFA を 設定し直すことができます。

  1. 次の ZIP ファイルからセットアップ スクリプト WindowsDefender_CFA_SetupScript.ps1 をダウンロードして抽出します: https://demo.wd.microsoft.com/Content/CFA_SetupScript.zip。 セットアップ スクリプトでは、次の手順が自動化されます。

    • CFA をオフにし、保護されたフォルダーの一覧から c:\demo を削除することで、既存のデモ構成をリセットします (他の保護されたフォルダーには影響しません)。
    • c:\demo フォルダーを作成し、(他の除外に影響を与えずに) Microsoft Defenderウイルス対策の除外リストに追加します。
    • ランサムウェア テスト ファイル (ransomware_testfile_unsigned.exe) を c:\demo\CFATestFilesにダウンロードし、クリーンなテスト ファイル (testfile_safe.txt) を c:\demoにダウンロードします。
    • 有効 (ブロック) モードで CFA 有効にし、保護されたフォルダーの一覧に c:\demo を追加します (他の保護されたフォルダーには影響しません)。

    Important

    セットアップ スクリプトは、c:\demo を Microsoft Defender Antivirus の除外リストに追加します。 CFAブロックや検出のテスト時はc:\demoやそのサブフォルダからransomware_testfile_unsigned.exeを実行しないでください。 アンチウイルス除外パスから動作するプロセスは信頼されたものとして扱われ、期待されるCFAブロックや検出を生成しない場合があります。 デモンストレーションを実行する前に、ransomware_testfile_unsigned.exeをMicrosoft Defenderウイルス対策から除外されていないフォルダにコピーしてください。

    WindowsDefender_CFA_SetupScript.ps1信頼されていないアプリのデモをブロック と共有されているため、CFA テストツール (CFAtool.exe) もダウンロードします。 このランサムウェア シナリオでは、このツールは使用されません。

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

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
    

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

    Tip

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

    Unblock-File -Path "<path>\WindowsDefender_CFA_SetupScript.ps1"
    

または、スクリプトを実行しない場合は、代わりに次の最小限の手順を実行します。

  1. demoのように、c:の下にc:\demoという名前のフォルダーを作成します。

  2. testfile_safe.txtからクリーン なテスト ファイル (https://demo.wd.microsoft.com/Content/testfile_safe.txt) をダウンロードし、c:\demoに保存します。 テストには、暗号化を試みるファイルが必要です。

どちらの方法を使用する場合でも、セットアップ スクリプトは攻撃面の減少 (ASR) ルールを変更しないため、ランサムウェア ASR に 対する高度な保護を使用する 規則を確認し、有効になっている場合は、このテストの期間中は無効にします。 そうしないと、CFA が実行される前にランサムウェア テスト ファイルがブロックされる可能性があります。 ルールの状態を確認するには、管理者特権の PowerShell セッションで次のコマンドを実行します。

$idx = $(Get-MpPreference).AttackSurfaceReductionRules_Ids.IndexOf("C1DB55AB-C21A-4637-BB3F-A12568109D35")
if ($idx -ge 0) {Write-Host "Rule Status: " $(Get-MpPreference).AttackSurfaceReductionRules_Actions[$idx]} else {Write-Host "Rule does not exist on this machine"}

ルールが存在し、状態が 1 (Enabled) または 6 (Warn)の場合は、 クリーンアップ中に復元できるように現在の値を書き留め、それを無効 (0) してこのテストを実行します。

Add-MpPreference -AttackSurfaceReductionRules_Ids C1DB55AB-C21A-4637-BB3F-A12568109D35 -AttackSurfaceReductionRules_Actions Disabled

2 (Audit)などのその他の状態はアクティビティのみをログに記録し、ブロックしないため、ルールはこのテストに干渉しません。 変更せずに残します。

デモを実行する

シナリオ 1: CFA がランサムウェア テスト ファイルをブロックする

セットアップ スクリプトを実行した場合、ランサムウェア テスト ファイルは既に c:\demo\CFATestFilesにダウンロードされており、CFA は既に c:\demoを保護しています。

  1. ファイル エクスプローラーで c:\demo\CFATestFiles に移動し、ransomware_testfile_unsigned.exe を Microsoft Defender Antivirus の除外対象になっていないフォルダーにコピーします。 テストファイルは c:\demo やそのサブフォルダから実行しないでください。
  2. Microsoft Defender Antivirus から除外されていないフォルダー内で ransomware_testfile_unsigned.exe を実行してください。 これは実際のランサムウェアではありません。 c:\demo内のファイルの暗号化のみが試行されます。

セットアップ スクリプトを実行しなかった場合は、次の手動の手順が必要です。

  1. 管理者特権の PowerShell セッションで次のコマンドを実行して、 有効 (ブロック) モードで CFA を有効にします。

    Set-MpPreference -EnableControlledFolderAccess Enabled
    
  2. 管理者特権の PowerShell セッションで次のコマンドを実行して、 c:\demo フォルダーを保護されたフォルダーの一覧に追加します。

    Add-MpPreference -ControlledFolderAccessProtectedFolders C:\demo\
    
  3. c:\demo を Microsoft Defender Antivirus の除外リストに追加して、実行する前にランサムウェア テスト ファイルがリアルタイム保護によって検疫されないようにします。 管理者特権の PowerShell セッションで次のコマンドを実行します。

    Add-MpPreference -ExclusionPath C:\demo
    
  4. ransomware_testfile_unsigned.exeからランサムウェア テスト ファイル (https://demo.wd.microsoft.com/Content/ransomware_testfile_unsigned.exe) をダウンロードし、c:\demoに保存します。

  5. ransomware_testfile_unsigned.exe を Microsoft Defender Antivirus の除外対象になっていないフォルダーにコピーしてください。 テストファイルは c:\demo やそのサブフォルダから実行しないでください。

  6. Microsoft Defender Antivirus で除外されていないフォルダーから ransomware_testfile_unsigned.exe を実行してください。 これは実際のランサムウェアではありません。 c:\demo内のファイルの暗号化のみが試行されます。

どちらの場合も、ランサムウェア テスト ファイルを実行してから約 5 秒後に、CFA が暗号化の試行をブロックしたことを示す通知が表示されます。 結果のブロック イベントと監査イベントを表示するには、「 フォルダー アクセス制御 (CFA) アクティビティの監視」を参照してください。

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

  1. 管理者特権の PowerShell セッションで次のコマンドを実行して、CFA をオフにします。

    Set-MpPreference -EnableControlledFolderAccess Disabled
    
  2. アンチウイルス除外フォルダから元のランサムウェアテストファイルを実行してください:

    • セットアップスクリプトを実行したなら、 c:\demo\CFATestFiles\ransomware_testfile_unsigned.exeを実行してください。
    • 手動の手順を実行した場合は、c:\demo\ransomware_testfile_unsigned.exe を実行してください。

CFA をオフにすると、テスト ファイルによって c:\demo 内のファイルが暗号化され、警告メッセージが表示されます。 もう一度テスト ファイルを実行して、ファイルの暗号化を解除します。

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

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

Important

クリーンアップ スクリプトは CFA をオフにし、CFA またはその他の理由でこれらの規則を有効にした場合でも、スクリプトに一覧表示されている ASR 規則を無効にします。 スクリプトを実行する前に、現在の ASR ルールの状態を確認して、保持するルールを再度有効にできるようにします。

$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

このスクリプトでは、CFA が無効に設定 されます。 CFA を 無効以外のモードに設定するには、このセクションで後述する手動の手順を使用します。

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

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

または、最小限の手動手順を使用した場合は、次の操作を行います。

  1. デモンストレーションをセットアップ する」でメモした元のモードに戻すには、管理者特権の PowerShell セッションで次のコマンドを実行します。ここで、 <Mode> は使用可能な CFA モードの 1 つです。

    Set-MpPreference -EnableControlledFolderAccess <Mode>
    

    たとえば、CFA をもう一度オフ (既定の状態) にするには、次のコマンドを実行します。

    Set-MpPreference -EnableControlledFolderAccess Disabled
    
  2. シナリオ 2 でc:\demo内のファイルを暗号化した場合は、復号化ツール () を使用してransomware_cleanup_encrypt_decrypt.exeします。

  3. テストの開始時にランサムウェア ASR に 対する高度な保護を使用する ルールを無効にした場合は、管理者特権の PowerShell セッションで次のコマンドを実行してメモした値に戻します。ここで、 <Mode>モード値Enabled または Warnです。

    Add-MpPreference -AttackSurfaceReductionRules_Ids C1DB55AB-C21A-4637-BB3F-A12568109D35 -AttackSurfaceReductionRules_Actions <Mode>
    

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

  1. c:\demo外で作成したransomware_testfile_unsigned.exeのコピーはすべて削除してください。

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

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

    Remove-MpPreference -ExclusionPath C:\demo