Panoramica dei moduli personalizzati per Event Threat Detection

Questa pagina fornisce una panoramica dei moduli personalizzati per Event Threat Detection.

Puoi configurare i moduli, noti anche come rilevatori, per elaborare il flusso Cloud Logging e rilevare le minacce in base ai parametri specificati. Questa funzionalità estende le funzionalità di monitoraggio di Event Threat Detection e consente di aggiungere moduli con i tuoi parametri di rilevamento, le linee guida per la correzione e le classificazioni della gravità per le configurazioni che i rilevatori integrati potrebbero non supportare.

I moduli personalizzati sono utili se hai bisogno di moduli con regole di rilevamento che soddisfino le esigenze specifiche della tua organizzazione. Ad esempio, puoi aggiungere un modulo personalizzato che crea risultati se le voci di log mostrano che una risorsa è connessa a indirizzi IP specifici o è stata creata in una regione con restrizioni.

Come funzionano i moduli personalizzati per Event Threat Detection

I moduli personalizzati sono un gruppo selezionato di rilevatori Event Threat Detection che puoi configurare con i tuoi parametri di rilevamento. Puoi creare un modulo personalizzato di Event Threat Detection tramite la console Google Cloud. In alternativa, puoi crearne uno aggiornando un modello di modulo personalizzato e inviando il modulo personalizzato a Security Command Center tramite Google Cloud CLI. Per informazioni sui modelli disponibili, vedi Moduli e modelli personalizzati.

I modelli di moduli personalizzati sono scritti in JSON e consentono di definire parametri di rilevamento che controllano quali eventi nelle voci di log devono attivare i risultati. Ad esempio, il rilevatore Malware: Bad IP integrato controlla i log di flusso del virtual private cloud per verificare la presenza di connessioni ad indirizzi IP sospetti noti. Tuttavia, puoi attivare e modificare il modulo personalizzato Configurable Bad IP con un elenco di indirizzi IP sospetti che gestisci. Se i log indicano una connessione a uno degli indirizzi IP forniti, un risultato viene generato e scritto in Security Command Center.

I modelli di moduli consentono inoltre di definire la gravità delle minacce e di fornire passaggi di correzione personalizzati per aiutare i team di sicurezza a risolvere i problemi.

Con i moduli personalizzati, hai un maggiore controllo su come Event Threat Detection rileva le minacce e segnala i risultati. I moduli personalizzati includono i parametri forniti, ma utilizzano comunque la logica di rilevamento e l'intelligence sulle minacce proprietarie di Event Threat Detection, inclusa la corrispondenza degli indicatori di tripwire. Puoi implementare un ampio set di modelli di minacce su misura per le esigenze specifiche della tua organizzazione.

I moduli personalizzati di Event Threat Detection vengono eseguiti insieme ai rilevatori integrati. I moduli abilitati vengono eseguiti in modalità in tempo reale, che attiva le analisi ogni volta che vengono creati nuovi log.

Moduli e modelli personalizzati

La seguente tabella contiene un elenco di tipi di moduli personalizzati, descrizioni, log richiesti e modelli di moduli JSON supportati.

Questi modelli di modulo JSON sono necessari se vuoi utilizzare gcloud CLI per creare o aggiornare moduli personalizzati. Per visualizzare un modello, fai clic sull'icona Espandi accanto al suo nome. Per informazioni sull'utilizzo dei moduli personalizzati, vedi Configurare e gestire i moduli personalizzati.

