Blog

침해 조사를 위해 고려해야 할 클라우드 플랫폼 로그 구성

David Pany, Caitlin Hanley
May 03, 2023
15 min read
|   Last updated: Jul 27, 2023

날이 갈 수록 더 많은 조직이 클라우드 전환 폭을 넓히고 있습니다. 이처럼 클라우드 활용이 늘고 있음에도 아직 여러 조직이 공격자가 클라우드 환경을 침해할 경우 증거를 찾고 분석하는 조사 방법을 잘 모릅니다. 심한 경우 침해 조사에 필요한 로그를 기록하지 않는 곳도 있습니다. 이처럼 침해 조사를 위한 준비가 되어 있지 않은 조직을 위해 본 포스팅을 준비하였습니다. 이번 포스팅에서 다룰 내용은 클라우드 환경을 대상으로 한 침해 조사를 위해 사전에 고려해야 할 것들입니다. 이 내용은 맨디언트가 실제로 고객의 클라우드 플랫폼에서 수행한 조사 경험을 바탕으로 합니다.

클라우드 기술 구분

클라우드 서비스 제공자에 따라 서비스 이름이 다릅니다. 관련해 구글 클라우드 플랫폼(GCP), AWS, 마이크로소프트 애저가 제공하는 서비스를 구분해 보겠습니다.

 

구분

 

서비스 이름

 

가상 머신

 

GCP Compute Engine Virtual Machine, AWS EC2 Instance, Azure Virtual Machine

 

컨테이너

 

GCP Kubernetes Engine(GKE), AWS Elastic Kubernetes Service, Azure Kubernetes Service

 

서비스리 서비스

 

GCP Cloud Functions, AWS Lambda, Azure Functions

 

데이터베이스 서비스

 

GCP Datastore, GCP Cloud Bigtable, GCP Cloud SQL, AWS DynamoDB, AWS Aurora, AWS Relational Database Service, Azure Database, Azure SQL Database

 

인증 서비스

 

GCP Cloud Identity, Azure Active Directory, AWS Directory Service

 

관리 콘솔

 

GCP Console, Azure Portal, AWS Console

 

생산성 및 협업 서비스

 

Google Workspace, Microsoft 365, Amazon Simple Email Service

 

코드 리포지토리

 

GCP Cloud Source, AWS CodeCommit, Azure Repos

 

로깅 플랫폼

 

GCP Logs Explorer, AWS Athena, Azure Monitor, Microsoft Sentinel, Azure Log Analytics

 

로그 분석 포맷

 

GCP Audit Logs, GCP VPC Flow Logs, AWS CloudTrail, AWS VPC Flow Logs, Azure AD Audit Logs, Azure AD Sign In Logs, Azure Resource Logs, Azure Activity Logs, Azure NSG Flow Logs

 

네트워킹

 

GCP Virtual Private Cloud, AWS Virtual Private Cloud, Azure Virtual Network

 

파일 스토리지

 

GCP Cloud Storage, AWS Simple Storage Solution (S3), Azure Blob Storage

본 포스팅의 내용을 숙지하면 다음과 같은 역량을 쌓을 수 있습니다.

  1. 각 클라우드 사업자의 서비스를 표적으로 하는 공격 기법에 대한 이해
  2. 침해 조사를 위해 검토해야 하는 이벤트 로그 식별
  3. 침해 조사 권장 사항을 참조해 사고 대응 플레이북 개발 및 테스트
  4. 이벤트 로그 체크리스트를 활용한 로깅 검토 및 로깅 표준 정립

참고로 본 포스팅은 포괄적인 내용을 다룹니다. 따라서 세부적인 측면에서 다음과 같은 제약이 있음을 밝힙니다.

  1. 클라우드 환경의 로그는 침해 조사자가 악의적인 활동을 식별하는 데 도움이 될 수 있습니다. 적절한 로그를 참조할 경우 침해 조사의 적시성과 정확성을 높일 수 있습니다.
  2. 본 포스팅에서는 다양한 클라우드 서비스를 예로 듭니다. 각 예는 상세 로그 구현까지 다루지 않습니다. 따라서 더 자세한 내용은 클라우드 사업자에 문의하여 로그 관련 기술적 고려 사항, 구성 및 비용을 확인해야 합니다.
  3. 본 포스팅에서는 다루지 않지만 악의적인 행위를 완화하는데 사용할 수 있는 다양한 구성 방법이 있습니다.

공격 시나리오

1. 유출된 로그인 자격 증명을 이용한 공격(Credential Stuffing)

