È 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]value

L'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, OR e NOT.

Azioni

L'oggetto deve essere oggetto di una o più modifiche.

Il formato di un'azione è il seguente: action : target = value

L'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

Nell'elenco seguente sono descritte le diverse voci di attributo che è possibile utilizzare durante la creazione o l'aggiornamento di nuovi filtri. Gli attributi sono raggruppati nelle seguenti cinque categorie.
ORIGINE
Attributo di origine Descrizione
client_ip

Corrisponde 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_hostname

Corrisponde 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_homenet

Se 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_ip

Corrisponde 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_tag

Corrisponde a un tag host. Selezionare un tag host esistente.

(network_event.other_host_tag: tag)
relevant_host_in_homenet

Se 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_ip

Corrisponde 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_tag

Corrisponde a un tag host. Selezionare un tag host esistente.

(network_event.relevant_host_tag: tag)
relevant_host_whitelisted

Corrisponde all'indirizzo IP di origine non valido. Prevede un valore booleano.

(network_event.relevant_host_whitelisted: true)
server_ip

Corrisponde 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_port

Corrisponde a un numero di porta. Vengono eseguiti confronti tra numeri interi: uguaglianza, disuguaglianza, maggiore di, minore di, ecc.

(network_event.server_port: 7777)
transport_protocol

Corrisponde a "TCP" o "UDP".

(network_event.transport_protocol: UDP)

URL
Attributo URL Descrizione
full_url

Corrisponde 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_url

Corrisponde 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_path Corrisponde 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_id

Corrisponde a un ID per una regola IDS. Il valore numerico deve essere una corrispondenza esatta.

(network_event.custom_ids_rule_id: 987654321)
detector

Corrisponde 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_outcome

Corrisponde a "DETECTION" o "INFO".

(network_event.event_outcome: DETECTION)
event_type

Corrisponde a uno tra "BINARYDOWNLOAD", "DNS", "DNSANOMALY", "DYNAMICIP", "HTTPANOMALY", "IDS", "IP", "LLANTARULE", "NETFLOW", "NETFLOWANOMALY", "NETWORK", "TLSANOMALY" o "URL".

(network_event.event_type: IDS)
llanta_rule_uuid

Corrisponde all'UUID di una regola di sistema. Il valore numerico deve essere una corrispondenza esatta.

(network_event.llanta_rule_uuid: b579caeec719415cb04f925f8f187cb0)
operation

Corrisponde a uno tra "BLOCK", "INFO", "LOG" o "TEST".

(network_event.operation: BLOCK)
threat

Corrisponde 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_class

Corrisponde 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_class

Corrisponde ad almeno un tag di analisi av_class. Il valore della stringa deve essere una corrispondenza esatta.

(network_event.av_class: exploit)
file_category

Corrisponde a una delle categorie di file supportate. Il valore della stringa deve essere una corrispondenza esatta.

(network_event.file_category: Java)
file_md5

Corrisponde a una somma valida di MD5.

(network_event.file_md5: bb4f64ddfb8704d2bf69b0216be7f837)
file_sha1

Corrisponde a una somma SHA1 valida.

(network_event.file_sha1: c3e266ede7f6fec7a021a4ae0edf248848d5ae06)
file_size

Corrisponde 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_type

Corrisponde 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)
malware

Corrisponde ad almeno un tag di analisi av_family o lastline_malware. Il valore della stringa deve essere una corrispondenza esatta.

(network_event.malware: emotet)
malware_activity

Corrisponde 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_tag

Corrisponde 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

Di seguito sono elencate le azioni che è possibile utilizzare durante la definizione delle regole.
Nome azione Descrizione
demote Abbassa di livello il risultato dell'evento corrispondente in una modalità diversa.

Destinazioni supportate: outcome.

Valori consentiti: "INFO" o "TEST".

impact Imposta un limite inferiore o superiore in caso d'impatto di un evento.

Destinazioni supportate:

  • impact: imposta il limite inferiore e superiore sullo stesso valore.
  • max_impact: imposta il limite superiore su impact. Valore inferiore o uguale a.

  • min_impact: imposta il limite inferiore su impact. Maggiore o uguale al valore.

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: network_event.

Valori consentiti: nessuno.

tag Assegna un tag definito dall'utente all'evento corrispondente.

Destinazioni supportate: network_event.

Valori consentiti: una stringa valida.