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

Advanced DNS Protection: 정교한 DNS DDoS 공격 완화

2024-03-07

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

가장 정교한 DNS 기반 DDoS 공격으로부터 보호하도록 설계된 강력한 방어 메커니즘인 Advanced DNS Protection을 소개하게 되어 영광입니다.. 이 시스템은 최고 수준의 보안을 제공하고 진화하는 위협에 맞서 디지털 인프라의 복원력을 보장하도록 설계되었습니다.

Advanced DNS Protection: mitigating sophisticated DNS DDoS attacks

기존 시스템은 DNS에 대해 ‘비교적 단순한’ DDoS 공격을 탐지하고 완화하는 데는 성공했지만, 보다 복잡한 공격에는 어려움을 겪었습니다. Advanced DNS Protection 시스템은 이 블로그 게시물에서 소개할 새로운 기술을 활용하여 이러한 격차를 해소할 수 있습니다.

Advanced DNS Protection는 현재 베타 버전으로 제공되며 모든 Magic Transit 고객에게 추가 비용 없이 제공됩니다. 없이 사용할 수 있습니다. DNS DDoS 공격, 새로운 시스템의 작동 방식 및 향후 출시될 새로운 기능에 대해 자세히 알아보려면 계속 읽어보세요.

관심 분야 등록을 통해 Cloudflare가 DNS 서버의 보호, 가용성 및 성능 유지를 지원하는 방법에 대해 자세히 알아보세요.

DNS 서버를 겨냥한 전체 DDoS 공격의 3분의 1

분산 서비스 거부(DDoS) 공격은 웹 사이트 및 기타 온라인 서비스를 중단시키고 다운시키는 것을 목표로 하는 사이버 공격의 일종입니다. DDoS 공격이 웹 사이트를 오프라인 상태로 만드는 데 성공하면 막대한 매출 손실과 평판 손상을 초래할 수 있습니다.

2023년 DDoS 공격 유형 분포

Distribution of DDoS attack types for 2023

웹 사이트를 중단시키고 다운시키는 일반적인 방법 중 하나는 서버가 처리할 수 있는 것보다 많은 트래픽으로 서버를 압도하는 것입니다. 이를 HTTP 폭주 공격이라고 하며, 대량의 HTTP 요청으로 웹 사이트를 직접 표적으로 삼는 DDoS 공격의 일종입니다. 마지막 DDoS 동향 보고서에 따르면 시스템은 2023년에 전체 DDoS 공격의 37%에 해당하는 520만 건의 HTTP DDoS 공격을 자동으로 완화했습니다.

HTTP 폭주 공격 다이어그램

Diagram of an HTTP flood attack

그러나 웹 사이트를 간접적으로 표적으로 삼아 다운시키는 다른 방법도 있습니다. 위협 행위자는 웹 사이트 서버를 폭주시키는 대신 DNS 서버를 폭주시킵니다. DNS 서버가 처리할 수 있는 것보다 많은 쿼리를 받으면 호스트 이름에서 IP 주소로의 변환이 실패하여 DNS 서버가 정상적인 쿼리에 응답할 수 없기 때문에 웹사이트가 간접적으로 중단되는 피해를 입게 됩니다.

주목할 만한 사례로는 2016년 10월에 발생한 DNS 공급자인 Dyn을 표적으로 삼은 공격이 있습니다. 이 DDoS 공격은 악명 높은 Mirai 봇넷에 의해 시작되었으며 엄청난 규모로 발생났습니다. 그 결과 Airbnb, Netflix, Amazon과 같은 주요 사이트들이 서비스 중단을 경험했으며, Dyn은 서비스를 복구하는 데 하루 종일 걸렸습니다. 이러한 장기간의 서비스 중단은 평판과 매출에 상당한 영향을 미칠 수 있습니다.

