Persistance : Nouvelle méthode d'API d'IA

Ce document décrit un type de résultat de détection de menace dans Security Command Center. Ces résultats sont générés par les détecteurs de menaces lorsqu'ils détectent une menace potentielle dans vos ressources cloud. Pour obtenir la liste complète des résultats de détection de menace disponibles, consultez cet index.

Présentation

Une activité d'administration anormale pour les services d'IA par un acteur potentiellement malveillant a été détectée dans une organisation, un dossier ou un projet. Une activité anormale peut être l'une des suivantes :

  • Nouvelle activité d'un compte principal dans une organisation, un dossier ou un projet
  • Activité qui n'a pas été observée depuis un certain temps, effectuée par un compte principal dans une organisation, un dossier ou un projet

Event Threat Detection est la source de ce résultat.

Actions à mettre en place

Pour traiter ce résultat, procédez comme suit :

Étape 1 : Examiner les détails du résultat

  1. Ouvrez le résultat Persistence: New AI API Method comme indiqué dans Examiner les résultats.
  2. Dans les détails du résultat, dans l'onglet Résumé, notez les valeurs des champs suivants :

    • Sous Ce qui a été détecté:
      • Adresse e-mail du compte principal : compte qui a effectué l'appel
      • Nom de la méthode : méthode appelée
      • Ressources d'IA : ressources d'IA potentiellement concernées, telles que les ressources Agent Platform et le modèle d'IA
    • Sous Ressource concernée:
      • Nom à afficher de la ressource : nom de la ressource concernée, qui peut être identique au nom de l'organisation, du dossier ou du projet
      • Chemin d'accès à la ressource : emplacement dans la hiérarchie des ressources où l'activité a eu lieu

Étape 2 : Étudier les méthodes d'attaque et de réponse

  1. Consultez les entrées du framework MITRE ATT&CK pour le type de résultat Persistance.
  2. Déterminez si l'action était justifiée dans l'organisation, le dossier ou le projet, et si elle a été effectuée par le propriétaire légitime du compte. L'organisation, le dossier ou le projet s'affiche dans le champ Chemin d'accès à la ressource, et le compte s'affiche dans la ligne Adresse e-mail du compte principal.
  3. Pour élaborer un plan de réponse, combinez les résultats de votre enquête avec les recherches MITRE.

Exemple de code JSON du résultat

Voici un exemple de code JSON du résultat.

{
    "findings": {
        "access": {
         "principalEmail": "PRINCIPAL_EMAIL",
         "callerIp": "IP_ADDRESS",
         "callerIpGeo": {
            "regionCode": "US"
          },
         "serviceName": "aiplatform.googleapis.com",
         "methodName": "METHOD_NAME",
         "principalSubject": "PRINCIPAL_SUBJECT",
         "serviceAccountKeyName": "SERVICE_ACCOUNT_KEY_NAME"
        },
        "assetDisplayName": "ASSET_DISPLAY_NAME",
        "assetId": "organizations/ORGANIZATION_NUMBER/assets/ASSET_ID",
        "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
        "category": "Persistence: New AI API Method",
        "contacts": {
         "security": {
           "contacts": [
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             }
           ]
         },
         "technical": {
           "contacts": [
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             }
           ]
         }
        },
        "createTime": "2023-01-12T10:35:47.381Z",
        "database": {},
        "eventTime": "2023-01-12T10:35:47.270Z",
        "exfiltration": {},
        "findingClass": "THREAT",
        "findingProviderId": "organizations/ORGANIZATION_NUMBER/firstPartyFindingProviders/etd",
        "indicator": {},
        "kernelRootkit": {},
        "kubernetes": {},
        "mitreAttack": {
          "primaryTactic": "PERSISTENCE",
        },
        "muteInfo": {
          "staticMute": {
            "state": "UNDEFINED",
            "applyTime": "1970-01-01T00:00:00Z"
          }
        },
        "domains": [
          {
            "category": "AI"
          },
          {
            "category": "IDENTITY_AND_ACCESS"
          }
        ],
        "aiModel": {
          "name": "//aiplatform.googleapis.com/projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME",
          "deploymentPlatform": "VERTEX_AI"
        },
        "name": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
        "parent": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID",
        "parentDisplayName": "Event Threat Detection",
        "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
        "severity": "LOW",
        "state": "ACTIVE",
        "vulnerability": {},
        "workflowState": "NEW"
    },
    "resource": {
        "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
        "displayName": "projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME",
        "gcpMetadata": {
          "project": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
          "projectDisplayName": "PROJECT_ID",
          "parent": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
          "parentDisplayName": "PROJECT_ID",
          "organization": "organizations/ORGANIZATION_ID"
        },
        "type": "google.aiplatform.Model",
        "folders": []
    },
    "sourceProperties": {
        "sourceId": {
         "projectNumber": "PROJECT_NUMBER",
         "customerOrganizationNumber": "ORGANIZATION_NUMBER"
        },
        "detectionCategory": {
         "ruleName": "ai_anomalous_behavior_new_api_method",
        },
        "detectionPriority": "LOW",
        "affectedResources": [
          {
            "gcpResourceName": "//aiplatform.googleapis.com/projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME"
          },
          {
            "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
          }
        ],
        "evidence": [
         {
           "sourceLogId": {
             "projectId": "PROJECT_ID",
             "resourceContainer": "projects/PROJECT_ID",
             "timestamp": {
               "seconds": "1673519681",
               "nanos": 728289000
             },
             "insertId": "INSERT_ID"
           }
         }
        ],
        "properties": {
         "newApiMethod": {
           "newApiMethod": {
             "serviceName": "SERVICE_NAME",
             "methodName": "METHOD_NAME"
           },
           "principalEmail": "PRINCIPAL_EMAIL",
           "callerIp": "IP_ADDRESS",
           "callerUserAgent": "CALLER_USER_AGENT",
           "resourceContainer": "projects/PROJECT_NUMBER"
         }
        },
        "findingId": "FINDING_ID",
        "contextUris": {
         "mitreUri": {
           "displayName": "MITRE Link",
           "url": "https://attack.mitre.org/tactics/TA0003/"
         }
        }
    }
}

Étape suivante