Slowloris DDoS 공격

Slowloris 공격은 대상을 여러 HTTP에 동시에 연결하고 유지해서 대상 서버를 압도하려고 시도합니다.

학습 목표

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

  • Slowloris DoS 공격의 정의
  • Slowloris 공격이 작동하는 방식 설명
  • Slowloris 공격에 대한 몇 가지 완화 전략 이해하기

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

Slowloris DDoS 공격이란?

Slowloris는 공격자가 공격자와 대상 간에 많은 HTTP 연결을 동시에 열고 유지함으로써 대상 서버를 압도하는 서비스 거부 공격 프로그램입니다.

Slowloris 공격 다이어그램

Slowloris 공격은 어떻게 작동할까요?

Slowloris는 부분 HTTP 요청을 활용하여 작동하는 애플리케이션 계층 공격입니다. 공격은 대상 웹 서버에 대한 연결을 연 다음 최대한 오래 해당 연결을 열어 두는 방식으로 작동합니다.

Slowloris는 공격의 범주가 아니라 단일 컴퓨터에서 많은 대역폭을 사용하지 않고 서버를 중단할 수 있도록 설계된 특정 공격 도구입니다.NTP 증폭과 같이 대역폭을 소모하는 반사 기반 DDoS 공격과 달리 이 유형의 공격은 적은 양의 대역폭을 사용하고 대신 일반 트래픽보다 느리지만 일반 트래픽을 모방하는 요청으로 서버 리소스를 사용하는 것을 목표로 합니다.이는 "낮고 느린" 공격으로 알려진 공격 범주에 속합니다.대상 서버에는 동시 연결을 처리하는 데 사용할 수 있는 스레드가 너무 많게 됩니다.각 서버 스레드는 느린 요청이 완료될 때까지 기다리는 동안 활성 상태를 유지하려고 시도합니다.서버의 가능한 최대 연결 개수를 초과하면 추가되는 각 연결에 응답하지 않고 서비스 거부가 발생합니다.

Slowloris 공격은 다음과 같이 4단계로 이루어집니다.

  1. 공격자는 먼저 다수의 부분 HTTP 요청 헤더를 전송하여 대상 서버에 대한 여러 연결을 엽니다.
  2. 대상은 연결이 완료되면 스레드를 닫을 의도를 가지고, 들어오는 각 요청에 대해 스레드를 엽니다. 연결이 너무 오래 걸리면 서버는 효율성을 위해 지나치게 긴 연결을 제한 시간 초과 처리하여 다음 요청을 위해 스레드를 해제합니다.
  3. 대상이 연결을 시간 초과 처리하는 것을 방지하려고, 공격자는 요청을 활성 상태로 유지하기 위해 부분 요청 헤더를 대상에 주기적으로 보냅니다. 요컨대 "아직 여기 있어요! 제가 느릴 뿐이니 조금만 기다려주세요”라고 이야기하는 것입니다.
  4. 대상 서버는 요청 종료를 기다리는 동안 열린 부분 연결을 해제할 수 없습니다. 사용 가능한 모든 스레드가 사용 중이면 서버가 일반 트래픽의 추가 요청에 응답할 수 없으므로 서비스 거부가 발생합니다.

Slowloris의 핵심은 아주 적은 대역폭으로 많은 문제를 일으킬 수 있다는 것입니다.

Slowloris 공격은 어떻게 완화될까요?

Slowloris에 취약한 웹 서버의 경우 영향을 일부 완화할 수 있는 방법이 있습니다. 취약한 서버에 대한 완화 옵션은 일반적으로 3가지 범주로 나눌 수 있습니다.

  1. 서버 가용성 증가 - 서버가 한 번에 허용할 수 있는 최대 클라이언트 수를 늘리면 공격자가 서버에 과부하가 걸리기 전에 만들어야 하는 연결 수가 늘어납니다.현실적으로, 공격자는 서버 용량 증가에 관계없이 공격 횟수를 확장하여 서버 용량을 극복할 수 있습니다.
  2. 수신 요청 레이트 리미팅 - 특정 사용 요인에 따라 액세스를 제한하면 Slowloris 공격을 완화하는 데 도움이 됩니다.단일 IP 주소에서 만들 수 있는 최대 연결 수 제한, 느린 전송 속도 제한, 클라이언트가 연결 상태를 유지할 수 있는 최대 시간 제한 등의 기술은 모두 낮고 느린 공격의 효과를 제한하기 위한 접근 방식입니다.
  3. 클라우드 기반 보호 - 역방향 프록시 역할을 할 수 있는 서비스를 사용하여 원본 서버를 보호합니다.

Cloudflare는 Slowloris 공격을 어떻게 완화할까요?

Cloudflare는 원본 서버에 무언가를 보내기 전에 들어오는 요청을 버퍼링합니다.그 결과로 Slowloris 공격과 같은 "낮고 느린" 공격 트래픽은 의도한 대상에 도달하지 못합니다.Cloudflare의 DDoS 방어로 slowloris 공격을 차단하는 방법을 자세히 알아보세요.