Integra Vertex AI con Google SecOps

Questo documento spiega come integrare Vertex AI con Google Security Operations.

Casi d'uso

L'integrazione di Vertex AI supporta i seguenti casi d'uso:

  • Analisi automatizzata delle email dannose: analizza i file EML non elaborati per estrarre i livelli di minaccia, identificare i link di phishing o gli indicatori di ingegneria sociale e consigliare i passaggi di verifica.

  • Arricchimento contestuale delle entità: genera riepiloghi in linguaggio naturale delle entità di sicurezza per accelerare la comprensione degli analisti durante il triage.

  • Orchestrazione flessibile dei playbook: esegui prompt di testo generativo non strutturato all'interno dei playbook per facilitare la difesa predittiva o l'analisi di sicurezza complessa.

  • Trasformazione dei dati personalizzata: automatizza le trasformazioni programmatiche di strutture di dati JSON arbitrarie utilizzando istruzioni in linguaggio naturale.

Prima di iniziare

Prima di configurare l'integrazione di Vertex AI in Google SecOps, completa i seguenti passaggi preliminari:

  1. Crea un account di servizio.

  2. Concedi i ruoli Identity and Access Management necessari al tuo service account.

  3. Scegli e configura uno dei seguenti metodi di autenticazione:

    • Opzione 1: Workload Identity (consigliata): questo metodo utilizza token di breve durata tramite la simulazione dell'identità dei account di servizio.

    • Opzione 2: chiave JSON del service account. Questo metodo si basa su un file di chiave secret statico e di lunga durata.

Per informazioni dettagliate sulle tariffe dei servizi, consulta i prezzi di Vertex AI.

Crea un account di servizio

  1. Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio.

    Vai a Service account

  2. Fai clic su addCrea service account.

  3. Fornisci un nome e una descrizione, quindi fai clic su Fine. Prendi nota dell'indirizzo email del service account.

Concedi ruoli IAM

Per consentire all'integrazione di interagire con i servizi della piattaforma, devi concedere le autorizzazioni alla tua entità.

  1. Nella console Google Cloud , vai a IAM.

    Vai a IAM

  2. Trova il tuo account di servizio e fai clic su Modifica entità (edit).

  3. Fai clic su Aggiungi un altro ruolo e seleziona Vertex AI User (roles/aiplatform.user).

  4. Fai clic su Salva.

Configura le credenziali di Workload Identity

Workload Identity è l'approccio consigliato perché utilizza token di accesso di breve durata tramite la simulazione dell'identità dei account di servizio.

Identifica l'identità univoca dell'istanza

Per stabilire una connessione, devi concedere alla tua istanza Google SecOps l'autorizzazione per simulare l'identità del tuo account di servizio.

  1. In Google SecOps, vai a Content Hub > Integrazioni di risposta.

  2. Seleziona l'integrazione di Vertex AI e inserisci l'indirizzo email del tuo account di servizio in Email Workload Identity.

  3. Fai clic su Salva > Verifica. Il test dovrebbe non riuscire.

  4. Fai clic su close_small accanto al pulsante Test e individua l'email di identità che inizia con gke-init-python@... o soar-python@....

  5. Copia questo indirizzo email univoco.

Autorizza l'identità dell'istanza in Google Cloud

  1. Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio.

    Vai a Service account

  2. Seleziona il account di servizio di destinazione e vai a Autorizzazioni > Concedi l'accesso.

  3. Incolla l'indirizzo email univoco in Nuove entità e assegna il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator).

Configura una chiave JSON

I file di chiavi secret statici e di lunga durata richiedono la rotazione manuale. Utilizza questo metodo solo se l'autenticazione di Workload Identity non è disponibile.

  1. Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio e seleziona il tuo service account.

    Vai a Service account

  2. Vai alla scheda Chiavi e fai clic su Aggiungi chiave > Crea nuova chiave.

  3. Seleziona JSON e fai clic su Crea. Il browser scarica il file JSON sul tuo computer.

Parametri di integrazione

L'integrazione di Vertex AI richiede i seguenti parametri:

Parametro Descrizione
API Root

Obbligatorio.

