È possibile utilizzare la sintassi della regola di avviso per definire le azioni che NSX Network Detection and Response deve eseguire quando gli eventi corrispondono a un filtro.
Una regola di avviso è costituita da due parti, ovvero Espressione corrispondente e Azioni.
- Espressione corrispondente
-
Una combinazione di clausole che esprimono una condizione sugli attributi di un oggetto.
Un'espressione corrispondente ha il formato seguente:
object_type . attribute_type: [relation]valueL'espressione corrispondente è costituita dalle quattro parti seguenti.Nome parte Descrizione object_type Il tipo di oggetto a cui trovare la corrispondenza. È supportato il seguente tipo di record: - network_event
Il tipo di oggetto e il relativo attributo sono separati da un punto (
.).attribute_type Attributo per cui trovare la corrispondenza (vedere Voci di attributo).
Il object_type.attribute_type è separato dalla [relation] e dal valore da due punti (
:).[relation] La relazione tra l'oggetto, suo attributo e il valore corrispondente. Se non viene specificata alcuna relazione, l'uguaglianza è il valore predefinito. I tipi di relazione supportati sono:
-
Uguaglianza (
:) -
Maggiore o uguale a (
>,>=) -
Minore o uguale a (
<,<=)
valore Il valore da abbinare all'object_type.attribute_type degli eventi in arrivo. Più espressioni di corrispondenza sono separate dagli operatori logici
AND,OReNOT. - Azioni
-
L'oggetto deve essere oggetto di una o più modifiche.
Il formato di un'azione è il seguente:
action : target = valueL'azione è costituita da tre parti:Nome parte Descrizione azione L'azione da eseguire (vedere Azioni supportate). L'azione e la relativa destinazione sono separate da due punti ( :).destinazione La destinazione supportata. valore Il valore facoltativo da applicare alla destinazione. Più azioni sono separate da una virgola (
,) e vengono applicate nello stesso ordine in cui sono state definite.
Voci di attributo
- ORIGINE
-
Attributo di origine Descrizione client_ipCorrisponde a un indirizzo IP o a un intervallo di indirizzi IP. Il valore dell'indirizzo deve corrispondere esattamente.
(network_event.client_ip: 142.42.1.6/24)other_host_hostnameCorrisponde al nome host dell'altro host associato all'evento. Sono supportati i confronti con caratteri jolly:
*per più caratteri?per i singoli caratteri. È necessario eseguire l'escape (\) dei caratteri jolly in modo che corrispondano a un*letterale o a un?.(network_event.other_host_hostname: host.example.com)other_host_in_homenetSe true; corrisponde se l'indirizzo IP dell'altro host associato all'evento si trova nella rete principale. Prevede un valore booleano.
(network_event.other_host_in_homenet: false)other_host_ipCorrisponde a un indirizzo IP o a un intervallo di indirizzi IP. Il valore dell'indirizzo deve corrispondere esattamente.
(network_event.other_host_ip: 10.10.4.2)other_host_tagCorrisponde a un tag host. Selezionare un tag host esistente.
(network_event.other_host_tag: tag)relevant_host_in_homenetSe true, corrisponde se l'indirizzo IP dell'host pertinente associato all'evento si trova nella rete principale. Prevede un valore booleano.
(network_event.relevant_host_in_homenet: true)relevant_host_ipCorrisponde a un indirizzo IP o a un intervallo di indirizzi IP. Il valore dell'indirizzo deve corrispondere esattamente.
(network_event.relevant_host_ip: 42.6.7.0/16)relevant_host_tagCorrisponde a un tag host. Selezionare un tag host esistente.
(network_event.relevant_host_tag: tag)relevant_host_whitelistedCorrisponde all'indirizzo IP di origine non valido. Prevede un valore booleano.
(network_event.relevant_host_whitelisted: true)server_ipCorrisponde a un indirizzo IP o a un intervallo di indirizzi IP. Il valore dell'indirizzo deve corrispondere esattamente.
(network_event.server_ip: 12.6.6.6)server_portCorrisponde a un numero di porta. Vengono eseguiti confronti tra numeri interi: uguaglianza, disuguaglianza, maggiore di, minore di, ecc.
(network_event.server_port: 7777)transport_protocolCorrisponde a "TCP" o "UDP".
(network_event.transport_protocol: UDP) - URL
-
Attributo URL Descrizione full_urlCorrisponde ad almeno un URL nell'evento. Sono supportati i confronti con caratteri jolly:
*per più caratteri?per i singoli caratteri. È necessario eseguire l'escape (\) dei caratteri jolly in modo che corrispondano a un*letterale o a un?.Ad esempio, il carattere della stringa della query
?deve essere preceduto da un carattere di escape (\?):(network_event.full_url: https://www.example.com/resource/path\?r=start&v=cK5G8fPmWeA)normalized_urlCorrisponde ad almeno un URL normalizzato (un URL senza la stringa di query) nell'evento. Sono supportati i confronti con caratteri jolly:
*per più caratteri?per i singoli caratteri. È necessario eseguire l'escape (\) dei caratteri jolly in modo che corrispondano a un*letterale o a un?.(network_event.normalized_url: https://www.example.com/resource/path/)resource_pathCorrisponde ad almeno un percorso di risorse URL nell'evento. Sono supportati i confronti con caratteri jolly: *per più caratteri?per i singoli caratteri. È necessario eseguire l'escape (\) dei caratteri jolly in modo che corrispondano a un*letterale o a un?. - RILEVAMENTO
-
Attributo di rilevamento Descrizione custom_ids_rule_idCorrisponde a un ID per una regola IDS. Il valore numerico deve essere una corrispondenza esatta.
(network_event.custom_ids_rule_id: 987654321)detectorCorrisponde al nome/identificatore univoco del modulo che ha rilevato l'evento. Il valore della stringa deve essere una corrispondenza esatta.
(network_event.detector: llrules:1532130206460)event_outcomeCorrisponde a "DETECTION" o "INFO".
(network_event.event_outcome: DETECTION)event_typeCorrisponde a uno tra "BINARYDOWNLOAD", "DNS", "DNSANOMALY", "DYNAMICIP", "HTTPANOMALY", "IDS", "IP", "LLANTARULE", "NETFLOW", "NETFLOWANOMALY", "NETWORK", "TLSANOMALY" o "URL".
(network_event.event_type: IDS)llanta_rule_uuidCorrisponde all'UUID di una regola di sistema. Il valore numerico deve essere una corrispondenza esatta.
(network_event.llanta_rule_uuid: b579caeec719415cb04f925f8f187cb0)operationCorrisponde a uno tra "BLOCK", "INFO", "LOG" o "TEST".
(network_event.operation: BLOCK)threatCorrisponde a una stringa valida che definisce una minaccia. Sono supportati i confronti con caratteri jolly:
*per più caratteri?per i singoli caratteri. È necessario eseguire l'escape (\) dei caratteri jolly in modo che corrispondano a un*letterale o a un?.(network_event.threat: Torn RAT)threat_classCorrisponde a una classe di minacce. Il valore della stringa deve essere una corrispondenza esatta.
(network_event.threat_class: Malicious File Execution) - FILE
-
Attributo file Descrizione av_classCorrisponde ad almeno un tag di analisi
av_class. Il valore della stringa deve essere una corrispondenza esatta.(network_event.av_class: exploit)file_categoryCorrisponde a una delle categorie di file supportate. Il valore della stringa deve essere una corrispondenza esatta.
(network_event.file_category: Java)file_md5Corrisponde a una somma valida di MD5.
(network_event.file_md5: bb4f64ddfb8704d2bf69b0216be7f837)file_sha1Corrisponde a una somma SHA1 valida.
(network_event.file_sha1: c3e266ede7f6fec7a021a4ae0edf248848d5ae06)file_sizeCorrisponde a una dimensione di file in byte. Deve essere un numero intero valido. Vengono eseguiti confronti tra numeri interi: uguaglianza, disuguaglianza, maggiore di, minore di, ecc.
(network_event.file_size: > 1042249837)file_typeCorrisponde a una stringa valida che definisce un tipo di file. Sono supportati i confronti con caratteri jolly:
*per più caratteri?per i singoli caratteri. È necessario eseguire l'escape (\) dei caratteri jolly in modo che corrispondano a un*letterale o a un?.(network_event.file_type: ?xecutable)malwareCorrisponde ad almeno un tag di analisi
av_familyolastline_malware. Il valore della stringa deve essere una corrispondenza esatta.(network_event.malware: emotet)malware_activityCorrisponde ad almeno un tag di analisi dell'attività. Il valore della stringa deve essere una corrispondenza esatta.
(network_event.malware_activity: Execution: Spawning Powershell with too many parameters) - ALTRO
-
Altro nome attributo Descrizione custom_tagCorrisponde a un tag definito dall'utente e assegnato agli eventi. Il valore della stringa deve essere una corrispondenza esatta.
(network_event.custom_tag: tagged_event)
Azioni supportate
| Nome azione | Descrizione |
|---|---|
demote |
Abbassa di livello il risultato dell'evento corrispondente in una modalità diversa. Destinazioni supportate: Valori consentiti: "INFO" o "TEST". |
impact |
Imposta un limite inferiore o superiore in caso d'impatto di un evento. Destinazioni supportate:
Valori consentiti: un numero intero compreso tra 1 e 100. |
suppress |
Elimina tutte le minacce relative all'evento corrispondente. Di conseguenza, viene contrassegnato come falso positivo con un impatto pari a zero (0), che elimina di fatto l'evento. Destinazioni supportate: Valori consentiti: nessuno. |
tag |
Assegna un tag definito dall'utente all'evento corrispondente. Destinazioni supportate: Valori consentiti: una stringa valida. |