인시던트 응답 및 포렌식 자동화 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

인시던트 응답 및 포렌식 자동화

작성자: Lucas Kauffman(AWS) 및 Tomek Jakubowski(AWS)

코드 리포지토리: aws-automated-incident-response-and-forensics

환경: 프로덕션

기술: 보안, 자격 증명, 규정 준수

AWS 서비스: Amazon EC2, AWS Lambda, Amazon S3, AWS Security Hub, AWS Identity and Access Management

요약

이 패턴은 AWS Lambda 함수를 사용하여 다음을 제공하는 일련의 프로세스를 배포합니다.

  • 최소한의 지식으로 인시던트 응답 프로세스를 시작하는 방법

  • AWS 보안 인시던트 대응 가이드에 부합하는 반복 가능한 자동 프로세스

  • 자동화 절차 운영, 아티팩트 저장, 포렌식 환경 생성을 위한 계정의 분리

자동화된 인시던트 응답 및 포렌식 프레임워크는 다음 단계로 구성된 표준 디지털 포렌식 프로세스를 따릅니다.

  1. 제한

  2. 인수

  3. 검사

  4. 분석

정적 데이터(예: 획득한 메모리 또는 디스크 이미지) 및 분리된 시스템에 있는 라이브 동적 데이터에 대해 조사를 수행할 수 있습니다.

자세한 내용은 추가 정보 섹션을 참조하세요.

사전 조건 및 제한 사항

사전 조건 

  • 두 AWS 계정:

    • 보안 계정: 기존 계정일 수 있지만 새 계정인 것이 좋습니다.

    • 포렌식 계정: 새 계정인 것이 좋습니다.

  • AWS 조직 설정

  • Organizations 멤버 계정에서:

    • Amazon Elastic Compute Cloud(Amazon EC2) 역할에는 Amazon Simple Storage Service(Amazon S3)에 대한 Get and List 액세스 권한이 있어야 하며 AWS Systems Manager에서 액세스할 수 있어야 합니다. AmazonSSMManagedInstanceCore AWS 관리형 역할을 사용하는 것이 좋습니다. 인시던트 응답이 시작되면 이 역할이 EC2 인스턴스에 자동으로 연결됩니다. 응답이 완료되면 AWS Identity and Access Management(IAM)가 인스턴스에 대한 모든 권한을 제거합니다.

    • AWS 멤버 계정 및 인시던트 대응 및 분석 의 가상 프라이빗 클라우드(VPC) 엔드포인트입니다VPCs. 이러한 엔드포인트는 S3 Gateway, EC2 메시지, 및 SSM SSM 메시지입니다.

  • AWS EC2 인스턴스에 설치된 명령줄 인터페이스(AWS CLI)입니다. EC2 인스턴스가 AWS CLI 설치되지 않은 경우 디스크 스냅샷 및 메모리 획득이 작동하려면 인터넷 액세스가 필요합니다. 이 경우 스크립트가 인터넷에 연결되어 AWS CLI 설치 파일을 다운로드하고 인스턴스에 설치합니다.

제한 사항

  • 이 프레임워크는 전자 증거로 간주되어 법원에 제출할 수 있는 아티팩트를 생성하려는 의도가 없습니다.

  • 현재 이 패턴은 x86 아키텍처에서 실행되는 Linux 기반 인스턴스만을 지원합니다.

아키텍처

대상 기술 스택

  • AWS CloudFormation

  • AWS CloudTrail

  • AWS 구성

  • IAM

  • Lambda

  • Amazon S3

  • AWS 키 관리 시스템(AWS KMS)

  • AWS Security Hub

  • Amazon Simple Notification Service(AmazonSNS)

  • AWS Step Functions

대상 아키텍처 