La radice dell'API dell'istanza Vertex AI.

Il valore predefinito è https://LOCATION-aiplatform.googleapis.com.

Workload Identity Email

Facoltativo.

L'indirizzo email client del tuo account di servizio.

Configura questo parametro solo se esegui l'autenticazione utilizzando Workload Identity. Se configurato, Service Account JSON File Content viene ignorato.

Service Account JSON File Content

Facoltativo.

I contenuti completi del file JSON della chiave del account di servizio.

Configura questo parametro per l'autenticazione della chiave del account di servizio.

Project ID

Facoltativo.

L'ID progetto da scegliere come target in Pub/Sub.

Se non viene fornito alcun valore, l'integrazione recupera l'ID dalle credenziali dell'account di servizio.

Default Model

Facoltativo.

Il nome del modello predefinito da scegliere come target.

Il valore predefinito è gemini-1.5-flash-002.

Location

Facoltativo.

L'ID località per l'API Vertex AI.

Se non viene fornito alcun valore, l'integrazione estrae l'ID località dalla radice dell'API.

Verify SSL

Obbligatorio.

Convalida il certificato SSL per la connessione al server. Abilitato per impostazione predefinita.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configura le integrazioni.

Se necessario, puoi apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.

Azioni

Per saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla scrivania di lavoro ed Esegui un'azione manuale nel tuo caso.

Analizza EML

Utilizza l'azione Analizza EML per analizzare i file EML utilizzando Vertex AI. Questa azione invia ogni file singolarmente.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Analizza EML richiede i seguenti parametri:

Parametro Descrizione
Model ID Optional

L'ID del modello da utilizzare, ad esempio gemini-1.5-flash-002.

Temperature Optional

Il valore per controllare il grado di casualità nella selezione dei token. Questo parametro accetta i valori del tipo di dati float.

Per ulteriori informazioni sui valori di temperatura, consulta Sperimenta con i valori dei parametri.

Files To Analyze Obbligatorio

Un elenco separato da virgole di file EML da inviare per l'analisi.

Max Output Tokens Optional

Il numero massimo di token di output da generare in ogni risposta.

Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole. Questo limite si applica a ogni singola entità.

Per saperne di più, consulta Sperimenta con i valori parametro.

Il valore predefinito è 100.

Output azione

L'azione Analizza EML fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca richieste Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando utilizzi l'azione Analizza EML:

[{
   "Entity": "file",
   "EntityResult": {
       "raw": "{\"threat_level\": \"High\", \"threats_found\": [{\"threat\": \"Phishing Links\", \"explanation\": \"Multiple links point",
       "extracted_info": {
           "threat_level": "High",
           "threats_found": [
               {
                   "threat": "Phishing Links",
                   "explanation": "Multiple links point to example.com, a suspicious domain likely used for phishing campaigns.",
                   "example": "URL"
               },
               {
                   "threat": "Social Engineering",
                   "explanation": "The email uses urgency and scarcity tactics, pressuring the recipient to click links quickly.",
                   "example": "Register Now and Save $1,000 on all 2-Day Project Management (Fundamentals)"
               },
               {
                   "threat": "Suspicious Domain",
                   "explanation": "The email uses the domain example.com', which is not commonly associated with legitimate businesses or organizations and may be a newly registered domain for malicious purposes. This should be checked for validity and legitimacy. The email also uses the domain pdu-xl.com which may also be suspicious.",
                   "example": "example.com"
               }
           ],
           "verification_steps": [
               "Check the domain reputation of example.com using online tools like VirusTotal or URLVoid.",
               "Analyze email headers to identify the true sender's IP address and location using email analysis tools.",
               "Verify the legitimacy of mentioned products or services by independently contacting the companies mentioned."
           ],
           "protection_measures": [
               "Avoid clicking links in suspicious emails. Hover over links to check the actual URL in a separate tool.",
               "Enable email filtering and anti-phishing features in your email client.",
               "Regularly update your antivirus and anti-malware software.",
               "Educate users about social engineering tactics and phishing schemes."
           ]
       },
       "usageMetadata": {
           "promptTokenCount": 12,
           "candidatesTokenCount": 778,
           "totalTokenCount": 790
       }
   }
}]
Messaggi di output

