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 detector, per elaborare il flusso di Cloud Logging e rilevare le minacce in base ai parametri specificati. Questa funzionalità estende le funzionalità di monitoraggio di Event Threat Detection e ti consente di aggiungere moduli con i tuoi parametri di rilevamento, indicazioni di correzione e designazioni di gravità per 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 uniche 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 è creata in una regione con limitazioni.

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 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, consulta Moduli e modelli personalizzati.

I modelli di moduli personalizzati sono scritti in JSON e consentono di definire i 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 di Virtual Private Cloud per rilevare prove di connessioni a 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, viene generato un risultato e scritto in Security Command Center.

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

Con i moduli personalizzati, hai un maggiore controllo sul modo in cui Event Threat Detection rileva le minacce e segnala i risultati. I moduli personalizzati includono i parametri forniti, ma utilizzano comunque la logica di rilevamento proprietaria e l'intelligence sulle minacce di Event Threat Detection, inclusa la corrispondenza degli indicatori tripwire. Puoi implementare un'ampia gamma di modelli di minaccia personalizzati in base ai requisiti unici della tua organizzazione.

I moduli personalizzati per Event Threat Detection vengono eseguiti insieme ai rivelatori integrati. I moduli attivati vengono eseguiti in modalità in tempo reale, il che attiva le scansioni ogni volta che vengono creati nuovi log.

Moduli e modelli personalizzati

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

Hai bisogno di questi modelli di moduli JSON se vuoi utilizzare gcloud CLI per creare o aggiornare moduli personalizzati. Per visualizzare un modello, fai clic sull'icona di espansione accanto al nome. Per informazioni sull'utilizzo dei moduli personalizzati, consulta Configurazione e gestione di moduli personalizzati.

Categoria risultati Module type Tipi di origini 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 da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • IP_ADDRESS_1: un indirizzo IPv4 o IPv6 instradabile pubblicamente o un blocco CIDR da monitorare, ad esempio 192.0.2.1 o 192.0.2.0/24.
  • IP_ADDRESS_2: (Facoltativo). Un indirizzo IPv4 o IPv6 o un blocco CIDR instradabile pubblicamente da monitorare, 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: Configurable bad domain
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "domains": [
    "DOMAIN_1","DOMAIN_2"
  ]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • DOMAIN_1: un nome di dominio da monitorare, ad esempio example.com. Un valore di localhost non è consentito. I nomi di dominio Unicode e Punycode vengono normalizzati. Ad esempio, 例子.example e xn--fsqu00a.example sono equivalenti.
  • DOMAIN_2: (Facoltativo). Un nome di dominio da monitorare, ad esempio example.com. Un valore di localhost non è consentito. I nomi di dominio Unicode e Punycode vengono 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 attività di amministrazione
Rileva la creazione di istanze 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 da produrre in 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 compilare 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 saperne di più, consulta la guida alle risorse e al confronto per le famiglie di macchine.
  • MINIMUM_NUMBER_OF_CPUS: (Facoltativo). Il numero minimo di CPU da consentire. Se non presente, non è previsto un limite minimo. Non deve essere un valore negativo.
  • MAXIMUM_NUMBER_OF_CPUS: (Facoltativo). Il numero massimo di CPU da consentire. Se non è presente, non è previsto un limite massimo. Deve essere maggiore o uguale a minimum e minore o uguale a 1000.
  • MINIMUM_RAM_SIZE: (Facoltativo). La dimensione minima della RAM da consentire, in megabyte. Se non presente, non è previsto un limite minimo.
  • MAXIMUM_RAM_SIZE: (Facoltativo). La dimensione massima della RAM da consentire, in megabyte. Se non è presente, non è previsto 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 da consentire. Se non presente, non è previsto un limite minimo. Non deve essere un valore negativo.
  • MAXIMUM_NUMBER_OF_GPUS: (Facoltativo). Il numero massimo di GPU da consentire. Se non è presente, non è previsto 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 impostato, il modulo viene applicato alle istanze create in tutti i progetti nell'ambito corrente.
  • 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 impostato, 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 attività di amministrazione
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 da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • PATTERN_1: un'espressione regolare RE2 per controllare 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 per controllare 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 attività di amministrazione
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 da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • REGION_1: il nome di una regione da autorizzare, 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 di emergenza utilizzato CONFIGURABLE_BREAKGLASS_ACCOUNT_USED Audit log di Cloud:
Log attività di amministrazione
Log di accesso ai dati (facoltativo)
Rileva l'utilizzo di un account di accesso di emergenza (deployment di emergenza)
Modello: Account 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 da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • BREAKGLASS_ACCOUNT_1: un account 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 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.
Concessione del ruolo imprevista CONFIGURABLE_UNEXPECTED_ROLE_GRANT Audit log di Cloud:
Log attività di amministrazione
Rileva quando un ruolo specificato viene concesso a un utente
Modello: Concessione di ruoli imprevista
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "roles": ["ROLE_1", "ROLE_2"]
}

Sostituisci quanto segue:

  • SEVERITY: la gravità dei risultati da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • ROLE_1: un ruolo IAM da monitorare, ad esempio roles/owner. Se viene concesso questo ruolo, viene generato un risultato.
  • ROLE_2: (Facoltativo). Un ruolo IAM da monitorare, 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 attività di amministrazione
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 da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • PERMISSION_1: un'autorizzazione IAM da monitorare, 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 monitorare, 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 attività di amministrazione
Log di accesso ai dati (facoltativo)
Rileva quando un'entità specificata chiama un metodo specificato su una risorsa specificata. Un risultato viene generato solo se tutte le espressioni regolari corrispondono a una singola voce di log.
Modello: Unexpected Cloud API Call
{
  "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 da produrre in 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 compilare la proprietà nextSteps di ogni risultato generato da questo modulo.
  • CALLER_PATTERN: un'espressione regolare RE2 per confrontare i principal. Ad esempio, .* corrisponde a qualsiasi entità.
  • METHOD_PATTERN: un'espressione regolare RE2 per controllare i metodi, ad esempio ^cloudsql\\.instances\\.export$.
  • RESOURCE_PATTERN: un'espressione regolare RE2 per controllare le risorse, ad esempio example-project.

Prezzi e quote

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

I moduli personalizzati per 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 ai metodi dei 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
Get, List 1000 chiamate API al minuto per organizzazione
Crea, aggiorna, elimina 60 chiamate API al minuto per organizzazione

Limiti di dimensione dei moduli

Ogni modulo personalizzato di Event Threat Detection ha un limite di dimensioni 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 per un'organizzazione o un progetto, a seconda del livello in cui è stato creato il modulo personalizzato di origine.

Questi limiti non possono essere aumentati.

Passaggi successivi