권한 에스컬레이션: 권한이 있는 Kubernetes 컨테이너 실행

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

개요

잠재적인 악의적 행위자가 권한이 있는 컨테이너나 권한 에스컬레이션 기능이 있는 컨테이너를 포함하는 포드를 만들었습니다.

권한이 있는 컨테이너에는 privileged 필드가 true로 설정되어 있습니다. 권한 에스컬레이션 기능이 있는 컨테이너에서는 allowPrivilegeEscalation 필드가 true로 설정되어 있습니다. 자세한 내용은 Kubernetes 문서의 SecurityContext v1 코어 API 참조를 확인하세요.

대응 방법

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

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

  1. 발견 항목 검토의 지시에 따라 Privilege Escalation: Launch of privileged Kubernetes container 발견 항목을 엽니다. 발견 항목의 세부정보 패널의 요약 탭이 열립니다.

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

    • 특히 다음 필드를 포함하는 감지된 항목:
      • 주 구성원 이메일: 호출을 수행한 계정입니다.
      • Kubernetes 포드: 권한이 있는 컨테이너가 포함된 새로 만든 포드입니다.
    • 특히 다음 필드를 포함하는 영향을 받는 리소스:
      • 리소스 표시 이름: 작업이 수행된 Kubernetes 클러스터
    • 특히 다음 필드를 포함하는 관련 링크:
      • Cloud Logging URI: Logging 항목의 링크
      • MITRE ATT&CK 메서드: MITRE ATT&CK 문서의 링크
      • 관련 발견 항목: 모든 관련 발견 항목의 링크
  3. JSON 탭에서 발견 항목 필드의 값을 확인합니다.

    • findings.kubernetes.pods[].containers: 포드 내에서 설정된 권한 있는 컨테이너입니다.

2단계: 로그 확인하기

  1. Google Cloud 콘솔의 발견 항목 세부정보 요약탭에서 Cloud Logging URI 필드의 링크를 클릭하여 로그 탐색기로 이동합니다.
  2. 다음 필터를 사용하여 주 구성원이 수행한 다른 작업을 확인합니다.

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

      다음을 바꿉니다.

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

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

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

  1. 이 발견 항목 유형 권한 에스컬레이션의 MITRE ATT&CK 프레임워크 항목을 검토합니다.
  2. 생성된 컨테이너에 호스트 리소스 및 커널 기능에 대한 액세스 권한이 필요한지 확인하세요.
  3. 로그에서 주 구성원에 의한 다른 악성 활동 징후가 있는지 확인합니다.
  4. 주 구성원 이메일이 서비스 계정이 아닌 경우 계정 소유자에게 연락하여 적법한 소유자가 작업을 수행했는지 확인합니다.

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

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

다음 단계