권한 에스컬레이션: 민감한 Kubernetes RBAC 객체 변경

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

개요

권한을 에스컬레이션하기 위해 잠재적 악의적인 행위자가 PUT 또는 PATCH 요청을 사용하여 민감한 cluster-adminClusterRole, RoleBinding, 또는 ClusterRoleBinding 역할 기반 액세스 제어(RBAC) 객체를 수정하려고 시도했습니다.

대응 방법

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

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

  1. 발견 항목 검토의 지시에 따라 Privilege Escalation: Changes to sensitive Kubernetes RBAC objects 발견 항목을 엽니다. 발견 항목의 세부정보 패널의 요약 탭이 열립니다.

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

    • 특히 다음 필드를 포함하는 감지된 항목:
      • 주 구성원 이메일: 호출을 수행한 계정입니다.
      • 메서드 이름: 호출된 메서드
      • Kubernetes 바인딩: 수정된 민감한 Kubernetes 바인딩 또는 ClusterRoleBinding
    • 특히 다음 필드를 포함하는 영향을 받는 리소스:
      • 리소스 표시 이름: 작업이 수행된 Kubernetes 클러스터
    • 특히 다음 필드를 포함하는 관련 링크:
      • Cloud Logging URI: Logging 항목의 링크
      • MITRE ATT&CK 메서드: MITRE ATT&CK 문서의 링크
      • 관련 발견 항목: 모든 관련 발견 항목의 링크
  3. 감지된 항목 섹션에서 Kubernetes 바인딩 행의 바인딩 이름을 클릭합니다. 바인딩 세부정보가 표시됩니다.

  4. 표시된 바인딩에서 바인딩 세부정보를 확인합니다.

2단계: 로그 확인하기

  1. Google Cloud 콘솔의 발견 항목 세부정보 요약탭에서 Cloud Logging URI 필드의 링크를 클릭하여 로그 탐색기로 이동합니다.
  2. 메서드 이름의 값이 PATCH 메서드인 경우 요청 본문을 확인하여 어떤 속성이 수정되었는지 확인하세요.

    update(PUT) 호출에서 전체 객체가 요청에서 전송되므로 변경사항이 명확하지 않습니다.

  3. 다음 필터를 사용하여 주 구성원이 수행한 다른 작업을 확인합니다.

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      다음을 바꿉니다.

    • CLUSTER_NAME: 발견 항목 세부정보의 리소스 표시 이름 필드에서 확인한 값입니다.

    • PRINCIPAL_EMAIL: 발견 항목 세부정보의 주 구성원 이메일 필드에 기록해 둔 값입니다.

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

  1. 이 발견 항목 유형 권한 에스컬레이션의 MITRE ATT&CK 프레임워크 항목을 검토합니다.
  2. 객체의 민감도를 확인하고 수정이 정당한지를 확인하세요.
  3. 바인딩의 경우 제목을 확인하고 제목에 바인딩된 역할이 필요한지 조사할 수 있습니다.
  4. 로그에서 주 구성원에 의한 다른 악성 활동 징후가 있는지 확인합니다.
  5. 주 구성원 이메일이 서비스 계정이 아닌 경우 계정 소유자에게 연락하여 적법한 소유자가 작업을 수행했는지 확인합니다.

    주 구성원 이메일이 서비스 계정(IAM 또는 Kubernetes)인 경우 수정 소스를 확인하여 적법성을 결정합니다.

  6. 대응 계획을 개발하려면 조사 결과를 MITRE 연구와 결합합니다.

다음 단계