이 문서에서는 Security Command Center의 위협 발견 사항 유형에 대해 설명합니다. 위협 발견 사항은 위협 감지기가 클라우드 리소스에서 잠재적인 위협을 감지할 때 생성됩니다. 사용 가능한 위협 발견 사항의 전체 목록은 위협 발견 사항 색인을 확인하세요.
개요
AI 에이전트가 여러 메서드 및 서비스에서 권한 거부됨 오류를 반복적으로 트리거했습니다.
Event Threat Detection이 이 발견 사항의 소스입니다.
대응 방법
이 발견 사항에 대응하려면 다음을 수행하세요.
1단계: 발견 사항 세부정보 검토하기
- 발견 사항 검토의 지시에 따라
Initial Access: AI Agent Identity Excessive Permission Denied Actions발견 사항을 엽니다. 발견 사항 세부정보의 요약 탭에서 다음 필드 값을 확인합니다.
감지된 항목에서 다음을 확인합니다.
- 주 구성원 이메일: 여러 권한 거부 오류를 트리거한 주 구성원입니다.
- 서비스 이름: 마지막 권한 거부 오류가 발생한 Google Cloud 서비스의 API 이름
- 메서드 이름: 마지막 권한 거부 오류가 발생할 때 호출되는 메서드
발견 사항 세부정보의 소스 속성 탭에서 JSON의 다음 필드 값을 확인합니다.
- properties.failedActions: 권한 거부 오류가 발생했습니다. 각 항목의 세부정보에는 서비스 이름, 메서드 이름, 실패한 시도 횟수, 오류가 마지막으로 발생한 시간이 포함됩니다. 최대 10개의 항목이 표시됩니다.
2단계: 로그 확인하기
- Google Cloud 콘솔에서 Cloud Logging URI의 링크를 클릭하여 로그 탐색기로 이동합니다.
- Google Cloud 콘솔 툴바에서 프로젝트를 선택합니다.
로드된 페이지에서 다음 필터를 사용하여 관련 로그를 찾습니다.
protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"protoPayload.status.code=7
PRINCIPAL_EMAIL을 발견 사항 세부정보의 주 구성원 이메일 필드에 기록해 둔 값으로 바꿉니다.
3단계: 공격 및 대응 방법 조사하기
- 이 발견 사항 유형의 MITRE ATT&CK 프레임워크 항목을 검토합니다. 유효한 계정: 클라우드 계정
- 대응 계획을 개발하려면 조사 결과를 MITRE 연구와 결합합니다.
4단계: 대응 구현하기
다음의 응답 계획이 이 발견 사항에 적합할 수 있지만 작업에도 영향을 줄 수 있습니다. 조사에서 수집한 정보를 신중하게 평가하여 발견 사항을 해결할 최선의 방법을 결정해야 합니다.
- 주 구성원 이메일 필드의 계정 소유자에게 문의하세요. 적법한 소유자가 작업을 수행했는지 확인합니다.
- 생소한 Compute Engine 인스턴스, 스냅샷, 서비스 계정, IAM 사용자 등 해당 계정이 만든 프로젝트 리소스를 삭제합니다.
- 해당 계정이 있는 프로젝트 소유자에게 연락하여 계정을 삭제하거나 사용 중지하세요.
예시 발견 사항 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": "Initial Access: AI Agent Identity Excessive Permission Denied Actions", "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", "contacts": { "security": { "contacts": [ { "email": "USER_EMAIL" } ] }, "technical": { "contacts": [ { "email": "USER_EMAIL" } ] } }, "access": { "callerIp": "IP_ADDRESS", "callerIpGeo": { "regionCode": "COUNTRY_CODE" }, "userAgent": "USER_AGENT", "serviceName": "SERVICE_NAME", "methodName": "METHOD_NAME", "principalSubject": "principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID" }, "mitreAttack": { "primaryTactic": "INITIAL_ACCESS", "primaryTechniques": [ "VALID_ACCOUNTS", "CLOUD_ACCOUNTS" ] }, "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/folders/FOLDER_ID", "parentDisplayName": "FOLDER_NAME", "folders": [ { "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_ID", "resourceFolderDisplayName": "FOLDER_NAME" } ], "organization": "organizations/ORGANIZATION_ID" }, "resourcePath": { "nodes": [ { "nodeType": "GCP_PROJECT", "id": "projects/PROJECT_NUMBER", "displayName": "PROJECT_ID" }, { "nodeType": "GCP_FOLDER", "id": "folders/FOLDER_ID", "displayName": "FOLDER_NAME" }, { "nodeType": "GCP_ORGANIZATION", "id": "organizations/ORGANIZATION_ID" } ] }, "resourcePathString": "organizations/ORGANIZATION_ID/folders/FOLDER_ID/projects/PROJECT_NUMBER" }, "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "ruleName": "agent_engine_excessive_failed_attempt" }, "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" } } ], "properties": { "failedActions": [ { "methodName": "METHOD_NAME", "serviceName": "SERVICE_NAME", "attemptTimes": "TIMES", "lastOccurredTime": "TIMESTAMP" }, { "methodName": "METHOD_NAME", "serviceName": "SERVICE_NAME", "attemptTimes": "TIMES", "lastOccurredTime": "TIMESTAMP" } ] }, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1078/004/" }, "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 콘솔을 통해 발견 사항을 검토하는 방법 알아보기
- 위협 발견 사항을 생성하는 서비스 알아보기