Cloud Run Threat Detection은 지원되는 Cloud Run 리소스의 상태를 지속적으로 모니터링하여 가장 일반적인 런타임 공격을 감지하는 Security Command Center의 기본 제공 서비스입니다. Cloud Run Threat Detection에서 공격을 감지하면 Security Command Center에 거의 실시간으로 발견 항목이 생성됩니다.
Cloud Run 위협 감지 런타임 감지기는 의심스러운 바이너리 및 라이브러리에 대한 Cloud Run 리소스를 모니터링하고 자연어 처리 (NLP)를 사용하여 악성 Bash 및 Python 코드를 감지합니다.
또한 Event Threat Detection을 통해 제어 플레인 감지기를 사용할 수 있습니다. 이러한 감지기는 조직 또는 프로젝트의 Cloud Logging 스트림을 모니터링하여 Cloud Run 리소스의 제어 플레인에 대한 잠재적 공격을 감지합니다.
지원되는 리소스
Cloud Run Threat Detection은 다음 리소스를 모니터링합니다.
지원되는 실행 환경
지원되는 실행 환경은 런타임 감지기와 컨트롤 플레인 감지기에 따라 다릅니다.
런타임 감지기의 지원되는 실행 환경
Cloud Run Threat Detection 런타임 감지기는 2세대 실행 환경에서 실행되는 Cloud Run 리소스만 지원합니다. Cloud Run Threat Detection을 사용 설정하기 전에 다음 사항을 고려하세요.
Cloud Run 위협 감지를 사용 설정하면 1세대 실행 환경에서 실행되는 Cloud Run 서비스 또는 서비스 버전을 만들 수 없습니다. Cloud Run 서비스는 2세대 실행 환경을 사용해야 합니다. Cloud Run Threat Detection을 사용 설정하기 전에 2세대 실행 환경에서 워크로드를 테스트하는 것이 좋습니다.
서비스에 런타임 위협 감지를 사용 설정하려면 서비스의 실행 환경을 2세대 또는 기본 실행 환경으로 설정하는 버전을 배포합니다.
제어 영역 감지기의 지원되는 실행 환경
컨트롤 플레인 감지기는 1세대 및 2세대 실행 환경을 모두 지원합니다.
Cloud Run Threat Detection 런타임 위협 감지 작동 방식
Cloud Run 위협 감지를 사용 설정하면 지원되는 Cloud Run 리소스에서 원격 분석을 수집하여 런타임 공격을 나타낼 수 있는 프로세스, 스크립트, 라이브러리를 분석합니다. 다음은 이벤트가 감지될 때의 실행 경로입니다.
- Cloud Run Threat Detection은 워처 프로세스를 사용하여 Cloud Run 워크로드의 전체 기간 동안 컨테이너 및 이벤트 정보를 수집합니다. 워처 프로세스가 시작되는 데 최대 20초가 걸릴 수 있습니다.
Cloud Run Threat Detection은 수집된 이벤트 정보를 분석하여 이벤트가 이슈를 나타내는지 확인합니다. NLP를 사용하여 Bash 및 Python 스크립트에서 악성 코드를 분석합니다.
Cloud Run 위협 감지에서 이슈를 식별하면 이슈를 Security Command Center의 발견 항목으로 보고합니다.
Cloud Run Threat Detection이 이슈를 식별하지 못하면 정보가 저장되지 않습니다.
수집된 모든 데이터는 일시적이며 영구적으로 저장되지 않습니다.
Google Cloud 콘솔에서 Cloud Run Threat Detection 발견 항목을 검토하는 방법에 대한 자세한 내용은 발견 항목 검토를 참고하세요.
알려진 문제
- 7일 이상 지속되는 Cloud Run 서비스 또는 작업의 인스턴스는 원격 분석 정보를 전송하지 않습니다.
- Cloud Run 서비스 또는 작업의 실행 중인 인스턴스에서 워처 프로세스가 조기 종료되면 워처 프로세스가 다시 시작되지 않습니다. 인스턴스가 Cloud Run Threat Detection으로 원격 분석 정보를 전송하지 않습니다. Cloud Run 위협 감지 로그가 인스턴스 로그에 없습니다. 워처 프로세스가 중지되었다는 표시기가 없습니다.
검사 프로그램
이 섹션에는 사용 가능한 런타임 및 컨트롤 플레인 감지기가 나와 있습니다. 새로운 클라우드 위협이 등장할 때마다 새로운 감지기가 정기적으로 추가됩니다.
런타임 감지기
Cloud Run Threat Detection에는 다음과 같은 런타임 감지기가 포함됩니다.
표시 이름 | API 이름 | 설명 |
---|---|---|
실행: 추가된 악성 바이너리 실행됨 | CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED |
다음 조건을 충족하는 바이너리가 실행되었습니다.
추가된 악성 바이너리가 실행되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
실행: 추가된 악성 라이브러리가 로드됨 | CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED |
다음 조건을 충족하는 라이브러리가 로드되었습니다.
추가된 악성 라이브러리가 로드되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
실행: 기본 제공되는 악성 바이너리가 실행됨 | CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED |
다음 조건을 충족하는 바이너리가 실행되었습니다.
기본 제공 악성 바이너리가 실행되는 경우 이는 공격자가 악성 컨테이너를 배포하고 있다는 신호입니다. 공격자가 합법적인 이미지 저장소나 컨테이너 빌드 파이프라인을 제어하여 악성 바이너리를 컨테이너 이미지에 삽입했을 수 있습니다. |
실행: 컨테이너 이스케이프 | CLOUD_RUN_CONTAINER_ESCAPE |
알려진 이스케이프 기법 또는 바이너리를 사용하여 컨테이너의 격리를 해제하려고 시도하는 프로세스가 컨테이너 내에서 실행되었습니다. 이 유형의 공격은 공격자가 호스트 시스템에 액세스할 수 있도록 허용할 수 있습니다. 이러한 프로세스는 정보 데이터를 기반으로 잠재적인 위협으로 식별됩니다. 컨테이너 이스케이프 시도가 감지되면 공격자가 취약점을 악용하여 컨테이너를 탈출하고 있음을 나타낼 수 있습니다. 그 결과 공격자가 호스트 시스템 또는 더 광범위한 인프라에 무단으로 액세스하여 전체 환경을 손상시킬 수 있습니다. |
실행: Kubernetes 공격 도구 실행 | CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION |
Kubernetes 관련 공격 도구가 환경 내에서 실행되었습니다. 이는 공격자가 Kubernetes 클러스터 구성요소를 타겟팅하고 있음을 나타낼 수 있습니다. 이러한 공격 도구는 정보 데이터를 기반으로 잠재적 위협으로 식별됩니다. 공격 도구가 Kubernetes 환경 내에서 실행되면 공격자가 클러스터에 액세스하여 Kubernetes 관련 취약점 또는 구성을 악용하는 도구를 사용하고 있을 수 있습니다. |
실행: 로컬 정찰 도구 실행 | CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION |
일반적으로 컨테이너 또는 환경과 연결되지 않은 로컬 정찰 도구가 실행되어 내부 시스템 정보를 수집하려는 시도가 있었음을 나타냅니다. 이러한 정찰 도구는 정보 데이터를 기반으로 잠재적 위협으로 식별됩니다. 정찰 도구가 실행되면 공격자가 다음 단계를 계획하기 위해 인프라를 매핑하거나 취약점을 식별하거나 시스템 구성에 관한 데이터를 수집하려고 할 수 있습니다. |
실행: 악성 Python 실행됨(미리보기) | CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED |
머신러닝 모델이 지정된 Python 코드를 악성으로 식별했습니다. 공격자는 Python을 사용하여 도구나 기타 파일을 외부 시스템에서 손상된 환경으로 전송하고 바이너리 없이 명령어를 실행할 수 있습니다. 감지기는 NLP 기법을 사용하여 실행된 Python 코드의 콘텐츠를 평가합니다. 이 방법은 서명을 기반으로 하지 않기 때문에 감지기가 알려진 Python 코드와 새로운 Python 코드를 식별할 수 있습니다. |
실행: 수정된 악성 바이너리 실행됨 | CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED |
다음 조건을 충족하는 바이너리가 실행되었습니다.
수정된 악성 바이너리가 실행되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
실행: 수정된 악성 라이브러리가 로드됨 | CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED |
다음 조건을 충족하는 라이브러리가 로드되었습니다.
수정된 악성 라이브러리가 로드되는 경우 이는 공격자가 워크로드를 제어하고 악성 소프트웨어를 실행하고 있다는 강력한 신호입니다. |
악성 스크립트가 실행됨 | CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED |
머신러닝 모델이 지정된 Bash 코드를 악성으로 식별했습니다. 공격자는 Bash를 사용하여 도구나 기타 파일을 외부 시스템에서 손상된 환경으로 전송하고 바이너리 없이 명령어를 실행할 수 있습니다. 감지기는 NLP 기법을 사용하여 실행된 Bash 코드의 콘텐츠를 평가합니다. 이 방법은 서명을 기반으로 하지 않기 때문에 감지기가 알려진 bash 및 새로운 악성 bash 코드를 식별할 수 있습니다. |
악성 URL 관찰 | CLOUD_RUN_MALICIOUS_URL_OBSERVED |
Cloud Run Threat Detection이 실행 중인 프로세스의 인수 목록에서 악성 URL을 관찰했습니다. 감지기는 Google 세이프 브라우징 서비스에서 유지보수되는 안전하지 않은 웹 리소스 목록을 기준으로 사용해서 실행 중인 프로세스의 인수 목록에서 관찰된 URL을 확인합니다. URL이 피싱 사이트 또는 멀웨어로 잘못 분류된 경우 잘못된 데이터 보고에서 이를 보고합니다. |
역방향 셸 | CLOUD_RUN_REVERSE_SHELL |
원격으로 연결된 소켓에 대한 스트림 리디렉션으로 프로세스가 시작되었습니다. 감지기는 원격 소켓에 결합된 리버스 셸을 사용하면 공격자는 손상된 워크로드에서 공격자가 제어하는 머신으로 통신할 수 있습니다. 그런 다음 공격자가 봇넷의 일부로 워크로드를 명령하고 제어할 수 있습니다. |
예기치 않은 하위 셸 | CLOUD_RUN_UNEXPECTED_CHILD_SHELL |
일반적으로 셸을 호출하지 않는 프로세스로 인해 셸 프로세스가 생성되었습니다. 감지기는 모든 프로세스 실행을 모니터링합니다. 셸이 호출될 때 감지기는 상위 프로세스가 일반적으로 셸을 호출하지 않는 것으로 알려진 경우에 발견 항목을 생성합니다. |
제어 영역 감지기
Event Threat Detection을 통해 다음과 같은 제어 플레인 감지기를 사용할 수 있습니다. 이러한 감지기는 기본적으로 사용 설정되어 있습니다. 이러한 감지기는 다른 Event Threat Detection 감지기를 관리하는 것과 동일한 방식으로 관리합니다. 자세한 내용은 Event Threat Detection 사용을 참고하세요.
표시 이름 | API 이름 | 로그 소스 유형 | 설명 |
---|---|---|---|
영향: 암호화폐 채굴 명령어 (미리보기) | CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS |
Cloud 감사 로그: IAM 시스템 이벤트 감사 로그 |
실행 중에 특정 암호화폐 채굴 명령어가 Cloud Run 작업에 연결되었습니다. |
실행: 암호화폐 채굴 Docker 이미지 (미리보기) | CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES |
Cloud 감사 로그: IAM 시스템 이벤트 감사 로그 |
알려진 특정 잘못된 Docker 이미지가 새 Cloud Run 서비스 또는 기존 Cloud Run 서비스/작업에 연결되었습니다. |
권한 에스컬레이션: 기본 Compute Engine 서비스 계정 SetIAMPolicy(미리보기) | CLOUD_RUN_SERVICES_SET_IAM_POLICY |
Cloud 감사 로그: 관리자 활동 로그 |
Cloud Run 서비스의 IAM 정책을 설정하는 데 기본 Compute Engine 서비스 계정이 사용되었습니다. 이는 서버리스 서비스에서 Compute Engine 토큰이 손상된 경우 취할 수 있는 악용 후 조치입니다. |
다음 단계
- Cloud Run Threat Detection 사용 방법 알아보기
- Event Threat Detection 사용 방법 알아보기