이 페이지에서는 Container Threat Detection 개념과 기능을 개략적으로 설명합니다.
Container Threat Detection이란?
Container Threat Detection은 Container-Optimized OS 노드 이미지의 상태를 지속적으로 모니터링하는 Security Command Center 프리미엄 등급의 기본 서비스입니다. 이 서비스는 런타임 공격을 감지하기 위해 모든 변경사항과 원격 액세스 시도를 거의 실시간으로 평가합니다.
Container Threat Detection은 가장 일반적인 컨테이너 런타임 공격을 감지하고 Security Command Center 및 필요한 경우 Cloud Logging에서 알림을 제공합니다. Container Threat Detection에는 의심스러운 바이너리 및 라이브러리 등 여러 감지 기능이 포함되어 있으며 자연어 처리(NLP)를 사용하여 악성 bash 스크립트를 감지합니다.
Container Threat Detection 작동 방식
Container Threat Detection 감지 계측은 게스트 커널 및 실행된 bash 스크립트에서 하위 수준의 동작을 수집합니다. 다음은 이벤트가 감지될 때의 실행 경로입니다.
Container Threat Detection은 사용자 모드 DaemonSet를 통해 컨테이너를 식별하는 이벤트 정보와 정보를 분석을 위해 감지기 서비스에 전달합니다. 이벤트 컬렉션은 Container Threat Detection이 사용 설정되면 자동으로 구성됩니다.
감시자 DaemonSet는 최선의 방식으로 컨테이너 정보를 전달합니다. Kubernetes 및 컨테이너 런타임이 해당 컨테이너 정보를 제시간에 전송하지 못하면 컨테이너 정보를 보고된 발견 항목에서 삭제할 수 있습니다.
감지기 서비스는 이벤트를 분석하여 이벤트가 이슈를 나타내는지 확인합니다. bash 스크립트 콘텐츠를 NLP와 함께 분석하여 실행된 스크립트가 악성인지 확인합니다.
감지기 서비스가 이슈를 식별한 경우 이슈는 Security Command Center의 발견 항목으로 기록되며 선택적으로 Cloud Logging에 기록됩니다.
- 감지기 서비스가 이슈를 식별하지 않으면 발견 항목 정보는 저장되지 않습니다.
- 커널 및 감지기 서비스의 모든 데이터는 일시적이며 영구적으로 저장되지 않습니다.
Security Command Center 대시보드에서 발견 항목 세부정보를 확인하고 발견 항목 정보를 조사할 수 있습니다. 발견 항목 및 로그를 보고 수정하는 기능은 사용자에게 부여된 역할에 따라 결정됩니다. Security Command Center 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.
Container Threat Detection 감지기
Container Threat Detection에는 다음과 같은 감지기가 포함됩니다.
감지기 | 설명 | 감지 입력 |
---|---|---|
추가된 바이너리가 실행됨 |
원본 컨테이너 이미지에 포함되지 않은 바이너리가 실행되었습니다. 추가된 바이너리가 공격자에 의해 실행되면 공격자가 워크로드를 제어하고 임의의 명령어를 실행하고 있다는 신호일 수 있습니다. |
감지기는 원본 컨테이너 이미지에 포함되지 않았거나 원본 컨테이너 이미지에서 수정된 실행 중인 바이너리를 찾습니다. |
추가된 라이브러리가 로드됨 |
원본 컨테이너 이미지에 포함되지 않은 라이브러리가 로드되었습니다. 추가된 라이브러리가 로드된 경우 공격자가 워크로드를 제어하고 임의의 코드를 실행하고 있다는 신호일 수 있습니다. |
감지기는 원본 컨테이너 이미지의 일부가 아니거나 원본 컨테이너 이미지에서 수정된 로드 중인 라이브러리를 찾습니다. |
실행: 추가된 악성 바이너리 실행됨 |
다음 조건을 충족하는 바이너리가 실행되었습니다.
추가된 악성 바이너리가 실행되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
감지기는 원본 컨테이너 이미지에 포함되지 않았고 위협 인텔리전스에 따라 악성으로 식별된 실행 중인 바이너리를 찾습니다. |
실행: 추가된 악성 라이브러리가 로드됨 |
다음 조건을 충족하는 라이브러리가 로드되었습니다.
추가된 악성 라이브러리가 로드되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
감지기는 원본 컨테이너 이미지에 포함되지 않았고 위협 인텔리전스에 따라 악성으로 식별된 로드 중인 라이브러리를 찾습니다. |
실행: 기본 제공되는 악성 바이너리가 실행됨 |
다음 조건을 충족하는 바이너리가 실행되었습니다.
기본 제공 악성 바이너리가 실행되는 경우 이는 공격자가 악성 컨테이너를 배포하고 있다는 신호입니다. 공격자가 합법적인 이미지 저장소나 컨테이너 빌드 파이프라인을 제어하여 악성 바이너리를 컨테이너 이미지에 삽입했을 수 있습니다. |
감지기는 원본 컨테이너 이미지에 포함되어 있고 위협 인텔리전스에 따라 악성으로 식별된 실행 중인 바이너리를 찾습니다. |
실행: 수정된 악성 바이너리 실행됨 |
다음 조건을 충족하는 바이너리가 실행되었습니다. 수정된 악성 바이너리가 실행되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
감지기는 컨테이너 이미지에 원래 포함되었지만 런타임 중에 수정되었고 위협 인텔리전스에 따라 악성으로 식별된 실행 중인 바이너리를 찾습니다. |
실행: 수정된 악성 라이브러리가 로드됨 |
다음 조건을 충족하는 라이브러리가 로드되었습니다. 수정된 악성 라이브러리가 로드되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
감지기는 컨테이너 이미지에 원래 포함되었지만 런타임 중에 수정되었고 위협 인텔리전스에 따라 악성으로 식별된 로드 중인 라이브러리를 찾습니다. |
악성 스크립트가 실행됨 | 머신러닝 모델에서 실행된 bash 스크립트를 악성으로 식별했습니다. 공격자는 bash 스크립트를 사용하여 도구나 기타 파일을 외부 시스템에서 손상된 환경으로 전송하고 바이너리 없이 명령어를 실행할 수 있습니다. | 감지기는 NLP 기법을 사용하여 실행된 bash 스크립트의 콘텐츠를 평가합니다. 이 방법은 서명을 기반으로 하지 않기 때문에 감지기가 알려진 및 알려지지 않은 악성 스크립트를 식별할 수 있습니다. |
악성 URL 관찰 | Container Threat Detection이 실행 중인 프로세스의 인수 목록에서 악성 URL을 관찰했습니다. | 감지기는 Google 세이프 브라우징 서비스에서 유지보수되는 안전하지 않은 웹 리소스 목록을 기준으로 사용해서 실행 중인 프로세스의 인수 목록에서 관찰된 URL을 확인합니다. URL이 피싱 또는 멀웨어로 잘못 분류되면 잘못된 데이터 보고의 세이프 브라우징에 이를 보고합니다. |
역방향 셸 |
원격으로 연결된 소켓에 대한 스트림 리디렉션으로 프로세스가 시작되었습니다. 역방향 셸을 사용하면 공격자는 손상된 워크로드에서 공격자가 제어하는 머신으로 통신할 수 있습니다. 그런 다음 공격자는 워크로드를 명령하고 제어하여 봇넷의 일부로 원하는 작업을 수행할 수 있습니다. |
감지기는 원격 소켓에 결합된 stdin 을 찾습니다.
|
예기치 않은 하위 셸 |
일반적으로 셸을 호출하지 않는 프로세스로 인해 셸 프로세스가 생성되었습니다. |
감지기는 모든 프로세스 실행을 모니터링합니다. 셸이 호출될 때 감지기는 상위 프로세스가 일반적으로 셸을 호출하지 않는 것으로 알려진 경우에 발견 항목을 생성합니다. |
다음 단계
- Container Threat Detection 사용 알아보기
- Container Threat Detection 테스트 알아보기
- 위협에 대한 대응 계획을 조사하고 개발하는 방법 알아보기
- Artifact Analysis 및 취약점 스캔 알아보기