HTTP/2 Bomb으로 명명된 새로운 서비스 거부(DoS) 공격 기법이 공개되었다. 이 공격은 단일 컴퓨터에서 수 초 만에 주요 웹 서버(NGINX, Apache HTTP Server, Microsoft IIS, Envoy, Cloudflare Pingora 등)를 마비시킬 수 있다. OpenAI의 Codex 소프트웨어 에이전트와 Calif 연구진이 발견한 이 공격은 HPACK 압축 증폭과 Slowloris 방식의 HTTP/2 플로우 컨트롤 지연을 결합하여, 서버 메모리를 대량으로 소모시키고 해제하지 못하게 만든다.
공격자는 HPACK 동적 테이블에 헤더를 삽입한 뒤, 이를 반복적으로 참조하여 1바이트의 요청으로 수천 바이트의 서버 메모리를 할당하게 만든다. 이어서 플로우 컨트롤 윈도우를 0바이트로 광고해 서버가 메모리를 해제하지 못하도록 한다. 이로 인해, 예를 들어 100Mbps 연결의 일반 가정용 컴퓨터도 20초 이내에 Apache httpd나 Envoy 서버의 32GB 메모리를 소진시킬 수 있다. 연구진은 기존 방어책이 이 공격을 막지 못하며, 실제 테스트 결과 Envoy, Apache httpd, nginx, IIS 등에서 수십 GB의 메모리가 수 초~수십 초 만에 소진됨을 확인했다.
일부 웹 서버는 이미 패치가 적용되었으며, nginx 1.29.8과 Apache httpd mod_http2 2.0.41에서 문제가 해결되었다. 그러나 IIS, Envoy, Pingora 등은 아직 패치가 없으므로, HTTP/2 비활성화나 프록시/방화벽을 통한 헤더 카운트 제한이 권고된다. 또한, CDN이나 리버스 프록시 뒤에 있는 시스템, 커스텀 헤더 제한, WAF, HTTP/2 비활성화 등은 간접적으로 보호 효과가 있다.
※ 이 글은 생성형 AI(gpt4.1)에 의해 요약되었습니다.