DDoS 공격이란?

DDoS 공격은 오늘날 인터넷 보안의 주요 관심사입니다. DDoS 공격이 작동하는 방식과 이러한 공격을 중지할 수 있는 방법에 대해 자세히 알아보십시오.

Share facebook icon linkedin icon twitter icon email icon

DDoS

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • DDoS 공격 정의
  • DDoS 공격의 일반적인 구조 설명
  • DDoS 공격의 3가지 주요 범주 간의 구분
  • 다양한 DDoS 완화 전략 이해

DDoS 공격이란?

분산 서비스 거부(DDoS) 공격은 공격 대상이나 주변 인프라를 인터넷 트래픽의 폭주로 압도하여 표적 서버, 서비스, 네트워크의 정상적인 트래픽을 방해하는 악의적인 시도를 말합니다. DDoS 공격은 보안이 침해된 다수의 시스템을 공격 트래픽의 원천으로 활용하여 효과를 달성합니다. 여기에 활용되는 기기에는 컴퓨터 및 IoT 기기 등의 기타 네트워크 자원이 포함될 수도 있습니다. 개괄적으로 보면, DDoS 공격은 고속도로가 막히는 교통 체증과 유사하여, 정상적인 트래픽이 원하는 목적지에 도달하지 못하게 됩니다.

DDoS Attack

DDoS 공격은 어떻게 작동합니까?

DDoS 공격을 하려면 공격자가 온라인 기기로 구성된 네트워크의 관리 권한을 획득해야 합니다. 컴퓨터 및 기타 기기(예: IoT 기기)는 맬웨어에 감염되어 각기 (또는 좀비)가 됩니다. 이제 공격자는 이러한 다수의 봇(이를 봇넷이라고 합니다)을 원격으로 제어할 수 있습니다.

봇넷이 설정되면, 공격자는 원격 제어의 방법으로 각각의 봇에 수정된 명령을 송신함으로써 해당 기기를 움직일 수 있습니다. 희생자의 IP 주소가 봇넷을 표적이 되면, 각 봇은 그에 따라 표적에 요청을 보내게 되므로, 표적 서버 또는 네트워크가 용량을 초과하게 되어 정상적인 트래픽에 대한 서비스 거부가 발생할 잠재력이 있습니다. 모든 봇은 합법적인 인터넷 기기이므로 일반 트래픽에서 공격 트래픽을 구별하는 것이 어려울 수 있습니다.

DDoS 공격의 일반적인 유형은 무엇입니까?

다양한 DDoS 공격 벡터는 네트워크 연결의 다양한 구성 요소를 대상으로 합니다. 다양한 DDoS 공격의 작동 방식을 이해하려면 네트워크 연결 방법을 알아야 합니다. 인터넷의 네트워크 연결은 다양한 구성 요소("계층")으로 구성됩니다. 땅 위에 집을 짓는 것처럼, 모델의 각 단계는 상이한 목적을 갖고 있습니다. 아래에 표시된 OSI 모델은 7개의 상이한 계층에서의 네트워크 연결을 기술하는 개념적 틀입니다.

The OSI Model

거의 모든 DDoS 공격이 표적 기기 또는 네트워크를 트래픽으로 압도하고 있지만, 이러한 공격도 세 가지 범주로 나눌 수 있습니다. 공격자는 하나 이상의 상이한 공격 벡터를 사용하거나 표적이 취하는 대응책에 따라 공격 벡터를 순환시킬 수 있습니다.

애플리케이션 계층 공격

공격 목표:

계층 7 DDoS 공격(OSI 모델의 7번째 계층을 지칭)이라고 하는 이러한 공격의 목표는 대상의 자원을 소진하는 것입니다. 이러한 공격은 HTTP 요청에 대한 응답으로 서버에서 웹페이지가 생성되고 전달되는 계층을 대상으로합니다. 클라이언트 측에서 단일 HTTP 요청을 내는 것은 비용이 많이 들지 않지만, 대상 서버는 웹페이지를 생성하기 위해 다수의 파일을 로드하고 데이터베이스 질의를 실행해야 하는 경우가 많으므로 비용이 클 수 있습니다. 특정 트래픽을 악의적인 것으로 표시하는 것이 쉽지 않으므로, 계층 7 공격은 방어하기가 어렵습니다.

애플리케이션 계층 공격 예시:

HTTP 폭주

