DDoS 공격이란?

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

Share facebook icon linkedin icon twitter icon email icon

DDoS

학습 목표

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

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

DDoS 공격이란?

분산형 서비스 거부(DDoS) 공격은 인터넷 트래픽의 폭주로 표적 또는 그 주변 인프라를 압도하여 표적 서버, 서비스 또는 네트워크의 정상적인 트래픽을 중지시키기 위한 악의적인 시도입니다. DDoS 공격은 여러 개의 손상된 컴퓨터 시스템을 공격 트래픽의 소스로 활용하여 유효성을 달성합니다. 악용되는 기계에는 컴퓨터 및 IoT 장치와 같은 기타 네트워크 리소스가 포함될 수 있습니다. 높은 수준에서의 DDoS 공격은 원하는 목적지에 일반 차량들이 도착하지 못하게 하는 고속도로가 막히는 교통체증과 같은 것입니다.

DDoS 공격

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

DDoS 공격은 공격을 수행하기 위해 공격자가 온라인 기계의 네트워크를 제어하는 기능을 확보해야 합니다. 컴퓨터 및 기타 시스템(예: IoT 장치)이 맬웨어에 감염되어 각각 봇(또는 좀비)으로 바뀝니다. 그런 후에 공격자는 봇넷이라고 불리는 봇 그룹에 대한 원격 제어 기능을 가집니다.

일단 봇넷이 설정되면 공격자는 원격 제어 방법을 통해 업데이트된 지침을 각 봇에 전송하여 해당 기계를 지시할 수 있습니다. 피해자의 IP 주소가 봇넷에 의해 표적으로 지정되면 각 봇이 표적에 요청 전송으로 응답함으로써 표적 서버 또는 네트워크가 용량을 오버플로하여 정상적인 트래픽에 대한 서비스 거부를 현상이 발생할 수 있습니다. 각 봇은 합법적인 인터넷 장치이기 때문에 공격 트래픽을 정상적인 트래픽과 분리하는 것이 어려울 수 있습니다.

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

서로 다른 여러 DDoS 공격 벡터는 네트워크 연결의 다양한 구성 요소를 표적으로 합니다. 서로 다른 여러 DDoS 공격이 어떻게 작동하는지 이해하려면 네트워크 연결이 이루어지는지는 방식을 알아야 합니다. 인터넷상의 네트워크 연결은 서로 다른 많은 구성 요소 또는 “계층”으로 구성됩니다. 처음부터 다시 집을 짓는 것처럼, 모델의 각 단계마다 다른 목적이 있습니다. 아래에서 볼 수 있는 OSI 모델은 7개의 별개 계층에서 네트워크 연결을 설명하는 데 사용되는 개념적 프레임워크입니다.

OSI 모델

거의 모든 DDoS 공격은 표적 장치나 네트워크를 트래픽으로 압도하는 것을 포함하고 있지만 공격은 세 가지 범주로 나눌 수 있습니다. 공격자는 하나 또는 여러 개의 서로 다른 공격 벡터를 사용하거나 표적이 차지한 카운터 측정에 기반하여 공격 벡터를 잠재적으로 순환시킬 수 있습니다.

애플리케이션 계층 공격

공격 목표:

(OSI 모델의 7번째 계층과 관련하여) 때때로 계층 7 DDoS 공격이라고도 하는 이러한 공격의 목표는 표적의 리소스를 소진시키는 것입니다. 이 공격은 HTTP 요청에 응답하여 서버에 웹 페이지가 생성되고 전송되는 계층을 표적으로 합니다. 단일 HTTP 요청은 웹 페이지를 작성하기 위해 서버가 여러 파일을 로드하고 데이터베이스 쿼리를 실행해야 하는 일이 흔히 발생하리 때문에 클라이언트 측에서 실행하는 데에는 비용이 적게 들며 표적 서버가 응답하는 데에는 비용이 많이 들 수 있습니다. 계층 7 공격은 트래픽을 악의적인 것으로 표시하는 것이 어려울 수 있으므로 방어하기 어렵습니다.

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

HTTP 폭주

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

이러한 유형의 공격 범위는 단순한 것에서 복잡한 것까지 다양합니다. 구현이 더 간단하면 동일한 범위의 공격 IP 주소, 리퍼러, 사용자 에이전트로 하나의 URL에 액세스할 수 있습니다. 복잡한 버전은 많은 수의 공격 IP 주소를 사용할 수 있으며 임의의 리퍼러 및 사용자 에이전트를 사용하여 무작위 URL을 표적으로 할 수 있습니다.

프로토콜 공격

공격 목표:

상태 고갈 공격이라고도 알려진 프로토콜 공격은 웹 애플리케이션 서버 또는 방화벽 및 로드 밸런서와 같은 중간 리소스에서 사용 가능한 상태 테이블 용량을 모두 소모하여 서비스 중단을 유발합니다. 프로토콜 공격은 프로토콜 스택의 계층 3 및 계층 4에 존재하는 약점을 활용하여 표적에 액세스할 수 없게 만듭니다.

프로토콜 공격 예시:

Syn 폭주 DDoS 공격

SYN 폭주

SYN 폭주는 매장 앞쪽에서 요청을 받는 비품실에 있는 작업자와 유사합니다. 작업자는 요청을 수신하고 이동한 후에 패키지를 받습니다. 그런 다음 확인을 기다렸다가 패키지를 앞으로 가지고 옵니다. 그런 다음, 작업자는 더 이상 어떠한 패키지도 운반할 수 없고, 압도될 수 없고, 요청이 응답되지 않을 때까지 확인 없이 더 많은 패키지 요청을 받습니다.