소개할 시나리오는 공격자가 유출된 클라우드 관리자 계정을 이용한 공격(Credential Stuffing Attack)을 통해 생산성 및 협업 관련 클라우드 서비스에 접근할 수 있는 권한을 획득한 다음 침해 활동을 이어가는 것을 가정한 것입니다. 공격자는 유효한 비밀번호를 찾은 다음 해당 자격 증명을 이용해 클라우드 이메일 서비스에 접근하였습니다. 공격자는 다단계 인증(MFA) 옵션으로 '푸시'를 선택하여 합법적인 사용자에게 승인 요청을 보냅니다. 관리자 권한이 있는 사용자 입장에서 보면 다양한 서비스에 대한 푸시 인증 요청을 처리하는 것이 일상적인 일입니다. 그러다 보니 별다른 의심 없이 공격자가 보낸 푸시 인증 요청을 수락하였고, 공격자를 이를 통해 초기 침투를 위한 발판을 마련합니다. 이 시나리오의 경우 침해 조사가 어떻게 이루어져야 하는지 알아보겠습니다.

조사 대상: 클라우드 이메일 서비스

  1. 클라우드 관리자 계정에 대한 로그인을 분석합니다.
  2. 클라우드 인증 서비스 알림을 분석하여 유출된 계정을 이용한 공격이나 평소와 다른 위치에서 로그인 인증 요청을 하는 것과 같은 위험 패턴을 확인합니다.
  3. 실패한 로그인과 연결된 IP 주소에서 성공적인 로그인을 한 적이 있는지 확인합니다.
  4. 여러 위치의 여러 IP 주소에서 로그인하는 사용자 계정을 확인합니다. 특히 여러 IP 주소로 로그인하는 합법적인 사용자 활동을 식별해야 합니다.
  5. 위협 인텔리전스를 참조해 의심스러운 IP 주소에 대한 맥락 정보(Context)를 보강합니다.
  6. 사용자가 수신한 이메일 인증 정보 탈취 피싱 링크가 있는지 검토합니다. 특히 사용자가 피싱 이메일로 신고한 경우 주의를 기울여야 합니다.
  7. 클라우드 사업자 또는 사용자가 식별한 의심스러운 이메일 관련 알람을 검토합니다.
  8. 사용자 로그인에 대한 클라우드 인증 서비스의 위험 기반 탐지 로그를 검토합니다.

로깅 대상: 클라우드 인증 서비스

  1. 타임스탬프, 사용자 이름, 소스 IP 주소로 사용자 인증을 로그로 남기세요.
  2. MFA 인증 세부 정보를 기록합니다.
  3. 사용 가능할 경우 위험 기반 탐지 기능을 활성화합니다.

2. 정찰

공격자는 클라우드 관리자 자격 증명을 식별하고 인증한 다음 클라우드 관리 콘솔에 로그인하여 사용자가 접근할 수 있는 애플리케이션을 식별합니다.

조사 대상: 클라우드 인증 서비스

  1. 이전에 식별한 의심스러운 소스 IP 주소와 손상된 사용자 계정에 대한 클라우드 관리 콘솔 접속 인증 로그를 분석합니다.
  2. 클라우드 관리 콘솔 액세스 로그를 분석하면 비정상적인 애플리케이션 접근 시도를 식별할 수 있습니다.

로깅 대상: 클라우드 인증 서비스

  1. 타임스탬프, 사용자 이름, 소스 IP 주소로 사용자 인증을 로그로 남기세요.

3. 권한 재구성

공격자는 클라우드 관리자 계정이 클라우드 인증 서비스에 대한 액세스 권한이 있음을 확인하였습니다. 클라우드 인증 서비스를 통해 공격자는 탈취한 권한을 가장 높은 글로벌 관리자 계정으로 변경하고 MFA 요구 옵션을 비활성화하였습니다.

조사 대상: 클라우드 인증 서비스

  1. 비밀번호, 권한, MFA 또는 비밀번호 재설정을 위한 전화번호 같은 연락처 정보 등 사용자 계정의 변경 사항을 분석합니다.
  2. 비활성화된 MFA 요구 옵션 같이 보안 제어가 취약하게 설정된 계정을 분석합니다.
  3. 비활성화된 MFA 요구 사항이나 예기치 않은 사용자 계정에 대한 액세스 등 보안 제어가 취약한 애플리케이션을 분석합니다.
  4. 계정별 MFA 설정을 분석해 비활성화된 MFA, 등록된 여러 MFA 방법, 최근 MFA 구성 변경 또는 정책 등에 대한 변경 같은 이상 징후가 있는지 확인합니다.

