GuardDuty Runtime Monitoring 이란?
안녕하세요! 클라우드 사업본부의 임채정입니다.
이번 블로그에서는 GuardDuty Runtime Monitoring 에 대해 정리했습니다.
GuardDuty Runtime Monitoring 란?
GuardDuty Runtime Monitoring은 AWS에서 실행되는 워크로드의 런타임 동작을 실시간으로 모니터링하는 보안 서비스입니다.
기존 GuardDuty가 네트워크 트래픽이나 API 호출 같은 외부 활동을 감시했다면, Runtime Monitoring은 한 걸음 더 들어가 컨테이너와 EC2 인스턴스 내부에서 실제로 무슨 일이 일어나고 있는지를 살펴봅니다.
AWS 공식 페이지
필요 이유
기존 GuardDuty 만으로는 포착할 수 없는 위협들이 있습니다.
예를 들어, GuardDuty는 공격자가 이미 서버 혹은 컨테이너 내부에 침투해 악성 스크립트를 실행하거나, 시스템 파일을 몰래 변조하는 경우는 탐지하지 못합니다.
하지만 GuardDuty Runtime Monitoring 는 이런 위협들을 탐지합니다.
GuardDuty Runtime Monitoring은 운영체제 수준의 시스템 콜, 프로세스 실행, 파일 접근, 네트워크 연결 등을 분석해 이런 내부 위협을 탐지합니다.
GuardDuty가 건물 외부의 CCTV 라면, GuardDuty Runtime Monitoring는 건물 내부도 감시하는 것과 같습니다.
GuardDuty 에이전트
Runtime Monitoring은 GuardDuty 에이전트를 통해 작동합니다.
GuardDuty Runtime Monitoring 를 유효화하는 것만으로 실행되는 게 아니라 EC2 인스턴스, EKS 클러스터 등과 같은 리소스 안에 GuardDuty 에이전트를 설치해야 합니다.
탐지 항목
GuardDuty Runtime Monitoring 에서는 다양한 런타임 위협을 탐지합니다.
- 컨테이너 탈출 시도: 공격자가 컨테이너의 격리 경계를 넘어 호스트 시스템에 접근하려는 시도
- 악성 프로세스 실행: 크립토마이닝, 백도어, 리버스 쉘 등 의심스러운 프로세스 실행
- 의심스러운 파일 접근: 민감한 시스템 파일이나 크리덴셜 파일에 대한 비정상적인 접근
- 비정상적인 네트워크 활동: 알려진 악성 IP로의 연결이나 예상치 못한 아웃바운드 트래픽
다음 AWS 페이지에 GuardDuty Runtime Monitoring 탐지를 통해 어떤 결과를 받을 수 있는지 정리되어 있습니다.
어떤 경우 사용해야하는지
인터넷과 직접 통신하는 컨테이너나 EC2 인스턴스는 외부 공격에 노출될 위험이 높습니다.
공격자가 애플리케이션 취약점을 통해 침투했을 때, Runtime Monitoring은 내부에서 실행되는 악성 행위를 신속하게 탐지할 수 있습니다.
그렇기 때문에 인터넷과 완전 단절된 환경에서는 GuardDuty Runtime Monitoring 을 사용하지 않아도 됩니다.
하지만 만약 이미 서버에 다른 서드파티(Third-party) 보안 솔루션를 사용 중이거나 사용 예정이라면 GuardDuty Runtime Monitoring 기능은 사용하지 않아도 됩니다.
오히려 사용하게 되면 중복 모니터링으로 인한 비용 증가와 관리 복잡도만 높아질 수 있습니다.
또한, 개발/테스트 환경에서는 굳이 사용하지 않아도 됩니다.
GuardDuty 와 다른 점
GuardDuty 와 GuardDuty Runtime Monitoring 가 어떻게 다른지 아래 표로 정리했습니다.
구분 | GuardDuty | GuardDuty Runtime Monitoring |
---|---|---|
모니터링 범위 | 네트워크 및 AWS 계정 레벨 인프라 레벨 (외부) |
컨테이너/EC2 인스턴스 내부 런타임 워크로드 레벨 (내부) |
데이터 소스 | • VPC Flow Logs • CloudTrail 이벤트 • DNS 로그 • S3 로그 • EKS Audit 로그 |
• 운영체제 수준 시스템 콜 • 네트워크 연결 • 파일 접근 • 프로세스 실행 |
탐지 대상 | • 비정상 API 호출 • 의심스러운 네트워크 트래픽 • 크리덴셜 침해 |
• 악성 프로세스 실행 • 의심스러운 파일 접근 • 런타임 행위 이상 |
에이전트 필요 | 불필요 | 필요 (GuardDuty 에이전트) |
적용 대상 | 모든 AWS 계정 및 리소스 | • EKS 클러스터 • ECS 클러스터 (Fargate 포함) • EC2 인스턴스 |
활성화 방법 | 클릭 한 번으로 활성화 | GuardDuty 활성화 후 추가 설정 |
GuardDuty Runtime Monitoring 활성화 방법
GuardDuty Runtime Monitoring 기능을 사용하기 위해서는 총 3가지 단계가 필요합니다.
1. GuardDuty 활성화
먼저 GuardDuty 를 활성화 해줘야 합니다.
GuardDuty 콘솔 페이지에서 시작하기
를 클릭해줍니다.
2. GuardDuty Runtime Monitoring 활성화
GuardDuty 가 활성화되면 왼쪽의 런타임 모니터링
메뉴에 들어갑니다.
거기서 런타임 모니터링의 활성화
버튼을 클릭하면 활성화됩니다.
확인
을 클릭합니다.
그럼 다음과 같이 활성화 상태가 됩니다.
3. GuardDuty 에어전트 설치
3-1. 자동 에어전트
GuardDuty Runtime Monitoring 활성화 후에는 실제 컴퓨팅 리소스 안에 GuardDuty 에어전트를 설치해야합니다.
런타임 모니터링의 활성화
버튼 밑에 자동으로 GuardDuty 에이전트를 배포 및 업데이트하도록 구성할 수 있습니다.
3-2. 수동 에어전트
혹은 수동으로 내가 원하는 리소스에만 GuardDuty 에어전트를 설치하는 것도 가능합니다.
리소스마다 설치 방법은 다르기 때문에 설치 방법은 AWS 공식문서를 참고해주세요.
EC2 인스턴스
KS 클러스터
단, Amazon ECS 클러스터는 보안 에이전트를 수동관리는 지원하고 있지 않습니다.
문의 사항은 클래스메소드코리아로!
클래스메소드코리아에서는 다양한 세미나 및 이벤트를 진행하고 있습니다.
진행중인 이벤트는 아래 페이지를 참고해주세요.
AWS에 대한 상담 및 클래스메소드코리아 멤버스에 관한 문의사항은 아래 메일로 연락주시면 감사드립니다!
Info@classmethod.kr