대상 환경은 멤버 계정 외에도 두 개의 기본 계정, 즉 보안 계정과 포렌식 계정으로 구성됩니다. 두 개의 계정이 사용되는 이유는 다음과 같습니다.

  • 포렌식 분석 실패 시 영향 범위를 줄이기 위해 다른 고객 계정과 분리하기 위해

  • 분석 대상 아티팩트의 격리 및 무결성 보호를 보장하는 데 도움이 되기 위해

  • 조사를 기밀로 유지하기 위해

  • 위협 행위자가 서비스 할당량을 충족하여 Amazon EC2 인스턴스를 인스턴스화하여 조사를 수행하지 못하게 함으로써 침해된 AWS 계정에 즉시 사용할 수 있는 모든 리소스를 사용했을 수 있는 상황을 방지하기 위해. 

또한 별도의 보안 및 포렌식 계정을 보유하면 증거 수집을 위한 응답자와 증거 분석을 위한 조사자 등 별도의 역할을 생성할 수 있습니다. 각 역할은 별도의 계정에 액세스할 수 있습니다.

다음 다이어그램은 계정 간의 상호 작용만 보여줍니다. 각 계정의 세부 정보는 후속 다이어그램에 표시되며 전체 다이어그램이 첨부되어 있습니다.

멤버, 보안, 포렌식 계정과 사용자, 인터넷 및 Slack 간의 상호 작용.

다음 다이어그램은 멤버 계정을 보여줍니다.

AWS KMS 키, IAM 역할, Lambda 함수, 엔드포인트가 VPC 있고 EC2 인스턴스가 두 개인 멤버 계정입니다.

1. 이벤트가 Slack Amazon SNS 주제로 전송됩니다.

다음 다이어그램은 보안 계정을 보여줍니다.

인시던트 응답EC2DdCopyInstance의 VPC 와 LiME 메모리 모듈의 보안 계정입니다.

2. 보안 계정의 SNS 주제는 포렌식 이벤트를 시작합니다.

다음 다이어그램은 포렌식 계정을 보여줍니다.

포렌식은 포렌식 및 피해자 EC2 인스턴스, 분석 VPC및 유지 관리 를 포함합니다VPC.

보안 계정은 메모리 및 디스크 이미지 획득을 위해 두 가지 기본 AWS Step Functions 워크플로가 생성되는 곳입니다. 워크플로가 실행되면 인시던트와 관련된 EC2 인스턴스가 있는 멤버 계정에 액세스하고 메모리 덤프 또는 디스크 덤프를 수집하는 Lambda 함수 세트를 시작합니다. 그러면 해당 아티팩트가 포렌식 계정에 저장됩니다.

포렌식 계정은 Step Functions 워크플로에서 수집한 아티팩트를 분석 아티팩트 S3 버킷에 보관합니다. 또한 Forensics 계정에는 Forensics 인스턴스의 Amazon Machine EC2 Image(AMI)를 빌드하는 Image Builder 파이프라인이 있습니다. 현재 이미지는 SANS SIFT 워크스테이션을 기반으로 합니다. 

빌드 프로세스는 인터넷에 VPC연결된 유지 관리 를 사용합니다. 나중에 이미지를 사용하여 분석 에서 수집된 아티팩트의 분석을 위한 EC2 인스턴스를 스핀업할 수 있습니다VPC. 

분석에 인터넷 연결이 VPC 없습니다. 기본적으로 이 패턴은 3개의 프라이빗 분석 서브넷을 생성합니다. 의 서브넷 수에 대한 할당량인 최대 200개의 서브넷을 생성할 수 있지만VPC, AWS Systems Manager Sessions Manager가 실행 중인 명령을 자동화하려면 VPC 엔드포인트에 해당 서브넷을 추가해야 합니다.

모범 사례 관점에서 AWS CloudTrail 및 AWS Config를 사용하여 다음을 수행하는 것이 좋습니다. 

  • 포렌식 계정의 변경 내용 추적

  • 저장 및 분석된 아티팩트의 액세스 및 무결성 모니터링

워크플로