L'azione Analizza EML può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully analysed the following EML files using Vertex AI: FILE_PATHS L'azione è andata a buon fine.
Error executing action "Analyze EML". Reason: ERROR_REASON

L'azione non è andata a buon fine.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando utilizzi l'azione Analizza EML:

Nome del risultato dello script Valore
is_success True o False

Descrivi entità

Utilizza l'azione Descrivi entità per riassumere le informazioni sulle entità utilizzando Vertex AI.

Questa azione viene eseguita su tutte le entità Google SecOps e invia ogni entità singolarmente.

Input azione

L'azione Descrivi entità richiede i seguenti parametri:

Parametro Descrizione
Model ID Optional

L'ID del modello da utilizzare, ad esempio gemini-1.5-flash-002.

Temperature Optional

Il valore per controllare il grado di casualità nella selezione dei token. Questo parametro accetta i valori del tipo di dati float.

Per ulteriori informazioni sui valori di temperatura, consulta Sperimenta con i valori dei parametri.

Exclude Fields Optional

Un elenco separato da virgole dei campi dei metadati delle entità Google SecOps da escludere durante la generazione del riepilogo delle entità.

Force Refresh Optional

Se selezionata, l'azione ignora il parametro Refresh After (Days) e la convalida dell'hash e rigenera il riepilogo dell'entità per ogni esecuzione dell'azione.

Non selezionato per impostazione predefinita.

Refresh After (Days) Obbligatorio

Il numero di giorni di attesa dell'azione prima di aggiornare il riepilogo dell'entità.

L'azione genera un valore hash basato su tutti gli input inviati a Vertex AI, esclusi i valori del parametro Fields To Ignore. Se il valore hash è cambiato, l'azione aggiorna il riepilogo dopo il numero di giorni impostato. Se il valore hash non è cambiato, l'azione non aggiorna il riepilogo anche se il valore parametro Refresh After (Days) è precedente all'ora dell'ultima generazione del riepilogo.

L'azione convalida il valore hash del riepilogo effettivo generato più di recente e ignora il valore hash memorizzato nella cache.

Il valore predefinito è 30.

Max Output Tokens Optional

Il numero massimo di token di output da generare in ogni risposta.

Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole. Questo limite si applica a ogni singola entità.

Per saperne di più, consulta Sperimenta con i valori parametro.

Output azione

L'azione Descrivi entità fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca richieste Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando utilizzi l'azione Descrivi entità:

[
    {
        "Entity": "1B16D64CE18772B8F77C74C3D4DC24AA066BB117",
        "EntityResult": {
            "summary": "This is a suspicious, enriched, internal file hash (SHA1: 1B16D64CE18772B8F77C74C3D4DC24AA066BB117) identified as a Microsoft Excel 2007+ file (\"FC090000\") located on a user's desktop.  VirusTotal analysis shows 3 malicious flags out of 65 total engines.  The file contains macros, is potentially obfuscated, and exhibits behaviors like writing to files, running DLLs, and downloading content.  It was last modified on 2024-11-13 and created on 2021-07-07.  The file is linked to a single case (\"potential_apt_doc_files\") which was closed.  The file is flagged as an artifact but not vulnerable or a pivot point.\n",
            "usageMetadata": {
                "promptTokenCount": 12,
                "candidatesTokenCount": 778,
                "totalTokenCount": 790
            }
        }
    }
]
Messaggi di output

L'azione Descrivi entità può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully summarized the entity based on the available information using Vertex AI. L'azione è andata a buon fine.
Error executing action "Describe Entity". Reason: ERROR_REASON

L'azione non è andata a buon fine.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando utilizzi l'azione Descrivi entità:

Nome del risultato dello script Valore
is_success True o False

Esegui prompt

Utilizza l'azione Esegui prompt testuale per eseguire singoli prompt testuali utilizzando Vertex AI.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Esegui prompt richiede i seguenti parametri:

Parametro Descrizione
Model ID Optional

