본문 바로가기

Security

[이론] Amazon GuardDuty 기본 개념

반응형

안녕하세요 서후아빠입니다. ^_^

이번 세션은 Amazon GuardDuty에 대해서 업무적으로 필요한 최소한의 개념에 대해서 간단히 정리해 보았습니다.

GuardDuty는 탐지기능(차단하지 않음)이 주 기능이며, 탐지된 정보를 Detective에서 분석 및 차단되도록 설정하거나 Lambda를 통하여 자동화 되도록 설정이 필요합니다.


개요

AWS에서 발생하는 데이터 및 AWS 환경에 대해서 분석/처리하여 지속적으로 모니터링하면서 예기치 않게 발생하는 잠재적 무단 활동과 악의적 활동을 탐지합니다.

모든 리전에서 활성화를 권장하며, CloudTrail, VPC Flow Log, DNS Log 등은 활성화하지 않고도 사용할 수 있습니다.

동작 원리

AWS 환경의 권한 Escalation : 노출된 자격 증명 사용 및 악의적인 IP 주소 또는 도메인 문제로 인한 이상한 징후의 접근 및 활동

용어

구분 내용 비고
Accounts Administrator 계정 : 자신과 Member의 GuardDuty 구성과 모니터링 가능
  - Member 초대하여 GuardDuty 활성화하고 자신의 계정에 연결
  - Member 계정은 Max 5,000개
Member 계정 : 자신의 GuardDuty 구성과 모니터링 가능
  - 1개의 Administrator에 대해서만 수락 가능
AWS Organizations 통한 초대/수락 가능
Detector GuardDuty 서비스를 나타내는 객체
Region 종속 (리전별 고유한 32자 영숫자 ID)
 
데이터 원본 머신 러닝 적용하여 수집 (별도로 로그 활성화 하지 않더라도 수집은 가능하나, 세부적인 분석을 위해서 활성화 하는 것을 권고)  
결과 발견된 잠재적인 보안 문제   
억제 규칙 몇 가지 속성을 고유하게 조합하여 결과 범위 제한
Administrator 계정의 규칙은  Member 계정으로 상속, Member 계정은 적용된 규칙 수정 불가능
차단 기능 없음
Trusted IP lists, Threat IP lists import(txt, csv, stix 등) 지원 차단 기능 없음

위협 탐지

탐지 방법

구분 내용 비고
알려진 위협 내/외부 위협정보 소스 활용 
- AWS Security, Commercial feeds, Open source feeds, 고객 제공 정보 등
 
알려지지 않은 위협 비정상 탐지(Anomaly detection)
- 조건 : 7~14일 정도의 학습기간 후, 행동 기준선 설정
- 일상적이지 않은 행위 탐지 : 패턴조사, 변화폭, 머신 러닝(M/L) 기반 분류
- R&D 노력으로 탐지 모델 개발, 테스트, 튜닝 및 검증
 

탐지 유형 : 정찰(시그니처 기반), 인스턴스 침해(행위 기반), Account 침해

위협 탐지 결과 

탐지 결과 형식 (ex : DNS 결과 EC2가 비트코인 관련 도메인과 통신하고 있음)

ThreatPurpose : ResourceTypeAffected / ThreatFamilyName . DetectionMechanism ! Artifact
CryptoCurrency   EC2   BitcoinTool   B   DNS

탐지 결과 세부 정보

구분 내용 비고
Overview 찾기 유형, Finding ID, 심각도(Severity), Region, Count, Account ID, Resource ID, 생성/업데이트 일시  
Resource affected 영향 받는 리소스 세부 정보 (리소스 역할, 리소스 유형)  
Action 결과에 따른 활동 유형에 대한 세부 정보
- network_connection : 원격 호스트~EC2간 네트워크 트래픽 교환 의미
  (방향, 프로토콜, 로컬IP, 차단여부)
- port_probe : 원격 호스트가 EC2 열린 포트 탐색 의미 (로컬IP, 차단여부)
- DNS_request : EC2가 도메인 이름을 쿼리했다 의미 (프로토콜, 차단여부)
- AWS_API_Call : API 호출 의미 (API명, 사용자 Agent, 오류 코드, 서비스 이름)
 
Actor or Target Actor : 의심스러운 활동을 하는 resource (resource 세부 정보)
Target : Actor가 의심스러운 활동한 resource (IP, 도메인)
 
Additional information 위협 목록 이름, Sample, Archived, 비정상, 비정상 Protocol  
Evidence(증거) DNS로그 기반으로 한 검색 결과 (위협 세부 정보, 위협 이름)  
이상 동작 이상 API, 비정상적인 행동 (계정), 비정상적인 동작 (사용자ID)  

탐지 결과 유형

구분 내용 비고
종류 EC2 결과, S3 결과, IAM 결과, K8S 결과, 폐기된 결과  
예시 Trojan:EC2/DropPoint
- 코드 의미 : EC2 인스턴스가 맬웨어를 통해 캡처된 자격 증명 및 기타 도난 데이터를
  보관하고 있는 것으로 알려진 원격 호스트의 IP 주소와 통신을 시도하는 중
- 기본 심각도 : Medium
- 데이터 원본 : VPC 흐름 로그
 

결과 관리

필터링하여 설정 : 억제 규칙, 신뢰할 수 있는 IP 목록, 위협 목록

  - Amazon Athena에서 확인하면 유용

    1) IAM 키 유출 의심되는 경우 : CloudTrail 확인 

    2) EC2가 맬웨어에 감염되어 스팸 메일 발송 의심 : VPC Flow Log 확인하여 SMTP 통신 확인

  - EC2 변경 모니터링 방안 : Trend Micro Deep Security(Agent 방식)를 통하여 변경 모니터링 가능

90일 보관, 90일 이전 결과는 S3로 내보내기
CloudWatch Events(=EventBridge) 이용한 자동 알림, Lambda, AWS Chatbot을 이용한 Slack 자동 알림

자동화

탐지 결과를 CloudWatch or EventBridge로 전달
Lambda 트리거 발동하여 동작, 사용자에게 탐지 결과 및 Lambda 동작 알림

통합적인 침해 사고 대응 전략

참고 URL

GuardDuty 모든 Region 일괄 활성화 : https://dev.classmethod.jp/articles/set-guardduty-all-region/ 

AWS 참고 URL

위협 탐지 결과 유형 : https://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/guardduty_finding-types-active.html

CloudTrail Log 쿼리 : https://docs.aws.amazon.com/ko_kr/athena/latest/ug/cloudtrail-logs.html

VPC Flow Log 쿼리 : https://docs.aws.amazon.com/ko_kr/athena/latest/ug/vpc-flow-logs.html

반응형