이 문서에서는 Security Command Center의 위협 발견 항목 유형에 대해 설명합니다. 위협 발견 항목은 위협 감지기가 클라우드 리소스에서 잠재적인 위협을 감지할 때 생성됩니다. 사용 가능한 위협 발견 항목의 전체 목록은 위협 발견 항목 색인을 참고하세요.
개요
다음을 충족하는 바이너리와 함께 실행된 바이너리:
- 원본 컨테이너 이미지에 포함됨
- 컨테이너 런타임 중에 수정됨
- 위협 인텔리전스를 기반으로 악성으로 식별됨
공격자는 일반적으로 초기 침해 후 악용 도구와 멀웨어를 설치합니다.
대응 방법
이 발견 항목에 대응하려면 다음을 수행하세요.
1단계: 발견 항목 세부정보 검토하기
발견 항목 검토의 지시에 따라
Execution: Modified Malicious Binary Executed
발견 항목을 엽니다. 발견 항목의 세부정보 패널의 요약 탭이 열립니다.요약 탭에서 다음 섹션의 정보를 검토합니다.
- 특히 다음 필드를 포함하는 감지된 항목:
- 프로그램 바이너리: 수정된 바이너리의 절대 경로
- 인수: 수정된 바이너리를 호출할 때 제공되는 인수
- 컨테이너: 영향을 받는 컨테이너의 이름
- 컨테이너 URI: 배포 중인 컨테이너 이미지의 이름
- 특히 다음 필드를 포함하는 영향을 받는 리소스:
- 리소스 전체 이름: 프로젝트 번호, 위치, 클러스터 이름을 포함한 클러스터의 전체 리소스 이름
- 특히 다음 필드를 포함하는 관련 링크:
- VirusTotal 표시기: VirusTotal 분석 페이지 링크
- 특히 다음 필드를 포함하는 감지된 항목:
JSON을 클릭하고 다음 필드를 확인합니다.
sourceProperties
:VM_Instance_Name
: 포드가 실행된 GKE 노드의 이름
2단계: 클러스터 및 노드 검토하기
Google Cloud 콘솔에서 Kubernetes 클러스터 페이지로 이동합니다.
필요한 경우 Google Cloud 콘솔 툴바에서
resource.project_display_name
에 나열된 프로젝트를 선택합니다.발견 항목 세부정보의 요약 탭에서 리소스 전체 이름 행에 나열된 클러스터를 선택합니다. 클러스터 및 해당 소유자의 모든 메타데이터를 확인합니다.
노드 탭을 클릭합니다.
VM_Instance_Name
에 나열된 노드를 선택합니다.세부정보 탭을 클릭하고
container.googleapis.com/instance_id
주석을 확인합니다.
3단계: 포드 검토하기
Google Cloud 콘솔에서 Kubernetes 워크로드 페이지로 이동합니다.
필요한 경우 Google Cloud 콘솔 툴바에서
resource.project_display_name
에 나열된 프로젝트를 선택합니다.필요한 경우 발견 항목 세부정보의 요약 탭에서 리소스 전체 이름 행에 나열된 클러스터와
Pod_Namespace
에 나열된 포드 네임스페이스로 필터링합니다.Pod_Name
에 나열된 포드를 선택합니다. 포드 및 해당 소유자의 모든 메타데이터를 확인합니다.
4단계: 로그 확인하기
Google Cloud 콘솔에서 로그 탐색기로 이동합니다.
필요한 경우 Google Cloud 콘솔 툴바에서
resource.project_display_name
에 나열된 프로젝트를 선택합니다.기간 선택을 원하는 기간으로 설정합니다.
로드되는 페이지에서 다음을 수행합니다.
- 다음 필터를 사용하여
Pod_Name
의 포드 로그를 찾습니다.resource.type="k8s_container"
resource.labels.project_id="resource.project_display_name"
resource.labels.location="location"
resource.labels.cluster_name="cluster_name"
resource.labels.namespace_name="Pod_Namespace"
resource.labels.pod_name="Pod_Name"
- 다음 필터를 사용하여 클러스터 감사 로그를 찾습니다.
logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
resource.type="k8s_cluster"
resource.labels.project_id="resource.project_display_name"
resource.labels.location="location"
resource.labels.cluster_name="cluster_name"
Pod_Name
- 다음 필터를 사용하여 GKE 노드 콘솔 로그를 찾습니다.
resource.type="gce_instance"
resource.labels.instance_id="instance_id"
- 다음 필터를 사용하여
5단계: 실행 중인 컨테이너 조사하기
컨테이너가 계속 실행 중이면 컨테이너 환경을 직접 조사할 수 있습니다.
Google Cloud 콘솔로 이동합니다.
필요한 경우 Google Cloud 콘솔 툴바에서
resource.project_display_name
에 나열된 프로젝트를 선택합니다.Cloud Shell 활성화
를 클릭합니다.
다음 명령어를 실행하여 클러스터의 GKE 사용자 인증 정보를 가져옵니다.
영역 클러스터의 경우:
gcloud container clusters get-credentials cluster_name --zone location --project project_name
리전 클러스터의 경우:
gcloud container clusters get-credentials cluster_name --region location --project project_name
다음을 바꿉니다.
cluster_name
:resource.labels.cluster_name
에 나열된 클러스터location
:resource.labels.location
에 나열된 위치project_name
:resource.project_display_name
에 나열된 프로젝트 이름
수정된 악성 바이너리를 검색합니다.
kubectl cp Pod_Namespace/Pod_Name:Process_Binary_Fullpath -c Container_Name local_file
local_file
을 수정된 악성 바이너리를 저장할 로컬 경로로 바꿉니다.컨테이너 환경에 연결합니다.
kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
이 명령어를 실행하려면 컨테이너의 셸이
/bin/sh
에 설치되어 있어야 합니다.
6단계: 공격 및 대응 방법 조사하기
- 이 발견 항목 유형(인그레스 도구 전송, 기본 API)의 MITRE ATT&CK 프레임워크 항목을 검토합니다.
- VirusTotal 표시기에서 링크를 클릭하여 VirusTotal에서 악성으로 표시된 바이너리의 SHA-256 해시 값을 확인합니다. VirusTotal은 Alphabet 소유 서비스로 잠재적 악성 파일, URL, 도메인 및 IP 주소에 관한 컨텍스트를 제공합니다.
- 대응 계획을 개발하려면 조사 결과를 MITRE 연구 및 VirusTotal 분석과 결합합니다.
7단계: 대응 구현하기
다음의 응답 계획이 이 발견 항목에 적합할 수 있지만 작업에도 영향을 줄 수 있습니다. 조사에서 수집한 정보를 신중하게 평가하여 발견 항목을 해결할 최선의 방법을 결정해야 합니다.
다음 단계
- Security Command Center에서 위협 발견 항목을 사용하는 방법을 알아보세요.
- 위협 발견 항목 색인을 참고하세요.
- Google Cloud 콘솔을 통해 결과를 검토하는 방법을 알아봅니다.
- 위협 결과를 생성하는 서비스에 대해 알아봅니다.