이 공격은 스푸핑된 소스 IP 주소가 있는 많은 수의 TCP “초기 연결 요청” SYN 패킷을 표적에게 전송하여 TCP 핸드셰이크를 악용합니다. 표적 기기는 각 연결 요청에 응답한 다음 핸드셰이크의 마지막 단계를 기다립니다. 이 단계는 절대 발생하지 않으므로 프로세스에서 표적의 리소스가 소진됩니다.

볼류메트릭 공격

공격 목표:

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

증폭 예시:

NTP 증폭 공격

DNS 증폭

DNS 증폭은 누군가가 레스토랑에 전화를 걸어 “모든 메뉴 중 하나를 주문할 것이니 저에게 다시 전화해서 주문 내용을 전부 말해 주세요."라고 말하는 것과 같으며 여기서 이들이 제공하는 회신 전화번호는 표적의 번호입니다. 아주 적은 노력으로 긴 응답이 생성됩니다.

스푸핑된 IP 주소(표적의 실제 IP 주소)가 있는 개방된 DNS 서버에 요청을 하면 표적 IP 주소가 서버로부터 응답을 수신합니다. 공격자는 DNS 서버가 대량의 데이터로 표적에 응답하도록 요청을 구성합니다. 그 결과, 표적은 공격자의 초기 쿼리의 증폭을 수신합니다.

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

DDoS 공격을 완화하기 위한 핵심 관심 사항은 공격 트래픽과 정상적인 트래픽을 구분하는 것입니다. 예를 들어 한 제품의 출시에 관해 열성적인 고객들로 넘쳐나는 회사의 웹사이트가 있는 경우 모든 트래픽을 차단하는 것은 실수입니다. 갑자기 그 회사가 알려진 부정 행위자들의 트래픽에서 급증 현상을 겪게 되면 공격을 완화하기 위한 노력이 필요할 것입니다 어려운 점은 실제 고객과 공격 트래픽을 구분하는 것입니다.

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

다중 벡터 DDoS 공격을 완화하려면 다양한 궤적에 대응할 수 있는 다양한 전략이 필요합니다. 일반적으로 말하자면 공격이 복잡할수록 공격 트래픽을 정상적인 트래픽과 구분하는 것이 어려울 가능성이 큽니다. 공격자의 목표는 가능한 한 많이 혼합하여 완화를 가능한 한 비효율적으로 만드는 것입니다. 무분별하게 트래픽을 끊거나 제한하는 것을 포함하는 완화 시도는 악성 트래픽과 함께 좋은 트래픽을 제거할 수도 있으며 공격 또한 회피 대책을 수정하고 이에 적응할 수도 있습니다. 계층화된 솔루션은 중단 시 복잡한 시도를 극복하기 위해 최대의 이점을 제공합니다.

블랙홀 라우팅

거의 모든 네트워크 관리자가 사용할 수 있는 한 가지 솔루션은 블랙홀 경로를 생성하고 트래픽을 해당 경로로 유입하게 하는 것입니다. 가장 간단한 형태로 특정 제한 기준 없이 블랙홀 필터링을 구현하는 경우 합법적인 네트워크 트래픽과 악의적인 네트워크 트래픽 양쪽 모두 null 경로 또는 블랙홀로 라우팅되어 네트워크에서 제거됩니다. 인터넷 자산이 DDoS 공격을 받는 경우에는 해당 자산의 ISP(인터넷 서비스 공급자)가 방어 수단으로서 모든 사이트의 트래픽을 블랙홀로 전송할 수 있습니다.

Rate Limiting

서버가 특정 시간대에 수락할 요청 수를 제한하는 것 역시 서비스 거부 공격을 완화할 수 있는 한 가지 방법입니다. Rate Limiting은 웹 스크래이퍼가 콘텐츠를 훔치는 속도를 느리게 하게 무차별 대입 로그인 시도를 완화하는 데 유용하지만, 그 자체만으로는 복잡한 DDoS 공격을 효과적으로 처리하기에는 부족할 가능성이 큽니다. 그럼에도 불구하고, Rate Limiting은 효과적인 DDoS 완화 전략에서 유용한 요소입니다. Cloudflare의 Rate Limiting에 관해 알아보기

웹 애플리케이션 방화벽

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

Anycast Network 확산

이 완화 접근 방식은 트래픽이 네트워크에 흡수될 정도로 Anycast 네트워크를 사용하여 분산된 서버 네트워크 전반에서 공격 트래픽을 분산시킵니다. 급류하는 강을 아래에 분리된 작은 물길로 보내는 것과 같이 이 접근 방식은 분산형 공격 트래픽의 영향을 관리 가능한 정도까지 널리 퍼뜨려 파괴적인 기능을 확산시킵니다.

DDoS 공격을 완화하기 위한 Anycast 네트워크의 신뢰성은 공격의 크기와 네트워크의 규모 및 효율성에 따라 달라집니다. Cloudflare가 구현하는 DDoS 완화 중 중요한 부분은 Anycast 분산 네트워크를 사용하는 것입니다. Cloudflare는 25Tbps의 네트워크를 갖추고 있으며 이는 기록된 가장 큰 큐모의 DDoS 공격보다 훨씬 더 큰 규모입니다.

만약 현재 공격을 받고 계신 경우 압박감에서 벗어나기 위해 취할 수 있는 조치들이 있습니다. Cloudflare를 이미 사용하고 계시다면 이러한 단계를 따라 공격을 완화할 수 있습니다. Cloudflare에서 구현하는 DDoS 방어는 가능한 많은 공격 벡터를 완화하기 위해 다각적인 방어를 합니다. Cloudflare의 DDoS 방어와 작동 방식에 관해 더 자세히 알아보십시오.