개요
Cloud 감사 로그는 고객이 규정 준수 및 보안 요구사항을 충족하도록 지원함으로써 Google Cloud에서 중요한 역할을 합니다. Cloud Logging에 최근 추가된 기능인 Log Analytics는 SQL의 힘을 사용하여 쿼리 시간에 로그를 검색, 집계, 변환하는 새로운 기능을 제공합니다. Community Security Analytics 의 사전 정의된 쿼리와 함께 Log Analytics를 사용하면 Cloud 감사 로그에서 실행 가능한 인사이트를 그 어느 때보다 쉽게 얻을 수 있습니다.
From logs to insights

[그림 1]
- 로그 수집 사용 설정 : Cloud Logging은 기본적으로 추가 비용 없이 모든 관리자 활동 감사 로그를 수집합니다. 사용자는 요구 사항을 충족하기 위해 특정 서비스에 대한 데이터 액세스 감사 로그를 활성화할 수 있습니다.
- 중앙 집중식 로그 저장소로 집계 : 로그 라우터는 규정을 준수하고 안전하며 확장 가능하고 신뢰할 수 있는 로그 수집 및 라우팅 플랫폼을 제공합니다. 전용 로그 버킷에 감사 로그 데이터를 수집하고 중앙 집중식으로 저장함으로써 보안 팀은 여러 프로젝트에서 집계된 감사 로그를 쿼리하여 전체 부서 또는 조직에 필요한 가시성을 확보할 수 있습니다.
- 임시 및 집계된 인사이트로 분석 : 전체 텍스트 검색 색인을 사용하여 임시 쿼리 시간 감사 로그 분석을 지원함으로써 보안 팀은 IP 주소 또는 사용자 이름과 같은 특정 액세스 속성에 대한 로그를 신속하게 검색할 수 있습니다. 조사. 시간이 지남에 따라 감사 로그를 집계하고 필터링하면 액세스 패턴 및 이상에 대한 통찰력을 얻을 수 있습니다. 여기에는 관리자 활동, 사용자 데이터 액세스 또는 네트워크 활동이 포함될 수 있습니다.
- 로그 및 인사이트 시각화 – 시간 경과에 따른 데이터를 시각화하면 더 쉽게 중요한 추세에 대한 인사이트를 얻고 이상 징후를 감지할 수 있습니다.
Community Security Analytics
Log Analytics는 분석을 위해 로그를 다른 도구로 보낼 때 발생하는 많은 운영 및 인프라 오버헤드를 줄이는 데 도움이 될 수 있습니다. 로그는 ‘인플레이스’에서 분석할 수 있으며 최소 지연 시간으로 쿼리 시간에 변환할 수 있습니다. 그러나 어떤 이벤트를 찾아야 하고 어디서 찾을 수 있는지 아는 것은 여전히 어려울 수 있습니다. 여기서 CSA(Community Security Analytics)가 등장합니다.
CSA는 일반적인 클라우드 기반 위협을 감지하는 데 도움이 되는 셀프 서비스 보안 분석용으로 설계된 오픈 소스 쿼리 및 규칙 세트입니다. 사전 구축된 일련의 쿼리를 제공함으로써 CSA는 다양한 유형의 감사 로그 및 해당 스키마에 대해 깊이 알고 있지 않아도 감사 로그에서 통찰력을 얻을 수 있도록 도와줍니다.
Detect suspicious activity based on audit logs
정책 위반 또는 비정상적인 동작에 대한 감사 로그를 쿼리하여 잠재적인 클라우드 기반 위협 또는 잘못된 보안 구성을 식별할 수 있습니다. 이러한 감사 로그의 예는 다음과 같습니다.
- 잠재적으로 도난당한 자격 증명을 나타내는 VPC 서비스 제어 액세스 시도 위반을 보여주는 Policy Denied 감사 로그
- IAM(Identity Access Management)을 통한 잠재적 권한 에스컬레이션 또는 로깅 비활성화를 통한 방어 회피를 보여주는 관리자 활동 감사 로그
- API 남용 가능성 또는 Google Cloud Storage(GCS) 또는 BigQuery와 같은 서비스에서 호스팅되는 데이터 오용 가능성을 보여주는 데이터 활동 감사 로그
예제 #1: SQL을 사용하여 위협 탐지

[그림 2] Log Analytics에서 SQL을 사용하여 감사 로그를 기반으로 위협 감지
이 쿼리는 서비스 계정을 가장하거나 해당 서비스 계정에 대한 키를 생성할 수 있는 승인되지 않은 ID에 민감한 서비스 계정에 부여된 권한을 검색합니다. 악의적인 사용자나 일반 사용자가 이 작업을 수행했는지 여부에 관계없이 이 잠재적 위협에 플래그를 지정하고 수정해야 합니다.
이 쿼리는 서비스 계정 리소스 수준이나 상위 프로젝트, 폴더 또는 조직 수준에서 직접 추가할 수 있는 IAM 정책 바인딩을 설명합니다. 이 쿼리에는 승인된 ID(또는 피부여자)를 제외할 수 있는 제외도 포함됩니다.
예를 들어 SRE(Site Reliability Engineer)가 중단에서 복구하기 위해 프로덕션 서비스 계정에 대한 임시 액세스 권한을 부여받는다고 가정합니다. 이는 승인된 유리 깨기 절차의 일부이므로 그러한 행동을 위협으로 표시하고 잠재적으로 운영자의 액세스 권한을 취소하여 대응하는 것을 원하지 않을 것입니다. 개발자 프로젝트의 계정과 같이 민감하지 않은 서비스 계정을 필터링하거나 특정 기간(예: 이전 24시간)에 집중하도록 쿼리를 더 세분화할 수 있습니다.
Log Analytics를 사용하면 위협 및 정책 드리프트를 감지하는 중요 규칙을 만드는 강력하고 유연한 방법을 제공합니다.
예 #2: SQL 통계 분석을 사용하여 이상 항목 식별