다음 다이어그램은 인스턴스가 손상된 시점부터 분석 및 억제되는 시점까지의 프로세스 및 의사 결정 트리를 포함하는 워크플로의 주요 단계를 보여줍니다.

  1. SecurityIncidentStatus태그가 Analyze 값으로 설정되었습니까? 설정되었다면 다음을 수행합니다.

    1. AWS Systems Manager 및 Amazon S3에 대한 올바른 IAM 프로필을 연결합니다.

    2. Slack의 Amazon SNS 대기열로 Amazon SNS 메시지를 보냅니다.

    3. 대기열에 Amazon SNS 메시지를 SecurityIncident 보냅니다.

    4. 메모리 및 디스크 획득 상태 시스템을 호출합니다.

  2. 메모리와 디스크를 획득했습니까? 아니라면 오류가 발생한 것입니다.

  3. EC2 인스턴스에 태그를 지정합니다Contain.

  4. IAM 역할 및 보안 그룹을 연결하여 인스턴스를 완전히 격리합니다.

이전에 나열된 워크플로 단계입니다.

자동화 및 규모 조정

이 패턴의 목적은 단일 AWS Organizations 조직 내 여러 계정에서 인시던트 대응 및 포렌식을 수행할 수 있는 확장 가능한 솔루션을 제공하는 것입니다.

도구