이 공격은 한 번에 많은 컴퓨터에서 웹 브라우저의 새로 고침을 계속해서 누르는 것과 유사하며 많은 수의 HTTP 요청이 서버를 폭주시켜 서비스 거부를 초래합니다.

이러한 공격은 단순한 것부터 복잡한 것까지 다양합니다. 간단하게 구현한 경우 동일한 공격 IP 주소, 참조 페이지, 사용자 에이전트를 갖는 하나의 URL에 접속하기도 합니다. 복잡하게 구성한 경우에는 다수의 공격 IP 주소를 이용하여 무작위 참조 페이지와 사용자 에이전트를 이용해 무작위 URL을 대상으로 하는 경우도 있습니다.

프로토콜 공격

공격 목표:

상태 소모 공격이라고도 하는 프로토콜 공격은 웹 애플리케이션 서버 또는 방화벽 및 부하 분산 장치 등의 중간 자원에서 사용 가능한 상태 테이블 용량을 모두 소모하여 서비스 중단을 유발합니다. 프로토콜 공격은 프로토콜 스택 계층 3과 4의 취약점을 활용하여 표적에 액세스할 수 없게 합니다.

프로토콜 공격 예시:

Syn Flood DDoS Attack

SYN 폭주

SYN 폭주는 매장으로부터 요청을 받는 창고의 작업자에 비유할 수 있습니다. 작업자는 요청을 받으면, 물건을 찾고, 기다려서 확인을 받은 후 이를 매장에 가져갑니다. 확인 없는 물건 요청이 많아지면, 더 이상 물건을 운반할 수 없게 압도되고 나면, 요청에 대한 응답이 없어질 것입니다.

이 공격은 스푸핑도니 원천 IP 주소로 공격 대상에 많은 양의 TCP "초기 접속 요청"을 보냄으로써 TCP 핸드셰이크를 악용합니다. 표적 컴퓨터는 각 연결 요청에 응답한 다음 핸드셰이크의 마지막 단계를 기다립니다. 이 단계는 절대 발생하지 않으므로 프로세스에서 표적의 리소스가 소진됩니다.

볼류메트릭 공격

공격 목표:

이 범주의 공격은 표적과 대용량의 인터넷 간에 이용 가능한 대역폭을 모두 소비함으로써 혼잡을 만들려 시도합니다. 많은 양의 데이터가 증폭 형태 또는 봇넷의 요청과 같은 대규모 트래픽을 생성하기 위한 다른 수단을 사용하여 표적으로 전송됩니다.

증폭 예시:

NTP Amplification Attack

DNS 증폭

DNS 증폭은 누군가가 음식점에 전화를 걸어 “모든 메뉴를 하나씩 주문할 것이니, 저에게 다시 전화해서 주문 내용을 전부 말해 주세요"라고 말하는 것과 같으며 여기서 이들이 제공하는 회신 전화번호는 표적의 번호입니다.

스푸핑된 IP 주소(표적의 실제 IP 주소)를 사용하여 개방형 DNS 서버에 요청을 내면, 표적 IP 주소는 서버로부터 응답을 받습니다. 공격자는 DNS 서버가 많은 양의 데이터로 표적에 응답하도록 요청을 구성합니다. 결과적으로, 표적은 공격자의 최초 질의가 증폭된 것을 받게 됩니다.

DDoS 공격을 완화하기 위한 프로세스는 무엇입니까?

DDoS 공격을 완화하는 핵심은 공격 트래픽과 정상 트래픽을 구별하는 것입니다. 예를 들어, 신제품 출시로 회사의 웹사이트에 열성적인 고객이 몰려온 경우, 모든 트래픽을 차단하면 안 됩니다. 갑자기 해당 회사에 갑자기 알려진 악의적 사용자의 트래픽이 급증하는 경우라면, 공격을 완화하기 위한 노력이 필요할 것입니다. 문제는 진짜 고객과 공격 트래픽을 구분하는 것이 어렵다는 점입니다.

최신 인터넷에서, DDoS 공격 트래픽은 여러 형태로 나타납니다. 스푸핑되지 않은 단일 원천 공격에서부터 복잡한 적응형 멀티벡터 공격에 이르기까지 다양한 트래픽 설계가 가능합니다. 멀티벡터 DDoS 공격은 다양한 공격 경로를 사용하여 표적을 다양한 방식으로 압도하여, 단일 궤적에 대한 완화 노력을 방해할 수 있습니다. HTTP 폭주(계층 7을 대상으로 함)와 결합된 DNS 증폭(계층 3과 4를 대상으로 함)과 같이 프로토콜 스택의 여러 계층을 동시에 표적으로 하는 공격이 멀티벡터 DDoS의 예입니다.

