HTTP/2を狙った凶悪なサイバー攻撃が再来~Continuation Floodとは~
3行でわかる本記事のサマリ
- 過去最大級のDDoS攻撃「HTTP/2 Rapid Reset」以上の危険性あり
- たった1台の端末でWebサーバーを機能停止に追い込むことが可能
- 適切なWAFを導入することで防御可能
目次
- HTTP/2 Continuation Flood概要
- 攻撃方法
- 対策方法
- まとめ
はじめに
2024年4月、HTTP/2にてDDoS攻撃を可能とする新たな脆弱性が見つかりました。この脆弱性は2023年10月に行われた過去最大級のDDoS攻撃「HTTP/2 Rapid Reset」を上回る危険性があり、対策は必要不可欠です。また、前回の攻撃がわずか半年前であったことから、サイバー攻撃は急速に進化しているといえます。急速に進化するサイバー攻撃に対して、どの様に対策をしていけばよいのでしょうか。
本記事では、新たな攻撃及び対策について解説します。
1.HTTP/2 Continuation Flood概要
本脆弱性を用いた攻撃は、たった一台の端末でWebサーバーを機能停止に追い込むことが可能です。そのため、危険性は以前のRapid Reset攻撃よりも増しているといえます。
たった一台の端末で機能停止まで追い込むことができる理由は、HTTP/2の通信仕様にあります。
HTTP/2とは
HTTP/2とは、Webサーバーと効率的に通信をすることでWebページの表示速度を向上させる通信方式です。どのようにして効率的な通信を実現しているか、従来の通信方式であるHTTP/1.1と比較してみていきましょう。
■HTTP/1.1
HTTP/1.1では、クライアントが一つのリクエストを送信すると、レスポンスが返ってくるまで待機し、受け取ってから次のリクエストを送信するという流れで通信をしていきます。
■HTTP/2
HTTP/1.1と違い、クライアントは複数のリクエストを同時に送信することが可能で、Webサーバーも複数リクエストを同時に処理し、準備ができたものから順番を気にせずレスポンスを返すことができます。そのため、コンテンツを取得するスピードが大幅に上がり、複雑なページの表示速度を高速化できます。そのほかにもHTTPヘッダの圧縮や、サーバー側からあらかじめ必要なコンテンツを送信する機能等、表示速度を高速化する機能が搭載されています。
HTTP/2ストリームとは
複数のリクエストを同時に送信/処理し、準備ができたもの順次レスポンスを返すことができる理由は、HTTP/2の「ストリーム」と呼ばれる概念にあります。それぞれのリクエストとレスポンスには「ストリームID」が割り振られおり、これによってクライアントが同時に複数のリクエストを送信したとしても、対応するレスポンスはどれかを識別することができます。
またストリームは次の様な流れで開始~終了します。
【ストリーム開始~終了までの流れ】
①クライアントとWebサーバー間でTLS接続が確立し「ストリーム開始待ち」となる
②クライアントからリクエストヘッダが送信されるとストリームが開始され、「ヘッダ情報受付状態」となる
③クライアントからリクエストヘッダ送信終了が通知されると、「ヘッダ情報受付終了」となる
④クライアントからストリーム終了が通知されると、「ストリーム終了待機状態」となる
⑤Webサーバーからストリーム終了が通知され、「ストリーム終了状態」となる
2.攻撃方法
ストリーム開始~終了までの一連の流れの中、リクエストヘッダ送信終了を通知しないことで、大量のリクエストヘッダ情報を送信可能となり、これがWebサーバーの機能を停止つながります。
機能停止となる過程
Webサーバーは、攻撃によって送信された大量のヘッダ情報をメモリに蓄積し続けていくため、メモリリソースの枯渇を引き起こします。さらにその内容をCPUが解析するため、CPUのリソースも枯渇していきます。メモリとCPUのリソースが枯渇すると、正規ユーザーのリクエスト処理することが不可能となりアクセスできなくなる、あるいはサーバーそのものが過剰負荷によりダウンする可能性があります。
3.対策方法
対策手段としては、以下の2つが挙げられます。
①Webサーバーソフトウェアのバージョンアップ
今回の脆弱性があるWebサーバーソフトウェアは、最新バージョンへのアップデートによりこの問題を改修しています。ただし、アップデートによるサービス支障が生じないかを検証する必要があることから、対策が遅れてしまう可能性があります。
②WAFを導入
WAF(Web Application Firewall)を導入することで、Webサーバーのアップデートを伴わずとも対策可能です。また、WAFは最新の攻撃に合わせてアップデートされ続けるため、今回の様に新たな脆弱性が発見された場合も直ちに対策することができます。
弊社が取り扱っているImperva社製品は、今回の攻撃に対して迅速にアップデートされ対策することができました。
4.まとめ
- Continuation FloodはHTTP/2の脆弱性を利用した攻撃である
- Webサーバーソフトウェアのアップデートで対応可能
- Webサーバーアップデートの際検証が必要となり対策が遅れる可能性がある
- 適切なWAFを導入することで今後も即座に新しいサイバー攻撃を対策できる
▼資料ダウンロード
今や必須のWAF~WAFを選ぶ際のポイントとは?~
▼お問い合わせ窓口