L'ID del modello da utilizzare, ad esempio gemini-1.5-flash-002.

Text Prompt Obbligatorio

Le istruzioni di testo da includere nel prompt.

Temperature Optional

Il valore per controllare il grado di casualità nella selezione dei token. Questo parametro accetta i valori del tipo di dati float.

Per ulteriori informazioni sui valori di temperatura, consulta Sperimenta con i valori dei parametri.

Candidate Count Optional

Il numero di varianti di risposta da restituire in ogni esecuzione dell'azione.

Per ogni richiesta, la fatturazione viene applicata una volta a un token di input e a ogni token di output di tutti i candidati generati.

Response MIME Type Optional

Il tipo MIME (media) della risposta di output per il testo candidato generato.

Il tipo di media (MIME) della risposta è disponibile per i seguenti modelli: gemini-1.5-pro, gemini-1.5-flash.

I valori possibili sono:

  • application/json
  • text/plain
  • text/x.enum
Il valore predefinito è text/plain.
Response Schema Optional

Lo schema per il testo candidato generato da seguire.

Per utilizzare questo parametro, configura il parametro Response MIME Type.

Lo schema di risposta è disponibile per i seguenti modelli: gemini-1.5-pro, gemini-1.5-flash.

Max Input Tokens Optional

Il numero massimo di token di input da inviare.

Un token è composto da un massimo di quattro caratteri. 100 token possono corrispondere a 60-80 parole.

Se non imposti un valore, l'azione esegue qualsiasi prompt. Se il numero di token supera il numero massimo configurato, l'azione non va a buon fine.

Max Output Tokens Optional

Il numero massimo di token di output da generare in ogni risposta.

Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole. Questo limite si applica a ogni singola entità.

Per saperne di più, consulta Sperimenta con i valori parametro.

Output azione

L'azione Esegui prompt fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca richieste Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando utilizzi l'azione Esegui prompt:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Responding to a malicious email requires a layered approach.  Here's a breakdown of remediation steps, prioritizing actions based on urgency:\n\n**Immediate Actions (within minutes):**\n\n1. **Do NOT click any links or open any attachments.** This is paramount.  Malicious links can download malware, and attachments can contain viruses or exploits.\n\n2. **Disconnect from the internet (if possible).** This limits the damage the malware can do if it's already on your system.  Unplug your ethernet cable or turn off Wi-Fi.\n\n3. **Close the email immediately.** Don't even hover over links or attachments; the preview might be enough to trigger some malware.\n\n**Investigative Actions (within hours):**\n\n4. **Check your email account for unauthorized access.**  Look for unfamiliar sent emails, changed settings (like forwarding rules), or new accounts added.\n\n5. **Run a full system scan with your antivirus software.**  Ensure your antivirus definitions are up-to-date before running the scan.  Consider a second opinion scan with a different reputable antivirus program.\n\n6. **Review your computer's processes (Task Manager on Windows, Activity Monitor on macOS).** Look for unfamiliar processes consuming significant resources.  This could indicate malware activity.\n\n7. **Check your network connections.**  See if any unauthorized connections exist.\n\n8. **Change your email password immediately.** Use a strong, unique password.  Consider using a password manager.\n\n9. **If you clicked a link or opened an attachment, consider the potential impact.** Did you enter credentials?  Did you download a file?  The severity of action needed depends on this.\n\n**Remediation Actions (within days):**\n\n10. **Contact your IT department or security professional.**  They can provide expert guidance and assist with more advanced remediation steps.\n\n11. **Consider more advanced malware scanning tools.**  There are specialized tools that can detect malware missed by standard antivirus.\n\n12. **Review your operating system's security settings.**  Ensure firewalls are enabled and that other security features are adequately configured.\n\n13. **Report the malicious email to your email provider.** This helps them remove the email and prevent others from being affected. You can often do this by forwarding the email to an abuse reporting address provided by your provider.  Report it to the appropriate authorities if you suspect the email involves a crime.\n\n14. **Monitor your accounts and financial records for suspicious activity.**  Phishing emails often aim to steal credentials and financial information.\n\n**Preventive Actions (ongoing):**\n\n15. **Implement strong email filtering.** Use spam filters and configure your email provider's security settings to block suspicious emails.\n\n16. **Train yourself and others to identify phishing emails.**  Be wary of emails with unusual addresses, grammatical errors, urgent requests, or suspicious attachments.\n\n17. **Keep your software up to date.** Regularly update your operating system, applications, and antivirus software.\n\n18. **Use strong, unique passwords for all accounts.**  A password manager can assist with this.\n\n19. **Enable two-factor authentication (2FA) wherever possible.** This adds an extra layer of security to your accounts.\n\n\n**If you suspect your personal data or financial information has been compromised:**\n\n* **Contact your bank and credit card companies immediately.**  Report any suspicious transactions and consider placing a fraud alert on your accounts.\n* **Consider credit monitoring services.**  This can help you detect and respond to identity theft.\n\n\nThe severity of the remediation steps depends on the nature of the malicious email and what actions you took in response to it. If you're unsure about any step, err on the side of caution and seek professional help.\n"
          }
        ]
      },
      "finishReason": "STOP",
      "avgLogprobs": -0.4171245741660307
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 12,
    "candidatesTokenCount": 778,
    "totalTokenCount": 790
  },
  "modelVersion": "gemini-1.5-flash-002",
