O que as enums do Windows Defender Powershell ThreatAction mapeiam?

1

Estou vendo uma configuração padrão do Defender no Server 2016. Não sei como descobrir o que esses '0' significam para a ThreatDefaultAction:

HighThreatDefaultAction                       : 0
LowThreatDefaultAction                        : 0
MAPSReporting                                 : 2
ModerateThreatDefaultAction                   : 0

Eu acho que a partir do Set-MpPreference documentação que é a Quarentena, mas esse mesmo bit de texto faz referência a um conjunto de parâmetros que começa com "Limpar", não "Quarentena". Esta explicação de ThreatIdDefaultActions não tem sequer um 0 na sua lista: Add-MpPreference

    
por Bob 01.10.2018 / 16:00

3 respostas

1

Ok, recebi a resposta do suporte da Microsoft. 0 é o mesmo que NULL (exemplo dos documentos aqui ), o que significa seguir o padrão que a Microsoft aplica a cada ameaça. Em outras palavras, todo vírus / malware / etc. tem uma ação de gravidade e ameaça (ou seja, mitigação) anexada. Um '0' em GetMpPreference significa usar essa atenuação e não qualquer valor que você tenha especificado aqui para sobrescrever isso universalmente para cada nível de gravidade. Espero que ajude os futuros viajantes.

    
por 10.10.2018 / 19:33
2

Definitivamente parece que a documentação está faltando. Se você olhar o exemplo para SignatureScheduleDay , ele documenta muito melhor o mapeamento, que se alinha exatamente como o conjunto de parâmetros os lista.

A melhor aposta seria que eles mapeiam de acordo com os "Conjuntos de Parâmetros". Que também mapeia o mesmo que a parte da sintaxe do arquivo de ajuda:

                             0   |      1     |   2    |   3   |      4      |     5    |   6   
[-HighThreatDefaultAction {Clean | Quarantine | Remove | Allow | UserDefined | NoAction | Block}]

Eu verifiquei se um problema para isso estava listado no github e não encontrei um. Você poderia indagar mais sobre isso: link

    
por 01.10.2018 / 18:37
0

Todas as HighThreatDefaultAction , LowThreatDefaultAction , ModerateThreatDefaultAction , SevereThreatDefaultAction e UnknownThreatDefaultAction são propriedades do tipo [ThreatAction] enum . Seu valor especifica qual ação de correção automática deve ser aplicada a uma ameaça de nível determinado .

O valor zero de qualquer propriedade acima deve ser considerado indefinido quando o cmdlet Remove-MpPreference executado com êxito define seu valor como zero. Demonstração no exemplo a seguir:

PS C:\WINDOWS\system32> Import-Module Defender

PS C:\WINDOWS\system32> Get-MpPreference | Select-Object -Property *DefaultAction


HighThreatDefaultAction     : 2
LowThreatDefaultAction      : 0
ModerateThreatDefaultAction : 0
SevereThreatDefaultAction   : 2
UnknownThreatDefaultAction  : 0


PS C:\WINDOWS\system32> Remove-MpPreference -Force -HighThreatDefaultAction

PS C:\WINDOWS\system32> Get-MpPreference | Select-Object -Property *DefaultAction


HighThreatDefaultAction     : 0
LowThreatDefaultAction      : 0
ModerateThreatDefaultAction : 0
SevereThreatDefaultAction   : 0
UnknownThreatDefaultAction  : 0

No entanto, existe outra imprecisão na Set-MpPreference documentação ; por exemplo:

-HighThreatDefaultAction

Specifies which automatic remediation action to take for a high level threat. The acceptable values for this parameter are:

Quarantine
Remove
Ignore

mas uma tentativa de Set-MpPreference -HighThreatDefaultAction Ignore leva a um erro InvalidData porque a enumeração [ThreatAction] type não contém o nome de Ignore :

PS > Import-Module Defender
PS > [Microsoft.PowerShell.Cmdletization.GeneratedTypes.MpPreference.ThreatAction] |
    Get-EnumValue

Name                           Value
----                           -----
Clean                          1
Quarantine                     2
Remove                         3
Allow                          6
UserDefined                    8
NoAction                       9
Block                          10

Observe que a função Get-EnumValue vem de esta minha resposta em CodeReview .

    
por 03.10.2018 / 20:35