오픈소스 프로젝트 문서 호스팅 서비스인 Read the Docs가 지난 6월 중하순 약 열흘간 역대 최대 규모의 분산 서비스 거부(DDoS) 공격에 시달렸습니다. 최고조에는 평상시 트래픽의 약 100배에 달하는 분당 550만 건 이상의 요청이 쏟아졌으며, 공격자들은 전 세계 수백 개 네트워크의 수백만 개 고유 IP를 동원해 시스템을 마비시키려 했습니다. 이는 단순한 트래픽 폭증을 넘어, 캐시 우회와 방어 시스템 적응 등 고도화된 전술을 사용한 지능적인 공격이었습니다.
공격자들은 HTTP 헤더와 TLS 연결 매개변수를 무작위화하여 기존 보안 필터를 회피하고, 존재하지 않는 경로의 404 응답이나 임시 리디렉션인 302 등 캐시 미스를 유발하는 URL을 집중적으로 노렸습니다. 특히 초기에는 캐시되지 않는 302 리디렉션에 집중해 파이썬(Python) 백엔드에 과부하를 주기도 했습니다. 클라우드플레어(Cloudflare)의 자동 방어와 기존 요청 제한만으로는 역부족이었고, 공격자들은 제한 임계값을 탐색한 뒤 트래픽을 줄였다 다시 늘리는 '요요 패턴'으로 방어에 적응하는 모습을 보였습니다. Read the Docs는 리디렉션의 엣지 처리, 캐싱 확대, 봇 점수와 요청 제한을 결합한 표적 자바스크립트(JavaScript) 챌린지 등을 통해 대부분의 기간 동안 서비스 가용성을 유지할 수 있었습니다.
이번 공격은 AI 크롤러의 확산과 프록시 네트워크의 결합으로 DDoS 공격의 비용과 진입 장벽이 낮아지고 있음을 시사합니다. 과거에는 대기업만의 문제로 여겨지던 대규모 분산 공격이 이제는 인지도가 높은 공개 서비스라면 일상적으로 마주할 수 있는 현실이 되고 있습니다. Read the Docs는 이번 경험을 통해 IP를 넘어 ASN(자율 시스템 번호), 호스트명, 요청 특성 등을 포괄하는 다층 방어의 중요성을 강조했으며, 코드형 인프라(Infrastructure as Code)를 통한 신속하고 안전한 규칙 관리의 필요성을 재확인했습니다. 이는 모든 웹 서비스 운영자에게 중요한 교훈을 제공하며, 끊임없이 진화하는 사이버 위협에 대한 경각심을 일깨웁니다.