Persistenza: nuovo user agent

Questo documento descrive un tipo di risultato di minaccia in Security Command Center. I risultati di minaccia vengono generati dai rilevatori di minacce quando rilevano una potenziale minaccia nelle risorse cloud. Per un elenco completo dei risultati di minaccia disponibili, consulta l'indice dei risultati di minaccia.

Panoramica

Questo risultato non è disponibile per le attivazioni a livello di progetto.

Un account di servizio IAM sta accedendoutilizzando software sospetto, come indicato da uno user agent anomalo. Google Cloud

Event Threat Detection è l'origine di questo risultato.

Come rispondere

Per rispondere a questo risultato:

Passaggio 1: esamina i dettagli del risultato

  1. Apri un risultato Persistence: New User Agent, come indicato in Esaminare i dettagli del risultato in precedenza in questa pagina. Si apre il riquadro dei dettagli del risultato nella scheda Riepilogo.

  2. Nella scheda Riepilogo, esamina le informazioni nelle seguenti sezioni:

    • Che cosa è stato rilevato, in particolare i seguenti campi:
      • Email entità: il account di servizio potenzialmente compromesso.
    • Risorsa interessata, in particolare i seguenti campi:
      • Nome completo del progetto: il progetto che contiene il account di servizio potenzialmente compromesso.
    • Link correlati, in particolare i seguenti campi:
      • URI Cloud Logging: link alle voci di log.
      • Metodo MITRE ATT&CK: link alla documentazione MITRE ATT&CK.
      • Risultati correlati: link a eventuali risultati correlati.
    1. Nella visualizzazione dei dettagli del risultato, fai clic sulla scheda JSON.
    2. Nel JSON, prendi nota dei seguenti campi.
    • projectId: il progetto che contiene il account di servizio potenzialmente compromesso.
    • callerUserAgent: lo user agent anomalo.
    • anomalousSoftwareClassification: il tipo di software.
    • notSeenInLast: il periodo di tempo utilizzato per stabilire una baseline per il comportamento normale.

Passaggio 2: esamina le autorizzazioni del progetto e dell'account

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Se necessario, seleziona il progetto elencato in projectId.

  3. Nella pagina visualizzata, nella casella Filtro, inserisci il nome dell'account elencato nella riga Email entità nella scheda Riepilogo dei dettagli del risultato e controlla i ruoli concessi.

  4. Nella Google Cloud console vai alla pagina Service account.

    Vai a Service account

  5. Nella pagina visualizzata, nella casella Filtro, inserisci il nome dell'account elencato nella riga Email entità nella scheda Riepilogo dei dettagli del risultato.

  6. Controlla le chiavi del account di servizio e le date di creazione delle chiavi.

Passaggio 3: controlla i log

  1. Nella scheda Riepilogo del riquadro dei dettagli del risultato, fai clic sul link URI Cloud Logging per aprire Esplora log.
  2. Se necessario, seleziona il tuo progetto.
  3. Nella pagina che si apre, controlla i log per l'attività delle risorse IAM nuove o aggiornate utilizzando i seguenti filtri:
    • proto_payload.method_name="google.iam.admin.v1.CreateServiceAccount"
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

Passaggio 4: ricerca i metodi di attacco e risposta

  1. Esamina la voce del framework MITRE ATT&CK per questo tipo di risultato: Valid Accounts: Cloud Accounts.
  2. Per sviluppare un piano di risposta, combina i risultati dell'indagine con la ricerca MITRE.

Passaggio 5: implementa la risposta

Il seguente piano di risposta potrebbe essere appropriato per questo risultato, ma potrebbe anche influire sulle operazioni. Valuta attentamente le informazioni raccolte durante l'indagine per determinare il modo migliore per risolvere i risultati.

  • Contatta il proprietario del progetto con l'account compromesso.
  • Esamina i campi anomalousSoftwareClassification, callerUserAgent e behaviorPeriod per verificare se l'accesso è anomalo e se l'account è stato compromesso.
  • Elimina le risorse del progetto create da account non autorizzati, come istanze Compute Engine, snapshot, service account e utenti IAM sconosciuti.
  • Per limitare la creazione di nuove risorse a regioni specifiche, consulta Limitare le località delle risorse.
  • Per identificare e correggere i ruoli eccessivamente permissivi, utilizza IAM Recommender.

Esempio di JSON del risultato

Di seguito è riportato un esempio di JSON del risultato.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resourceName": "//monitoring.googleapis.com/projects/PROJECT_ID",
    "state": "ACTIVE",
    "category": "Persistence: New User Agent",
    "sourceProperties": {
      "sourceId": {
        "projectNumber": "PROJECT_NUMBER",
        "customerOrganizationNumber": "ORGANIZATION_ID"
      },
      "detectionCategory": {
        "technique": "persistence",
        "indicator": "audit_log",
        "ruleName": "iam_anomalous_behavior",
        "subRuleName": "user_agent"
      },
      "detectionPriority": "LOW",
      "affectedResources": [{
        "gcpResourceName": "//monitoring.googleapis.com/projects/PROJECT_ID"
      }, {
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }],
      "evidence": [{
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "1614736482",
            "nanos": 9.76209552E8
          },
          "insertId": "INSERT_ID"
        }
      }],
      "properties": {
        "anomalousSoftware": {
          "anomalousSoftwareClassification": ["USER_AGENT"],
          "behaviorPeriod": "2592000s",
          "callerUserAgent": "USER_AGENT",
          "principalEmail": "USER_EMAIL@PROJECT_ID.iam.gserviceaccount.com"
        }
      },
      "findingId": "FINDING_ID",
      "contextUris": {
        "cloudLoggingQueryUri": [{
          "displayName": "Cloud Logging Query Link",
          "url": "https://console.cloud.google.com/logs/query;query\u003dtimestamp%3D%222021-03-03T01:54:42.976209552Z%22%0AinsertId%3D%22INSERT_ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project\u003dPROJECT_ID"
        }]
      }
    },
    "securityMarks": {
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
    },
    "eventTime": "2021-03-03T01:54:47.681Z",
    "createTime": "2021-03-03T01:54:49.154Z",
    "severity": "HIGH",
    "workflowState": "NEW",
    "canonicalName": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID"
  },
  "resource": {
    "name": "//monitoring.googleapis.com/projects/PROJECT_ID"
  }
}

Passaggi successivi