영향: 외부 사용자의 Gemini Discovery Engine API 문서 가져오기

이 문서에서는 Security Command Center의 위협 발견 사항 유형에 대해 설명합니다. 위협 발견 사항은 위협 감지기가 클라우드 리소스에서 잠재적인 위협을 감지할 때 생성됩니다. 사용 가능한 위협 발견 사항의 전체 목록은 위협 발견 사항 색인을 확인하세요.

개요

조직 외부의 주 구성원이 Gemini Enterprise 데이터 스토어로 문서 가져오기를 시작했습니다. 발견 사항은 기본적으로 심각도가 보통으로 분류됩니다.

Event Threat Detection이 이 발견 사항의 소스입니다.

대응 방법

이 발견 사항에 대응하려면 다음을 수행하세요.

1단계: 발견 항목 세부정보 검토하기

  1. 발견 사항 검토의 지시에 따라 Impact: Gemini Discovery Engine API Document Import by External User 발견 사항을 엽니다. 발견 항목의 세부정보 패널의 요약 탭이 열립니다.

  2. 요약 탭에서 다음 섹션의 정보를 검토합니다.

    • 특히 다음 필드를 포함하는 감지된 항목:
      • 주 구성원 이메일: 문서 가져오기를 시작한 외부 사용자, 서비스 계정 또는 AI 에이전트의 이메일 주소입니다.
      • 메서드 이름: 호출된 API 메서드(google.cloud.discoveryengine.v1.DocumentService.ImportDocuments)
    • 영향을 받는 리소스:
      • 리소스 전체 이름: Gemini Enterprise 데이터 스토어가 있는 프로젝트, 폴더 또는 조직의 전체 리소스 이름입니다.
    • 특히 다음 필드를 포함하는 관련 링크:
      • Cloud Logging URI: Logging 항목의 링크
      • MITRE ATT&CK 메서드: MITRE ATT&CK 문서의 링크

2단계: 로그 확인하기

  1. 발견 사항 세부정보 패널의 요약 탭에서 Cloud Logging URI 링크를 클릭하여 로그 탐색기를 엽니다.
  2. 로드되는 페이지에서 다음 필터를 사용하여 Gemini Enterprise 문서 가져오기 작업을 찾습니다.
    • protoPayload.serviceName="discoveryengine.googleapis.com"
    • protoPayload.methodName="google.cloud.discoveryengine.v1.DocumentService.ImportDocuments"
  3. protoPayload.request를 검사하여 대상 데이터 스토어 (parent)와 가져온 데이터 소스 (gcsSource, bigquerySource 또는 inlineSource)를 식별합니다.

3단계: 공격 및 대응 방법 조사하기

  1. 이 발견 항목 유형(데이터 조작: 저장된 데이터 조작)의 MITRE ATT&CK 프레임워크 항목을 검토합니다.
  2. 대응 계획을 개발하려면 조사 결과를 MITRE 연구와 결합합니다.

4단계: 대응 구현하기

다음의 응답 계획이 이 발견 사항에 적합할 수 있지만 작업에도 영향을 줄 수 있습니다. 조사에서 수집한 정보를 신중하게 평가하여 발견 항목을 해결할 최선의 방법을 결정해야 합니다.

  1. 영향을 받는 Gemini Enterprise 데이터 스토어가 포함된 프로젝트의 소유자에게 연락하여 가져오기가 승인되었는지 확인합니다. 이 활동이 승인된 경우 (예: 외부 계약업체 또는 파트너 도메인) Cloud ID 또는 Google Workspace의 조직의 확인된 도메인 목록에 사용자의 도메인을 추가합니다.
  2. 프로젝트 또는 Gemini Enterprise 리소스에서 외부 사용자, 서비스 계정 또는 AI 에이전트에 부여된 승인되지 않은 IAM 역할을 취소합니다.
  3. Gemini Enterprise 데이터 스토어로 가져온 승인되지 않거나 신뢰할 수 없는 문서를 검토하고 삭제하여 지식 저장소 오염 또는 간접 프롬프트 인젝션을 방지합니다.
  4. 리소스에 외부 주 구성원을 추가하는 것을 제한하려면 도메인 제한 공유 조직 정책 제약조건을 사용합니다.

