DNSSEC 는 응답을 인증하고 DNS 감염 공격을 방어하는 프로토콜 확장 프로그램입니다. 그러나 DNSSEC는 DDoS를 방어하지 못합니다. 실제로 DNSSEC 보호 구역은 DNS 증폭 공격의 표적이 되곤 합니다. 서명된 응답이 추가 레코드 유형(nsec, RRSIG)을 포함하고 있어 표준 DNS 메시지보다 더 크다는 점을 공격자가 알기 때문입니다.
DNS 및 DDoS
DDoS(Distributed Denial of Service)는 분산된 머신 네트워크를 이용해 표적의 컴퓨팅 리소스가 더 이상 기능하거나 작동하지 않을 때까지 과부하를 유발합니다. DNS(도메인 네임 시스템)는 웹사이트 또는 애플리케이션의 중요 서비스가 중단 없이 IP 주소로 변환되는 이름에 종속되기 때문에 DDoS 공격의 표적이 되는 경우가 많습니다. DNS 네임 서버는 대개 리졸버의 IP 주소만 파악하며, 이러한 IP 주소는 규모가 큰 사용자 풀의 리커시브 쿼리를 지속적으로 해결하는 중개 역할을 할 수 있어 이러한 종류의 악성 트래픽은 정상적인 쿼리를 중단하지 않고는 방어하기가 어렵습니다. 따라서 주소를 기준으로 트래픽을 차단하거나 속도를 제한하면 오탐이 발생할 수 있습니다. 또한 DNS DDoS 쿼리의 알려진 bps(초당 비트 수) 또는 pps(초당 패킷 수)는 전체 트래픽에 비해 상대적으로 낮기 때문에 레이어 3 스크러빙 센터에서 DNS 증폭 공격을 성공적으로 격리하기 어려울 수 있습니다.
다양한 DNS DDoS 공격이 존재하지만, 대체로 DNS 플러드와 DNS 증폭의 두 가지 그룹으로 분류할 수 있습니다..
DNS 플러드 공격이란 무엇일까요?
DNS 플러드 공격은 압도적인 수의 쿼리를 전송해 DNS 네임 서버의 리소스를 소진합니다. 정교한 공격자들은 분산 봇넷을 이용해 다양한 리커시브 리졸버로부터 악성 트래픽을 소싱함으로써 공격을 은폐합니다.
일반적인 DNS 플러드 기법은 공격자가 리커시브 리졸버의 캐시 풀을 소진하고 권한 네임서버의 리소스를 소모시키기 위해 존재하지 않는 도메인(예: doesnotexist.example.com)에 과도한 요청을 트리거하는 NXDOMAIN 공격입니다. 이 공격은 PRSD(유사 랜덤 하위 도메인)라고도 합니다. DNS 플러드 공격이 성공하면 정상적인 쿼리의 DNS 레졸루션 시간이 늘어나거나 DoS 공격이 성공할 수도 있습니다.
DNS 증폭 공격이란 무엇일까요?
악성 쿼리에 응답하는 네임 서버를 표적으로 삼는 대신, DNS 증폭 공격 은 스푸핑된 소스 IP 주소로 많은 DNS 요청을 전송해 다른 머신의 리소스를 마비시킵니다. 이 공격은 가짜 반환 주소가 포함된 편지를 누군가에게 보내고 응답을 요청하는 것과 비슷합니다. 결과적으로 DNS 메시지는 애초에 데이터를 요청하지 않은 무고한 제3자에게로 전달됩니다. 공격자들은 일반적으로 불필요한 수신 대역폭으로 피해자를 압도하는 것을 목표로, 증폭 효과를 극대화하기 위해 가능한 한 많은 구역 정보를 요청합니다.
DNS는 HTTP보다 공격 기회가 더 많기 때문에 공격자는 이러한 종류의 '반사' 공격에 DNS를 악용하는 경우가 많습니다. HTTP 연결에는 TCP 핸드셰이크가 필요하므로 표적에 전송되는 가장 큰 응답은 상대적으로 적은 양의 데이터를 포함하는 TCP SYN-ACK 패킷이 됩니다. 그러나 DNS 메시지는 일반적으로 비 연결성 프로토콜인 UDP를 통해 전송되므로, 더 많은 양의 메시지도 사전 확인 없이 모든 대상에게 전송할 수 있습니다.
DNS DDoS 공격을 방어하는 일반적인 방법은 무엇일까요?
정상적인 사용자를 방해하지 않고 DNS DDoS 공격을 탐지 및 방어하기란 쉽지 않지만, 방어 기능을 개선하기 위해 권장되는 몇 가지 기술이 있습니다.
- 지리적으로 분산된 Anycast DNS 네트워크는 대규모 공격을 흡수하기 위해 표면을 확장합니다.
- 레코드 TTL을 늘리면 권한 네임 서버에 도달하는 정상적인 쿼리와 비정상적인 쿼리를 모두 줄여 네임 서버 대역폭을 절약할 수 있습니다.
- DNS ANY 요청(가능한 최대 DNS 응답)을 비활성화하는 방법으로도 증폭 공격을 강화하기 위해 이러한 종류의 레코드를 악용하는 것을 막을 수 있습니다.
- 정상적인 요청을 방해하지 않고 DNS 쿼리를 차단하기는 어렵지지만, 특정 리졸버가 과도한 양의 트래픽을 전송하는 경우 많은 DNS 서버가 응답을 지연해 대역폭을 절약할 수 있습니다. 보다 정교한 서버는 NXDOMAIN 응답 급증의 원인이 되는 특정 리졸버 또는 클라이언트의 요청을 대기시키는 등 보다 정교한 속도 제한 로직을 통합할 수 있습니다.
Akamai가 어떤 도움이 될 수 있을까요?
Akamai Edge DNS 는 최대 규모의 DDoS 공격을 방어할 수 있는 독보적인 기술력을 갖춘 클라우드 기반 DNS 솔루션입니다. 300개 이상의 네트워크 거점(PoP)을 기반으로 표준 고객 트래픽이 일반적으로 소모하는 용량은 전체 네임 서버 용량의 1% 미만에 불과하므로 공격자들이 분산 증폭 공격을 성공시킬 확률이 크게 낮아집니다. Edge DNS는 또한 매우 안정적인 Anycast 네트워크에 구축되기 때문에 쿼리가 BGP를 통해 토폴로지에서 가장 가까운 PoP로 원활하게 라우팅되고, 드물지만 노드 또는 지역에서 가동이 중단되면 플랫폼에 내장된 장애 조치 메커니즘을 통해 정상적인 네임 서버로 전송됩니다. 정교한 속도 제한 기능과 이러한 안정적인 성능을 통해 Edge DNS는 100% 가동 시간 SLA를 보장할 수 있습니다.
자주 묻는 질문(FAQ)
네임 서버에 대한 최초 연결 시도가 실패하면 일반적으로 리졸버가 다른 NS 레코드를 다시 시도하므로, 공급업체의 가동 중단 사태에 대비해 여러 클라우드 DNS 공급업체가 쿼리에 응답하는 방식이 더 안전할 수 있습니다. 그러나 공급업체마다 레코드 기능이 다를 수 있으며, 이 점을 충분히 고려하지 않으면 Handout 불일치, 성능 저하 또는 명백한 DoS를 초래할 수 있습니다. 따라서 DNS 관리자가 이 기능을 구축하려는 경우 각 공급업체의 ALIAS 레코드 기능과 DNSSEC 지원을 구체적으로 검토해야 합니다.
Anycast 기술은 인터넷의 여러 지점에서 IP 주소를 확인할 수 있는 네트워크 주소 지정 및 라우팅 기술입니다. Anycast와 지리적으로 분산된 DNS 풋프린트를 함께 구축하면 여러 노드가 개별 Ip에 대해 분산된 악성 트래픽을 흡수할 수 있기 때문에 대규모 DDoS 공격을 흡수하도록 서버 표면을 늘릴 수 있습니다. 목적지당 하나의 IP를 할당하는 Unicast의 경우 공격자가 악용할 수 있는 중앙 집중형 단일 실패 지점이 발생할 가능성이 높습니다. 또한 많은 등록 기관에 Glue 레코드 제한이 있고 많은 A 레코드 출력을 NS 레코드 조회에 할당하면 운영상의 어려움과 성능 문제가 생기기 때문에 Unicast 구축 시에는 분산 DNS 네트워크를 확장하기 어렵습니다. 따라서 안정적으로 분산된 DNS 체계를 구축하려는 경우 성능과 확장성이 뛰어난 Anycast를 고려할 수 있습니다.
고객이 Akamai를 선택하는 이유
Akamai는 온라인 비즈니스를 지원하고 보호하는 사이버 보안 및 클라우드 컴퓨팅 기업으로, 시장을 대표하는 보안 솔루션, 탁월한 위협 인텔리전스, 글로벌 운영팀이 어디서나 기업 데이터와 애플리케이션을 보호하기 위한 심층 방어 기능을 제공한다. Akamai의 풀스택 클라우드 컴퓨팅 솔루션은 세계에서 가장 분산된 플랫폼에서 성능과 경제성을 제공한다. 글로벌 기업들은 비즈니스 성장에 필요한 업계 최고의 안정성, 확장성, 전문성을 제공하는 Akamai를 믿고 신뢰한다.