AWS 서비스

  • AWS CloudFormation 는 AWS 리소스를 설정하고, 빠르고 일관되게 프로비저닝하고, AWS 계정 및 리전의 수명 주기 동안 리소스를 관리할 수 있도록 지원합니다.

  • AWS 명령줄 인터페이스(AWS CLI)는 명령줄 쉘의 명령을 통해 AWS 서비스와 상호 작용하기 위한 오픈 소스 도구입니다.

  • AWS Identity and Access Management(IAM)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다.

  • AWS Key Management Service(AWS KMS)를 사용하면 암호화 키를 생성하고 제어하여 데이터를 보호할 수 있습니다.

  • AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 필요할 때만 코드를 실행하며 자동으로 확장이 가능하므로 사용한 컴퓨팅 시간만큼만 비용을 지불합니다.

  • Amazon Simple Storage Service(Amazon S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

  • AWS Security Hub는 에서 보안 상태를 포괄적으로 보여줍니다AWS. 또한 보안 업계 표준 및 모범 사례를 기준으로 AWS 환경을 확인하는 데 도움이 됩니다.

  • Amazon Simple Notification Service(Amazon SNS)를 사용하면 웹 서버 및 이메일 주소를 포함하여 게시자와 클라이언트 간의 메시지 교환을 조정하고 관리할 수 있습니다.

  • AWS Step Functions는 AWS Lambda 함수와 기타 서비스를 결합하여 비즈니스 크리티컬 애플리케이션을 구축하는 데 도움이 되는 서버리스 오케스트레이션 AWS 서비스입니다. 

  • AWS Systems Manager는 AWS 클라우드에서 실행되는 애플리케이션 및 인프라를 관리하는 데 도움이 됩니다. 애플리케이션 및 리소스 관리를 간소화하고, 운영 문제를 감지하고 해결하는 시간을 단축하며, 대규모로 AWS 리소스를 안전하게 관리하는 데 도움이 됩니다.

code

코드와 특정 구현 및 사용 지침은 GitHub Automated Incident Response 및 Forensics Framework 리포지토리를 참조하세요.

에픽

작업설명필요한 기술

CloudFormation 템플릿을 배포합니다.

CloudFormation 템플릿은 1~7로 표시되며 스크립트 이름의 첫 번째 단어는 템플릿을 배포해야 하는 계정을 나타냅니다. CloudFormation 템플릿을 시작하는 순서가 중요합니다.

  • 1-forensic-AnalysisVPCnS3Buckets.yaml: 포렌식 계정에 배포되었습니다. S3 버킷과 분석 를 생성하고 를 VPC활성화합니다 CloudTrail.

  • 2-forensic-MaintenanceVPCnEC2ImageBuilderPipeline.yaml: 를 기반으로 유지 관리 VPC 및 이미지 SANS 빌더 파이프라인을 배포합니다SIFT.

  • 3-security_IR-Disk_Mem_automation.yaml: 디스크 및 메모리 획득을 활성화하는 함수를 보안 계정에 배포합니다.

  • 4-security_LiME_Volatility_Factory.yaml: 빌드 함수를 시작하여 지정된 AMI 를 기반으로 메모리 모듈 생성을 시작합니다IDs. AMI IDs 는 AWS 리전마다 다릅니다. 새 메모리 모듈이 필요할 때마다 새 로 이 스크립트를 다시 실행할 수 있습니다AMIIDs. 이를 골든 이미지 AMI빌더 파이프라인(환경에서 사용하는 경우)과 통합하는 것이 좋습니다.

  • 5-member-IR-automation.yaml: 인시던트 응답 프로세스를 시작하는 멤버 인시던트 응답 자동화 함수를 생성합니다. 이를 통해 계정 간에 Amazon Elastic Block Store(Amazon EBS) 볼륨을 공유하고, 인시던트 대응 프로세스 중에 Slack 채널에 자동으로 게시하고, 포렌식 프로세스를 시작하고, 프로세스가 완료된 후 인스턴스를 격리할 수 있습니다.

  • 6-forensic-artifact-s3-policies.yaml: 모든 스크립트가 배포된 후 이 스크립트는 모든 교차 계정 상호 작용에 필요한 권한을 수정합니다.

  • 7-security-IR-vpc.yaml: 인시던트 응답 볼륨 처리에 VPC 사용되는 를 구성합니다.

특정 EC2 인스턴스에 대한 인시던트 응답 프레임워크를 시작하려면 키SecurityIncidentStatus와 값으로 태그를 생성합니다Analyze. 그러면 격리 및 메모리는 물론 디스크 획득을 자동으로 시작하는 멤버 Lambda 함수가 시작됩니다.

AWS 관리자

프레임워크를 운영합니다.

또한 Lambda 함수는 종료(또는 실패) 시 Contain 태그로 자산을 다시 지정합니다. 이렇게 하면 봉쇄가 시작되어 INBOUND/OUTBOUND 보안 그룹이 없고 모든 액세스를 허용하지 않는 IAM 역할이 있는 인스턴스를 완전히 격리합니다.

GitHub 리포지토리의 단계를 따릅니다.

AWS 관리자
작업설명필요한 기술

CloudFormation 템플릿을 사용하여 사용자 지정 Security Hub 작업을 배포합니다.

Security Hub의 드롭다운 목록을 사용할 수 있도록 사용자 지정 작업을 생성하려면 Modules/SecurityHub Custom Actions/SecurityHubCustomActions.yaml CloudFormation 템플릿을 배포합니다. 그런 다음 각 멤버 계정에서 IRAutomation 역할을 수정하여 작업을 실행하는 Lambda 함수가 IRAutomation 역할을 떠맡을 수 있도록 합니다. 자세한 내용은 GitHub 리포지토리를 참조하세요.

AWS 관리자

관련 리소스

추가 정보

이 환경을 사용하면 Security Operations Center(SOC) 팀이 다음을 통해 보안 인시던트 대응 프로세스를 개선할 수 있습니다.

  • 분리된 환경에서 포렌식을 수행하여 프로덕션 리소스의 우발적인 손상을 방지할 수 있는 능력 확보

  • 제한 및 분석을 수행할 수 있는 표준화되고 반복 가능하며 자동화된 프로세스 확보.

  • 모든 계정 소유자 또는 관리자에게 태그 사용 방법에 대한 최소한의 지식으로 인시던트 응답 프로세스를 시작할 수 있는 능력을 제공

  • 대규모 환경의 소음 없이 인시던트 분석 및 포렌식을 수행할 수 있는 표준화되고 깨끗한 환경 확보

  • 여러 분석 환경을 병렬로 생성할 수 있는 능력 확보

  • 클라우드 포렌식 환경의 유지 관리 및 문서화 대신 인시던트 대응에 SOC 리소스 집중

  • 수동 프로세스에서 자동화된 프로세스로 전환하여 확장성 달성

  • 일관성을 위해 CloudFormation 템플릿 사용 및 반복 가능한 작업 방지

또한 영구적 인프라를 사용하지 않고, 필요할 때 리소스에 대한 비용을 지불합니다.

첨부

이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.