Demonstre como o acesso controlado a pastas (CFA) bloqueia ransomware

Use um ficheiro de teste de ransomware para ver como o acesso controlado a pastas (CFA) protege pastas importantes de um processo não confiável que tenta encriptá-las.

O acesso controlado a pastas (CFA) ajuda a proteger dados valiosos contra aplicações maliciosas e ameaças, como ransomware, permitindo apenas que aplicações de confiança alterem ficheiros em pastas protegidas. Microsoft Defender O antivírus avalia todas as aplicações (qualquer ficheiro executável, incluindo ficheiros .exe, .scr e .dll) e bloqueia aquelas que considera maliciosas ou suspeitas para que não alterem ficheiros em pastas protegidas.

Importante

O ficheiro de teste de ransomware e os scripts nesta demonstração não têm assinatura e comportam-se intencionalmente como software malicioso, por isso o Microsoft Defender SmartScreen, o seu navegador ou o Microsoft Defender Antivirus podem avisá-lo ou bloquear o download. Use estes ficheiros apenas num dispositivo de teste. Quando descarregas os scripts de configuração ou limpeza ou o ficheiro de teste de ransomware, podes precisar de escolher Guardar (ou a opção de permitir equivalente) para completar o download.

Pré-requisitos

  • Windows 10, versão 1709 (outubro de 2017) ou posterior.
  • Microsoft Defender Antivirus ativado e em modo ativo.

Para a lista completa de requisitos, sistemas operativos suportados e modos de proteção, consulte Acesso Controlado a pastas (CFA) visão geral. Para os métodos que pode usar para ativar o CFA e adicionar pastas protegidas, veja Configurar acesso controlado a pastas (CFA).

Preparar a demonstração

Note

O script de configuração ativa o CFA em modo bloco. Para ver o modo CFA atual, execute o seguinte comando numa sessão PowerShell elevada (uma janela PowerShell que abriu selecionando Executar como administrador):

Get-MpPreference | Format-List EnableControlledFolderAccess

Toma nota do valor do modo para poderes voltar a definir o CFA para esse valor quando terminares a demonstração.

  1. Descarregue e extraia o script WindowsDefender_CFA_SetupScript.ps1 de configuração deste ficheiro ZIP: https://demo.wd.microsoft.com/Content/CFA_SetupScript.zip. O script de configuração automatiza os seguintes passos:

    • Reinicia qualquer configuração de demonstração existente desligando o CFA e removendo c:\demo da lista de pastas protegidas (sem afetar as outras pastas protegidas).
    • Cria a c:\demo pasta e adiciona-a à lista de exclusões do Microsoft Defender Antivirus (sem afetar as tuas outras exclusões).
    • Descarrega um ficheiro de teste de ransomware (ransomware_testfile_unsigned.exe) para c:\demo\CFATestFiles, e um ficheiro de teste limpo (testfile_safe.txt) para c:\demo.
    • Ativa o CFA em modo Ativado (bloco) e adiciona c:\demo à lista de pastas protegidas (sem afetar as tuas outras pastas protegidas).

    Importante

    O script de configuração adiciona c:\demo à lista de exclusões do Antivírus do Microsoft Defender. Não execute ransomware_testfile_unsigned.exe a partir de c:\demo ou de uma das respetivas subpastas quando estiver a testar o bloqueio ou a deteção do CFA. Processos que correm a partir de um caminho excluído por antivírus podem ser tratados como confiáveis e podem não gerar o bloqueio ou deteção CFA esperado. Antes de executares a demonstração, copia ransomware_testfile_unsigned.exe para uma pasta que não esteja excluída do Microsoft Defender Antivirus.

    Como WindowsDefender_CFA_SetupScript.ps1 é partilhado com a demonstração de bloqueio de uma aplicação não fidedigna, também transfere a ferramenta de teste CFA (CFAtool.exe). Essa ferramenta não é usada neste cenário de ransomware.

  2. Antes de executares o script, permite a sua execução definindo a política de execução como RemoteSigned para a sessão atual. Execute o seguinte comando numa sessão elevada do PowerShell:

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
    

    RemoteSigned é mais seguro do que Unrestricted porque continua a bloquear scripts não assinados que são descarregados da internet, e o Process scope reverte a alteração quando fechas a sessão.

    Dica

    Como o script de configuração não está assinado, RemoteSigned bloqueia-o se o script ainda tiver a marca "descarregado da internet" (a marca da web). Se isso acontecer, confirma que o script é de uma fonte confiável e depois desbloqueia-o antes de o executar:

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

