지속성: 새로운 지역

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

개요

프로젝트 수준의 활성화에는 이 발견 항목을 사용할 수 없습니다.

IAM 사용자 또는 서비스 계정이 요청 IP 주소의 위치정보를 토대로 비정상적인 위치에서 Google Cloud에 액세스합니다.

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

대응 방법

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

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

  1. 이 페이지 앞부분의 발견 항목 세부정보 검토에 설명된 대로 Persistence: New Geography 발견 항목을 엽니다. 발견 항목의 세부정보 패널의 요약 탭이 열립니다.

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

  • 특히 다음 필드를 포함하는 감지된 항목:
    • 주 구성원 이메일: 잠재적으로 도용된 사용자 계정
  • 특히 다음 필드를 포함하는 영향을 받는 리소스:
    • 프로젝트 전체 이름: 잠재적으로 도용된 사용자 계정을 포함하는 프로젝트
  • 특히 다음 필드를 포함하는 관련 링크:
    • Cloud Logging URI: Logging 항목의 링크
    • MITRE ATT&CK 메서드: MITRE ATT&CK 문서의 링크
    • 관련 발견 사항: 모든 관련 발견 사항의 링크
  1. 발견 항목의 세부정보 보기에서 JSON 탭을 클릭합니다.
  2. JSON에서 다음 sourceProperties 필드를 확인합니다.

    • affectedResources:
      • gcpResourceName: 영향을 받는 리소스
    • evidence:
      • sourceLogId:
      • projectId: 허브가 포함된 프로젝트의 ID
    • properties:
      • anomalousLocation:
      • anomalousLocation: 사용자의 현재 예상 위치
      • callerIp: 외부 IP 주소
      • notSeenInLast: 정상 동작의 기준을 설정하는 데 사용되는 기간
      • typicalGeolocations: 사용자가 일반적으로Google Cloud 리소스에 액세스하는 위치입니다.

2단계: 프로젝트 및 계정 권한 검토하기

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동

  2. 필요한 경우 발견 항목 JSON의 projectID 필드에 나열된 프로젝트를 선택합니다.

  3. 표시되는 페이지의 필터 상자에서 주 구성원 이메일에 나열된 계정 이름을 입력하고 부여된 역할을 확인합니다.

3단계: 로그 확인하기

  1. 발견 사항 세부정보 패널의 요약 탭에서 Cloud Logging URI 링크를 클릭하여 로그 탐색기를 엽니다.
  2. 필요한 경우 프로젝트를 선택합니다.
  3. 로드되는 페이지에서 다음 필터를 사용하여 새 IAM 리소스 또는 업데이트된 IAM 리소스의 활동 로그를 확인합니다.
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

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

  1. 이 발견 항목 유형의 MITRE ATT&CK 프레임워크 항목을 검토합니다. 유효한 계정: 클라우드 계정
  2. 대응 계획을 개발하려면 조사 결과를 MITRE 연구와 결합합니다.

5단계: 대응 구현하기

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

  • 침해된 계정이 있는 프로젝트의 소유자에게 문의하세요.
  • anomalousLocation, typicalGeolocations, notSeenInLast 필드를 검토하여 액세스가 비정상적인지와 계정이 침해되었는지 확인합니다.
  • 익숙하지 않은 Compute Engine 인스턴스, 스냅샷, 서비스 계정, IAM 사용자와 같이 승인되지 않은 계정에 의해 생성된 프로젝트 리소스를 삭제합니다.
  • 새 리소스 생성을 특정 리전으로 제한하려면 리소스 위치 제한을 참조하세요.
  • 과도한 권한이 부여된 역할을 식별하고 수정하려면 IAM 추천자를 사용합니다.

예시 발견 사항 JSON

다음은 발견 항목 JSON의 예시입니다.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resourceName": "//k8s.io/coordination.k8s.io/v1/namespaces/kube-node-lease/leases/gke-cscc-security-tools-default-pool-7c5d7b59-bn2h",
    "state": "ACTIVE",
    "category": "Persistence: New Geography",
    "sourceProperties": {
      "sourceId": {
        "projectNumber": "PROJECT_NUMBER",
        "customerOrganizationNumber": "ORGANIZATION_ID"
      },
      "detectionCategory": {
        "technique": "persistence",
        "indicator": "audit_log",
        "ruleName": "iam_anomalous_behavior",
        "subRuleName": "ip_geolocation"
      },
      "detectionPriority": "LOW",
      "affectedResources": [{
        "gcpResourceName": "RESOURCE_NAME"
      }, {
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }],
      "evidence": [{
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "1617994703",
            "nanos": 5.08853E8
          },
          "insertId": "INSERT_ID"
        }
      }],
      "properties": {
        "anomalousLocation": {
          "anomalousLocation": "BE",
          "callerIp": "IP_ADDRESS",
          "principalEmail": "PRINCIPAL_EMAIL",
          "notSeenInLast": "2592000s",
          "typicalGeolocations": [{
            "country": {
              "identifier": "US"
            }
          }]
        }
      },
      "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\u003dtimestamp%3D%222021-04-09T18:58:23.508853Z%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-04-09T18:59:43.860Z",
    "createTime": "2021-04-09T18:59:44.440Z",
    "severity": "LOW",
    "workflowState": "NEW",
    "canonicalName": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID"
  },
  "resource": {
    "name": "RESOURCE_NAME"
  }
}

다음 단계