로깅 대상: 클라우드 인증 서비스

  1. 인증된 사용자의 모든 클라우드 서비스에 대한 액세스를 로그로 남기세요.
  2. 타임스탬프, 사용자 이름 및 소스 IP 주소 정보를 포함하여 사용자 인증 관련 로그를 남기세요.
  3. 사용자 권한 및 구성 변경 사항에 대한 로그를 남기세요.

4. 하드코딩된 자격 증명 식별하기

공격자는 클라우드 관리 콘솔에서 조직이 사용자 지정 클라우드 애플리케이션을 사용한다는 것을 확인하였습니다. 공격자는 글로벌 관리자 계정으로 클라우드 코드 리포지토리에 접근해 클라우드 애플리케이션 소스 코드를 식별하였습니다. 공격자는 코드에 접근해 애플리케이션 서비스 계정에 대한 일반 텍스트로 하드코딩된 자격 증명을 확인하였습니다.

조사 대상: 클라우드 애플리케이 또는 컨테이너, 클라우드 코드 리포지토리

  1. 애플리케이션 소스 코드에 대한 사용자 액세스를 분석합니다.
  2. 애플리케이션 소스 코드의 생성 및 수정을 분석합니다.
  3. 액세스한 코드를 검토해 자격 증명과 같은 노출된 데이터의 영향을 파악합니다.
  4. 가능할 경우 애플리케이션 관련 파일 및 코드 다운로드와 관련된 로그를 검토합니다.

로깅 대상: 클라우드 인증 서비스, 클라우드 애플리케이션 및 컨테이너, 클라우드 코드 리포지토리

  1. 인증된 사용자의 모든 클라우드 서비스에 대한 액세스 로그를 남기세요.
  2. 애플리케이션 코드에 대한 로그 생성, 수정, 액세스를 로그로 남기세요.
  3. 애플리케이션과 관련된 파일 및 코드 다운로드 로그를 남기세요.
  4. 웹 기반 코드 보기, 다운로드 및 편집 로그를 남기세요.
  5. git 같은 도구를 이용한 코드 관리 및 수정 로그를 남기세요.
  6. 타임스탬프, 사용자 이름, 소스 IP 주소로 사용자 인증에 대한 로그를 남기세요.

5. 로그에서 하드코딩된 자격 증명 확인

공격자는 클라우드 인증 서비스를 통해 관리자가 클라우드 로깅 플랫폼에 액세스할 수 있음을 확인했습니다. 공격자는 클라우드 로깅 플랫폼에 접근해 로그에서 일반 텍스트 자격 증명과 관련된 키워드를 검색하였습니다. 공격자는 이러한 키워드, 특히 데이터베이스 사용자 자격 증명이 포함된 로그를 내보냈습니다.

조사 대상: 클라우드 로깅

  1. 클라우드 로그 수집 플랫폼에 대한 액세스를 분석합니다.
  2. 수행된 로그 쿼리를 분석합니다.
  3. 내보낸 로그를 분석합니다.
  4. 로그 수정 및 삭제를 분석합니다.

로깅 대상: 클라우드 로깅

  1. 로깅 서비스에 대한 로그 인증을 남기세요.
  2. 로그 데이터에 대해 실행된 로그 쿼리 관련 기록을 남기세요.
  3. 로그 데이터 내보내기 기록을 남기세요.
  4. 로그 데이터 수정 및 삭제 기록을 남기세요.

6. 환경 열거

공격자는 클라우드 인증 서비스 애플리케이션으로 돌아와 시스템과 사용자에 대한 정찰을 수행했습니다. 공격자는 시스템과 계정을 포함한 모든 환경 객체를 내보냈습니다.

조사 대상: 클라우드 인증 서비스

  1. 인증 서비스 쿼리 및 조회된 구성에 대한 액세스를 분석합니다.
  2. 내보낸 인증 서비스 및 도메인 데이터를 분석합니다.
  3. 권한 및 보안 매개변수에 대한 인증 서비스 수정을 분석합니다.

로깅 대상: 클라우드 인증 서비스

  1. 인증된 사용자의 모든 클라우드 서비스에 대한 액세스를 로그로 남기세요.
  2. 사용자 권한 및 구성에 대한 변경 사항을 로그로 남기세요.
  3. 내보낸 도메인 데이터를 로그로 남기세요.
  4. 생성된 사용자 계정에 대한 로그를 남기세요.

7. 인프라 생성

