BlueLiv
Questo documento descrive come integrare BlueLiv con Google Security Operations.
Guida all'integrazione
Lo scopo dell'integrazione è importare le minacce da BlueLiv, utilizzando i filtri pertinenti per mostrare solo le minacce desiderate all'interno di Google Security Operations, utilizzando il connettore delle minacce, e quindi eseguire azioni aggiuntive su queste minacce in base ai casi d'uso pertinenti.
In questa guida rapida esamineremo alcuni aspetti per semplificare l'utilizzo dell'integrazione per i clienti di Google SecOps.
Configurazione dell'integrazione
Esamineremo i parametri e dove trovarli, in modo che sia più facile per te configurare l'integrazione:
- API Root: questo è l'URL che utilizzi per visualizzare la home page di BlueLiv, con l'aggiunta del suffisso /api/v2. Ad esempio:
https://tcdach.blueliv.com/api/v2deve essere il valore di questo parametro. - Nome utente: lo stesso nome utente che utilizzi per connetterti alla home page di BlueLiv.
- Password: la stessa password che utilizzi per connetterti alla home page di BlueLiv.
ID organizzazione: puoi individuare facilmente l'ID organizzazione nell'URL che utilizzi per sfogliare il prodotto stesso, ad esempio:
In questo esempio, l'ID organizzazione è
117:https://tcdach.blueliv.com/dashboard/organizations/117/indexed
Dopo aver esaminato i parametri di integrazione, possiamo approfondire gli altri termini della nostra integrazione.
Tipi di moduli
BlueLiv ha suddiviso la sezione delle minacce in tipi di moduli e in questa integrazione utilizziamo questi tipi per aiutare la piattaforma SOAR e importare solo le informazioni pertinenti se vuoi filtrare per tipo di modulo. Al momento in BlueLiv sono disponibili i seguenti tipi di moduli:
- Credenziali
- Social media
- Carte di credito
- Protezione del dominio
- Malware
- Fuga di dati
- Hacktivism
- Dark web
- Personalizzato
- Media Tracker
- App per dispositivi mobili
ID minaccia e ID modulo
https://tcdach.blueliv.com/dashboard/organizations/117/modules/1303/resource/31024379
Ogni minaccia che puoi trovare in BlueLiv ha un UID, un numero che la rappresenta.
Anche questo può essere facilmente individuato nell'URL. Una minaccia è chiamata anche risorsa. Ad esempio, qui l'UID della minaccia è 31024379.
Inoltre, per ogni modulo che hai su BlueLiv hai un UID, un numero che lo rappresenta. Ad esempio, qui l'UID della minaccia è 1303.
Suggerimento relativo alla configurazione
Blueliv consente una sola sessione aperta alla volta. Per motivi di stabilità, è consigliabile utilizzare utenti diversi per la configurazione dell'integrazione e per i connettori. Nota: ogni connettore richiede un utente separato.
Casi d'uso
- Monitoraggio proattivo delle cyber minacce
- Protezione del brand
- Protezione dalle violazioni dei dati
- Prevenzione delle attività fraudolente
- Rilevamento di contraffazioni
Configura l'integrazione di BlueLiv in Google SecOps
Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, consulta Configura le integrazioni.
Parametri di integrazione
Utilizza i seguenti parametri per configurare l'integrazione:
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Root API | Stringa | https://example |
Sì | Root API dell'istanza BlueLiv. |
| Nome utente | Stringa | N/D | Sì | Nome utente di BlueLiv. |
| Password | Password | N/D | Sì | Password dell'utente |
| ID organizzazione | Stringa | N/D | Sì | Specifica l'ID organizzazione da utilizzare in BlueLiv |
| Verifica SSL | Casella di controllo | Deselezionata | Sì | Se l'opzione è abilitata, verifica che il certificato SSL per la connessione al server IronScales sia valido. |
Azioni
Dindin
Descrizione
Testa la connettività a BlueLiv con i parametri forniti nella pagina di configurazione dell'integrazione nella pagina Google SecOps Content Hub.
Parametri
N/D
Esegui il
L'azione non viene eseguita sulle entità e non ha parametri di input obbligatori.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se entrambe le chiamate API sono andate a buon fine: "Connessione al server BlueLiv con i parametri di connessione forniti riuscita". L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se solo la prima chiamata è andata a buon fine e la seconda non ha funzionato: "L'accesso con il nome utente e la password è stato eseguito correttamente, ma sembra che l'ID organizzazione non sia corretto. Controlla il parametro ID organizzazione nella pagina Configurazione dell'integrazione e riprova" In caso contrario: "Impossibile connettersi a BlueLiv! Error is {0}".format(exception.stacktrace) |
Generale |
Arricchisci le entità
Descrizione
Arricchisci le entità utilizzando le informazioni del modulo Threat Context di Blueliv. Entità supportate: IP, hash, URL, autore della minaccia, campagna per le minacce, firma della minaccia, dominio, CVE.
Parametri
| Nome | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|
| Punteggio più basso da contrassegnare come sospetto | 5 | Sì | Specifica il punteggio più basso per l'entità da contrassegnare come sospetta. Massimo: 10. |
| Crea insight | Vero | No | Se abilitata, l'azione creerà insight contenenti informazioni sulle entità. |
Esegui il
Questa azione viene eseguita sulle seguenti entità:
- Indirizzo IP
- Hash
- URL
- Aggressore
- Campagna per le minacce
- Firma per le minacce
- CVE
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| operazione riuscita | Vero/Falso | success:False |
Bacheca casi
| Custodia | Operazione riuscita | Fail | Messaggio |
|---|---|---|---|
| Se alcune entità sono state arricchite | true | false | Le seguenti entità sono state arricchite correttamente utilizzando le informazioni di Blueliv: {entity.identifier} |
| Se non sono arricchiti, alcuni | true | false | L'azione non è riuscita ad arricchire le seguenti entità utilizzando le informazioni di Blueliv: {entity.identifier} |
| if not enriched all | false | false | Nessuna entità è stata arricchita utilizzando le informazioni di Blueliv. |
| Errore irreversibile, credenziali non valide, radice API | false | true | Errore durante l'esecuzione dell'azione "Arricchisci entità". Motivo: {error traceback} |
| Se il modulo "Threat Context" non è disponibile | false | Vero | Errore durante l'esecuzione dell'azione "Arricchisci entità". Motivo: la tua istanza non supporta il modulo "Contesto delle minacce". |
Aggiungi un commento a una minaccia
Descrizione
L'azione aggiungerà un commento testuale desiderato a una minaccia specifica.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Tipo di modulo | Stringa | N/D | Sì | Specifica il tipo di modulo a cui appartiene la risorsa. |
| ID modulo | Stringa | N/D | Sì | Specifica l'ID modulo a cui appartiene la risorsa. |
| ID risorsa | Stringa | N/D | Sì | Specifica l'ID risorsa a cui aggiungere il commento. |
| Testo del commento | Stringa | N/D | Sì | Fornisci il commento che vuoi aggiungere alla risorsa. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Type (Entity \ General) |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: In caso di esito positivo: "Successfully added the comment to threat ID: "+{threat_ID} L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se l'operazione non va a buon fine: "Failed to perform action "Add Comment to a Threat {0}".format(exception.stacktrace) |
Generale |
| Tabella della bacheca casi | Nome: "ID minaccia "+{threat_id}+" Commenti: Colonna:
|
Contrassegna la minaccia come preferita
Descrizione
L'azione contrassegnerà la minaccia specificata come minaccia preferita in BlueLiv.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | Valori DDL | Is Mandatory | Descrizione |
|---|---|---|---|---|---|
| Tipo di modulo | Stringa | N/D | Sì | Specifica il tipo di modulo a cui appartiene la risorsa. | |
| ID modulo | Stringa | N/D | Sì | Specifica l'ID modulo a cui appartiene la risorsa. | |
| ID risorsa | Stringa | N/D | Sì | Specifica l'ID risorsa a cui aggiungere il commento. | |
| Stato preferito | DDL | Aggiunto a Speciali dall'utente | Non aggiunto a Speciali Aggiunto a Speciali dall'utente Gruppo Speciali Stella piena |
Sì | Specifica lo stato Preferito che vuoi applicare alla minaccia specificata. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Type (Entity \ General) |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se l'operazione va a buon fine: "ID minaccia contrassegnato correttamente: "+{threat_ID}+" come preferito" L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se l'operazione non va a buon fine: "Failed to perform action "Mark Threat as a Favorite {0}".format(exception.stacktrace) |
Generale |
Aggiungi etichette alle minacce
Descrizione
L'azione aggiungerà il nome dell'etichetta specificato agli ID minaccia specificati.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Tipo di modulo | Stringa | N/D | Sì | Specifica il tipo di modulo a cui appartiene la risorsa. |
| ID modulo | Stringa | N/D | Sì | Specifica l'ID modulo a cui appartiene la risorsa. |
| ID risorsa | Stringa | N/D | Sì | Specifica gli ID risorsa, in un elenco separato da virgole, a cui aggiungere le etichette. |
| Nomi etichetta | Stringa | N/D | Sì | Specifica i nomi delle etichette che vuoi applicare alle minacce specificate, in un elenco separato da virgole. Presta attenzione alle lettere minuscole e maiuscole. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Type (Entity \ General) |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se alcune etichette non sono state trovate: "Impossibile trovare le seguenti etichette in BlueLiv":+(unsuccessful_label names_list)+". Controlla i nomi delle etichette che hai fornito nei parametri dell'azione e riprova" Se alcune minacce non sono state trovate: "Impossibile trovare le seguenti minacce in BlueLiv":+(unsuccessful_threat_IDs)+". Controlla gli ID minaccia forniti nei parametri dell'azione e riprova" Se l'operazione è andata a buon fine: "Successfully added the following labels:" +(successful_label_names_list)+" to the following "threat IDs: "+(successful_threat_IDs_list) L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se non è stata trovata alcuna etichetta: "Impossibile trovare una delle seguenti etichette in BlueLiv":+(unsuccessful_label names_list)+". Controlla i nomi delle etichette che hai fornito nei parametri dell'azione e riprova" Se non sono state trovate minacce: "Impossibile trovare una delle seguenti minacce in BlueLiv":+(unsuccessful_threat_IDs_list)+". Controlla gli ID minaccia che hai fornito nei parametri dell'azione e riprova" Se l'operazione non va a buon fine: "Failed to perform action "Add Labels to Threats".format(exception.stacktrace) |
Generale |
Rimuovi etichette dalle minacce
Descrizione
L'azione rimuoverà le etichette specificate dagli ID minaccia specificati.
Parametri
| Nome | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|
| Tipo di modulo | N/D | Sì | Specifica il tipo di modulo a cui appartiene la risorsa. |
| ID modulo | Sì | Specifica l'ID modulo a cui appartiene la risorsa | |
| ID risorsa | Sì | Specifica un elenco separato da virgole di ID risorsa da cui vuoi rimuovere le etichette. | |
| Nomi etichetta | Sì | Specifica un elenco separato da virgole di etichette da rimuovere. Presta attenzione alle lettere minuscole e maiuscole. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Bacheca casi
| Custodia | Operazione riuscita | Fail | Messaggio |
|---|---|---|---|
| Se alcune etichette non sono state trovate | true | false | "Impossibile trovare le seguenti etichette in BlueLiv: \n {labels}. Controlla i nomi delle etichette che hai fornito nei parametri dell'azione e riprova." |
| Se alcune minacce non sono state trovate | true | false | Impossibile trovare le seguenti minacce dal modulo {module} {threat IDs}: {threat IDs}. Controlla gli ID minaccia che hai fornito nei parametri dell'azione e riprova |
| Se l'operazione ha esito positivo per alcuni: | true | false | Le seguenti etichette sono state rimosse dalla seguente minaccia {threat ID} in Blueliv: {successful_labels} |
| Se alcuni non sono già stati applicati: | true | false | Le seguenti etichette non facevano già parte della minaccia {threat ID} in Blueliv: {labels already not a part} |
| Se non vengono trovate etichette | false | true | Errore durante l'esecuzione dell'azione "Rimuovi etichette dalle minacce". Motivo: nessuna delle etichette è stata trovata. Controlla l'ortografia. |
| Se non sono state trovate minacce | false | true | Errore durante l'esecuzione dell'azione "Rimuovi etichette dalle minacce". Motivo: nessuna delle minacce è stata trovata. Controlla l'ortografia. |
| Errore irreversibile, credenziali non valide, radice API | false | true | Errore durante l'esecuzione dell'azione "Rimuovi le etichette dalle minacce". Motivo: {error traceback} |
| Se il tipo o l'ID del modulo non sono validi | false | true | Errore durante l'esecuzione dell'azione "Rimuovi le etichette dalle minacce". Motivo: è stato fornito un ID modulo o un tipo di modulo non valido. |
Elenca le minacce alle entità
Descrizione
Elenca le minacce relative alle entità in Blueliv. Entità supportate: tutte.
Limitazioni note
L'API Blueliv potrebbe non restituire alcun risultato, anche se la stringa corrisponde esattamente al nome della minaccia. Di seguito è riportato un esempio:
https://pastebin.com/YRkUCLGc: l'URL viene mostrato quando si esegue una ricerca utilizzando la parola chiave "pastebin".
https://pastebin.com/YRkUCLGc: non viene mostrato quando si esegue una ricerca utilizzando la parola chiave "https://pastebin.com/YRkUCLGc".
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Filtro per etichetta | CSV | N/D | No | Specifica un elenco di etichette separate da virgole che verranno utilizzate per filtrare le minacce. Nota: il filtro delle etichette funziona con la logica "OR". |
| Filtro dei moduli | CSV | N/D | No | Specifica un elenco di moduli separati da virgole che verranno utilizzati per filtrare le minacce. |
| Numero massimo di minacce da restituire | Numero intero | 50 | No | Specifica il numero di minacce da restituire per entità. Se non viene specificato nulla, l'azione restituirà 50 minacce. |
Esegui il
Questa azione viene eseguita su tutte le entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni di valore |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Risultato JSON
{
"id": xxxxxxx,
"module_id": xxxx,
"module_name": "Data Leakage",
"module_short_name": "xxx-xxxxx",
"module_type": "DATA_LEAKAGE",
"url": "xxx",
"content_type": "text/html",
"countries_id": "xx",
"analysis_result": "INFORMATIVE",
"analysis_calc_result": "INFORMATIVE",
"created_at": 1626163680000,
"checked_at": 1626163680000,
"changed_at": 1626163680000,
"user_rating": 0,
"read": true,
"fav": "NOT_STARRED",
"issued": false,
"labels": [
{
"id": 36116,
"name": "GithubCodeByFilename",
"background_color": 16777215,
"text_color": 0,
"type": "GLOBAL"
},
{
"id": 160,
"name": "Public",
"background_color": 45960,
"text_color": 16777215,
"type": "GLOBAL"
}
],
"tlpStatus": "AMBER",
"searchPhrase": "credit card",
"followedUp": false,
"history": []
},
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Type (Entity \ General) |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se i dati sono disponibili per un'entità(is_success = true): "Successfully listed available threats to the following entities in Blueliv: {entity.identifier}". Se non sono presenti minacce per un'entità (is_success=true): "Non sono state trovate minacce correlate alle seguenti entità in Blueliv: {entity.identifier}" Se non sono presenti minacce per una (is_success=true): "Non sono state trovate minacce correlate alle entità fornite in Blueliv" L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elenca minacce entità". Reason: {0}''.format(error.Stacktrace) |
Generale |
| Tabella della bacheca casi | Titolo: {entity.identifier} Nome modulo URL Titolo Etichette Data/ora di creazione: |
Entità |
Connettore
BlueLiv - Threats Connector
Descrizione
Estrai le minacce alla sicurezza da BlueLiv. Il connettore recupera tutte le minacce più recenti dai moduli BlueLiv.
I filtri della lista consentita e della lista bloccata funzionano con i tipi di moduli BlueLiv. Ad esempio, se vuoi ricevere minacce solo dai moduli di hacktivismo, puoi attivare la lista consentita e digitare il nome del tipo "Hacktivismo".
Per ogni tipo di modulo, esiste una struttura diversa dei dati che vengono importati in Google SecOps. Modifica la mappatura nella tua istanza di Google SecOps in base alle tue esigenze. Assicurati di controllare i diversi valori "event_type" per ogni evento restituito da BlueLiv.
Per il tipo di minaccia Malware, al momento forniamo solo i dati sugli eventi di base. A breve aggiungeremo un altro evento per gestire meglio i dati speciali restituiti da un tipo di minaccia Malware.
Configura il connettore BlueLiv - Threats in Google SecOps
Per istruzioni dettagliate su come configurare un connettore in Google SecOps, consulta Configurazione del connettore.
Parametri del connettore
Utilizza i seguenti parametri per configurare il connettore:
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Nome campo prodotto | Stringa | ProductName | Sì | Inserisci il nome del campo di origine per recuperare il nome del campo del prodotto. |
| Nome campo evento | Stringa | event_type | Sì | Inserisci il nome del campo di origine per recuperare il nome del campo evento. |
| Nome campo ambiente | Stringa | "" | No | Descrive il nome del campo in cui è memorizzato il nome dell'ambiente. Se il campo dell'ambiente non viene trovato, l'ambiente è quello predefinito. |
| Pattern regex dell'ambiente | Stringa | .* | No | Un pattern regex da eseguire sul valore trovato nel campo "Nome campo ambiente". Il valore predefinito è .* per rilevare tutto e restituire il valore invariato. Utilizzato per consentire all'utente di manipolare il campo dell'ambiente tramite la logica delle espressioni regolari. Se il pattern regex è nullo o vuoto o se il valore dell'ambiente è nullo, il risultato finale dell'ambiente è l'ambiente predefinito. |
| Timeout dello script (secondi) | Numero intero | 180 | Sì | Limite di timeout per il processo Python che esegue lo script corrente. |
| URL API | Stringa | https://example.blueliv.com/api/v2 | Sì | Root API dell'istanza BlueLiv. |
| Nome utente | Stringa | N/D | Sì | Nome utente per BlueLiv |
| Password | Password | N/D | Sì | Password utente per BlueLiv |
| ID organizzazione | Stringa | N/D | Sì | Specifica l'ID organizzazione da utilizzare in BlueLiv |
| Numero massimo di ore di recupero indietro | Numero intero | 1 | No | Numero di ore da cui recuperare gli eventi. |
| Numero massimo di minacce da recuperare | Numero intero | 10 | No | Il numero di minacce da elaborare per ogni iterazione del connettore. |
| Gravità | Stringa | Media | Sì | La gravità sarà uno dei seguenti valori: Bassa, Media, Alta, Critica. |
| Risultati dell'analisi da importare | Stringa (valori: NOT_AVAILABLE, NOT_IMPORTANT, NOT_PROCESSABLE, POSITIVE, NEGATIVE, INFORMATIVE, IMPORTANT) | N/D | No | Filtra le minacce in base all'analisi dell'analista di questa minaccia, importa solo le minacce con il risultato dell'analisi scelto. Fornisci un elenco separato da virgole dei risultati di analisi desiderati da importare. |
| Etichette in base alle quali filtrare | Stringa (elenco separato da virgole) | N/D | No | Fornisci un elenco separato da virgole dei nomi delle etichette in base ai quali vuoi filtrare. Presta attenzione alle lettere maiuscole e minuscole e scrivi le etichette esattamente come appaiono nell'interfaccia utente di BlueLiv. |
| Stato di lettura da importare | Stringa (valori: "Only Read", "Only Unread") | N/D | No | Filtra le minacce in base allo stato di lettura, in modo che il connettore le importi di conseguenza. Se non viene fornito alcun valore, verranno recuperati entrambi. Opzioni: "Solo letti", "Solo da leggere". |
| Devono essere importate solo le minacce aggiunte a Speciali? | Casella di controllo | Deselezionata | No | Se l'opzione è selezionata, verranno importate solo le minacce aggiunte a Speciali (preferite) |
| Deve importare le minacce correlate agli incidenti? | Stringa (valori: Only Incidents, Only Non Incidents) | N/D | No | Indica se il connettore deve filtrare le minacce controllando la relazione con un incidente. Se non viene fornito alcun valore, verranno recuperati entrambi .Le opzioni sono: Solo incidenti: verranno importate solo le minacce correlate agli incidenti, Solo non incidenti: verranno importate solo le minacce non correlate agli incidenti |
| Utilizza la lista consentita come lista bloccata | Casella di controllo | Deselezionata | Sì | Se questa opzione è attiva, la lista consentita verrà utilizzata come lista bloccata. |
| Verifica SSL | Casella di controllo | Deselezionata | Sì | Se l'opzione è attiva, verifica che il certificato SSL per la connessione al server BlueLiv sia valido. |
| Indirizzo del server proxy | Stringa | N/D | No | L'indirizzo del server proxy da utilizzare. |
| Nome utente proxy | Stringa | N/D | No | Il nome utente del proxy con cui eseguire l'autenticazione. |
| Password proxy | Password | N/D | No | La password del proxy con cui eseguire l'autenticazione. |
Regole del connettore
Supporto dei proxy
Il connettore supporta il proxy.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.