이 문서에서는 Security Command Center의 위협 발견 사항 유형에 대해 설명합니다. 위협 발견 사항은 위협 감지기가 클라우드 리소스에서 잠재적인 위협을 감지할 때 생성됩니다. 사용 가능한 위협 발견 사항의 전체 목록은 위협 발견 사항 색인을 확인하세요.
개요
조직 외부의 주 구성원에게 Gemini Enterprise AI 애플리케이션 또는 리소스에 대한 액세스 권한을 제공하는 IAM 역할이 부여되었습니다. 발견 항목은 기본적으로 심각도가 보통으로 분류됩니다.
이 발견 항목은 조직 외부의 사용자, 서비스 계정 또는 AI 에이전트에 다음 Gemini Enterprise (Discovery Engine) 역할 중 하나가 부여될 때 생성됩니다.
roles/discoveryengine.adminroles/discoveryengine.agentAdminroles/discoveryengine.agentOwnerroles/discoveryengine.agentUserroles/discoveryengine.agentspaceAdminroles/discoveryengine.agentspaceUserroles/discoveryengine.editorroles/discoveryengine.user
Event Threat Detection이 이 발견 사항의 소스입니다.
대응 방법
이 발견 사항에 대응하려면 다음을 수행하세요.
1단계: 발견 항목 세부정보 검토하기
발견 사항 검토의 지시에 따라
Persistence: External Access Granted to Gemini Discovery Engine API Apps발견 사항을 엽니다. 발견 항목의 세부정보 패널의 요약 탭이 열립니다.요약 탭에서 다음 섹션의 정보를 검토합니다.
- 특히 다음 필드를 포함하는 감지된 항목:
- 기본 이메일: 역할을 할당한 사용자 또는 서비스 계정의 이메일 주소
- 문제가 되는 액세스 권한 부여: 추가된 Gemini Enterprise 역할 및 외부 구성원의 세부정보 (
iamBindings)입니다.
- 영향을 받는 리소스
- 특히 다음 필드를 포함하는 관련 링크:
- Cloud Logging URI: Logging 항목의 링크
- MITRE ATT&CK 메서드: MITRE ATT&CK 문서의 링크
- 특히 다음 필드를 포함하는 감지된 항목:
2단계: 로그 확인하기
- 발견 사항 세부정보 패널의 요약 탭에서 Cloud Logging URI 링크를 클릭하여 로그 탐색기를 엽니다.
- 로드되는 페이지에서 다음 필터를 사용하여 새 IAM 정책 바인딩 또는 업데이트된 IAM 정책 바인딩을 찾습니다.
protoPayload.methodName="SetIamPolicy"
3단계: 공격 및 대응 방법 조사하기
- 이 발견 사항 유형의 MITRE ATT&CK 프레임워크 항목을 검토합니다. 계정 조작: 추가 클라우드 역할
- 대응 계획을 개발하려면 조사 결과를 MITRE 연구와 결합합니다.
4단계: 대응 구현하기
다음의 응답 계획이 이 발견 사항에 적합할 수 있지만 작업에도 영향을 줄 수 있습니다. 조사에서 수집한 정보를 신중하게 평가하여 발견 항목을 해결할 최선의 방법을 결정해야 합니다.
- 외부 역할 부여가 발생한 프로젝트 또는 리소스의 소유자에게 문의하여 액세스가 승인되었는지 확인합니다.
- 외부 주 구성원에서 승인되지 않은 IAM 역할 바인딩을 취소합니다.
- 역할을 부여한 계정 (
principalEmail)이 침해된 경우 액세스 권한을 취소하거나 침해된 서비스 계정을 삭제하고 키를 순환합니다. - 리소스에 외부 주 구성원을 추가하는 것을 제한하려면 도메인 제한 공유 조직 정책 제약조건을 사용합니다.
대응 권장사항은 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": "Persistence: External Access Granted to Gemini Discovery Engine API Apps", "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": "cloudresourcemanager.googleapis.com", "methodName": "SetIamPolicy", "principalSubject": "user:PRINCIPAL_EMAIL" }, "mitreAttack": { "primaryTactic": "PERSISTENCE", "primaryTechniques": [ "ADDITIONAL_CLOUD_ROLES", "ACCOUNT_MANIPULATION" ], "additionalTactics": [ "PRIVILEGE_ESCALATION" ] }, "iamBindings": [ { "action": "ADD", "role": "roles/discoveryengine.agentspaceUser", "member": "user:EXTERNAL_USER_EMAIL" } ], "parentDisplayName": "Event Threat Detection", "domains": [ { "category": "AI" }, { "category": "IDENTITY_AND_ACCESS" } ], "logEntries": [ { "cloudLoggingEntry": { "insertId": "INSERT_ID", "logId": "cloudaudit.googleapis.com/activity", "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": "granting_external_access_to_gemini_enterprise_ai_apps" }, "detectionPriority": "MEDIUM", "affectedResources": [ { "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/activity" } } ], "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1098/003/" }, "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" }, { "category": "IDENTITY_AND_ACCESS" } ] } }
다음 단계
- Security Command Center에서 위협 발견 사항 작업 방법 알아보기
- 위협 발견 사항 색인 참고
- Google Cloud 콘솔을 통해 발견 사항을 검토하는 방법 알아보기
- 위협 발견 사항을 생성하는 서비스 알아보기