Container Threat Detection 개요

이 페이지에서는 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 및 Python 코드를 감지합니다.

Container Threat Detection은 Security Command Center의 프리미엄 등급 또는 Enterprise 등급에서만 사용할 수 있습니다.

Container Threat Detection 작동 방식

Container Threat Detection 감지 계측은 게스트 커널 및 실행된 스크립트에서 하위 수준의 동작을 수집합니다. 다음은 이벤트가 감지될 때의 실행 경로입니다.

  1. Container Threat Detection은 DaemonSet 사용자 모드를 통해 컨테이너를 식별하는 정보와 이벤트 정보를 분석을 위해 감지기 서비스로 전달합니다. 이벤트 컬렉션은 Container Threat Detection이 사용 설정되면 자동으로 구성됩니다.

    감시자 DaemonSet는 컨테이너 정보를 최선의 방법으로 전달합니다. Kubernetes 및 컨테이너 런타임이 해당 컨테이너 정보를 시간 내에 전달하지 못할 경우 보고된 발견 항목에서 컨테이너 정보가 삭제될 수 있습니다.

  2. 감지기 서비스는 이벤트를 분석하여 이벤트가 이슈를 나타내는지 확인합니다. NLP와 함께 Bash 및 Python을 분석하여 실행된 코드가 악성인지 확인합니다.

  3. 감지기 서비스가 이슈를 식별한 경우 이슈는 Security Command Center의 발견 항목으로 기록되며 선택적으로 Cloud Logging에 기록됩니다.

    • 감지기 서비스가 이슈를 식별하지 않으면 발견 항목 정보는 저장되지 않습니다.
    • 커널 및 감지기 서비스의 모든 데이터는 일시적이며 영구적으로 저장되지 않습니다.

Security Command Center 콘솔에서 발견 항목 세부정보를 확인하고 발견 항목 정보를 조사할 수 있습니다. 발견 항목 및 로그를 보고 수정하는 기능은 사용자에게 부여된 역할에 따라 결정됩니다. Security Command Center 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.

Container Threat Detection 감지기

Container Threat Detection에는 다음과 같은 감지기가 포함됩니다.

검사 프로그램 설명 감지 입력
추가된 바이너리가 실행됨

원본 컨테이너 이미지에 포함되지 않은 바이너리가 실행되었습니다.

추가된 바이너리가 공격자에 의해 실행되면 공격자가 워크로드를 제어하고 임의의 명령어를 실행하고 있다는 신호일 수 있습니다.

이 감지기는 기본적으로 사용 중지되어 있습니다. 사용 설정 방법에 관한 안내는 Container Threat Detection 테스트를 참고하세요.

감지기는 원본 컨테이너 이미지에 포함되지 않았거나 원본 컨테이너 이미지에서 수정된 실행 중인 바이너리를 찾습니다.
추가된 라이브러리가 로드됨

원본 컨테이너 이미지에 포함되지 않은 라이브러리가 로드되었습니다.

추가된 라이브러리가 로드된 경우 공격자가 워크로드를 제어하고 임의의 코드를 실행하고 있다는 신호일 수 있습니다.

이 감지기는 기본적으로 사용 중지되어 있습니다. 사용 설정 방법에 관한 안내는 Container Threat Detection 테스트를 참고하세요.

감지기는 원본 컨테이너 이미지의 일부가 아니거나 원본 컨테이너 이미지에서 수정된 로드 중인 라이브러리를 찾습니다.
실행: 추가된 악성 바이너리 실행됨

다음 조건을 충족하는 바이너리가 실행되었습니다.

  • 위협 인텔리전스에 따라 악성으로 식별됨
  • 원본 컨테이너 이미지에 포함되지 않음

추가된 악성 바이너리가 실행되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다.

감지기는 원본 컨테이너 이미지에 포함되지 않았고 위협 인텔리전스에 따라 악성으로 식별된 실행 중인 바이너리를 찾습니다.
실행: 추가된 악성 라이브러리가 로드됨

다음 조건을 충족하는 라이브러리가 로드되었습니다.

  • 위협 인텔리전스에 따라 악성으로 식별됨
  • 원본 컨테이너 이미지에 포함되지 않음

추가된 악성 라이브러리가 로드되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다.

감지기는 원본 컨테이너 이미지에 포함되지 않았고 위협 인텔리전스에 따라 악성으로 식별된 로드 중인 라이브러리를 찾습니다.
실행: 기본 제공되는 악성 바이너리가 실행됨

다음 조건을 충족하는 바이너리가 실행되었습니다.

  • 위협 인텔리전스에 따라 악성으로 식별됨
  • 원본 컨테이너 이미지에 포함됨

기본 제공 악성 바이너리가 실행되는 경우 이는 공격자가 악성 컨테이너를 배포하고 있다는 신호입니다. 공격자가 합법적인 이미지 저장소나 컨테이너 빌드 파이프라인을 제어하여 악성 바이너리를 컨테이너 이미지에 삽입했을 수 있습니다.

감지기는 원본 컨테이너 이미지에 포함되어 있고 위협 인텔리전스에 따라 악성으로 식별된 실행 중인 바이너리를 찾습니다.
실행: 컨테이너 이스케이프

컨테이너 내에서 컨테이너의 격리를 벗어나려고 시도하는 프로세스가 실행되어 공격자가 호스트 시스템에 액세스할 수 있었습니다.

컨테이너 이스케이프 시도가 감지되면 공격자가 취약점을 악용하여 컨테이너를 탈출하고 있음을 나타낼 수 있습니다. 그 결과 공격자가 호스트 시스템 또는 더 광범위한 인프라에 무단으로 액세스하여 전체 환경을 손상시킬 수 있습니다.

