구독해서 새 게시물에 대한 알림을 받으세요.

Cloudflare가 세계 기록인 3.8Tbps DDoS 공격을 자동 완화한 방법

2024-10-02

9분 읽기
이 게시물은 English, 繁體中文, Français, Deutsch, 日本語, Português, Español简体中文로도 이용할 수 있습니다.

9월 초부터, Cloudflare의 DDoS 방어 시스템은 한 달 동안 진행된 대규모 볼류메트릭 L3/4 DDoS 공격 캠페인에 맞서 싸우고 있었습니다. Cloudflare의 방어 기능은 한 달 동안 100건이 넘는 대규모 볼류메트릭 L3/4 DDoS 공격을 완화했으며, 그 중 상당수는 초당 20억 패킷(Bpps)과 초당 3테라비트(Tbps)를 초과했습니다. 이번 공격의 최대 규모는 최고 3.8Tbps로, 조직에서 공개한 역대 최대 규모의 공격이었습니다. 감지와 완화는 완전히 자율적이었습니다. 아래 그래프는 동일한 Cloudflare 고객을 대상으로 자율적으로 완화된 두 개의 개별 공격 이벤트를 나타냅니다.

BLOG-2586 2

65초 동안 지속된 초당 3.8테라비트의 DDoS 공격을 완화한 사례

BLOG-2586 3

60초 동안 지속된 초당 21억 4,000만 패킷의 DDoS 공격을 완화한 사례

Cloudflare 고객을 보호합니다

Cloudflare의 HTTP 리버스 프록시 서비스(예: Cloudflare WAFCloudflare CDN)를 사용하는 Cloudflare 고객은 자동으로 보호됩니다.

SpectrumMagic Transit을 사용하는 Cloudflare 고객도 자동으로 보호됩니다. Magic Transit 고객은 Magic Firewall 규칙을 배포하여 패킷 계층에서 엄격한 포지티브 및 네거티브 보안 모델을 적용하여 Magic Transit 보호 성능을 최적화할 수 있습니다.

다른 인터넷 자산은 안전하지 않을 수 있습니다

이러한 공격의 규모와 빈도는 전례 없는 수준입니다. 공격의 엄청난 규모와 초당 비트/패킷 전송률로 인해 보호되지 않는 인터넷 자산뿐만 아니라 온프레미스 장비로 보호되는 인터넷 자산을 다운시킬 수 있습니다. 또는 성능에 영향을 주지 않고 합법적인 트래픽과 함께 이러한 볼륨을 처리할 수 있는 충분한 네트워크 용량이나 글로벌 커버리지가 없는 클라우드 제공업체의 인터넷 자산을 다운시킬 수도 있습니다. 

하지만 Cloudflare는 이렇게 엄청난 공격을 흡수하고 자동으로 완화하는 데 필요한 네트워크 용량, 글로벌 커버리지, 지능형 시스템을 갖추고 있습니다. 

이 블로그 게시물에서는 공격 캠페인 및 해당 공격이 심각한 이유를 살펴봅니다. 계층 3/4 DDoS 공격의 구조, 공격 목표, 공격이 생성되는 방식을 설명합니다. 그런 다음 Cloudflare의 시스템이 고객의 성능에 영향을 주지 않으면서 이렇게 엄청난 공격을 어떻게 자율적으로 감지하고 완화할 수 있었는지 자세히 설명합니다. 시스템이 공격 트래픽에 맞춰 실시간(동적) 서명을 생성하는 방법부터 커널 기능을 활용하여 유선 속도로 패킷을 삭제하는 방법까지 방어의 주요 측면에 대해 설명합니다.

캠페인 분석

Cloudflare는 금융 서비스, 인터넷, 통신 산업 등의 여러 고객을 대상으로 이 공격 캠페인을 관찰했습니다. 이 공격 캠페인은 대역폭 포화는 물론 인라인 애플리케이션 및 기기의 리소스 고갈을 대상으로 합니다.