공격자는 클라우드 가상 머신 인프로 이동하여 가상 머신을 생성했습니다. 공격자는 애플리케이션 소스 코드에서 이전에 식별한 애플리케이션 서비스 계정에 생성한 가상 머신을 할당했습니다. 공격자는 인터넷에서 원격 데스크톱 프로토콜(RDP) 액세스를 허용하도록 클라우드 네트워크 규칙을 구성하였습니다. 애플리케이션 서비스 계정은 MFA를 요구하지 않습니다. 공격자는 C2(Command & Control) 서버에서 RDP를 통해 가상 머신에 로그인하였습니다.

조사 대상: 가상 머신

  1. 가상 머신 생성 및 수정 이벤트를 분석합니다.
  2. 생성, 삭제, 수정 같은 가상 IP 작업을 분석합니다.
  3. 네트워크 구성 변경 사항을 분석합니다.
  4. 네트워크 제어 수정 사항을 분석합니다.
  5. 시스템 인증 내역을 분석합니다.

로깅 대상: 가상 머신 및 클라우드 네트워킹

  1. 인증, 사용자 활동 및 권한 있는 계정 사용에 대한 표준 엔드포인트 로깅 정책을 따르도록 시스템 이벤트 로그를 구성하세요.
  2. 시작, 일시 중지, 백업, 스냅샷, 생성, 삭제 및 명령 실행 같은 가상 머신 관리 작업을 로그로 남기세요.
  3. 네트워크 구성에 대한 변경 사항을 로그로 남기세요.
  4. 생성, 삭제, 수정 같은 가상 IP 주소 관리 작업에 대한 로그를 남기세요.
  5. 네트워크 플로우 메타 데이터를 로그로 남기세요.

8. 데이터베이스 액세스

공격자는 새로 생성한 가상 머신에 로그인한 상태에서 호스트 이름이 SQLDB01인 데이터베이스 서버를 식별했습니다. 공격자는 애플리케이션 서비스 계정을 사용해 RDP로 접속해 생성한 가상 머신에서 데이터베이스 서버로 측면 이동을 하였습니다.

공격자는 이전에 로그에서 확인한 데이터베이스 사용자 자격 증명을 사용해 클라우드 데이터베이스 서비스 백엔드를 사용하는 데이터베이스에 연결하고 테이블 스키마를 열거하고 'select *' 쿼리를 실행해 데이터를 탐색했습니다.

조사 대상: 클라우드 데이터베이스 서비스

  1. 데이터베이스 인증 로그를 분석해 계정 이름, 기간 또는 인증 소스를 기반으로 예기치 않은 인증을 식별합니다.
  2. '* select' 또는 예기치 않은 데이터에 대한 액세스 같은 정찰 활동과 관련된 쿼리를 분석합니다.
  3. 수정 및 삭제 활동에 대한 쿼리를 분석합니다.

로깅 대상: 클라우드 데이터베이스 서비스

  1. 데이터베이스 사용자 인증 및 소스 네트워크 주소를 로그로 남기세요.
  2. 소스 네트워크 주소와 사용자를 포함한 데이터 액세스 로그를 남기세요.
  3. 소스 네트워크 주소와 사용자를 포함한 데이터 수정 및 삭제 로그를 남기세요.
  4. 데이터 전송 또는 정찰을 식별하는 데 도움이 될 수 있는 오류 및 장기 실행 쿼리에 대한 로그를 남기세요.

9. 네트워크 스캐닝

공격자는 생성한 가상 머신에 로그인한 상태에서 정찰을 수행하며 목표 시스템을 물색했습니다. 공격자는 사용자 지정 포트 검색 유틸리티를 사용해 네트워크에 다른 시스템이 있는지 검색했습니다. 참고로 이 유틸리티는 오픈 SSH, RDP, SMB 포트를 검색했습니다.

조사 대상: 클라우드 가상 머신 및 클라우드 네트워킹

  1. 엔드포인트 포렌식 프로세스를 기반으로 가상 머신의 엔드포인트 아티팩트를 분석합니다.
  2. 내부 네트워크 로그 데이터를 검토해 네트워크 스캔 패턴을 확인합니다.

로깅 대상: 클라우드 가상 머신 및 클라우드 네트워킹

  1. 인증, 사용자 활동, 권한 있는 계정 사용에 대한 표준 엔드포인트 로깅 정책을 따르도록 시스템 이벤트 로그를 구성하세요.
  2. 표준 정책 및 프로세스 일부로 시스템 로그를 SIEM이나 로그 관리 플랫폼으로 전달하세요.
  3. 네트워크 플로우 메타 데이터 로그를 남기세요.