7년이 지난 지금도 Mirai 공격과 DNS 공격은 계속해서 빈번하게 발생하고 있습니다. 2023년에 DNS 공격은 전체 DDoS 공격의 33%(460만 건)를 차지하여 두 번째로 많이 발생한 공격 유형이 되었습니다. Mirai 변종 봇넷에 의해 시작된 공격은 전체 네트워크 계층 DDoS 공격의 3%를 차지했으며 일반적인 네트워크 계층 DDoS 공격 유형 중 5위를 차지했습니다.

DNS 쿼리 폭주 공격 다이어그램

Diagram of a DNS query flood attack

정교한 DNS 기반 DDoS 공격이란?

각 쿼리에 반복되는 패턴이 있는 경우 DNS 기반 DDoS 공격을 더욱 쉽게 방어할 수 있습니다. 이를 ‘공격 지문’이라고 합니다. 지문 기반 방어 시스템은 이러한 패턴을 식별한 다음 방어 규칙을 배포하여 정상 트래픽에는 영향을 주지 않으면서 공격 트래픽을 효과적으로 필터링할 수 있습니다.

예를 들어 공격자가 대량의 DNS 쿼리를 표적에 전송하는 시나리오를 생각해 보겠습니다. 이 예에서 공격자는 다른 모든 쿼리 필드는 일관성을 유지하면서 소스 IP 주소만 무작위로 변경했습니다. 방어 시스템은 이 패턴(소스 포트는 1024, 쿼리된 도메인은 `example.com`)을 감지하고 임시 방어 규칙을 생성하여 해당 쿼리를 필터링합니다.

공격 지문 인식 개념의 단순화 다이어그램

A simplified diagram of the attack fingerprinting concept

그러나 훨씬 더 정교하고 무작위적이며 뚜렷한 공격 패턴이 없는 DNS 기반 DDoS 공격도 존재합니다. 이러한 공격은 고정할 수 있는 일관된 패턴이 없기 때문에 지문 기반 방어 시스템을 사용하여 방어하는 것은 사실상 불가능합니다. 또한 고도의 무작위 공격에서 공격 패턴이 탐지되더라도 이러한 패턴이 너무 일반적이어서 합법적 사용자 트래픽을 적절히 완화하거나 전체 공격을 포착하기 어려울 수 있습니다.

이 예시에서 공격자는 DNS 쿼리 폭주 공격에서 쿼리된 도메인을 임의로 지정했습니다. 동시에 합법적 클라이언트(또는 서버)도 `example.com`을 쿼리하고 있습니다. 이들에게는 임의의 포트 번호인 1024가 할당되었습니다. 방어 시스템은 공격의 지문과 일치하는 부분만 포착한 패턴(소스 포트는 1024, 쿼리된 도메인은 `example.com`)을 탐지했습니다. 방어 시스템은 다른 호스트 이름을 쿼리한 공격 부분을 놓쳤습니다. 마지막으로, 방어 시스템이 공격 트래픽과 유사하게 보이는 합법적 트래픽을 잘못 탐지했습니다.

무작위 DNS 폭주 공격의 단순화 다이어그램

A simplified diagram of a randomized DNS flood attack

이는 지문 인식이 무작위 DDoS 공격을 차단하지 못하는 매우 간단한 예시일 뿐입니다. 이 문제는 공격자가 평판이 좋은 공용 DNS 확인자(재귀 DNS 서버라고도 하며, 다양한 다른 DNS 서버에서 웹 사이트의 IP 주소를 추적하는 일종의 DNS 서버 역할을 함)를 통해 공격 트래픽을 ‘세탁’할 때 더욱 심각해집니다. 이를 DNS 세탁 공격이라고 합니다.

DNS 확인 프로세스 다이어그램 

Diagram of the DNS resolution process