이 공격은 주로 고정 포트의 UDP를 활용합니다. 전 세계에서 발생한 공격으로 베트남, 러시아, 브라질, 스페인, 미국에서 가장 많은 비중을 차지했습니다. 

패킷 전송률이 높은 이 공격은 MikroTik 장치, DVR, 웹 서버 등 여러 유형의 손상된 장치에서 발생하여 동시에 작동하도록 조직되어 대량의 트래픽으로 대상을 폭주시킵니다. 높은 비트 전송률 공격은 최근 Censys에서 발견한 CVE 9.8(치명적) 취약점을 이용하여 악용된 것으로 보이는 다수의 손상된 ASUS 홈 라우터에서 비롯된 것으로 보입니다.

러시아

12.1%

베트남

11.6%

미국

9.3%

스페인

6.5%

브라질

4.7%

프랑스

4.7%

루마니아

4.4%

대만

3.4%

영국

3.3%

이탈리아

2.8%

소스 위치별로 관찰된 패킷 비율

DDoS 공격의 구조

Cloudflare가 사상 최대 규모의 DDoS 공격을 자동으로 감지하고 완화한 방법을 살펴보기 전에, DDoS 공격의 기초를 이해하는 것이 중요합니다. 

BLOG-2586 5

DDoS 공격의 단순화된 다이어그램

DDoS(분산 서비스 거부) 공격의 목표는 합법적인 사용자의 서비스 액세스를 거부하는 것입니다. 이는 일반적으로 서비스를 제공하는 데 필요한 리소스를 소진하는 방식으로 이루어집니다. 최근의 계층 3/4 DDoS 공격의 경우, 해당 리소스는 CPU 사이클과 네트워크 대역폭입니다.

CPU 사이클 소진

패킷 처리에는 CPU 사이클이 소비됩니다. 공격이 아닌 일반 트래픽의 경우 서비스에서 수신한 합법적인 패킷은 해당 서비스가 특정 작업을 수행하도록 하며, 작업마다 CPU 처리량이 달라집니다. 그러나 패킷이 서비스에 전달되기 전에, 패킷별로 수행해야 하는 작업이 있습니다. 패킷을 올바른 컴퓨터와 인터페이스에 전달하려면 레이어 3 패킷 헤더의 구문을 분석하고 처리해야 합니다. 레이어 4 패킷 헤더를 처리하고 올바른 소켓(있는 경우)으로 라우팅해야 합니다. 모든 패킷을 검사하는 다수의 추가 처리 단계가 있을 수 있습니다. 따라서 공격자가 충분히 높은 패킷 전송률로 전송하면 사용 가능한 CPU 리소스가 포화되어 합법적인 사용자에 대한 서비스를 거부할 수 있습니다.

BLOG-2586 6

패킷 전송률이 높은 공격을 방어하려면 최소한의 CPU 사이클을 사용하여 나쁜 패킷을 검사하고 삭제할 수 있어야 하고, 좋은 패킷을 처리할 수 있는 충분한 CPU를 남겨두어야 합니다. 처리를 위해 더 많은, 혹은 더 빠른 CPU를 추가로 확보할 수 있지만 이는 매우 긴 프로세스가 될 수 있으며 비용이 많이 들 수 있습니다. 

네트워크 대역폭 소진

네트워크 대역폭은 서버에 전송할 수 있는 시간당 데이터의 총량입니다. 대역폭은 물을 옮기는 파이프와 같다고 생각하면 됩니다. 음료수 빨대로 공급할 수 있는 물의 양은 정원용 호스로 전달할 수 있는 양보다 적습니다. 전달할 수 있는 양보다 더 많은 쓰레기 데이터를 공격자가 파이프에 밀어넣을 수 있다면, 나쁜 데이터 좋은 데이터는 모두 파이프 업스트림에서 버려지게 되고, 따라서 DDoS는 성공하게 됩니다.

BLOG-2586 7