[그림 3] Log Analytics에서 SQL을 사용하여 감사 로그를 기반으로 이상 항목 찾기
이 쿼리는 지난 주의 특정 날짜에 보안 주체의 비정상적으로 높은 API 사용량을 식별하여 잠재적인 API 남용 또는 스캐닝 및 열거 공격을 나타냅니다. 다시 말하지만, 그러한 잠재적인 위협은 표시되고 해결되어야 합니다.
이 쿼리는 모든 감사 로그를 기반으로 각 보안 주체가 매일 수행하는 API 작업 수를 계산합니다. 집계 함수를 사용하여 주체당 일일 수를 계산할 뿐만 아니라 최대 90일 전환 확인 기간(사용자 구성 가능)까지 이전 일일 수를 다시 살펴봄으로써 이러한 ID당 롤링 일일 평균 수와 표준 편차도 계산합니다. 이 쿼리에는 무해하거나 자세한 API 작업을 무시할 수 있는 제외도 포함됩니다. 기본적으로 이 쿼리 논리는 임의의 보안 주체의 일일 작업 수가 평균(해당 보안 주체에 대한)보다 표준 편차의 두 배 이상 높은 모든 인스턴스를 비정상적인 활동으로 간주합니다.
그림을 보면, 테스트 환경에서 Compute Engine 기본 서비스 계정이 하루(2023년 2월 7일)에 515개의 작업을 실행한 이상 현상을 감지했습니다. 이 인스턴스를 조사하고 실제로 악의적인 활동이 있는지 확인하는 데 도움이 되도록 이 쿼리는 그날 수행된 특정 작업도 보고합니다.
Log Analytics로 검색할 수 있는 다른 많은 보안 위협이 있습니다. 다음은 몇 가지 예입니다.
- 내 VPC 서비스 제어를 위반하는 액세스 시도가 있습니까? ( CSA 1.10 )
- 높은 권한을 가진 Google 그룹에 추가된 사용자가 있습니까? ( CSA 2.02 )
- 민감한 서비스 계정에 부여된 권한이 있습니까? ( CSA 2.20 )
- 내 로깅 설정이 변경되었습니까? ( CSA 3.01 )
- 매우 큰 스캔을 수행하는 BigQuery 쿼리가 있습니까? ( CSA 5.07 )
Visualize audit logs using Looker Studio
Looker Studio는 BigQuery에 저장된 데이터에 대한 차트 작성 및 대시보드 기능을 제공하는 도구입니다. 아래의 Data Access Audit Log Trends 대시보드는 IP, 사용자 주체, 방법 및 서비스별 로그 추세에 대한 인사이트를 제공합니다. Looker Studio report gallery에서 Log Analytics에 저장된 데이터 액세스, 관리 작업, 정책 거부 및 시스템 이벤트에 대한 Looker Studio 템플릿을 찾을 수 있습니다.

[그림 4]
Visualize audit logs using Looker
Looker는 데이터 모델링 및 분석 기능을 제공하는 고급 데이터 분석 플랫폼입니다. Looker의 가장 강력한 기능 중 하나는 사전 구축된 데이터 모델을 제공하는 Looker 블록으로 구동되는 데이터 모델링으로, 더 빠르게 시작하고 최적화된 SQL과 내장된 대시보드를 제공합니다. Looker를 사용하는 경우 Log Analytics 블록을 사용하여 감사 로그를 분석할 수 있습니다.
예를 들어 아래의 데이터 액세스 대시보드는 모든 GCP 서비스의 데이터 액세스 감사 로그에 대한 개요를 제공합니다. 서비스 및 사용자별 액세스 분석( CSA 5.* 참조) 외에도 이 대시보드에는 이 데이터 액세스 트래픽의 소스 및 상대적 볼륨을 나타내는 지리적 열 지도가 포함되어 있습니다.

[그림 5] 로그를 기반으로 서비스, 사용자, 원본별 데이터 액세스 트래픽 분석
또 다른 예는 최근 특정 사용자의 비정상적으로 높은 API 사용량을 강조 표시하는 ‘비정상적인 API 사용량’ 대시보드입니다. 이 대시보드를 사용하면 샘플 크기와 같은 이상값에 대한 임계값을 결정하기 위한 표준 편차 수를 노출하여 분석의 민감도를 쉽게 조정할 수 있습니다.

[그림 6] 감사 로그를 기반으로 특정 날짜에 보안 주체의 비정상적인 API 사용을 강조 표시합니다.
출처
- https://cloud.google.com/blog/products/identity-security/gleaning-security-insights-from-audit-logs-with-log-analytics?hl=en
- https://cloud.google.com/logging/docs/log-analytics
- https://cloud.google.com/logging/docs/audit
- https://cloud.google.com/blog/products/identity-security/introducing-community-security-analytics?hl=en