이 감지기는 알려진 이스케이프 기술 또는 바이너리를 사용하는 컨테이너 경계를 악용하려는 프로세스를 모니터링합니다. 이러한 프로세스는 위협 인텔리전스에서 기본 호스트 시스템을 타겟팅하는 잠재적 공격으로 신고합니다.
실행: Kubernetes 공격 도구 실행

Kubernetes 관련 공격 도구가 환경 내에서 실행되었습니다. 이는 공격자가 Kubernetes 클러스터 구성요소를 타겟팅하고 있음을 나타낼 수 있습니다.

공격 도구가 Kubernetes 환경 내에서 실행되면 공격자가 클러스터에 액세스하여 Kubernetes 관련 취약점이나 구성을 악용하는 도구를 사용하고 있을 수 있습니다.

감지기는 실행 중이며 인텔리전스 데이터를 기반으로 잠재적 위협으로 식별된 Kubernetes 공격 도구를 찾습니다. 감지기는 클러스터의 잠재적인 손상을 완화하기 위해 알림을 트리거합니다.
실행: 로컬 정찰 도구 실행

일반적으로 컨테이너 또는 환경과 연결되지 않은 로컬 정찰 도구가 실행되어 내부 시스템 정보를 수집하려는 시도가 있었음을 나타냅니다.

정찰 도구가 실행되면 공격자가 다음 단계를 계획하기 위해 인프라를 매핑하거나 취약점을 식별하거나 시스템 구성에 관한 데이터를 수집하려고 할 수 있습니다.

감지기는 위협 인텔리전스를 통해 식별된 환경 내에서 실행 중인 알려진 정찰 도구를 모니터링합니다. 이는 더 많은 악의적인 활동을 준비하고 있음을 나타낼 수 있습니다.
실행: 악성 Python 실행됨(미리보기)

머신러닝 모델이 지정된 Python 코드를 악성으로 식별했습니다. 공격자는 Python을 사용하여 도구나 기타 파일을 외부 시스템에서 손상된 환경으로 전송하고 바이너리 없이 명령어를 실행할 수 있습니다.

감지기가 NLP 기법을 사용하여 실행된 Python 코드의 콘텐츠를 평가합니다. 이 방법은 서명을 기반으로 하지 않기 때문에 감지기가 알려진 Python과 새로운 Python을 식별할 수 있습니다.
실행: 수정된 악성 바이너리 실행됨

다음 조건을 충족하는 바이너리가 실행되었습니다.

  • 위협 인텔리전스에 따라 악성으로 식별됨
  • 원본 컨테이너 이미지에 포함됨
  • 런타임 중에 원본 컨테이너 이미지에서 수정됨

수정된 악성 바이너리가 실행되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다.

감지기는 컨테이너 이미지에 원래 포함되었지만 런타임 중에 수정되었고 위협 인텔리전스에 따라 악성으로 식별된 실행 중인 바이너리를 찾습니다.
실행: 수정된 악성 라이브러리가 로드됨

다음 조건을 충족하는 라이브러리가 로드되었습니다.

  • 위협 인텔리전스에 따라 악성으로 식별됨
  • 원본 컨테이너 이미지에 포함됨
  • 런타임 중에 원본 컨테이너 이미지에서 수정됨

수정된 악성 라이브러리가 로드되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다.

감지기는 컨테이너 이미지에 원래 포함되었지만 런타임 중에 수정되었고 위협 인텔리전스에 따라 악성으로 식별된 로드 중인 라이브러리를 찾습니다.
악성 스크립트가 실행됨

머신러닝 모델이 지정된 Bash 코드를 악성으로 식별했습니다. 공격자는 Bash를 사용하여 도구나 기타 파일을 외부 시스템에서 손상된 환경으로 전송하고 바이너리 없이 명령어를 실행할 수 있습니다.

감지기는 NLP 기법을 사용하여 실행된 Bash 코드의 콘텐츠를 평가합니다. 이 방법은 서명을 기반으로 하지 않기 때문에 감지기가 알려진 bash 및 새로운 악성 bash를 식별할 수 있습니다.
악성 URL 관찰 Container Threat Detection이 실행 중인 프로세스의 인수 목록에서 악성 URL을 관찰했습니다. 감지기는 Google 세이프 브라우징 서비스에서 유지보수되는 안전하지 않은 웹 리소스 목록을 기준으로 사용해서 실행 중인 프로세스의 인수 목록에서 관찰된 URL을 확인합니다. URL이 피싱 또는 멀웨어로 잘못 분류된 경우 잘못된 데이터 보고에서 이를 보고합니다.
역방향 셸

원격으로 연결된 소켓에 대한 스트림 리디렉션으로 프로세스가 시작되었습니다.

리버스 셸을 사용하면 공격자는 손상된 워크로드에서 공격자가 제어하는 머신으로 통신할 수 있습니다. 그런 다음 공격자가 봇넷의 일부로 워크로드를 명령하고 제어할 수 있습니다.

감지기는 원격 소켓에 결합된 stdin을 찾습니다.
예기치 않은 하위 셸 일반적으로 셸을 호출하지 않는 프로세스로 인해 셸 프로세스가 생성되었습니다. 감지기는 모든 프로세스 실행을 모니터링합니다. 셸이 호출될 때 감지기는 상위 프로세스가 일반적으로 셸을 호출하지 않는 것으로 알려진 경우에 발견 항목을 생성합니다.

다음 단계