낮고 느린 공격이란?

낮고 느린 공격은 매우 느린 HTTP 또는 TCP 트래픽을 사용하여 웹 서비스를 중지시키는 것을 목표로 하는 DDoS 공격입니다.

학습 목표

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

  • 낮고 느린 공격의 정의
  • 낮고 및 느린 공격의 작동 방식 설명
  • 낮고 느린 공격을 완화하는 방법 이해하기

관련 콘텐츠


계속 알아보시겠어요?

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

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

글 링크 복사

낮고 느린 공격이란?

낮고 느린 공격은 애플리케이션 또는 서버 리소스를 대상으로 하는 매우 느린 트래픽의 작은 스트림에 의존하는 DoS 또는 DDoS 공격 유형입니다. 기존의 무차별 대입 공격과 달리 낮고 느린 공격은 대역폭을 거의 필요로 하지 않으며 일반 트래픽과 구별하기가 아주 어려운 트래픽을 생성하므로 완화하는 것이 어려울 수 있습니다. 대규모 DDoS 공격은 빠르게 감지될 수 있지만, 낮고 느린 공격은 실제 사용자에 대한 서비스를 거부하거나 느리게 하면서 오래도록 탐지되지 않고 계속될 수 있습니다.

낮고 느린 공격은 시작하는 데 많은 리소스가 필요하지 않으므로, 봇넷이 필요할 수 있는 더 분산된 공격과 달리 하나의 컴퓨터만을 사용하여 성공적으로 시작될 수 있습니다.낮고 느린 공격을 시작하는 데 가장 널리 사용되는 두 가지 도구는 SlowlorisRUDY입니다.

낮고 느린 공격은 어떻게 작동할까요?

낮고 느린 공격은 스레드 기반 웹 서버를 대상으로 하여 모든 스레드를 느린 요청으로 묶어 실제 사용자가 서비스에 액세스하는 것을 방지합니다. 따라서 데이터가 매우 느리게 전송되어 수행되지만, 서버가 시간 초과되지 않을 만큼은 충분히 빠릅니다.

차로마다 요금소가 있는 4차로 다리를 생각하면 됩니다. 한 운전자가 요금소에 차를 세우고 지폐나 동전 한 움큼을 건네주고 다리를 건너면 다음 운전자를 위한 차로가 열립니다. 이제 운전자 네 명이 동시에 다가와서 열린 차로를 모두 점유하고서 각자 한 번에 동전 한 개씩을요금소 근무자들에게 천천히 건네주고 사용 가능한 모든 차로를 몇 시간 동안 막고 있으면서 다른 운전자가 통과하는 것을 방해한다고 상상해 보십시오. 이 엄청나게 실망스러운 시나리오는 낮고 느린 공격이 작동하는 방식과 아주 유사합니다.

공격자는 HTTP 헤더, HTTP POST 요청, TCP 트래픽을 사용하여 낮고 느린 공격을 수행할 수 있습니다. 다음은 일반적인 공격의 3가지 예입니다.

  • Slowloris 도구는 서버에 연결한 다음 부분적인 HTTP 헤더를 천천히 보냅니다. 그러면 서버가 연결을 열린 상태로 유지하므로 나머지 헤더를 수신하여 스레드를 묶을 수 있습니다.
  • RUDY(RU-DEAD-YET?)라는 또 다른 도구는 HTTP POST 요청을 생성하여 양식 필드를 채웁니다. 이 도구는 서버에 예상되는 데이터의 양을 알려주지만, 해당 데이터를 아주 느리게 보냅니다. 서버에서는 더 많은 데이터를 예상하므로 연결을 계속 열어 둡니다.
  • 낮고 느린 공격의 또 다른 유형은 TCP/IP 세 방향 핸드셰이크의 취약점을 악용하여 무기한 연결을 생성하는 Sockstress 공격입니다.

웹 서비스에서는 낮고 느린 공격을 어떻게 감지할 수 있을까요?

기존의 DDoS 공격을 식별하고 차단하는 데 사용되는 속도 감지 기술로는 낮고 느린 공격이 일반 트래픽처럼 보이므로 감지하지 못합니다. 이를 탐지하는 가장 좋은 방법은 행동 분석과 결합된 서버 리소스 사용량을 주의 깊게 모니터링하고 기록하는 것입니다. 평상시의 트래픽 및 사용자 행동을 잠재적 공격 기간 동안의 트래픽 및 사용자 행동과 비교합니다.

서버가 느리게 수행되거나 충돌이 발생하고 낮고 느린 공격이 의심되는 경우, 이러한 공격의 징후 중 하나는 일반 사용자 프로세스가 훨씬 더 오래 걸린다는 것입니다. 사용자 작업(예: 양식 작성)은 일반적으로 몇 초 정도 걸리지만, 대신 몇 분이나 몇 시간이 걸리고 평소보다 훨씬 더 많은 서버 리소스를 차지하는 경우, 낮고 느린 공격이 원인일 수 있습니다.

낮고 느린 공격이 감지되면 완화하는 것이 또 다른 문제가 됩니다.

낮고 느린 공격을 차단하는 방법

낮고 느린 공격을 완화하는 한 가지 방법은 서버 가용성을 업그레이드하는 것입니다. 서버가 동시에 유지할 수 있는 연결이 많을수록 공격으로 서버를 틀어막기가 더 어려워집니다. 이 접근 방식의 문제점은 공격자가 서버의 가용성에 맞추어 공격을 확대하려고 시도할 수 있다는 것입니다.

또 하나의 솔루션은 역방향 프록시 기반 보호로, 원본 서버에 도달하기 전에 낮고 느린 공격을 완화합니다.Cloudflare의 클라우드 기반 DDoS 방어로 낮고 느린 공격을 완화하는 방법을 알아보세요.