[Google Cloud 보안 운영 시리즈 ] 클라우드 자산을 보호하는 Security Command Center
Jinwon Seo
Security Specialist
Security Command Center 보안 기능
지난 글에서는 Security Command Center 주요 보안 기능 개요 및 활성화 방안을 살펴보았습니다. 이번에는 Security Command Center가 제공하는 보안 기능을 상세히 알아보겠습니다. Security Command Center가 제공하는 대표적인 기능은 다음과 같습니다.
- Google Cloud 자원의 중앙 집중방식의 가시성 및 제어 확보
- Google Cloud에서 운영하는 자원의 잘못된 구성 및 취약점 찾기
- Google Cloud 자원에서 발생하는 위협 감지
- Google Cloud 환경의 보안 컴플라이언스 규정 준수 및 유지ㅇ
자원의 중앙 집중 방식의 가시성 및 제어 확보
기업 전산 환경에서 어려운 일 하나는 운영 자산 목록을 최신상태로 관리하는 것입니다. 운영하는 서버 및 컴퓨터의 수량, 제품의 도입 시기, 업그레이드 시기 등을 파악하는 것입니다. 전산 환경의 규모가 크고, 많은 이기종 제품을 운영하고 있다면 이 업무는 1-2명이 해결할 수 있는 수준이 아닙니다.
운영 자산의 실제 목록은 정보보안에서도 매우 중요한 기본 자료입니다. 보안은 자산을 위협으로부터 보호하는 행위입니다. 그러므로 자산을 보호하려면 보호 대상을 먼저 목록화하고 개별 자원의 특성을 파악해야 합니다. 그 이후에 자산별 보안 취약점에 대응한다면 보안 정책을 수립하기 매우 용이합니다.
Security Command Center는 Asset Inventory를 활용하여 사용자가 사용하는 자원 목록을 최신상태로 실시간에 가깝게 관리합니다. 자원은 Google Cloud에서 생성하거나 운영하는 모든 컴퓨팅 자원을 말합니다. VPC 네트워크, GCE(Google Compute Engine), 네트워크 로드 밸런서와 NAT를 위해 설정한 대표 IP 등이 모두 자원입니다. Security Command Center는 Google Cloud내에서 사용자가 생성한 자원을 유형별 또는 프로젝트별로 자동으로 구분하여 보여줍니다.
예시 그림에서는 IP 주소인 Address 자원을 확인할 수 있습니다. 자원 이름, 자원 소유자, 생성 시간과 수정 시간을 필드에서 확인할 수 있습니다. 자원 유형별로 필드 구성이 다를 수 있습니다. 목록 우측 위를 클릭하여 필드 정보를 수정할 수 있으며, 자원별로 필드를 다르게 설정하거나 모든 자원에 일괄적으로 동일한 설정을 구성할 수 있습니다. 사용자가 자원을 새로 생성하거나 수정하는 경우에도 거의 실시간으로 변경 내역이 Asset Inventory에 반영됩니다.
개별 자원의 잘못된 구성 및 취약점 찾기
사용자가 생성한 자원은 워크로드 실행, 데이터 저장 등 다양한 역할을 수행합니다. 하지만 올바른 구성을 갖지 않는 경우 보안 문제가 발생할 수 있습니다. Security Command Center는 위협 방지를 위해서 Security Health Analytics라는 보안 위협 탐지 기능을 제공합니다. 프리미엄 등급에서는 모든 취약점 탐지를 제공하지만 표준 등급에서는 위험도가 High인 항목만을 점검할 수 있습니다.
Security Health Analytics의 개별 감지기는 Google Cloud에서 운영중인 자원의 위협을 스캔합니다. 스캔은 Security Command Center가 사용 설정된 후 약 1시간 후 시작되며 두 가지 모드(배치 모드, 실시간 모드)로 실행됩니다. 일괄 모드는 매일 2번 12시간 간격으로 자동으로 스캔이 실행되고 실시간 모드는 자원 구성 변경사항이 감지되는 경우 위협 방지 스캔을 실행합니다.
API 접속에 사용하는 키가 90일 동안 변경되지 않았거나 HTTPS 대신 HTTP 로드 밸런서를 사용하거나, 가상머신에 인터넷 IP를 할당하는 등의 Google이 설정한 보안 취약점을 자동으로 점검하고 이를 관리자에게 알립니다. Security Health Analytics의 취약점 발견 항목 전체 목록은 이곳에서 확인할 수 있습니다.
Cloud 자원의 취약점 외에도 Web Security Scanner를 사용하면 클라우드에서 운영하는 웹 애플리케이션의 취약점도 탐지할 수 있습니다. 표준 등급에서는 스캔 대상 URL을 사용자가 직접 등록해야 합니다. 등록후에 스캔 주기를 지정할 수 있습니다. 프리미엄등급에서는 1주일마다 스캔 대상 URL을 자동으로 점검한 후에 취약점 스캔까지 완료합니다.
클라우드 자원의 동작 중 위협 탐지
클라우드 환경의 전체 자원 목록을 확보하고 개별 자원의 취약점을 탐지했습니다. 다음 단계로는 각 자원들이 동작하는 과정에서 발생하는 통신 로그 등을 기반으로 위협을 감지를 수행합니다. 이 기능은 컨테이너 위협 탐지(Container Threat Detection), 이벤트 위협 탐지(Event Threat Detection), 가상머신 위협 탐지(VM Threat Detection), 이상징후 탐지(Anomaly Detection)이 있습니다. 모든 위협 탐지 기능은 프리미엄 등급에서만 동작합니다.
컨테이너 위협 탐지는 Google Kubernetes Engine의 위협을 탐지하는 것입니다. MSA(Micro Service Architecture) 기반에서는 모든 응용 프로그램들이 컨테이너 기반으로 동작합니다. Google Cloud가 생각하는 컨테이너 위협은 로딩된 표준 컨테이너 이외에 별개의 라이브러리, 별개의 바이너리가 컨테이너 환경으로 로딩되는 위협을 탐지합니다. 그리고 컨테이너 환경에서 인터넷으로 리버스 쉘 연결을 맺었거나, 로딩되는 스크립트의 내용을 분석해서 악성 여부를 판별합니다.
컨테이너 위협탐지는 GKE에서만 동작합니다. 그 이유는 GKE가 이러한 위협을 탐지하도록 설계된 COS(Container Optimized OS)라는 특별 운영체제에서 동작하기 때문입니다.
이벤트 위협 탐지는 개별 자원들이 생성하는 로그를 분석해서 위협을 탐지합니다. 예를 들어 DNS 로그는 사용자가 질의한 도메인 명이 로그에 저장됩니다. 만일 사용자가 질의한 도메인이 Security Commnet Center가 보유한 위협 정보 목록에 포함되어 있다면 해당 위협을 탐지합니다.
데이터 유출, 악성 도메인 접근, SSH 브루트포스 등의 위협을 탐지합니다. 전체 목록은 이곳에서 확인하실 수 있습니다.
가상머신 위협 탐지는 클라우드 가상머신에서 동작하는 암호화폐 채굴 프로그램을 탐지합니다. 이를 이용해서 클라우드에서 가장 많은 공격 유형을 차지하고 있는 가상 머신 위협을 신속하게 탐지할 수 있습니다.
클라우드 환경 컴플라이언스 준수 지원
Security Command Center는 사용자가 운영하는 전체 자원의 보안 취약점을 컴플라이언스 관점에서 비교 분석하여 정보를 제공합니다. 지원하는 컴플라이언스는 CIS 1.2/1.1/1.0과 PCI DSS v3.2.1, NIST 800-53과 ISO 27001입니다. Security Command Center는 위협 방지 또는 위협 탐지 항목을 발견했을 때 해당 항목의 개별 보안 규제 준수의 어느 항목에 부합하지 않는지를 확인하여 알려줍니다.
위의 그림은 가상머신에 공인IP를 부여하는 것은 PCI 1.2.1, NIST 800-53의 CA-3과 SC-7에 위반되는 항목임을 보여주고 있습니다. 특히 금융기관에서 많이 사용하는 PCI-DSS 취약점 점검항목은 사용자의 보안 준수 여부를 확인할 수 있습니다.
마치면서
Security Command Center는 Google Cloud의 운영 환경 및 자원 취약점을 검사할 수 있는 보안 도구입니다. 온-프레미스에서는 위협을 탐지하기 위해서 취약점 스캐너, 네트워크 스캐너와 같은 보안 도구를 개별로 운영해야 합니다. 또한 위협 대응을 위해서 로그를 수집하고 분석하는 과정을 거쳐야 합니다.
Google Cloud는 사용자의 편리성과 클라우드 자원의 안전성을 위해서 Security Command Center 운영을 권고드립니다. 자원 변경 추적과 위협 방지는 표준 등급에서도 운영이 되므로 바로 적용해서 사용하시면 보다 안전한 Cloud 환경을 구성하실 수 있습니다.