フォルダー アクセスの制御 (CFA) によって、信頼されていないアプリが保護されたフォルダーに書き込むのをブロックする方法を示す

フォルダー アクセス制御 (CFA) テスト ツールを使用して、Microsoft Defenderウイルス対策が、保護されたフォルダーにファイルを書き込もうとする信頼されていないアプリを評価およびブロックする方法を確認します。

CFA は、信頼できるアプリのみが保護されたフォルダー内のファイルを変更または削除できるようにすることで、悪意のあるアプリやランサムウェアなどの脅威から貴重なデータを保護するのに役立ちます。 詳細については、「 フォルダー アクセスの制御の概要」を参照してください。

Important

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

前提条件

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

要件、サポートされているオペレーティング システム、保護モードの完全な一覧については、「 フォルダー アクセスの制御 (CFA) の概要」を参照してください。

デモを設定する

セットアップ スクリプトは、ブロック モードで 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ウイルス対策の除外リストに追加します。
    • CFA テスト ツール (https://demo.wd.microsoft.com/Content/CFAtool.exe) を c:\demo\CFATestFilesにダウンロードします。
    • 有効 (ブロック) モードで CFA 有効にし、保護されたフォルダーの一覧に c:\demo を追加します (他の保護されたフォルダーには影響しません)。

    Important

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

    WindowsDefender_CFA_SetupScript.ps1ランサムウェアのデモンストレーションと共有されるため、ランサムウェア テスト ファイル (ransomware_testfile_unsigned.exe) とクリーン なテスト ファイル (testfile_safe.txt) もダウンロードされます。 これらのファイルは、この CFA デモでは使用されません。

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

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
    

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

    ヒント

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

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

または、スクリプトを実行しない場合は、代わりに次の最小限の手順を実行します。 CFA テスト ツールは、ドキュメント フォルダーなどの既定の保護されたフォルダーを含む保護されたフォルダーを対象とできるため、スクリプトによって作成される c:\demo フォルダーは必要ありません。

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

    Set-MpPreference -EnableControlledFolderAccess Enabled
    

    CFA を有効にするその他の方法と使用可能なモードについては、「 フォルダー アクセスの制御の構成 (CFA)」を参照してください。

  2. https://demo.wd.microsoft.com/Content/CFAtool.exeから CFA テスト ツールをダウンロードします。

デモを実行する

セットアップ スクリプトを実行した場合は、スクリプトがダウンロードしたテスト ツールを使用します。

  1. ファイルエクスプローラーでc:\demo\CFATestFilesに行き、CFAtool.exeをウイルス対策から除外されていないフォルダにコピー Microsoft Defender。 ツールを c:\demo やそのサブフォルダから実行しないでください。

  2. アンチウイルスから除外されていないフォルダからCFAtool.exeMicrosoft Defender実行してください。

  3. CFA テスト ツールで、次の設定を構成します。

    • ファイル名: 既定では、 TestFile.txt が選択されていますが、ファイル名と種類を変更できます。
    • [ファイルの保存先]: [カスタム パス ] を選択し、「 c:\demo 」と入力します (保護されたフォルダーの一覧にセットアップ スクリプトが追加されます)。
    • 再読み込み: このオプションはオンのままにします。

    準備ができたら、[ ファイルの作成] を選択します。

または、最小限の手動手順を使用した場合は、保護されたフォルダーに対してテスト ツールを実行します。

  1. ダウンロードした CFA テスト ツール (CFAtool.exe) を実行します。

  2. CFA テスト ツールで、次の設定を構成します。

    準備ができたら、[ ファイルの作成] を選択します。

どちらの場合も、CFA はテスト ツールが保護されたフォルダーへの書き込みをブロックし、通知が表示されます。 結果のブロック イベントと監査イベントを表示するには、「 フォルダー アクセス制御 (CFA) アクティビティの監視」を参照してください。

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

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

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 セッションでクリーンアップ スクリプトを実行します。

または、最小限の手動手順を使用した場合は、「昇格された PowerShell セッションで次のコマンドを実行して デモをセットアップ する」でメモした元のモードに CFA を戻します。ここで、 <Mode> は使用可能な CFA モードの 1 つです。

Set-MpPreference -EnableControlledFolderAccess <Mode>

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

Set-MpPreference -EnableControlledFolderAccess Disabled

セットアップ スクリプトを実行した場合、テスト ファイルを含むc:\demo フォルダーが作成され、c:\demo Microsoft Defenderウイルス対策の除外が追加されました。どちらのクリーンアップ スクリプトも削除されません。 変更を完全に元に戻すには:

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

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

    Remove-MpPreference -ExclusionPath C:\demo