포화된 파이프의 다운스트림 쪽을 사용하는 경우 수행할 수 있는 작업이 거의 없기 때문에, 네트워크 대역폭을 포화시킬 수 있는 공격을 방해하는 것은 어려울 수 있습니다. 더 큰 파이프를 확보하거나, 포화 상태가 아닌 새로운 파이프로 양호한 트래픽을 이동하는 방법을 찾거나, 파이프의 입구 측에 데이터의 일부 또는 전체 전송을 중단하도록 요청할 수 있는 등 방법은 몇 가지뿐입니다.

DDoS 공격 생성

공격자의 입장에서 이것이 의미하는 바를 생각해보면 비슷한 제약 조건이 있다는 것을 알 수 있습니다. 패킷을 수신하는 데 CPU 사이클이 걸리는 것처럼 패킷을 생성하는 데도 CPU 사이클이 걸립니다. 예를 들어, 패킷을 전송하고 수신하는 데 드는 비용이 동일하다면 공격자가 공격을 생성하려면 우리가 공격을 방어하는 데 필요한 것과 동일한 양의 CPU 성능이 필요합니다. 대부분의 경우 이것은 사실이 아닙니다. 공격자가 패킷을 수신하는 데 걸리는 것보다 더 적은 CPU 사이클을 사용하여 패킷을 생성할 수 있으므로 비용 비대칭이 존재합니다. 그러나 공격을 생성하는 것은 무료가 아니며 많은 양의 CPU 전원이 필요할 수 있다는 점에 유의할 필요가 있습니다.

네트워크 대역폭을 포화시키는 것은 공격자에게 훨씬 더 어려울 수 있습니다. 여기에서 공격자는 대상 서비스에서 할당된 것보다 더 많은 대역폭을 출력할 수 있어야 합니다. 서버는 실제로 수신하는 서비스의 용량을 초과할 수 있어야 합니다. 이는 매우 어려우므로 네트워크 대역폭 공격을 달성하는 가장 일반적인 방법은 DNS 증폭 공격과 같은 반사/증폭 공격 방법을 사용하는 것입니다. 공격자는 이러한 공격을 통해 중간 서비스에 작은 패킷 을 보낼 수 있으며, 중간 서비스는 피해자에게 큰 패킷을 보냅니다.

두 시나리오에서 모두, 공격자는 공격을 생성하기 위해 많은 장치를 획득하거나 액세스 권한을 확보해야 합니다. 이러한 장치는 여러 가지 방법으로 얻을 수 있습니다. 클라우드 공급자나 호스팅 서비스의 서버급 시스템일 수도 있으며, 공격자의 맬웨어에 감염된 DVR, 라우터, 웹캠 등의 손상된 장치일 수도 있습니다. 이러한 머신이 함께 봇넷을 형성합니다.

Cloudflare가 대규모 공격을 방어하는 방법

이제 DDoS 공격의 기본 원리를 이해했으니 Cloudflare가 이러한 공격을 방어하는 방법을 설명하겠습니다.

글로벌 Anycast를 이용한 공격면 확산

그다지 비밀스럽지 않은 첫 번째 요소는 Cloudflare의 네트워크가 Anycast를 기반으로 구축되었다는 것입니다. 간단히 말하자면, Anycast를 사용하면 전 세계에 있는 여러 시스템에서 단일 IP 주소를 알릴 수 있습니다. 해당 IP 주소로 전송된 패킷은 가장 가까운 컴퓨터에서 제공됩니다. 즉, 공격자가 분산 봇넷을 사용하여 공격을 시작하면, 공격은 Cloudflare 네트워크 전체에서 분산된 방식으로 수신됩니다. 텍사스주 댈러스에 있는 감염된 DVR은 패킷을 댈러스에 있는 Cloudflare 서버로 전송합니다. 런던에 있는 감염된 웹캠은 런던에 있는 Cloudflare 서버로 패킷을 전송합니다.

BLOG-2586 8

Anycast 네트워크와 Unicast 네트워크 비교