멀티벡터 DDoS 공격을 완화하려면 다양한 궤도에 대응하기 위해 다양한 전략이 필요합니다. 일반적으로, 공격이 복잡할수록 공격 트래픽을 일반 트래픽과 구별하기가 어려워집니다. 공격자는 최대한 혼합하여 완화의 효율을 낮추는 것이 목표입니다. 트래픽을 무차별적으로 삭제하거나 제한하는 완화 시도는 나쁜 트래픽으로 좋은 트래픽을 몰아낼 수 있으며, 이러한 대응책을 우회하도록 공격을 수정할 수도 있습니다. 복잡한 파괴 시도를 극복하는 데는 계층화된 솔루션이 가장 효과적입니다.

블랙홀 라우팅

거의 모든 네트워크 관리자가 이용할 수 있는 솔루션 중 하나는 블랙홀 경로를 만들고, 트래픽을 그 경로에서 걸러내는 것입니다. 가장 간단한 형태로 특별한 제한 기준 없이 블랙홀 필터링을 구현하면, 합법적인 트래픽과 악성 네트워크 트래픽이 모두 널 경로 또는 블랙홀로 라우팅되어 네트워크에서 삭제됩니다. 인터넷 자산에 DDoS 공격이 발생하면 해당 자산의 인터넷 서비스 제공업체 (ISP)가 방어 수단으로 사이트의 모든 트래픽을 블랙홀에 보낼 수 있습니다.

Rate Limiting

서버가 특정 시간 동안 받아들일 수 있는 요청의 수를 제한하는 것도 서비스 거부 공격을 완화하는 방법입니다. 속도 제한을 이용하면 웹 스크래퍼가 콘텐츠를 탈취하는 일을 늦추거나 무차별 암호 대입 로그인 시도를 완화하는 데는 유용할 수 있지만, 이것만으로는 복잡한 DDoS 공격을 효과적으로 처리하기에 부족합니다. 그렇지만, 속도 제한은 효과적인 DDoS 완화 전략에서 유용한 구성 요소입니다. Cloudflare의 속도 제한에 대해 자세히 알아보세요.

웹 애플리케이션 방화벽

WAF(웹 애플리케이션 방화벽)은 계층 7 DDoS 공격의 완화에 도움이 되는 도구입니다. 인터넷과 원본 서버 사이에 WAF를 배치하면, WAF는 특정 유형의 악성 트래픽으로부터 표적 서버를 보호하는 리버스 프록시 역할을 할 수 있습니다. DDoS 도구를 식별하는 데 사용되는 일련의 규칙을 기반으로 요청을 필터링함으로써 계층 7 공격을 막는 것입니다. 효과적인 WAF는 공격에 대응하여 사용자 지정 규칙을 신속하게 구현할 수 점에서 가치가 있습니다. Cloudflare의 WAF 에 대해 알아보세요.

Anycast Network 확산

완화 접근법은 애니캐스트 네트워크를 이용해 트래픽이 네트워크에 흡수될 때까지 분산된 서버들의 네트워크에 트래픽을 분산시킵니다. 이 방식은 급류하는 강을 하류의 분리된 작은 물길로 보내는 것과 같이 분산형 공격 트래픽의 영향을 관리 가능한 정도까지 널리 분산시켜 파괴적인 기능을 흩어 버립니다.

DDoS 공격을 완화하는 애니캐스트 네트워크의 신뢰성은 공격 규모와 네트워크의 효율에 따라 달라집니다. Cloudflare가 구현하는 DDoS 완화의 중요한 점은 애니캐스트 분산 네트워크를 사용한다는 것입니다. Cloudflare는 30Tbps 네트워크를 가지고 있으며, 이는 기록된 최대 DDoS 공격보다 한 단계 높은 수준입니다.

현재 공격을 받고 있다면, 압박감에서 벗어나기 위해 취할 수 있는 조치들이 있습니다. Cloudflare를 이미 사용하고 있다면 다음 단계를 따라 공격을 완화할 수 있습니다. Cloudflare에서 구현하는 DDoS 방어는 다각적으로 공격 벡터를 완화합니다. Cloudflare의 DDoS 보호와 그 작동 방식에 대해 자세히 알아보세요.