DNS 세탁 공격에서 공격자는 피해자의 권한 있는 DNS 서버에서 관리하는 실제 도메인의 하위 도메인을 쿼리합니다. 하위 도메인을 정의하는 접두사는 무작위로 지정되며 두 번 이상 사용되지 않습니다. 무작위화 요소로 인해 재귀 DNS 서버는 캐시된 응답을 보유하지 않으며 피해자의 권한 있는 DNS 서버로 쿼리를 전달해야 합니다. 그러면 권한 있는 DNS 서버는 정상적인 쿼리를 처리할 수 없을 정도로 많은 쿼리에 시달리거나 심지어는 서버가 모두 다운되기도 합니다.

DNS 세탁 공격 다이어그램

Diagram of a DNS Laundering attack

정교한 DNS DDoS 공격의 복잡성은 그 역설적인 특성에 있습니다. 탐지는 비교적 쉽지만 효과적으로 방어하는 것은 훨씬 더 어렵습니다. 이 문제는 권한 있는 DNS 서버가 재귀 DNS 서버의 쿼리를 단순히 차단할 수 없다는 사실에서 비롯되는데, 이러한 서버도 합법적인 요청을 하기 때문입니다. 또한 대상 도메인은 계속 액세스 권한이 있어야 하는 실제 도메인이므로 권한 있는 DNS 서버는 대상 도메인으로 향하는 쿼리를 필터링할 수 없습니다.

Advanced DNS Protection 시스템으로 정교한 DNS 기반 DDoS 공격 완화하기

이러한 유형의 정교한 DNS 기반 DDoS 공격이 증가함에 따라 고객을 더욱 잘 보호할 수 있고 기존 지문 인식 접근 방식의 격차를 해소할 수 있는 새로운 솔루션을 개발해야겠다는 동기가 생겼습니다. 이 솔루션이 바로 Advanced DNS Protection 시스템입니다. Advanced TCP Protection 시스템과 마찬가지로 Cloudflare가 구축한 이 소프트웨어 정의 시스템은 상태 저장 완화 플랫폼인 flowtrackd_플로우 트래킹_(플로우 트래킹 데몬)에 의해 구동됩니다.

Advanced DNS Protection 시스템은 기존의 Cloudflare DDoS 방어 시스템 제품군을 보완합니다. 다른 DDoS 방어 시스템의 접근 방식과 마찬가지로 Advanced DNS Protection 시스템도 분산 시스템으로, 전 세계 모든 Cloudflare 서버에서 인스턴스가 실행됩니다. 시스템이 시작되면 각 인스턴스는 중앙 집중식 규제 없이도 자율적으로 공격을 탐지하고 완화할 수 있습니다. 탐지 및 완화는 즉각적으로(0초) 이루어집니다. 또한 각 인스턴스는 데이터 센터의 다른 서버에 있는 다른 인스턴스와도 통신합니다. 인스턴스는 위협 인텔리전스를 퍼뜨리고(gossip) 공유하여 각 데이터 센터 내에서 포괄적인 완화 조치를 제공합니다.

Advanced DNS Protection 시스템으로 완화한 DNS 기반 DDoS 공격을 보여주는 Cloudflare 대시보드 스크린샷 

Screenshots from the Cloudflare dashboard showcasing a DNS-based DDoS attack that was mitigated by the Advanced DNS Protection system

지문 인식 기반 시스템(DDoS 방어 관리 규칙 세트)과 상태 저장 완화 시스템을 함께 사용하면 강력한 다중 계층 방어 전략으로 가장 정교하고 무작위적인 DNS 기반 DDoS 공격을 효과적으로 방어할 수 있습니다. 또한 이 시스템은 사용자 정의가 가능하므로 Cloudflare 고객은 필요에 따라 조정할 수 있습니다. 구성 옵션에 대한 자세한 내용은 Cloudflare 문서를 참조하세요.

Cloudflare의 DDoS 방어 시스템 다이어그램

Diagram of Cloudflare’s DDoS protection systems