Categoria risultati Module type Tipi di sorgente log Descrizione
IP non valido configurabile CONFIGURABLE_BAD_IP Log di flusso VPC
Log delle regole firewall
Rileva la connessione a un indirizzo IP specificato
Modello: IP non valido configurabile
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "ips": [
    "IP_ADDRESS_1",
    "IP_ADDRESS_2"
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • IP_ADDRESS_1: un indirizzo IPv4 o IPv6 o un blocco CIDR con routing pubblico da controllare, ad esempio 192.0.2.1 o 192.0.2.0/24.
  • IP_ADDRESS_2: facoltativo. Un indirizzo IPv4 o IPv6 con routing pubblico o un blocco CIDR da controllare, ad esempio 192.0.2.1 o 192.0.2.0/24.
Dominio non valido configurabile CONFIGURABLE_BAD_DOMAIN Log di Cloud DNS Rileva la connessione a un nome di dominio specificato
Modello: Dominio non valido configurabile
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "domains": [
    "DOMAIN_1","DOMAIN_2"
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • DOMAIN_1: un nome di dominio da controllare, ad esempio example.com. Il valore localhost non è consentito. I nomi di dominio Unicode e Punycode sono normalizzati. Ad esempio, 例子.example e xn--fsqu00a.example sono equivalenti.
  • DOMAIN_2: facoltativo. Un nome di dominio da controllare, ad esempio example.com. Non è consentito un valore localhost. I nomi di dominio Unicode e Punycode sono normalizzati. Ad esempio, 例子.example e xn--fsqu00a.example sono equivalenti.
Tipo di istanza Compute Engine imprevisto CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_INSTANCE_TYPE Audit log di Cloud:
Log delle attività di amministrazione (obbligatorio)
Log degli accessi ai dati (facoltativo)
Rileva la creazione di istanze di Compute Engine che non corrispondono al tipo di istanza o alla configurazione specificata.
Modello: Tipo di istanza Compute Engine imprevisto
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "instances": [
    {
      "series": "SERIES",
      "cpus": {
        "minimum": MINIMUM_NUMBER_OF_CPUS,
        "maximum": MAXIMUM_NUMBER_OF_CPUS
      },
      "ram_mb": {
        "minimum": MINIMUM_RAM_SIZE,
        "maximum": MAXIMUM_RAM_SIZE
      },
      "gpus": {
        "minimum": MINIMUM_NUMBER_OF_GPUS,
        "maximum": MAXIMUM_NUMBER_OF_GPUS
      },
      "projects": [
        "PROJECT_ID_1",
        "PROJECT_ID_2"
      ],
      "regions": [
        "REGION_1",
        "REGION_2"
      ]
    },
    {
      "series": " ... ",
      ...
      "regions": [ ... ]
    }
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • SERIES: facoltativo. La serie di macchine Compute Engine, ad esempio C2. Se vuoto, il modulo consente tutte le serie. Per ulteriori informazioni, consulta la guida alle risorse e al confronto delle famiglie di macchine.
  • MINIMUM_NUMBER_OF_CPUS: facoltativo. Il numero minimo di CPU consentito. Se non è presente, non esiste un minimo. Non deve essere negativo.
  • MAXIMUM_NUMBER_OF_CPUS: facoltativo. Il numero massimo di CPU consentito. Se non è presente, non esiste un limite massimo. Deve essere maggiore o uguale a minimum e minore o uguale a 1000.
  • MINIMUM_RAM_SIZE: facoltativo. Le dimensioni minime consentite della RAM, in megabyte. Se non presente, non c'è un minimo.
  • MAXIMUM_RAM_SIZE: facoltativo. Le dimensioni massime consentite della RAM, in megabyte. Se non presente, non esiste un limite massimo. Deve essere maggiore o uguale a minimum e minore o uguale a 10.000.000.
  • MINIMUM_NUMBER_OF_GPUS: facoltativo. Il numero minimo di GPU consentito. Se non è presente, non esiste un minimo. Non deve essere negativo.
  • MAXIMUM_NUMBER_OF_GPUS: facoltativo. Il numero massimo di GPU consentito. Se non è presente, non esiste un limite massimo. Deve essere maggiore o uguale a minimum e minore o uguale a 100.
  • PROJECT_ID_1: facoltativo. L'ID di un progetto a cui vuoi applicare questo modulo, ad esempio projects/example-project. Se vuoto o non configurato, il modulo viene applicato alle istanze create in tutti i progetti nell'ambito attuale.
  • PROJECT_ID_2: facoltativo. L'ID di un progetto a cui vuoi applicare questo modulo, ad esempio projects/example-project.
  • REGION_1: facoltativo. Una regione in cui vuoi applicare questo modulo, ad esempio us-central1. Se vuoto o non configurato, il modulo viene applicato alle istanze create in tutte le regioni.
  • REGION_2: facoltativo. Una regione in cui vuoi applicare questo modulo, ad esempio us-central1.
Immagine di origine Compute Engine imprevista CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_SOURCE_IMAGE Audit log di Cloud:
Log delle attività di amministrazione (obbligatorio)
Log degli accessi ai dati (facoltativo)
Rileva la creazione di un'istanza Compute Engine con un'immagine o una famiglia di immagini che non corrisponde a un elenco specificato
Modello: Immagine di origine Compute Engine imprevista
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "patterns": [
    {

      "pattern": "PATTERN_1",
      "name": "NAME_1"
    },
    {
      "pattern": "PATTERN_2",
      "name": "NAME_2"
    }
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • PATTERN_1: un'espressione regolare RE2 con cui confrontare le immagini, ad esempio debian-image-1. Se un'immagine viene utilizzata per creare un'istanza Compute Engine e il nome di questa immagine non corrisponde a nessuna delle espressioni regolari specificate, viene generato un risultato.
  • NAME_1: un nome descrittivo per questo pattern, ad esempio first-image.
  • PATTERN_2: facoltativo. Un'altra espressione regolare RE2 con cui confrontare le immagini, ad esempio debian-image-2.
  • NAME_2: facoltativo. Un nome descrittivo per il secondo pattern, ad esempio second-image.
Regione Compute Engine imprevista CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_REGION Audit log di Cloud:
Log delle attività di amministrazione (obbligatorio)
Log degli accessi ai dati (facoltativo)
Rileva la creazione di un'istanza Compute Engine in una regione che non si trova in un elenco specificato
Modello: Regione Compute Engine imprevista
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "regions": [
    {
      "region": "REGION_1"
    },
    {
      "region": "REGION_2"
    }
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • REGION_1: il nome di una regione da consentire, ad esempio us-west1. Se viene creata un'istanza Compute Engine in una regione non specificata nell'elenco, Event Threat Detection genera un risultato.
  • REGION_2: facoltativo. Il nome di una regione da consentire, ad esempio us-central1. Se viene creata un'istanza Compute Engine in una regione non specificata nell'elenco, Event Threat Detection genera un risultato.
Account deployment di emergenza utilizzato CONFIGURABLE_BREAKGLASS_ACCOUNT_USED Audit log di Cloud:
Log delle attività di amministrazione (obbligatorio)
Log degli accessi ai dati (facoltativo)
Rileva l'utilizzo di un account di accesso di emergenza (deployment di emergenza)
Modello: Account deployment di emergenza utilizzato
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "accounts": [
    "BREAKGLASS_ACCOUNT_1", "BREAKGLASS_ACCOUNT_2"
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • BREAKGLASS_ACCOUNT_1: un account di deployment di emergenza da monitorare, ad esempio test@example.com. Viene generato un risultato se questo account viene utilizzato per un'azione registrata in una voce di Cloud Audit Logs.
  • BREAKGLASS_ACCOUNT_2: facoltativo. Un account di deployment di emergenza da monitorare, ad esempio test@example.com. Viene generato un risultato se questo account viene utilizzato per un'azione registrata in una voce Cloud Audit Logs.
Concessione del ruolo imprevista CONFIGURABLE_UNEXPECTED_ROLE_GRANT Audit log di Cloud:
Log delle attività di amministrazione (obbligatorio)
Log degli accessi ai dati (facoltativo)
Rileva quando un ruolo specificato viene concesso a un utente
Modello: Concessione del ruolo imprevista
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "roles": ["ROLE_1", "ROLE_2"]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • ROLE_1: un ruolo IAM da controllare, ad esempio roles/owner. Se viene concesso questo ruolo, viene generato un risultato.
  • ROLE_2: facoltativo. Un ruolo IAM da controllare, ad esempio roles/editor. Se viene concesso questo ruolo, viene generato un risultato.
Ruolo personalizzato con autorizzazione vietata CONFIGURABLE_CUSTOM_ROLE_WITH_PROHIBITED_PERMISSION Audit log di Cloud:
Log delle attività di amministrazione (obbligatorio)
Log degli accessi ai dati (facoltativo)
Rileva quando viene creato o aggiornato un ruolo personalizzato con una qualsiasi delle autorizzazioni IAM specificate.
Modello: ruolo personalizzato con autorizzazione vietata
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "permissions": [
    "PERMISSION_1",
    "PERMISSION_2"
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • PERMISSION_1: un'autorizzazione IAM da controllare, ad esempio storage.buckets.list. Event Threat Detection genera un risultato se a un'entità viene concesso un ruolo IAM personalizzato contenente questa autorizzazione.
  • PERMISSION_2: facoltativo. Un'autorizzazione IAM da controllare, ad esempio storage.buckets.get. Event Threat Detection genera un risultato se a un'entità viene concesso un ruolo IAM personalizzato contenente questa autorizzazione.
Chiamata API Cloud imprevista CONFIGURABLE_UNEXPECTED_CLOUD_API_CALL Audit log di Cloud:
Log delle attività di amministrazione (obbligatorio)
Log degli accessi ai dati (facoltativo)
Rileva quando un'entità specificata chiama un metodo specificato rispetto a una risorsa specificata. Un risultato viene generato solo se tutte le espressioni regolari hanno corrispondenze in una singola voce di log.
Modello: Chiamata API Cloud imprevista
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "caller_pattern": "CALLER_PATTERN",
  "method_pattern": "METHOD_PATTERN",
  "resource_pattern": "RESOURCE_PATTERN"
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati che devono essere prodotti da questo modulo. I valori validi sono LOW, MEDIUM, HIGH e CRITICAL.
  • DESCRIPTION: una descrizione della minaccia rilevata dal modulo personalizzato. Questa descrizione viene utilizzata per compilare la proprietà explanation di ogni risultato generato da questo modulo.
  • RECOMMENDATION: una spiegazione dei passaggi consigliati che i team di sicurezza possono intraprendere per risolvere il problema rilevato. Questa spiegazione viene utilizzata per completare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • CALLER_PATTERN: un'espressione regolare RE2 rispetto a cui verificare le entità. Ad esempio, .* corrisponde a qualsiasi entità.
  • METHOD_PATTERN: un'espressione regolare RE2 rispetto a cui verificare i metodi, ad esempio ^cloudsql\\.instances\\.export$.
  • RESOURCE_PATTERN: un'espressione regolare RE2 rispetto a cui eseguire il controllo delle risorse, ad esempio example-project.

Prezzi e quote

Questa funzionalità è senza costi per i clienti di Security Command Center Premium.

I moduli personalizzati di Event Threat Detection sono soggetti a limiti di quota.

Il limite di quota predefinito per la creazione di moduli personalizzati è 200.

Anche le chiamate API a metodi di moduli personalizzati sono soggette a limiti di quota. La tabella seguente mostra i limiti di quota predefiniti per le chiamate API dei moduli personalizzati.

Tipo di chiamata API Limite
Scarica, elenco 1000 chiamate API al minuto per organizzazione
Crea, aggiorna, elimina 60 chiamate API al minuto per organizzazione

Limiti delle dimensioni dei moduli

Ogni modulo personalizzato di Event Threat Detection ha un limite di dimensione di 6 MB.

Limiti di frequenza

Si applicano i seguenti limiti di frequenza:

  • 30 risultati per modulo personalizzato all'ora.
  • 200 risultati di moduli personalizzati per risorsa padre (organizzazione o progetto) all'ora. Ogni risultato viene conteggiato ai fini di un'organizzazione o di un progetto, a seconda del livello in cui è stato creato il modulo personalizzato di origine.

Questi limiti non possono essere aumentati.

Passaggi successivi