대응 권장사항은 AI 위협 발견 사항에 대응을 참조하세요.

발견 항목 JSON 예시

다음은 기본값이 생략된 발견 항목 JSON의 예시입니다.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global",
    "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "state": "ACTIVE",
    "category": "Impact: Gemini Discovery Engine API Document Import by External User",
    "securityMarks": {
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global/findings/FINDING_ID/securityMarks"
    },
    "eventTime": "TIMESTAMP",
    "createTime": "TIMESTAMP",
    "severity": "MEDIUM",
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/locations/global/findings/FINDING_ID",
    "findingClass": "THREAT",
    "access": {
      "principalEmail": "PRINCIPAL_EMAIL",
      "callerIp": "IP_ADDRESS",
      "callerIpGeo": {
        "regionCode": "COUNTRY_CODE"
      },
      "userAgent": "USER_AGENT",
      "serviceName": "discoveryengine.googleapis.com",
      "methodName": "google.cloud.discoveryengine.v1.DocumentService.ImportDocuments",
      "principalSubject": "user:PRINCIPAL_EMAIL"
    },
    "mitreAttack": {
      "primaryTactic": "IMPACT",
      "additionalTactics": [
        "DEFENSE_EVASION",
        "PERSISTENCE"
      ]
    },
    "parentDisplayName": "Event Threat Detection",
    "domains": [
      {
        "category": "AI"
      }
    ],
    "logEntries": [
      {
        "cloudLoggingEntry": {
          "insertId": "INSERT_ID",
          "logId": "cloudaudit.googleapis.com/data_access",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": "TIMESTAMP"
        }
      }
    ]
  },
  "resource": {
    "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "displayName": "PROJECT_ID",
    "type": "google.cloud.resourcemanager.Project",
    "cloudProvider": "GOOGLE_CLOUD_PLATFORM",
    "service": "cloudresourcemanager.googleapis.com",
    "gcpMetadata": {
      "project": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "projectDisplayName": "PROJECT_ID",
      "parent": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
      "parentDisplayName": "ORGANIZATION_DISPLAY_NAME",
      "organization": "organizations/ORGANIZATION_ID"
    },
    "resourcePath": {
      "nodes": [
        {
          "nodeType": "GCP_PROJECT",
          "id": "projects/PROJECT_NUMBER",
          "displayName": "PROJECT_ID"
        },
        {
          "nodeType": "GCP_ORGANIZATION",
          "id": "organizations/ORGANIZATION_ID"
        }
      ]
    },
    "resourcePathString": "organizations/ORGANIZATION_ID/projects/PROJECT_NUMBER"
  },
  "sourceProperties": {
    "sourceId": {
      "projectNumber": "PROJECT_NUMBER",
      "customerOrganizationNumber": "ORGANIZATION_ID"
    },
    "detectionCategory": {
      "ruleName": "gemini_enterprise_datastore_document_import_by_external_user"
    },
    "detectionPriority": "MEDIUM",
    "affectedResources": [
      {
        "gcpResourceName": "//discoveryengine.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID/branches/0"
      },
      {
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }
    ],
    "evidence": [
      {
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "TIMESTAMP_SECONDS",
            "nanos": TIMESTAMP_NANOS
          },
          "insertId": "INSERT_ID",
          "logId": "cloudaudit.googleapis.com/data_access"
        }
      }
    ],
    "findingId": "FINDING_ID",
    "contextUris": {
      "mitreUri": {
        "displayName": "MITRE Link",
        "url": "https://attack.mitre.org/techniques/T1565/001/"
      },
      "cloudLoggingQueryUri": [
        {
          "displayName": "Cloud Logging Query Link",
          "url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%22TIMESTAMP%22%0AinsertId%3D%22INSERT_ID%22?project=PROJECT_ID"
        }
      ]
    },
    "domains": [
      {
        "category": "AI"
      }
    ]
  }
}

다음 단계