Kubernetes 클러스터에 대한 경고
Defender for Containers는 K8s(Kubernetes) 컨트롤 플레인 및 워크로드 런타임에 대한 위협에 대한 향상된 경고 기능을 제공합니다. 또한 MDE(엔드포인트용 Microsoft Defender) 및 Microsoft Defender 위협 인텔리전스 K8s 컨테이너와 관련된 위협을 감지하고 Defender 센서와 결합하여 K8s 환경을 보호하기 위해 포괄적이고 실행 가능한 경고에 대한 보강 컨텍스트를 제공합니다.
컨트롤 플레인 검색
Kubernetes에서 컨트롤 플레인은 클러스터 내의 모든 리소스를 관리하고 오케스트레이션합니다. Defender for Containers는 K8s API 서버의 활동을 모니터링하여 전체 클러스터의 보안 및 무결성을 손상시킬 수 있는 컨트롤 플레인의 잠재적 위협을 식별합니다. 서비스 계정의 의심스러운 작업 또는 서비스 노출과 같은 잠재적인 보안 위협을 나타내는 중요한 이벤트가 캡처됩니다.
Defender for Containers에서 캡처한 의심스러운 작업의 예는 다음과 같습니다.
- 권한 있는 컨테이너 배포는 호스트 시스템 내에서 컨테이너에 상승된 권한을 부여하므로 보안 위험이 될 수 있습니다. 권한 있는 컨테이너는 권한 없는 배포, 과도한 권한 사용 및 보안 위반으로 이어질 수 있는 잠재적인 잘못된 구성에 대해 모니터링됩니다.
- 공용 인터넷에 대한 위험한 서비스 노출은 Kubernetes 클러스터를 잠재적인 공격에 노출시킬 수 있습니다. 클러스터는 의도치 않게 노출되거나, 지나치게 허용되는 액세스 제어로 잘못 구성되거나, 적절한 보안 조치가 없는 서비스에 대해 모니터링됩니다.
- 의심스러운 서비스 계정 활동 은 클러스터 내에서 무단 액세스 또는 악의적인 동작을 나타낼 수 있습니다. 클러스터는 과도한 리소스 요청, 무단 API 호출 또는 중요한 데이터에 대한 액세스와 같은 비정상적인 패턴을 모니터링합니다.
워크로드 런타임 검색
Defender for Containers는 Defender 센서를 사용하여 K8s 워크로드 런타임 작업을 모니터링하여 워크로드 프로세스 생성 이벤트를 포함하여 의심스러운 작업을 검색합니다.
의심스러운 워크로드 런타임 작업의 예는 다음과 같습니다.
- 웹 셸 작업 - Defender for Containers는 실행 중인 컨테이너의 활동을 모니터링하여 웹 셸 호출과 유사한 동작을 식별합니다.
- 암호화 마이닝 작업 - Defender for Containers는 의심스러운 다운로드 작업, CPU 최적화, 의심스러운 프로세스 실행 등을 포함하여 실행 중인 컨테이너에서 암호화 마이닝 작업을 식별하기 위해 여러 추론을 사용합니다.
- 네트워크 검색 도구 – Defender for Containers는 악의적인 활동에 사용된 검색 도구의 사용을 식별합니다.
- 이진 드리프트 검색 - 클라우드용 Defender 원래 컨테이너 이미지에서 드리프트된 워크로드 이진 파일의 실행을 식별합니다. 자세한 내용은 이진 드리프트 검색을 참조하세요.
K8s 경고 시뮬레이션 도구
Defender for Containers는 K8s 환경 내에서 다양한 공격 시나리오를 시뮬레이션하여 경고가 생성되도록 하는 도구를 제공합니다. 시뮬레이션 도구는 대상 클러스터 에 공격자 와 피해자라는 두 개의 Pod를 배포합니다. 시뮬레이션 중에 공격자는 실제 기술을 사용하여 피해자를 "공격"합니다.
참고 항목
시뮬레이션 도구는 악의적인 구성 요소를 실행하지 않지만 프로덕션 워크로드 없이 전용 클러스터에서 실행하는 것이 좋습니다.
시뮬레이션 도구는 대상 클러스터에 Helm 차트를 배포하는 Python 기반 CLI를 사용하여 실행됩니다.
시뮬레이션 도구 설치
필수 조건:
대상 클러스터에 대한 관리자 권한이 있는 사용자입니다.
Defender for Containers가 활성화되고 Defender 센서도 설치됩니다. 다음을 실행하여 Defender 센서가 설치되어 있는지 확인할 수 있습니다.
kubectl get ds microsoft-defender-collector-ds -n kube-system
Helm 클라이언트가 로컬 컴퓨터에 설치됩니다.
Python 버전 3.7 이상이 로컬 컴퓨터에 설치됩니다.
대상 클러스터를 가리킵니
kubeconfig
다. Azure Kubernetes Service의 경우 다음을 실행할 수 있습니다.az aks get-credentials --name [cluster-name] --resource-group [resource-group]
다음 명령을 사용하여 시뮬레이션 도구를 다운로드합니다.
curl -O https://raw.githubusercontent.com/microsoft/Defender-for-Cloud-Attack-Simulation/refs/heads/main/simulation.py
시뮬레이션 도구 실행
다음 명령을 사용하여 시뮬레이션 스크립트를 실행합니다.
python simulation.py
시뮬레이션된 공격 시나리오를 선택하거나 모든 공격 시나리오를 한 번에 시뮬레이션하도록 선택합니다. 사용 가능한 시뮬레이션된 공격 시나리오는 다음과 같습니다.
시나리오 | 예상된 경고 |
---|---|
정찰 | 가능한 Web Shell 활동이 검색됨 의심스러운 Kubernetes 서비스 계정 작업이 검색됨 네트워크 검색 도구가 검색됨 |
수평 이동 | 가능한 Web Shell 활동이 검색됨 클라우드 메타데이터 서비스에 대한 액세스가 감지됨 |
비밀 수집 | 가능한 Web Shell 활동이 검색됨 중요한 파일 액세스가 검색됨 가능한 비밀 정찰이 감지됨 |
암호화 마이닝 | 가능한 Web Shell 활동이 검색됨 Kubernetes CPU 최적화 검색됨 액세스된 컨테이너 내의 명령 ld.so.preload 가능한 암호화 광부 다운로드가 감지됨 컨테이너에서 실행되는 드리프트 이진이 검색됨 |
웹 셸 | 가능한 Web Shell 활동이 검색됨 |
참고 항목
일부 경고는 거의 실시간으로 트리거되지만 다른 경고는 최대 1시간이 걸릴 수 있습니다.