10. 파일 탈취

공격자는 클라우드 파일 스토리지에서 네트워크 공유 파일 서버를 식별했습니다. 공격자는 저장된 파일을 열거한 후 대량 네트워크 파일 전송 유틸리티를 사용해 C2 서버로 복사했습니다.

조사 대상: 클라우드 파일 스토리지

  1. 사용자 계정과 소스 IP 주소로 액세스한 파일을 분석합니다.
  2. 해당 기간 동안 파일 다운로드 횟수가 많은 사용자가 누구인지 분석합니다.
  3. 해당 기간 동안 파일 삭제 횟수가 많은 사용자가 누구인지 분석합니다.

로깅 대상: 클라우드 파일 스토리지 및 클라우드 네트워킹

  1. 사용자 계정, 소스 IP 주소, 타임스탬프와 함께 파일 다운로드 이벤트를 로그로 남기세요.
  2. 네트워크 플로우 메타 데이터 로그를 남기세요.
  3. 사용자 계정, IP 주소, 타임스탬프를 포함하여 파일 생성, 수정, 업로드, 삭제 이벤트를 로그로 기록합니다.
  4. 파일 저장 위치, 폴더, 파일에 대한 API 액세스 로그를 남기세요.
  5. 파일 및 디렉토리 목록 메타 데이터 보기를 로그로 남기세요.

11. 맬웨어 배치

공격자는 파일 서버에 액세스하는 동안 사용자가 열 가능성이 있는 트로이 목마를 포함한 파일을 통해 추가 백도어를 설치하기로 결정하였습니다.

조사 대상: 파일 스토리지

  1. 손상된 계정과 IP 주소에서 파일 업로드, 생성, 수정, 삭제된 것을 분석합니다.
  2. 트로이 목마 파일에 대한 액세스를 분석해 시스템에 대한 추가 조사가 필요한 사용자를 식별합니다.
  3. 안티바이러스 파일로 검사를 합니다.
  4. 격리된 파일을 분석합니다.

로깅 대상: 파일 스토리지

  1. 사용자 인증을 기록합니다.
  2. IP 주소를 포함한 파일 생성, 업로드, 수정, 삭제 이벤트를 로그로 남기세요.
  3. 사용자 계정, 소스 IP 주소, 타임스탬프와 함께 파일 다운로드 이벤트 로그를 남기세요.
  4. 가능한 경우 맬웨어 및 대량 다운로드 등 의심스러운 활동에 대한 알림 사용을 설정합니다.

12. 이메일 탈취

공격자는 관리자 계정의 클라우드 이메일 서비스에 로그인한 상태에서 지난 며칠 간의 메시지를 검색했습니다. 공격자는 'finance' 및 'hr'이라는 이름의 이메일 폴더를 살펴보고 전송된 메시지에서 첨부 파일을 다운로드했습니다.

조사 대상: 클라우드 이메일

  1. 사서함에서 열람한 메시지, 특히 유출된 계정과 IP 주소로 열람한 메시지를 분석합니다.
  2. 사서함에서 다운로드한 첨부 파일을 분석합니다.
  3. 사서함에서 수행한 검색을 분석합니다.

로깅 대상: 협업, 생산성 및 클라우드 이메일

  1. 사서함에 대한 인증 관련 로그를 남기세요.
  2. 이메일 메시지에 대한 액세스 및 보기 로그를 남기세요.
  3. 이메일 첨부 파일 다운로드 및 액세스 로그를 남기세요.
  4. 사서함 검색 기록을 로그로 남기세요.

13. 맬웨어 확산

공격자는 업로드된 트로이 목마 백도어 파일을 협업, 생산성 플랫폼의 파일 공유 서비스를 통해 20여명의 사용자와 공유했습니다.

조사 대상: 협업, 생산성, 클라우드 파일 공유

  1. 알려진 맬웨어를 분석하여 어떤 계정에서 누구와 공유했는지 확인합니다.
  2. 알려진 맬웨어 다운로드를 분석합니다.

로깅 대상: 협업, 생산성, 클라우드 파일 공유

  1. 사용자 계정, IP 주소, 타임스탬프와 함께 파일 생성, 수정, 업로드, 삭제 이벤트를 로그로 남기세요.
  2. 생성, 수정, 업로드, 삭제 이벤트 로그를 남기세요.
  3. 사용자 계정, 소스 IP 주소, 타임스탬프를 포함하여 파일 다운로드 이벤트를 로그로 남기세요.
  4. 위치, 폴더, 파일 권한 변경 사항을 로그로 남기세요.
  5. 파일 저장 위치, 폴더, 파일에 대한 API 액세스 기록을 로그로 남기세요.