"Text_context": ""
"extracted_info": ""
}
Messaggi di output

L'azione Esegui prompt può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully executed a prompt. L'azione è andata a buon fine.
Error executing action "Execute Prompt". Reason: ERROR_REASON

L'azione non è andata a buon fine.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Esegui prompt:

Nome del risultato dello script Valore
is_success True o False

Dindin

Utilizza l'azione Ping per testare la connettività a Vertex AI.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

Nessuno.

Output azione

L'azione Ping fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca richieste Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Messaggi di output

L'azione Ping può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully connected to Vertex AI with the provided connection parameters! L'azione è andata a buon fine.

Failed to connect to Vertex AI. The API root that you provided doesn't match the following expected pattern: "https://((\w|-)+)-aiplatform.googleapis.com". Check the spelling.

Failed to connect to Vertex AI! The error is ERROR_REASON

L'azione non è andata a buon fine.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando utilizzi l'azione Ping:

Nome del risultato dello script Valore
is_success True o False

Trasforma dati

Utilizza l'azione Trasforma i dati per eseguire trasformazioni dei dati utilizzando Vertex AI.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Trasforma i dati richiede i seguenti parametri:

Parametro Descrizione
Model ID Optional

L'ID del modello da utilizzare, ad esempio gemini-1.5-flash-002.

Text Prompt Obbligatorio

Le istruzioni di testo da includere nel prompt.

Temperature Optional

Il valore per controllare il grado di casualità nella selezione dei token. Questo parametro accetta i valori del tipo di dati float.

Per ulteriori informazioni sui valori di temperatura, consulta Sperimenta con i valori dei parametri.

JSON Object Obbligatorio

L'oggetto JSON da utilizzare come input dell'azione.

Max Output Tokens Obbligatorio

Il numero massimo di token di output da generare in ogni risposta.

Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole. Questo limite si applica a ogni singola entità.

Per saperne di più, consulta Sperimenta con i valori parametro.

Il valore predefinito è 100.

Output azione

L'azione Trasforma i dati fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca richieste Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Trasforma i dati:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Respondo it. If you're unsure about any step, err on the side of caution and seek professional help.\n"
          }
        ]
      },
      "finishReason": "STOP",
      "avgLogprobs": -0.4171245741660307
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 12,
    "candidatesTokenCount": 778,
    "totalTokenCount": 790
  },
  "modelVersion": "gemini-1.5-flash-002",
"Text_context": ""
"extracted_info": ""
}
Messaggi di output

L'azione Trasforma i dati può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully transformed provided data. L'azione è andata a buon fine.
Error executing action "Transform Data". Reason: ERROR_REASON

L'azione non è andata a buon fine.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore per l'output del risultato dello script quando utilizzi l'azione Trasforma i dati:

Nome del risultato dello script Valore
is_success True o False

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.