또한 고객이 DNS 트래픽 패턴과 공격을 더 잘 이해할 수 있도록 새로운 DNS 중심 데이터 포인트를 추가했습니다. 이러한 새로운 데이터 포인트는 Cloudflare 네트워크 분석 대시보드 내의 새로운 ‘DNS Protection’ 탭에서 사용할 수 있습니다. 이 탭은 전달 및 제거되는 DNS 쿼리, 쿼리된 도메인 이름, 레코드 유형 등 각 쿼리의 특성에 대한 인사이트를 제공합니다. 이 분석은 Cloudflare GraphQL API를 이용하거나 Logpush를 통해 자체 모니터링 대시보드로 로그를 내보내서 얻을 수도 있습니다.

DNS 쿼리: 좋은 것과 나쁜 것 구분하기

정교하고 고도로 무작위한 DNS 기반 DDoS 공격으로부터 고객을 보호하려면 어떤 DNS 쿼리가 합법적인지 식별하는 기능을 개선해야 했습니다. 그러나 쿼리 이름만으로는 무엇이 합법적인지, 무엇이 공격의 일부일 가능성이 있는지 판단하기 쉽지 않습니다. abc123.example.com과 같이 무작위로 보이는 쿼리도 있기 때문에 지문 기반 탐지 메커니즘에만 의존할 수는 없습니다. 이 쿼리는 사실 합법적인 쿼리일 수 있습니다. 반대로 mailserver.example.com에 대한 쿼리는 합법적으로 보이지만 실제로는 고객의 실제 하위 도메인이 아닐 수도 있습니다.

또한 당사의 계층 3 패킷 라우팅을 기반으로 하는 Cloudflare의 완화 서비스인 Magic Transit은 직접 서버 반환(DSR)을 활용합니다. 따라서 어떤 쿼리가 궁극적으로 합법적인지에 대한 피드백을 제공하기 위해 DNS 원본 서버의 응답을 볼 수 없습니다.

Direct Server Return(DSR)을 사용하는 Magic Transit 다이어그램

Diagram of Magic Transit with Direct Server Return (DSR)

이러한 공격에 대응하는 가장 좋은 방법은 Cloudflare가 구축한 과거 기록을 기반으로 각 고객의 예상 DNS 쿼리에 대한 데이터 모델을 구축하는 것이라고 판단했습니다. 이 모델을 사용하면 합법적일 가능성이 높은 쿼리를 더 정확하게 식별하고 그렇지 않은 것으로 간주되는 쿼리를 제거하여 고객의 DNS 서버를 보호할 수 있습니다.

이는 Advanced DNS Protection의 기초입니다. 이 모델은 Magic Transit 고객에게 전송되는 모든 DNS 쿼리를 검사하고 데이터 모델과 각 고객의 개별 설정에 따라 허용하거나 삭제합니다.

이를 위해 전역 네트워크의 각 서버는 쿼리 유형(예: A 레코드) 및 쿼리된 도메인(쿼리 소스 아님) 등 특정 DNS 관련 데이터를 지속적으로 핵심 데이터 센터로 전송하여 각 고객에 대한 DNS 쿼리 트래픽 프로필을 주기적으로 계산합니다. 이러한 프로필은 전역 네트워크에 분산되어 있으며 이를 참조하여 어떤 쿼리가 좋은 쿼리이고 어떤 쿼리가 나쁜 쿼리인지 보다 확실하고 정확하게 판단할 수 있도록 지원합니다. 고객의 구성과 예기치 않은 DNS 쿼리에 대한 고객의 허용 범위를 고려하여 나쁜 쿼리는 삭제하고 좋은 쿼리를 허용합니다.

Advanced DNS Protection 시스템 설계 시 발생한 기술적 문제 해결하기

이 시스템을 구축하는 과정에서 다음과 같은 몇 가지 기술적 문제가 발생했습니다.

데이터 처리