14. 사용자 사칭

여러 사용자가 공격자가 탈취한 관리자 계정에 메시지를 보내 파일 공유 링크로 다운로드한 새 문서를 열 때 오류가 발생한다고 문의를 하였습니다. 공격자는 사용자에게 해대아 문서가 합법적인 문서라고 답장을 보냈습니다.

조사 대상: 협업, 생산성, 클라우드 채팅

  1. 침해 계정에서 보낸 채팅 메시지 로그를 분석합니다.
  2. 알려진 악성 IP 주소에서 로그인한 사용자가 보낸 채팅 메시지 로그를 분석합니다.

로깅 대상: 협업, 생산성, 클라우드 채팅

  1. 사용자 계정 및 소스 IP 주소의 인증 로그를 남기세요.
  2. 주고받은 메시지, 수정 및 삭제된 메시지를 로그로 남기세요.
  3. 전송된 파일을 기록하고 검토를 위해 컨텐츠를 저장합니다.

15. 포렌식 방지

마지막으로 공격자는 탐지를 지연시키기 위해 손상된 파일 공유 이메일에 대한 답장을 자동으로 삭제하는 사서함 규칙을 만들었습니다.

조사 단계:

  1. 현재 사사험 규칙 구성을 분석해 활성 사서함 규칙을 식별합니다.
  2. 사서함 규칙 로그를 분석해 공격자가 기존 규칙을 수정했는지 또는 더 이상 필요하지 않은 규칙을 삭제했는지 식별합니다.
  3. 삭제된 폴더에 있는 메시지를 분석합니다.
  4. 영구적으로 삭제된 메시지 로그를 분석합니다.
  5. 보안 도구 또는 e디스커버리 플랫폼 같은 다른 이메일 메시지 저장 위치를 대상으로 분석을 수행합니다.

로깅 대상: 협업, 생산성, 클라우드 이메일

  1. 사서함 규칙 생성, 수정, 삭제에 대한 로그를 남기세요.
  2. 메시지 삭제 로그를 남기세요.

탐지 및 대응

살펴본 가상의 공격 시나리오는 실제 클라우드 환경에서 위협 행위자가 얼마나 빠르게 움직일 수 있는 지를 잘 보여줍니다. 소개한 시나리오의 경우 정보 보안 팀은 일반적으로 도구에서 제공하는 수많은 경보로 인해 우선 순위가 중간 정도 되는 몇 개의 경보만 살펴볼 수 있습니다.

살펴본 가상 시나리오의 경우 여러 헬프데스크 팀원이 의심스러운 파일 공유 사용자의 문의를 받았다는 것에서부터 침해를 의심하게 되었습니다. 헬프데스크 팀은 절차에 따라 정보 보안팀에 해당 사실을 알렸고, 사고 대응 팀은 파일 공유와 관련된 클라우드 파일 공유 플랫폼에 대한 조사를 시작했습니다.

사고 대응 팀은 클라우드 환경에서 유용한 로그가 많다는 것을 알아차렸습니다.

  1. 자격 증명 탈취 및 초기 침해 관련 로그인 시도, 실패, 성공 횟수
  2. 파일 공유 활동
  3. 생성된 사서함 규칙
  4. 클라우드 파일 공유 플랫폼에서 액세스한 파일

소개한 가상 시나리오의 경우 로깅 수준이 높지 않다는 것을 가정했습니다. 이에 따라 위와 같은 로그를 확인할 수 있었지만 '공격자가 이메일 메시지에 액세스하거나 사서함을 동기화했는가?' 같은 질문에 명확히 답할 수 없었습니다. 다행인 것은 사고 대응 팀은 클라우드 로깅 서비스를 기본 라이선스로 이용하다 보니 90일 간의 로그만 확인할 수 있었는데, 그나마 조기에 탐지를 한 것은 행운이었다고 할 수 있습니다.

몇 달 후 침해 사고 사후 검토를 통해 이 조직은 사고 대응 팀이 협업 플랫폼 인증만 검토하고 도메인 인증 로그와 상호 참조와 비교를 하지 않았다는 사실을 깨달았습니다. 즉, 내부 보안 팀은 공격자가 클라우드 환경을 침해하고 가상 머신 생성 및 액세스, 도메인 관리자로 권한 상승, 파일 서버와 상호작용 같은 후속 활동을 수행한 것을 알아채지 못하고 놓친 것입니다. 초기 사고 식별이 클라우드 파일 공유 플랫폼에서 파일을 공유한 후 발생했기 때문에 사고 대응 팀은 협업, 생산성 플랫폼에만 집중해 생긴 일입니다. 몇 달 후 사고 검토 결과 놓친 것이 있음을 파악하였고, 결국 침해 조사를 다시해야 했습니다.