Ou, se preferires não correr o script, faz os seguintes passos mínimos:

  1. Crie uma pasta nomeada demo sob c:, como em c:\demo.

  2. Descarregue o ficheiro de teste limpo (testfile_safe.txt) de https://demo.wd.microsoft.com/Content/testfile_safe.txt e guarde-o em c:\demo. O teste precisa de um ficheiro para tentar encriptar.

Seja qual for o método que usares, o script de configuração não altera as regras de redução da superfície de ataque (ASR), por isso verifica a regra Usar proteção avançada contra ransomware ASR e desativa-a durante este teste se estiver ativada. Caso contrário, pode bloquear o ficheiro de teste contra ransomware antes de o CFA o fazer. Para verificar o estado da regra, execute o seguinte comando numa sessão PowerShell elevada:

$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"}

Se a regra existir e o estado for 1 (Enabled) ou 6 (Warn), note o valor atual para que possa restaurá-lo durante a limpeza, e depois desative-a (0) para executar este teste:

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

Qualquer outro estado, como 2 (Audit), apenas regista atividade e não bloqueia, por isso a regra não interfere com este teste. Deixa-o inalterado.

Organiza a demonstração

Cenário 1: O CFA bloqueia o ficheiro de teste de ransomware

Se executaste o script de configuração, o ficheiro de teste de ransomware já foi descarregado para c:\demo\CFATestFiles, e o CFA já protege c:\demo:

  1. No Explorador de Ficheiros, vá a c:\demo\CFATestFiles, e copie ransomware_testfile_unsigned.exe para uma pasta que não esteja excluída do Microsoft Defender Antivirus. Não execute o ficheiro de teste a partir de c:\demo ou de uma das respetivas subpastas.
  2. Executa ransomware_testfile_unsigned.exe a partir da pasta que não está excluída do Microsoft Defender Antivirus. Não é ransomware propriamente dito; Só tenta encriptar os ficheiros em c:\demo.

Se não executou o script de configuração, são necessários os seguintes passos manuais:

  1. Ative o CFA no modo Ativado (bloqueio), ao executar o seguinte comando numa sessão elevada do PowerShell:

    Set-MpPreference -EnableControlledFolderAccess Enabled
    
  2. Adicione a c:\demo pasta à lista de pastas protegidas executando o seguinte comando numa sessão PowerShell elevada:

    Add-MpPreference -ControlledFolderAccessProtectedFolders C:\demo\
    
  3. Adicione c:\demo à lista de exclusão do Microsoft Defender Antivirus para que a proteção em tempo real não coloque o ficheiro de teste de ransomware em quarentena antes de o poder executar. Execute o seguinte comando numa sessão elevada do PowerShell:

    Add-MpPreference -ExclusionPath C:\demo
    
  4. Descarregue o ficheiro de teste de ransomware (ransomware_testfile_unsigned.exe) de https://demo.wd.microsoft.com/Content/ransomware_testfile_unsigned.exe e guarde-o em c:\demo.

  5. Copiar ransomware_testfile_unsigned.exe para uma pasta que não esteja excluída do Microsoft Defender Antivirus. Não executar o ficheiro de teste a partir de c:\demo ou de uma das suas subpastas.

  6. Executa ransomware_testfile_unsigned.exe a partir da pasta que não está excluída do Microsoft Defender Antivirus. Não é ransomware propriamente dito; Só tenta encriptar os ficheiros em c:\demo.

