Sintaxe da regra
Links rápidos: <definition> , <operations>, <description>, <actions>
Uma regra é um conjunto de expressões definidas usando uma linguagem baseada em XML. ESET PROTECT O Console Web contém um conjunto predefinido de regras, mas você pode adicionar e editar suas próprias regras.
A estrutura geral do corpo de uma regra é:
<rule> <definition> |
Definition Marca
ancestor—pode receber um atributo adicional:
•distance—especifica a distância real, a partir do processo atual, do ancestral que está sendo correspondido, por exemplo., 1 é o processo pai, 2 o avô, etc. Se não for especificado, a propriedade será comparada com todos os ancestrais do processo.
•unique—permite que a tag ancestral remova processos duplicados na árvore de ancestrais. Por exemplo, o malware cria várias instâncias do mesmo processo para evitar a detecção (explorer > cmd > cmd > cmd > malware), e esse atributo eliminará essas duplicações (explorer > cmd > malware).
Process e parentprocess
A parte process permite que os engenheiros de segurança restrinjam os eventos a um processo específico; portanto, você pode escrever regras como "O Outlook cria um arquivo EXE". Se o elemento de processo estiver vazio, parentprocess e operations serão avaliados para todos os processos.
A parte parentprocess é semelhante à do processo, mas permite que os engenheiros de segurança testem os atributos do processo pai. Isso habilita regras como "PowerShell, iniciado pelo Word, conecta-se à internet".
process, parentprocess, ancestor e operation usam um elemento de expressão para descrever uma expressão lógica que é avaliada para verificar se uma detecção deve ser acionada. Uma expressão consiste em condições e operadores lógicos. Uma condição verifica o valor de alguma propriedade, e os operadores lógicos agrupam essas condições em expressões lógicas.
Exemplo de expressão:
<operator type="and"> |
Operations
A parte operations define quais operações executadas por um processo acionam o indicador. Se estiver vazio, o indicador é acionado quando o processo gera um evento.
As operações são definidas usando um elemento operation com um atributo type e um elemento expression.
<operation type="WriteFile">Expression</operation>
Para obter a lista completa de operações com suporte, consulte o tópico Operações.
Operator
Os operadores lógicos suportados são: AND, OR e NOT. Operadores lógicos podem ser aninhados. Portanto, um operador lógico pode ser um argumento de outro operador lógico. Além dos operadores lógicos, um elemento de condição pode ser usado como um argumento para operadores lógicos. Você pode usar a tag do operador conforme mostrado neste exemplo:
<process> |
Os elementos de condição consistem em três partes:
•Propriedade do argumento ou processo da operação.
•Um valor especificado pelo autor da regra.
•Relação entre o valor e a propriedade.
As propriedades são agrupadas hierarquicamente em "componentes".
Existem três níveis de gravidade: 1–39 > Info, 40–69 > Warning e 70–100 > Threat.
Os tipos de propriedade e suas relações (atributos de condição) são:
|
is(not)set |
is(not) |
is(not)empty |
(not)starts |
(not)contains |
(not)ends |
less, lessOrEqual, greater, greaterOrEqual |
|---|---|---|---|---|---|---|---|
String |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
|
Int |
✔ |
✔ |
|
|
✔ |
|
✔ |
Value |
✔ |
✔ |
✔ |
|
|
|
|
Bool |
✔ |
✔ |
|
|
|
|
|
Date |
✔ |
✔ |
|
|
|
|
✔ |
Conjunto de Strings |
✔ |
|
✔ |
|
✔ |
|
|
Endereço IPv4 |
✔ |
✔ |
✔ |
|
|
|
|
Endereço IPv6 |
✔ |
✔ |
✔ |
|
|
|
|
Conjunto de endereços IPv4 |
✔ |
|
✔ |
|
✔ |
|
|
Conjunto de endereços IPv6 |
✔ |
|
✔ |
|
✔ |
|
|
Description Marca
A descrição é obrigatória e deve conter um nome e uma categoria, mas o restante é opcional. É útil definir os campos listados abaixo porque eles aparecem nos detalhes:
name – Nome da regra. Ela é exibida na lista de regras.
category—Permite que você categorize regras. Você pode especificar suas próprias categorias.
explanation—Explica o motivo pelo qual a regra é acionada.
os—Contém o sistema operacional ao qual a regra se aplica. Os valores possíveis são: Windows, Linux, OSX, ANY.
mitreattackid—Contém o id do MITRE ATT&CK®.
maliciousCauses—Descreve as causas maliciosas do evento ou a alteração que acionou a regra.
benignCauses—Descreve as causas benignas do evento ou a alteração que acionou a regra.
recommendedActions—Descreve as ações recomendadas a serem tomadas pelos engenheiros de segurança.
guid—usado para regras internas. As regras externas têm o GUID gerado automaticamente. Ele é usado para identificar regras de forma exclusiva durante a exportação/importação.
maliciousTarget Marca
Você pode usar a tag maliciousTarget para especificar o destino que será afetado pelas ações de resposta personalizada por padrão. Por exemplo, quando você seleciona bloquear executável, as alterações dependem do maliciousTarget. Isso não altera o comportamento da Tag de Ações. Os valores possíveis são current, module, none e parent.
A tag maliciousProcess foi substituída pela tag maliciousTarget. Ele ainda está em suporte legado, mas recomendamos usar a tag maliciousTarget.
Actions Marca
A tag Actions permite especificar um conjunto de ações que são executadas quando a regra é acionada.
Você pode colocar ações em um único elemento de ação:
<action name="BlockProcessExecutable"/>
Ou empilhe vários elementos action em um único elemento actions (conforme mostrado no exemplo a seguir):
<actions> |
Várias ações podem ser acionadas a partir de uma única regra.