Slow Read Attack은 웹 애플리케이션 또는 서버를 대상으로 하는 애플리케이션 계층 DoS(서비스 거부) 공격의 일종입니다. 이 공격은 일반적인 대역폭이나 패킷 수를 초과하지 않기 때문에 탐지하기 어렵고, 방화벽이나 IDS(침입 탐지 시스템)로도 쉽게 차단되지 않습니다.

1. Slow Read Attack 개요

1.1 정의

Slow Read Attack은 HTTP 요청은 정상적으로 보내지만, 응답(특히 HTML 콘텐츠 등)을 매우 느린 속도로 읽는 방식의 공격입니다.
서버는 응답 데이터를 전송하기 위해 클라이언트가 읽어갈 때까지 데이터를 메모리에 유지해야 하는데, 이때 클라이언트가 읽는 속도가 비정상적으로 느리면 서버의 커넥션 리소스가 점점 고갈됩니다.

1.2 특징

  • OSI 7계층 중 애플리케이션 계층에서 동작
  • 연결 수가 많지 않더라도 서버의 연결 상태(Connection pool)를 고갈시켜 정상 사용자 접속을 방해
  • TCP 윈도우 사이즈를 조작하여 클라이언트가 데이터를 천천히 읽는 것처럼 보이게 함
  • 정상 HTTP 요청처럼 보이기 때문에 탐지 어려움

2. Slow Read Attack 동작 방식

2.1 구성도

2.2 동작 절차

  1. 공격자는 여러 개의 HTTP 요청을 보냄 (정상적인 요청처럼 보임)
  2. 응답을 받을 때, TCP 윈도우 사이즈를 매우 작게 설정
  3. 서버는 데이터를 클라이언트가 받아갈 때까지 기다리며 커넥션 유지
  4. 다수의 이런 연결이 생성되면 서버는 새로운 연결을 처리할 수 없게 되어 서비스 거부 상태 발생

3. 기술적 특징

항목설명
공격 대상웹 서버, 웹 애플리케이션
공격 방식응답을 매우 느리게 수신하여 서버 리소스 점유
탐지 난이도높음 – 정상 요청처럼 보임
리소스 소모서버 측 커넥션 풀, 메모리
주로 사용하는 프로토콜HTTP 1.1 (Keep-Alive)

4. 방어 방법

4.1 서버 설정 조정

  • 커넥션 타임아웃 시간 최소화
  • 최소 데이터 수신 속도 설정
  • 최대 동시 연결 수 제한

4.2 프록시/웹 방화벽 사용

  • Reverse Proxy (예: Nginx, HAProxy): slow client detection 설정
  • WAF (웹 애플리케이션 방화벽): slow read 패턴 탐지 기능

4.3 DDoS 방어 솔루션 연동

  • Slow HTTP 공격 탐지 가능한 L7 방어 시스템 도입
  • 비정상적인 세션 지속 시간, 패킷 패턴 분석 기반 탐지

5. 실전 예시 및 툴

5.1 공격 도구

  • slowhttptest: 오픈소스 Slow HTTP 공격 도구 bash복사편집slowhttptest -c 1000 -H -i 10 -r 200 -t GET -u http://target.com/ -x 24 -p 3

5.2 테스트 예시

  • 일반적인 클라우드 웹서버(예: Apache, Nginx) 대상으로 slowhttptest로 테스트할 경우 수백 개 연결만으로도 응답 불능 가능

6. 정리

구분내용
공격 방식느린 응답 수신으로 서버의 연결 상태 고갈
탐지 난이도매우 높음 (정상처럼 보이는 요청)
방어 방법연결 타임아웃 단축, 속도 제한, 프록시 설정, L7 보안 솔루션 도입
대응 필요성웹 서비스 운영 시 필수 대응 항목

zerg96

Recent Posts

노트북(윈도우)에서 아이폰 유선 테더링 하기

윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…

3일 ago

오라클 래치(Latch)

오라클 데이터베이스의 성능을 논할 때, 내부적으로 발생하는 경합(Contention)은 피할 수 없는 주제다. 특히 다수의 프로세스가…

7일 ago

사장님도 3표, 나도 3표? ‘3%룰’ 완전 정복!

안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…

3주 ago

Vector Store(벡터 스토어)

'벡터 스토어' 완벽 가이드: AI 시대, 데이터의 새로운 심장을 만나다 IT 업계는 인공지능(AI)이라는 거대한 패러다임의…

3주 ago

Gemini CLI (재미나이 CLI)

1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…

3주 ago

과적합 (overfitting)

과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…

1개월 ago