Em qualquer dos casos, cerca de cinco segundos depois de executares o ficheiro de teste de ransomware, aparece uma notificação de que o CFA bloqueou a tentativa de encriptação. Para visualizar o bloqueio resultante e os eventos de auditoria, consulte Monitorizar a atividade do acesso controlado a pastas (CFA).

Cenário 2: Sem CFA, o ficheiro de teste de ransomware encripta ficheiros

  1. Desligue o CFA executando o seguinte comando numa sessão PowerShell elevada:

    Set-MpPreference -EnableControlledFolderAccess Disabled
    
  2. Execute o ficheiro original de teste de ransomware a partir da pasta excluída do antivírus:

    • Se executaste o script de configuração, executa c:\demo\CFATestFiles\ransomware_testfile_unsigned.exe.
    • Se usaste os passos manuais, executa c:\demo\ransomware_testfile_unsigned.exe.

Com o CFA desligado, o ficheiro de teste encripta os ficheiros c:\demo e recebe uma mensagem de aviso. Executa o ficheiro de teste mais uma vez para desencriptar os ficheiros.

Limpar a demonstração

Se executaste o script de setup, desfaz a demonstração executando o script de limpeza:

Importante

O script de limpeza desativa o CFA e desativa as regras ASR listadas no script, mesmo que tenhas ativado o CFA ou essas regras por outras razões. Antes de executares o script, verifica os estados atuais das tuas regras ASR para poderes reativar quaisquer regras que queiras manter:

$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

O script define o CFA para Desativado. Para definir o CFA para um modo diferente de Desativado, use os passos manuais mais adiante nesta secção.

  1. Descarregue e extraia o script WindowsDefender_ASR_CFA_CleanupScript.ps1 de limpeza deste ficheiro ZIP: https://demo.wd.microsoft.com/Content/ASR_CFA_CleanupScript.zip. O script de limpeza faz o seguinte:

  2. O script de limpeza não é assinado, por isso define a política de execução e desbloqueia o script conforme descrito em Configurar a demonstração. Depois executa o script de limpeza numa sessão PowerShell elevada.

Ou, se usou os passos manuais mínimos, faça o seguinte:

  1. Defina o CFA para o modo original que mencionou em Configurar a demonstração executando o seguinte comando numa sessão PowerShell elevada, onde <Mode> está um dos modos CFA disponíveis:

    Set-MpPreference -EnableControlledFolderAccess <Mode>
    

    Por exemplo, para desligar novamente o CFA (o estado padrão), execute o seguinte comando:

    Set-MpPreference -EnableControlledFolderAccess Disabled
    
  2. Se o Cenário 2 encriptou os ficheiros em c:\demo, desencripto-os usando a ferramenta de desencriptação (ransomware_cleanup_encrypt_decrypt.exe).

  3. Se desativou a regra Usar proteção avançada contra ransomware ASR no início do teste, volte a defini-la para o valor que indicou executando o seguinte comando numa sessão PowerShell elevada, onde <Mode> é o valorEnabled do modo ou Warn:

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

Seja qual for o método que usaste, o script de limpeza não remove a c:\demo exclusão do Microsoft Defender Antivirus que o script de configuração (ou os passos manuais) adicionou. Para reverter totalmente as alterações, siga os seguintes passos:

  1. Elimina todas as cópias de ransomware_testfile_unsigned.exe que tenhas criado fora de c:\demo.

  2. Apaga a c:\demo pasta e os ficheiros de teste que ela contém. Faça este passo antes de remover a exclusão na etapa seguinte. Caso contrário, quando a proteção em tempo real for retomada para a pasta, o Microsoft Defender Antivirus deteta os ficheiros de teste remanescentes (como o ficheiro de teste de ransomware e a ferramenta de desencriptação) e coloca-os em quarentena. Execute o seguinte comando numa sessão elevada do PowerShell:

    Remove-Item -Path C:\demo -Recurse -Force
    
  3. Remova a c:\demo exclusão do Microsoft Defender Antivirus executando o seguinte comando numa sessão PowerShell elevada:

    Remove-MpPreference -ExclusionPath C:\demo