SEMINAR
오늘 포스팅에서는 고객이 AWS Shield Advanced, AWS WAF 및 데이터 과학을 사용하여 DDoS(분산 서비스 거부)를 완화하는 방법에 대해 다루고자 합니다. 머신 러닝(ML)과 함께 이러한 서비스를 사용하여 DDoS 공격을 탐지하고 완화하는 방법을 살펴봅니다.
악의적인 행위자는 봇넷을 사용하여 DDoS 공격을 수행합니다. 봇넷을 통해 공격자는 특히 라우터와 같은 네트워크 장치에서 제로데이 취약점을 찾고 이러한 장치를 네트워크의 일부로 만듭니다. 전 세계에 퍼져 있는 봇들은 제어 서버의 지시를 기다리고 있죠.
이번 포스팅에서는 실제 사용 사례를 검토해볼 텐데요, 온라인 결제 솔루션 회사인 Razorpay는 판매자가 결제를 위해 API를 호출하는 B2B(Business-to-Business) 모델을 보유하고 있습니다. B2B 결제의 복잡한 특성을 고려할 때 소규모 가맹점과 대규모 가맹점 간의 트래픽 패턴을 구분해야 합니다. 이 비즈니스 모델은 회사를 DDoS 공격의 위험에 빠뜨리고 AWS로 이 문제를 해결했습니다.
먼저 초기 DDoS 아키텍처 접근 방식을 소개한 다음 다양한 요구 사항을 가진 산업 간 클라이언트에 대해 가능한 특정 Razorpay 요구 사항을 충족하도록 수정한 방법을 소개합니다.
기본 DDoS 권장 사항
다양한 리소스 범주에 대한 몇 가지 즉시 사용 가능한 DDoS 비즈니스 솔루션 권장 사항을 살펴보겠습니다.
- 정적 웹 사이트: Amazon CloudFront는 정적 웹 사이트를 호스팅하는 데 사용되는 콘텐츠 전송 네트워크(CDN) 서비스입니다. AWS WAF 속도 제한 규칙을 사용하여 CDN의 트래픽을 제한할 수 있습니다.
- 동적 웹 사이트: 이 시나리오에서는 Application Load Balancer (ALB) 에서 표준 WAF 속도 제한 규칙을 사용할 수 있습니다.
- 고객 컨텍스트가 포함된 API: API는 다른 판매자를 대신하여 이러한 자산을 수신합니다(예: 최종 사용자가 음식 배달 애플리케이션에서 음식 주문을 하고 결제를 완료하면 요청이 api.razorpay.com으로 전송됩니다. Razorpay 최종 사용자가 음식 앱에 결제를 시도하고 있음을 이해함).
그림 1은 각 리소스 범주에 대한 난이도와 솔루션을 나타냅니다.
DDoS 대응 단계
초기 DDoS 아키텍처에 대해 논의했으므로 이제 다양한 DDoS 대응 단계를 살펴보겠습니다.
- 1단계 – 자동 인벤토리: 노출된 API 또는 웹사이트 목록을 캡처하는 자동 인벤토리 시스템 생성. API는 노출 및 가동 중단 위험에 따라 순위가 지정되어 위험을 기준으로 순위가 매겨진 자산 목록을 생성합니다.
- 2단계 – 자산을 그룹으로 분류: API 및 웹사이트(정적 또는 동적)를 그룹으로 분류합니다. 또한 이 단계에서는 자산을 인증되지 않거나 인증된 사용자 등으로 하위 그룹화합니다. 오늘 포스팅 뒷부분에서 논의하겠지만 대부분의 Razorpay API에는 다층 방어 메커니즘이 필요한 고객 컨텍스트가 있습니다.
- 3단계 – 솔루션 테스트 : 공격 트래픽을 시뮬레이션하여 다양한 로드, 출처 등에서 솔루션을 테스트합니다.
AWS DDoS 솔루션
AWS에는 DDoS 공격으로부터 보호할 때 즉시 사용할 수 있는 두 가지 주요 솔루션인 AWS Shield 및 AWS WAF가 있습니다 .
AWS Shield에는 DDoS 완화를 위한 세 가지 중요한 기능이 있습니다.
- 경보: DDoS 공격이 의심되는 경우 경보를 트리거하고 총 볼륨, ALB의 오류율 및 응답 대기 시간과 같은 메트릭을 기반으로 사용자 정의합니다.
- 가시성: 클라이언트 IP, 국가, 사용자 에이전트, 리퍼러 헤더 및 조치를 취할 URL 경로 요청과 같은 상위 5개의 중요한 필드 값을 실시간으로 제공합니다.
- 온콜 지원: Shield Response 팀 (SRT)의 온콜 지원을 제공하여 공격 벡터를 이해하고 인사이트를 기반으로 AWS WAF 규칙을 생성합니다.
AWS WAF에는 두 가지 규칙 유형이 있습니다.
- 차단: 개인에서 IP, URL 경로, 본문 또는 국가와 같은 필드 조합에 이르기까지 예상 변수와 일치하는 요청을 차단합니다.
- 속도 제한: 각 발신 IP 주소에 대한 요청 속도를 추적하고 속도가 한도를 초과하는 IP에서 규칙 작업을 트리거합니다. scope-down 문을 규칙에 추가하여 scope-down 문과 일치하는 제한 요청만 추적 및 속도 제한할 수도 있습니다. (곧 Razorpay가 AWS WAF 및 기타 마이크로서비스 아키텍처 솔루션의 속도 제한에 크게 의존하는 방식에 대해 논의할 것입니다.)
Razorpay 마이크로서비스 보호 아키텍처
Razorpay에는 내부 마이크로 서비스를 보호하는 두 가지 주요 계층이 있습니다. 결제 API api.razorpay.com에 대한 요청은 Amazon Route 53에서 ALB로 이동합니다. AWS WAF 및 AWS Shield Advanced는 ALB에 배포됩니다. 그런 다음 요청은 그림 2와 같이 API 게이트웨이가 전면에 있는 마이크로서비스로 전달됩니다.
Razorpay API 게이트웨이
API 게이트웨이는 마이크로서비스 아키텍처의 중요한 인프라입니다. Razorpay는 판매자를 대신하여 작업을 수행하는 B2B 조직입니다. 이를 달성하고 판매자와 최종 사용자 모두에 대한 컨텍스트를 이해하기 위해 사용자 정의 API 게이트웨이:
- 대기 시간이 매우 짧은 대규모 작업
- 판매자 컨텍스트를 이해하여 인증 및 승인 제공
- 악성 트래픽에 대한 보안 기능 제공
Razorpay는 Edge라는 자체 관리 API 게이트웨이를 사용합니다. API 게이트웨이는 이전 계층이 이해할 수 없는 Razorpay 도메인 컨텍스트를 이해하기 위한 수신 경로의 첫 번째 시스템입니다. 모든 요청은 각 서비스로 전달되기 전에 API 게이트웨이에서 여러 계층의 논리를 거칩니다.
Razorpay Edge 및 AWS 솔루션 인사이트
Edge가 각 요청에 대해 여러 계산을 수행함에 따라 Razorpay는 인텔리전스를 구축하고 DDoS 공격을 방지하기 위해 각 요청에 대한 통찰력을 생성합니다. 이러한 이벤트는 거의 실시간으로 시계열 데이터베이스에 입력되고 기계 학습(ML) 모델을 사용하여 통찰력을 생성합니다.
- 악성 패턴 식별: 추가 조치를 정의하는 데 도움이 되고 소비자 진위를 확인하며 요청을 처리하는 데 도움이 되는 신뢰도 비율을 생성합니다. 또한 에지에서 악의적인 요청을 차단합니다.
- 패턴 기반 속도 제한 도출 : 주간 및 월간 패턴을 살펴봄으로써 소비자 및 IP 주소를 포함한 더 큰 데이터 세트를 기반으로 속도 제한을 도출합니다.
Razorypay Edge에서 이 정보를 사용할 수 있게 되면 합법적인 요청만 서비스 계층에 도달하도록 다양한 작업을 수행할 수 있습니다. 그림 3과 같이 DDoS 처리에 대한 각 단계의 기여도를 이해하기 위해 요청 흐름을 살펴보겠습니다.
모든 Razorpay 요청은 API 게이트웨이를 통해 흐릅니다. 다음은 몇 가지 주요 권장 사항입니다.
- 사용 가능한 피드백 데이터를 기반으로 게이트웨이는 주어진 요청 패턴이 악성 범주에 속하는지 확인합니다. 악의적인 요청에 대한 신뢰도 비율이 높으면 해당 요청을 차단합니다. 차단 규칙은 AWS WAF 계층에 적용됩니다. 신뢰도가 낮으면 CAPTCHA를 사용하여 사용자 진위 여부를 확인합니다.
- ML 모델의 피드백을 사용하여 요청 개체의 기존 데이터에 속도 제한을 적용합니다.
- 인증/식별 및 권한 부여를 수행합니다.
- ML 모델의 피드백도 사용하여 요청 개체에서 파생된 데이터에 속도 제한을 적용합니다.
- 신뢰도가 낮은 악의적인 요청으로 식별되는 경우 사용자 CAPTCHA 확인을 요청합니다.
대기 시간 영향을 방지하고 폭발 반경을 줄이기 위해 요청 흐름 외부에서 Apache Kafka 에 대한 각 요청에 대해 생성된 통찰력을 게시하는 것이 가장 좋습니다 .
결론
오늘 포스팅에서는 ML 모델을 사용하여 DDoS 공격을 해결하는 방법에 대해 알아보았습니다.
조직은 API Gateway에서 생성된 인사이트 데이터를 사용하여 요청 패턴을 식별하고 패턴을 다양한 버킷으로 분류하고 범주에 따라 다음을 수행할 수 있습니다.
- 즉각적인 조치를 위해 API 게이트웨이에 피드백 보내기
- Edge 기반 기록 패턴에 대한 속도 제한 업데이트
- 속도 제한 차단/감소를 위한 WAF 규칙 업데이트
논의한 바와 같이 AWS WAF 및 AWS Shield Advanced를 ML과 함께 사용하면 DDoS 공격을 탐지하고 완화하는 데 도움이 됩니다.
메가존클라우드 TechBlog는 AWS BLOG 영문 게재 글이나 관련 기사 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.