Cloudflare는 다른 Cloudflare DNS 제품군은 포함하지 않고, Magic Transit 고객을 위해 전 세계 네트워크에서 매일 수천만 개의 DNS 쿼리를 처리하며, 위에서 언급한 DNS 관련 데이터를 사용하여 사용자 지정 쿼리 트래픽 프로필을 구축합니다. 이러한 유형의 데이터를 분석하려면 데이터 파이프라인을 신중하게 처리해야 합니다. 이러한 트래픽 프로필을 구축하는 동안 필요한 데이터를 쓰고 읽을 때 각각 Sample-on-Write 및 ABR(적응형 비트 전송률) 기술을 사용하여 데이터 인프라를 보호하면서 데이터를 세분화하여 캡처하고 최종 사용자의 개인 정보에 영향을 줄 수 있는 정보를 삭제합니다.

쿼리 데이터의 간결한 표현

일부 고객사는 하루에 수천만 건의 DNS 쿼리를 처리합니다. 이렇게 많은 양의 데이터를 비압축 형식으로 저장하고 배포하려면 엄청난 비용이 소요됩니다. Cloudflare는 이 문제를 해결하기 위해 각 고객의 트래픽 프로필에카운팅 블룸 필터를 사용하기로 결정했습니다. 이 확률적 데이터 구조를 통해 패킷 처리 중 효율적인 쿼리 처리를 위해 DNS 프로필을 압축적으로 저장 및 배포할 수 있습니다.

데이터 배포

Cloudflare는 주기적으로 모든 고객의 DNS 트래픽 프로필을 다시 계산하여 데이터 센터의 각 서버에 재분배해야 합니다. 이 프로세스를 대폭 간소화하기 위해 자체 R2 스토리지 서비스를 사용했습니다. 리저널 힌트 및 베니티 도메인 활성화를 통해 캐싱을 활성화하고 소수의 R2 버킷만 활용했습니다. 에지 제품군 전체에서 고객 데이터 모델의 글로벌 뷰를 업데이트해야 할 때마다 전송되는 비트의 98%가 캐시에서 제공됩니다.

기본 제공 허용 오차

새로운 도메인 이름이 서비스에 도입되면 이전에 본 적이 없기 때문에 데이터 모델이 이러한 이름의 쿼리를 즉시 인식하지 못합니다. 이러한 이유와 기타 잠재적 오탐의 이유로 인해 합법적인 쿼리를 허용하기 위해 시스템에 일정 수준의 허용 오차를 구축해야 합니다. Cloudflare는 토큰 버킷 알고리즘을 활용하여 이를 수행합니다. 고객은 Advanced DNS Protection 시스템의 민감도 수준을 조정하여 토큰 버킷의 크기를 구성할 수 있습니다. 민감도가 낮아지면 토큰 버킷의 크기가 커지고, 반대로 민감도가 높아지면 토큰 버킷의 크기가 작아집니다. 토큰 버킷이 클수록 예기치 않은 DNS 쿼리 및 프로필의 예상 DNS 쿼리에서 벗어난 허용 오차 범위가 커집니다. 반면에 민감도 수준이 높을수록 토큰 버킷이 작아지고 접근 방식이 더 엄격해집니다.

Cloudflare의 글로벌 소프트웨어 정의 네트워크 활용하기

궁극적으로 이와 같은 문제는 Cloudflare가 가장 잘 처리할 수 있는 문제입니다. 고객은 트래픽을 처리하고 인터넷 자산의 보호, 가용성, 성능을 보장하는 데 Cloudflare를 신뢰합니다. 당사는 이러한 신뢰를 매우 중요하게 생각합니다.

Advanced DNS Protection 시스템은 지능형 알고리즘 및 데이터 구조와 Cloudflare의 글로벌 인프라 및 데이터 처리 역량을 활용하여 고객을 보호합니다.

아직 Cloudflare 고객이 아니고 DNS 서버를 보호하고 싶으신 경우, Cloudflare에게 알려주세요. 기존 Cloudflare 고객은 계정 팀 또는 Cloudflare 지원팀에 문의하여 새 시스템을 활성화할 수 있습니다.

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

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

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

X에서 팔로우하기

Omer Yoachimik|@OmerYoahimik
Cloudflare|@cloudflare

관련 게시물