결론

소개한 가상의 시나리오에서 알 수 있듯이 클라우드 인프라와 협업, 생산성 플랫폼 도입이 늘면서 공격자가 데이터를 훔칠 수 있는 공격 표면적(Attack Surface)이 넓어졌습니다. 클라우드 전환은 민첩성, 유연성 같은 이점을 제공하지만 보안 팀 입장에서 모든 클라우드 서비스를 올바르게 구성하는 것이 부담으로 다가오는 것이 현실입니다. 고려해야 할 액세스, 권한 및 보호 구성이 많을 뿐만 아니라 침해 탐지 시 공격을 완벽하게 조사할 수 있는 정도로 로그를 기록하고 관리하는지 확인해야 합니다. 이를 위한 방법 중 하나로 조직에서 사용하는 클라우드 기술을 이해하고 위협 모델링을 수행하는 것을 꼽을 수 있습니다.

맨디언트는 포괄적으로 클라우드 보안을 지원합니다. 더 자세한 내용은 다음 문서를 참조 바랍니다.

중요 공격 경로

다음 다이어그램은 소개한 시나리오에서 공격자가 어떤 경로로 침해를 하였는지를 시각화한 것입니다. 공격자는 클라우드 기술을 사용해 온프레미스 및 외부 환경에 있는 시스템과 상호작용을 하였습니다.

bad logs attack path

인프라 로깅 체크리스트

다음 체크리스트는 클라우드 인프라 로깅 검토 작업을 위해 작성한 것입니다. 로그 유형은 포렌식 조사에서 일반적으로 활용되는 이벤트 로그의 예시입니다.

참조 번호

기술

로그 유형

1.1.1

클라우드 가상 머신

인증, 사용자 활동 및 권한 있는 계정 사용에 대한 표준 엔드포인트 로깅 정책을 따르도록 시스템 이벤트 구성

1.1.2

클라우드 가상 머신

시작, 일시 중지, 백업, 스냅샷, 생성, 삭제 및 명령 실행 같은 가상 머신 관리 작업 기록

1.1.3

클라우드 가상 머신

시스템 로그를 표준 정책 및 프로세스의 일부로 SIME이나 로그 관리 플랫폼에 전달

1.2.1

애플리케이션 또는 기능

소스 IP 주소, 사용된 프로토콜, 요청 매개변수, 응답 상태, 사용자 에이전트, 리퍼러와 응답 크기를 포함하여 애플리케이션에 대한 웹 서버 액세스 기록 및 프록시 또는 로드밸런서로 원본 IP 주소를 덮어쓰지 않는지 확인

1.2.2

클라우드 애플리케이션, 컨테이너, 서버리스

애플리케이션 코드에 대한 로그 생성, 수정, 및 액세스 기록

1.2.4

클라우드 애플리케이션, 컨테이너, 서버리스

사용자 계정, 조회한 정보, 수행한 작업, 액세스한 민감한 데이터를 포함한 애플리케이션 사용자 활동 기록

1.2.5

클라우드 애플리케이션, 컨테이너, 서버리스

시스템 로그를 표준 정책 및 프로세스의 일부로 SIEM 및 로그 관리 플랫폼에 전달

1.3.1

클라우드 데이터베이스 서비스

데이터베이스 사용자 인증 및 원본 네트워크 주소를 기록

1.3.2

클라우드 데이터베이스 서비스

소스 네트워크 주소 및 사용자를 포함한 로그 데이터 액세스 기록

1.3.3

클라우드 데이터베이스 서비스

소스 네트워크 주소 및 사용자를 포함한 로그 데이터 수정 및 삭제 기록

1.3.4

클라우드 데이터베이스 서비스

시스템 로그를 표준 정책 및 프로세스의 일부로 SIME 및 로그 관리 플랫폼에 전달

1.3.5

클라우드 데이터베이스 서비스

데이터 전송 또는 정찰을 나타낼 수 있는 오류 및 장기 실행 쿼리를 기록

1.4.1

클라우드 파일 스토리지

사용자 인증을 기록

1.4.2

클라우드 파일 스토리지

파일 생성, 수정, 업로드 및 삭제 이벤트를 사용자 계정, IP 주소 및 타임스탬프와 함께 기록

