이 문서는 AWS 화이트페이퍼 문서인 AWS Security incident response의 번역 문서다. 스터디 목적으로 개인이 번역한 문서다.
이 가이드 문서는 고객에게 AWS 클라우드 환경에서 발생 할 수 있는 보안사고에 대응하기 위한 기본적인 보안개요를 제공하기 위한 목적으로 만들어졌다. 클라우드 보안 및 사고 대응 개념을 살펴보고 보안문제에 대응하기 위한 클라우드 기능, 서비스, 매커니즘등을 기술한다.
AWS 보안 사고 대응 안내서
AWS는 보안을 최우선으로 한다. AWS 사용 고객은 보안을 중요하게 생각하는 조직의 요구사항을 충족하기 위한 데이터 센터와 네트워크 아키텍처를 활용 할 수 있다. AWS는 책임공유모델(Shared responsibility model)을 적용하고 있다.
AWS는 클라우드의 보안을 관리한다. 그리고 클라우드에서 보안에 책임은 사용자에게 있다. 이것은 고객이 구현하기로 선택한 보안에 대한 권한을 가짐을 의미한다. 고객은 보안 목표를 달성하기 위해서 도움이 되는 수백가지의 도구와 기능을 사용 할 수 있다. 이러한 기능은 클라우드에서 실행하는 애플리케이션의 목표를 충족하기위한 보안 기준을 설정하는데 도움을 준다.
보안에 문제가 발생하면, 이를 확인하고 조사 할 수 있어야 한다. 이렇게 하려면 AWS 환경 내에서 보안 사고 대응의 기본 개념을 이해하고 있어야 한다. 인프라 관리자는 보안 문제가 발생하기 전에, 클라우드 팀을 준비하고 교육해서 보안사건에 대응 할 수 있도록 준비해야 한다.
관리자는 보안 문제를 해결하기 위해서 어떤 기능을 제어해야 하는지 알고 있어야 하며, 잠재적인 문제를 해결하기 위해서 보안 이슈 예제를 검토하고 응답 속도를 향상시키기 위한 자동화 시켜야 한다. 이러한 일련의 활동은 문제를 빠르게 인지하게 해줄 뿐 아니라 어떤 방법을 사용해야 하는지 식별하는데 도움이 된다.
보안 사고 대응은 복잡한 주제이므로 고객은 작은 규모에서 시작해서 RunBook을 개발하며, 기본 기능을 활용해서 반복적으로 개선해나가는 초기 대응 매커니즘을 만들어야 한다. 이 초기 작업에는 보안팀과 법률부서 뿐만 아니라, 보안이 관련 없는 팀(개발팀, 기획팀)이 포함되야 한다. 이렇게 하면 사고가 미치는 영향과 대응 방법 그리고 대응 방법이 회사의 목표에 어떤 영향을 미치는지를 잘 이해할 수 있다. 예를 들어 보인팀과 법률팀은 가능한 보수적으로 보안정책을 수립할 수 있는데, 개발과 기획팀의 현실적인 요구사항과 충돌 할 수 있다.
이 백서(whitepaper)는 정보보안의 일반 원칙에 익숙하고 온-프레미스 환경의 사고 대응에 대한 기본적인 이해가 있으며 클라우드 서비스에 어느 정도 익숙하다고 가정하고 작성했다.
이 문서 외에도 AWS Security Best Practices와 AWS Cloud Adoption Framework(CAF)백서도 참고하면 도움이 될 것이다.
클라우드 기반 IT 시스템은 구현에 따른 여러 가지 영역으로 나뉜다. 이를 관점이라고 한다. CAF는 보안관점에서 여러 작업영역에서 보안 프로그램을 실행하는 방법을 설명한다. 그 중 하나가 사고 대응이다. 이 문서는 고객이 성공적인 사고 대응 메커니즘을 평가하고 구현 할 수 있도록 돕기위한 목적의 내용들을 포함하고 있다.
AWS CAF 보안 관점은 아래의 4가지 요소로 구성된다.
Directive controls : 환경을 운용하기 위한 통제, 위험 및 준수해야 할 모델을 설정한다.
Preventive controls : 워크로드를 보호하고 위협과 취약점을 완화한다.
Detective control : AWS 배포 운영에 대한 가시성과 투명성을 제공한다.
Responsive controls : 보안기준을 벗어났을 때, 능동적으로 대응 할 수 있는 프로세스를 구축한다.
Foundation of Incident Response
모든 AWS 사용자는 보안 사고 대응 프로세스에 대한 기본 이해를 가지고 있어야 한다. 그리고 보안 담당자는 보안 이슈가 발생했을 때 어떤 대응을 해야 하는지에 대한 깊은 이해를 가지고 있어야 한다. 경험과 교육은 클라우드 보안 사고 대응에 필수적이다. 효과적인 보안 사고 대응을 위해서 평소에 시뮬레이션, 사고 대응 준비, 교육 절차를 만들고 반복 훈련해야 한다.
Educate
Prepare
Simulate
Iterate
교육
Shared Responsibility
보안과 규정 준수에 대한 책임은 AWS와 사용자간에 공유된다. 이 공유 모델은 AWS가 호스트 운영체제, 가상화 계층과 시설의 물리적인 보안과 관리등을 책임져주기 때문에 사용자로 하여금 운영에 대한 부담을 덜어준다.
사용자는 게스트 운영체제의 관리(업데이트 및 보안 패치를 포함), 애플리케이션 소프트웨어 관리 그리고 시큐리티 그룹, NACL(Network access control list) 와 자격증명 및 액세스관리와 같은 AWS에서 제공하는 보안 설정과 환경을 구성해야 한다. 사용자가 선택한 서비스 IT 환경에 따라 책임의 구성요소가 달라지기 때문에 사용하는 서비스를 신중하게 선택해야 한다.
아래 그림은 Amazon EC2(Elastic Compute Cloud)와 같은 인프라 서비스에 적용되는 책임공유모델을 나타내고 있다. 책임공유모델의 대부분은 AWS가 관리하는 클라우드 보안과 고객이 관리하는 클라우드 보안 2개의 카테고리로 구성된다. 사용하는 서비스에 따라서 책임이 변경될 수 있다.
Amazon S3와 Amazon DynamoDB 같이 AWS에서 관리하는 서비스는 인프라 계층과 운영체제, 플랫폼을 운영하며 고객은 단지 앤드 포인트에 액세스해서 데이터를 저장하고 검색한다. 고객은 AWS에서 관리하는 영역에 대한 책임을 지지 않지만 데이터관리(암호화 옵션을 포함), 시큐리티 그룹, IAM 도구를 사용해서 적절한 권한을 적용해야하는 책임을 가진다.
AWS와 직접적인 관계가 없지만, 클라우드 기술을 개발,관리 운영하는 파트너사 혹은 제 3자(외부 보안관제 서비스, 모니터링/관제 서비스등) 등, 보안에 대한 특정 책임을 져야하는 다른 요소들이 있을 수 있다.
대응 목표 수립 - 법률 고문 및 조직의 리더십, 이해관계자와 협력해서 사고 대응 목표를 결정한다. 보안 이슈의 식별, 완화, 영향을 받는 리소스의 식별과 복구, 법적 데이터의 보관등이 포함 된다.
Respond using the cloud = 이벤트 및 데이터가 발생하는 응답 패턴을 구현한다.
보유가 필요한 것들의 식별 - 로그 스냅샷 및 증거로 사용 할 수 있는 정보들을 보안 클라우드 계정에 보관한다.
가능한 경우 자동화 - 문제나 사고가 반복될 때, 프로그래밍 방법을 이용해서 일반적인 상황에 자동으로 대응하는 매커니즘을 구성한다. 독특하고 새로운 사건에 대해서만 인간이 반응하도록 한다.
확장 가능한 솔류션의 선택 - 클라우드 컴퓨팅에 대한 조직의 접근 방식에 맞도록 보안 정책을 확장할 수 있어야 한다. 이러한 솔류션들을 이용해서 보안 이슈의 탐지와 대응에 걸리는 시간을 줄여야 한다.
프로세스를 개선하고 학습한다. - 프로세스는 문제가 있을 수 있다. 문제를 식별하기 위한 툴, 해결하기 위한 계획, 사람을 찾아서 지속적으로 개선한다. 시뮬레이션을 통해서 안전하게 프로세스를 점검하고 개선할 수 있다.
클라우드 보안 사고
사고 도메인
보안사고가 발생할 수 있는 고객 책임영역에는 서비스, 인프라스트럭처, 애플리케이션크게 3개의 도메인이다. 도메인의 차이점을 이해해야 그에 맞는 대응 도구를 마련할 수 있다.
서비스 도메인 : 서비스 도메인에서 발생한 사건은 고객의 AWS 계정, IAM 권한, 리소스 메타데이터, 빌링 등의 영역에 영향을 미친다.
인프라스트럭처 도메인 : 인프라 도메인에서의 사건은 VPC에서의 네트워크 트래픽과 EC2 인스턴스에서의 데이터 처리 활동에 영향을 미친다. 인프라 도메인 대응은 종종 법적대응을 위한 사건과 관련된 데이터의 수집, 복원, 검색등이 포함된다.
애플리케이션 도메인 : 애플리케이션 도메인에서 발생하는 사건은 애플리케이션 코드, 인프라스트럭처로의 소프트웨어 배포에 영향을 미친다. 이 도메인에서는 클라우드 위협탐지 시스템과 대응방법을 담은 runbook등이 준비되야 한다. 인프라스트럭처 도메인에서의 대응과 유사한 대응이 필요하다. 적절한 애플리케이션 아키텍처와 클라우드 툴들, 자동화된 배포/복구 시스템을 이용해서 도메인 사건을 관리 할 수 있다.
이들 도메인에서 당신은 계정, 리소스, 데이터에 대한 행위자가 누구인지를 반드시 고려해야 한다. 내부 혹은 외부에 상관 없이, 리스크 관리 프레임워크를 이용, 발생 할 수 있는 위험을 식별하고 이에 대응 할 수 있는 프로세스를 개발해야 한다.
서비스 도메인에서 당신은 AWS API를 이용해서 목표를 달성하기 위해서 노력해야 한다. 예를 들어 Amazon S3에서의 데이터 유출사고를 관리하기 위해서 버킷 정책에 S3 버킷에 대한 API 호출을 검색 할 수 있어야 한다. AWS CloudTrail을 이용해서 S3 엑새스로그를 분석 할 수 있다. 여기에는 네트워크 트개픽 분석 툴이나 데이터 포렌식 툴은 포함되지 않을 것이다.
인프라스트럭처 도메인에서는 IR(Incident Response)작업을 수행 할 수 있는 Amazon EC2 인스턴스와 같은 워크 스테이션 운영 체제에서 AWS API와 DFIR(Digital forensics/incident response) 소프트웨어를 사용 할 수 있다. 인프라 도메인 사고대응에는 네트워크 패킷 캡처, Amazon EBS(Elastic Block Store)볼륨의 디스크 블록 혹은 인스턴스에서 확보한 휘발성 메모리 분석이 포함될 수 있다.
클라우드보안 이벤트 식별
인시던트로 분류 할 수는 없지만 신중한 조사가 필요한 많은 보안 이벤트가 있다. AWS 클라우드 환경에서 보안 이벤트를 감지하기 위한 여러 메커니즘들을 사용 할 수 있다. 전체목록은 아니지만 아래의 몇 가지 지표들을 참조할 수 있을 것이다.
로그와 모니터링 - Amazon CloudTrail, Amazon S3 access log, VPC Flow Log 와 Amazon GuardDuty, Amazon Macie와 같은 보안 모니터링 서비스를 이용한다. 또한 Amazon Route 53 헬스체크와 Amazon CloudWatchAlarm 과 같은 모니터링 시스템도 이용한다. 마찬가지로 Windows Event, Linux syslog 그리고 애플리케이션 로그와 같이 운영체제와 애플리케이션에서 생성하는 정보들도 모니터링 한다.
Billing Activity - 급격한 빌링 활동의 변화는 보안 이벤트를 발생시킬 수 있다.
Threat Intelligence -만약 서드파티 treat intelligence feed에 가입했다면, 해당 정보를 다른 로깅 및 모니터링 도구와 연관시켜서 잠재적 주요 이벤트를 식별 할 수 있을 것이다.
AWS Outreach - 모욕적이거나 악의적인 활동을 식별한 경우 AWS Support에 연락 할 수 있다. 자세한 내용은 AWS 학대 및 침해대응 섹션을 참고하자.
One-Time Contact - 고객, 개발자, 조직, 보안팀간 커뮤니케이션 수단을 가지고 있어야 한다. 이들 커뮤니케이션 수단을 통해서 비정상적인 이벤트를 조기에 발견 할 수 있기 때문이다. 인기있는 시스템은 Ticket 시스템, 이메일 주소 목록, Slack 등이다. 일반 대중과 협력해야 하는 경우 보안 연락처 메커니즘이 필요 할 수 있다.
Unserstanding Cloud Capabilities
AWS는 여러 도메인에 걸친 보안 이벤트의 분석을 돕기 위한 다양한 보안 기능들을 제공하고 있다. 예를 들어 AWS 제공자는 AWS CloudTrail, Amazon CloudWatch Logs, Amazon S3 access log 등의 로깅 메커니즘을 제공한다.
사용 중인 서비스를 고려해서 어떤 로그를 활성화 할지 결정해야 한다. AWS는 중앙 집중식 로깅 솔류션을 제공한다. 이 솔류션을 이용하면 로그를 특정 영역에 저장할 수 있는데, 이는 로그 분석 파이프라인과 배치성 로그 분석 시스템의 개발을 도와준다.
여러 로깅소스를 활성화 하고 나면, S3에 저장된 로그를 분석하기 위한 방법(Athena를 이용한 쿼리 실행)을 결정해야 한다. S3와 Athena가 가장 쉽게 접근 할 수 있는 분석 방법이며, 기타 로그 분석 프로세스를 단순화 할 수 있는 AWS 파트너 제품을 검토 할 수 있다. 또한 Amazon GuardDuty(위협 탐지 서비스) 와 AWS Security Hub 과 같이 데이터 기반으로 가치있는 통찰력을 얻을 수 있는 AWS 서버시를 이용 할 수 있다. 이를 통해서 AWS 계정을 아우르는 높은 수준의 보안 경고와 규정준수 상태를 확인할 수 있다.
Amazon Web Service는 150개가 넘는 클라우드 서비스와 수천개의 기능을 제공한다. 이들 중 다수의 기능은 모니터링, 분석, 예방 및 대응 기능을 제공하며, 사용자가 보안 솔류션을 설계하는데 사용 할 수 있다. 보안 상태 조사를 위해서 사용 할 수 있는 추가적인 클라우드 기능들이 있다. 이 기능들은 Appendix 섹션에서 따로 다룬다.
Data Privacy
AWS는 고객이 개인정보보호와 데이터 보안에대해서 깊은 관심을 가지고 있다는 걸 알고 있다. 따라서 AWS는 고객 컨텐처의 누출과 인가되지 않는 접근을 방지할 수 있도록 설계된 정교한 기술 및 물리적 제어기술이 적용된 서비스를 제공한다. 고객 신뢰는 지속적인 노력을 통해서 확보 할 수 있다. 데이터 프라이버시에 대한 약정은 Data Privacy FAQ페이지에서 확인 할 수 있다.
AWS에서 제공하는 기능들을 효과적으로 이용하기 위해서는 AWS의 공유 책임 모델을 이해하고 구축하는데 집중해야 한다.
Abuse와 Compromise에 대한 AWS의 대응
......
준비 - 사람
자동화된 프로세스를 통해 조직은 클라우드 환경과 애플리케이션의 보안을 강화하는데 더 많은 시간을 할애 할 수 있다. 또한 자동화된 사고 대응을 통해서 이벤트들의 상관관계의 분석, 시뮬레이션, 효과적인 대응절차의 고안, 연구 수행, 새로운 기술 개발, 새로운 도구의 테스트 및 구축이 가능하다.
역할과 책임의 정의
사건 대응에 대한 기술과 매커니즘은 신규 또는 대규모의 이벤트를 처리 할 때 가장 중요하다. 모든 잠재적인 사건을 예측하거나 체계화 할 수 없기 때문에 인간은 자동화로 할 수 없는 일들을 해야 한다. 불분명한 보안 이벤트들을 처리하려면 조직간 규율과 중대한 결정에 대한 제어와 결과에 대한 제공 능력이 필요하다. 조직 구조내에는 사고가 발생했을 때 책임을 저야 하는 사람, 사건에 대해 설명 할 수 있는 정보를 지닌 많은 사람들이 있을 수 있다. 이러한 역할과 책임을 조율해야 하며, 제 3자가 관여해야 하는 것도 고려해야 한다.
Contents
소개
AWS 보안 사고 대응 안내서
Foundation of Incident Response
교육
Shared Responsibility
클라우드에서의 사고대응
설계목표
클라우드 보안 사고
사고 도메인
클라우드보안 이벤트 식별
Unserstanding Cloud Capabilities
Data Privacy
Abuse와 Compromise에 대한 AWS의 대응
준비 - 사람
역할과 책임의 정의
Define Response Mechanisms
Create a Receptive and Adaptive Security Culture
Recent Posts
Archive Posts
Tags