OpenAIのCodexが発見:ウェブサーバーを数秒でダウンさせる「HTTP/2 Bomb」攻撃の脅威
セキュリティ研究者らが、ウェブサーバーを数秒以内に機能停止に追い込む新たなDoS攻撃手法「HTTP/2 Bomb」を発見しました。この攻撃は、これまで知られていた「HPACK圧縮増幅攻撃」と、HTTP/2のフロー制御停止を利用したリソース保持(Slowloris型)の二つの要素を組み合わせることで成立します。この手法は、nginx、Apache HTTP Server、Microsoft IIS、Envoy、Cloudflare Pingoraといった主要なウェブサーバーのデフォルト設定で利用されるHTTP/2プロトコル上で機能します。
攻撃の仕組みは、まずHPACK動的テーブルにヘッダーを挿入し、その後、わずか1バイト程度のコンパクトなインデックス表現を繰り返し参照することで、サーバー側で数千バイトのメモリ割り当てを強制的に引き起こします。これが第1段階です。次に、攻撃者はゼロバイトのフロー制御ウィンドウを通知し、サーバーが応答の送信を完了できない状態を作り出します。これにより、リクエストは完全に完了せず、割り当てられたメモリが解放されないまま増大し続けます。
研究者によるテストの結果、この攻撃の深刻さが明らかになりました。100Mbpsの家庭用PCからでも、脆弱なサーバーを数秒で利用不能にできると指摘されています。具体的なテスト事例として、Envoy 1.37.2では約10秒で32GBのRAMが枯渇し、Apache httpd 2.4.67では約18秒で32GB、nginx 1.29.7では約45秒で32GB、IIS(Windows Server 2025)では約45秒で64GBのRAMが枯渇したことが報告されています。研究者らは、これらの要素単体ではなく、組み合わせることで極めて大きな影響が生じる点を強調しています。この組み合わせの発見には、OpenAIのコーディングエージェント「Codex」が利用されました。現在、nginx、Apache、Envoyについては修正パッチが提供されていますが、Microsoft IISやPingora向けのパッチは未定であり、サーバー管理者に対しては、可能であればHTTP/2の無効化や、厳格なヘッダー数制限を適用するプロキシ/ファイアウォールの導入が強く推奨されています。
背景
HTTP/2は、ウェブ通信の効率化のために導入されたプロトコルですが、その複雑な仕組み(HPACK圧縮など)が新たなセキュリティ脆弱性の温床となっています。本攻撃は、既存のプロトコル機能の組み合わせを利用するため、防御側が対策を立てにくい点が脅威となっています。
重要用語解説
- HPACK圧縮増幅: HTTP/2で使用されるヘッダー圧縮技術。攻撃者はこれを悪用し、小さなデータから大量のメモリ割り当てを強制します。
- フロー制御ウィンドウ: HTTP/2におけるデータ送信の制御機構。これを意図的に停止させることで、サーバーのリソースを枯渇させます。
- DoS攻撃: サービス拒否攻撃。サーバーやネットワークに過負荷をかけ、正規の利用者がサービスを利用できない状態にすることです。
今後の影響
本攻撃は、主要なウェブサーバーのデフォルト設定を突くため、広範囲なウェブサービスに即座の脅威を与えます。企業は、パッチ適用に加え、プロキシやファイアウォールによるHTTP/2の制限や無効化を緊急で検討する必要があります。今後の対策は、プロトコルレベルでの防御強化が急務です。