1.4.3

클라우드 파일 스토리지

사용자 계정, 소스 IP 주소 및 타임스탬프를 사용하여 파일 다운로드 이벤트 기록

1.4.4

클라우드 파일 스토리지

위치, 폴더, 파일 사용 권한 변경 내역 기록

1.4.5

클라우드 파일 스토리지

파일 저장소 위치, 폴더 및 파일에 대한 API 액세스를 기록

1.4.6

클라우드 파일 스토리지

로그 파일 및 디렉토리 목록 메타 데이터

1.4.7

클라우드 파일 스토리지

사용 가능한 경우 맬웨어 및 대량 다운로드를 포함한 의심스러운 활동에 대한 경고 활성화

1.5.1

클라우드 인증 서비스

타임스탬프, 사용자 이름 및 소스 IP 주소를 사용하여 사용자 인증을 기록

1.5.2

클라우드 인증 서비스

사용자 권한 및 구성에 대한 변경 사항을 기록

1.5.3

클라우드 인증 서비스

생성된 사용자 계정을 기록

1.5.4

클라우드 인증 서비스

성공한 인증과 실패한 인증을 모두 클라우드 관리 플랫폼에 기록

1.5.5

클라우드 인증 서비스

인증된 사용자에 대한 모든 클라우드 서비스에 대한 로그 액세스 기록

1.5.6

클라우드 인증 서비스

내보낸 도메인 데이터 기록

1.5.7

클라우드 인증 서비스

사용 가능한 경우 위험 기반 검색 활성화

1.6.1

클라우드 코드 리포지토리

웹 기반 코드 보기, 다운로드 및 편집을 기록

1.6.2

클라우드 코드 리포지토리

git 같은 도구를 통해 코드 관리, 액세스 및 수정을 기록

1.7.1

클라우드 로깅

로깅 서비스에 대한 로그 인증

1.7.2

클라우드 로깅

로그 데이터에 대해 실행귄 로그 쿼리

1.7.3

클라우드 로깅

로그 데이터 내보내기

1.7.4

클라우드 로깅

로그 수정 및 로그 데이터 삭제

1.8.1

클라우드 네트워킹

네트워크 플로우 메타 데이터 기록

1.8.2

클라우드 네트워킹

네트워크 구성 변경 사항 기록

1.8.3

클라우드 네트워킹

만들기, 삭제, 수정 같은 가상 IP 주소 관리 작업 기록

다음은 협업, 생상성 플랫폼 로깅 체크리스트입니다.

참조 번호

기술

로그 유형

2.1.1

클라우드 이메일

인바운드 및 아웃바운드 이메일 메타 데이터 기록, 최소 세부 정보에 다음이 포함되어야 함

  1. 정보/수신된 타임스탬프
  2. 발송인
  3. 받는 사람
  4. 첨부 파일 이름
  5. 보낸 사람 메일 서버 주소

2.1.2

클라우드 이메일

사서함에 대한 인증 기록

2.1.3

클라우드 이메일

로그 액세스 및 이메일 메시지 보기

2.1.4

클라우드 이메일

이메일 첨부 파일의 로그 다운로드 및 액세스

2.1.5

클라우드 이메일

사서함 규칙 로그 만들기 및 삭제

2.1.6

클라우드 이메일

메시지 삭제 기록

2.1.7

클라우드 이메일

사서함에 대한 사용 권한 및 액세스 구성 변경 내용 기록

2.1.8

클라우드 이메일

사서함의 로그 검색

2.2.1

클라우드 채팅

사용자 계정 및 소스 IP 주소 로그 인증

2.2.2

클라우드 채팅

전송, 수신, 편집, 삭제된 로그 메시지

2.2.3

클라우드 채팅

전송된 파일을 기록하고 검토를 위해 컨텐츠 저장

2.2.4

클라우드 채팅

채팅 플랫폼에 연결된 응용 프로그램에 대한 관련 데이터를 기록

2.3.1

클라우드 파일 공유

사용자 인증 기록

2.3.2

클라우드 채팅

파일 생성, 수정, 업로드 및 삭제 이벤트를 사용자 계정, IP 주소 및 타임스탬프와 함께 기록

2.3.3

클라우드 채팅

사용자 계정, 소스 IP 주소 및 타임스탬프를 사용해 파일 다운로드 이벤트 로그 기록

2.3.4

클라우드 채팅

위치, 폴더, 파일 사용 권한 변경 내용을 기록

2.3.5

클라우드 채팅

파일 저장소 위치, 폴더 및 파일에 대한 API 액세스 기록