또한 Cloudflare의 Anycast 네트워크를 통해 컴퓨팅 및 대역폭 리소스를 가장 필요로 하는 지역에서 가장 가까운 곳에 할당할 수 있습니다. 인구 밀도가 높은 지역에서는 합법적인 트래픽이 더 많이 생성되며, 해당 지역에 위치한 데이터 센터는 이러한 요구 사항을 충족할 수 있는 더 많은 대역폭과 CPU 리소스를 갖게 됩니다. 인구 밀도가 낮은 지역은 자연히 합법적인 트래픽이 적게 발생하므로 해당 지역의 Cloudflare 데이터 센터는 적절한 규모로 조정할 수 있습니다. 공격 트래픽은 주로 손상된 장치에서 발생하기 때문에, 이러한 장치는 공격 트래픽을 처리할 수 있는 데이터 센터에 비례하여 공격 트래픽을 전송하는 정상적인 트래픽 흐름과 일치하는 방식으로 분산되는 경향이 있습니다. 마찬가지로, 데이터 센터 내에서도 트래픽은 여러 장치에 분산됩니다.

또한, 고대역폭 공격의 경우 Cloudflare 네트워크는 또 다른 장점이 있습니다. Cloudflare 네트워크의 트래픽 중 상당수는 대칭 방식으로 대역폭을 소비하지 않습니다. 예를 들어, Cloudflare 배후 사이트에서 웹 페이지를 가져오기 위한 HTTP 요청은 상대적으로 적은 양의 수신 패킷이지만 클라이언트로 다시 보내는 트래픽은 더 많은 양을 생성합니다. 즉, Cloudflare 네트워크는 수신하는 트래픽보다 훨씬 더 많은 합법적인 트래픽을 송신하는 경향이 있습니다. 그러나 네트워크 링크와 대역폭이 대칭으로 할당되어 있으므로 볼류메트릭 공격 트래픽을 수신할 수 있는 수신 대역폭이 풍부합니다.

실시간 서명 생성

데이터 센터 내부의 개별 서버에 도달할 때쯤이면 공격의 대역폭이 충분히 분산되어 업스트림 링크가 포화 상태가 되지 않은 상태입니다. 하지만 아직 악성 패킷을 삭제하지 않았기 때문에 공격이 완전히 중단된 것은 아닙니다. 이렇게 하려면 트래픽을 샘플링하고 공격 여부를 판단하고 불량 패킷을 차단하는 규칙을 만들어야 합니다. 

트래픽을 샘플링하고 불량 패킷을 삭제하는 것은 XDP(eXpress Data Path)를 사용하고 eBPF(extended BPF)로 알려진 버클리 패킷 필터의 확장 버전을 활용하는 l4drop 구성 요소의 역할입니다. 이 작업을 통해 커널 공간에서 사용자 지정 코드를 실행하고 NIC(네트워크 인터페이스 카드) 수준에서 직접 각 패킷을 처리(삭제, 전달, 수정)할 수 있습니다. 이 구성 요소는 시스템에서 컴퓨터의 CPU 리소스를 과도하게 소모하지 않고 패킷을 효율적으로 삭제하는 데 도움이 됩니다.

BLOG-2586 9

Cloudflare DDoS 방어 시스템 개요

Cloudflare는 XDP로 패킷을 샘플링하여 공격을 나타내는 의심스러운 속성을 찾습니다. 샘플에는 원본 IP, 원본 포트, 대상 IP, 대상 포트, 프로토콜, TCP 플래그, 시퀀스 번호, 옵션, 패킷 전송률 등의 필드가 포함됩니다. 이 분석은 dosd(서비스 거부 디먼)에 의해 수행됩니다. Cloudflare의 비결은 Dosd에 담겨 있습니다. 여기에는 저희가 선별한 휴리스틱을 기반으로 언제 완화 조치를 시작해야 하는지 알려주는 다양한 필터가 있습니다. 고객에게는 이러한 필터가 공격 벡터별로 논리적으로 분류되어 DDoS 관리 규칙으로 노출됩니다. Cloudflare의 고객은 필요에 따라 자신의 행동을 어느 정도 사용자 지정할 수 있습니다.

XDP에서 샘플을 받으면 dosd는 의심스러운 트래픽 패턴에 대한 여러 가지 지문 순열을 생성합니다. 그런 다음, dosd가 데이터 스트리밍 알고리즘을 사용하여 공격을 완화하는 데 가장 적합한 지문을 식별합니다. 공격이 확인되면 dosd는 공격 트래픽을 정밀하게 차단하기 위해 완화 규칙을 인라인으로 eBPF 프로그램을 통해 푸시합니다. 

Dosd에 의한 공격의 감지와 완화는 서버 수준, 데이터 센터 수준, 글로벌 수준에서 이루어지며, 모두 소프트웨어 정의로 이루어집니다. 따라서 네트워크의 복원력이 매우 뛰어나며 거의 즉각적인 완화로 이어집니다. 경로를 벗어난 "스크러빙 센터"나 "스크러빙 장치"가 없습니다. 대신, 각 서버가 DDoS 감지 및 완화 구성 요소를 포함한 Cloudflare 제품군의 전체 스택을 실행합니다. 그리고 이 모든 것이 자율적으로 이루어집니다. 또한 각 서버는 데이터 센터 내에서 서버 간에, 그리고 전 세계적으로 데이터 센터 간에 완화 지침을 가십(멀티캐스트)합니다. 이렇게 하면 공격이 로컬에서 발생하든 전 세계적으로 분산되어 발생하든 관계없이 dosd가 완화 규칙을 인라인으로 설치하여 강력한 완화가 이루어집니다.

강력한 공격에 대한 강력한 방어

Cloudflare의 소프트웨어 정의 자율 DDoS 감지 및 완화 시스템은 Cloudflare의 전체 네트워크에서 실행됩니다. 이 게시물에서는 주로 동적 핑거프린팅 기능을 중점적으로 살펴보았지만, 당사의 방어 시스템은 이보다 훨씬 강력합니다.고급 TCP 보호 시스템과 Advanced DNS Protection 시스템이 동적 핑거프린팅과 함께 작동하여 고도로 무작위화된 TCP 기반 DDoS 공격을 식별하고 통계 분석을 활용하여 복잡한 DNS 기반 DDoS 공격을 차단합니다. 또한 Cloudflare의 방어 기능은 트래픽 이상을 완화하기 위해 실시간 위협 인텔리전스, 트래픽 프로파일링, 기계 학습 분류를 적응형 DDoS 방어의 일부로 통합합니다. 

이러한 시스템은 광범위한 Cloudflare 보안 포트폴리오와 함께 세계 최대 규모의 네트워크 중 하나인 Cloudflare 네트워크 위에 구축되어 고객이 세계 최대 규모의 공격으로부터 보호받을 수 있도록 합니다.

Cloudflare에서는 전체 기업 네트워크를 보호하고, 고객이 인터넷 규모의 애플리케이션을 효과적으로 구축하도록 지원하며, 웹 사이트와 인터넷 애플리케이션을 가속화하고, DDoS 공격을 막으며, 해커를 막고, Zero Trust로 향하는 고객의 여정을 지원합니다.

어떤 장치로든 1.1.1.1에 방문해 인터넷을 더 빠르고 안전하게 만들어 주는 Cloudflare의 무료 앱을 사용해 보세요.

더 나은 인터넷을 만들기 위한 Cloudflare의 사명을 자세히 알아보려면 여기에서 시작하세요. 새로운 커리어 경로를 찾고 있다면 채용 공고를 확인해 보세요.
DDoSAttacks (KO)Trends보안

X에서 팔로우하기

Shawn Bohrer|@bohrers
Omer Yoachimik|@OmerYoahimik
Alex Forster|@alex_forster
Cloudflare|@cloudflare

관련 게시물