ラピッドリセット攻撃とは:概念から影響、対策まで

セキュリティ

・ラピッドリセット攻撃の概念とその特徴を知りたい
・ラピッドリセット攻撃が大手クラウドベンダに与えた影響は?
・軽減策および恒久的な対策は?

今回は、2023年10月にセキュリティの世界で話題であったラピッドリセット攻撃というDDoS攻撃について疑問を解消するために記事にしました。

DDoS攻撃とは、複数のコンピュータから攻撃対象のサーバへ一斉にパケットを送り、サーバダウンにつなげる攻撃のことです。

この攻撃はクラウドが主流となっている今の世の中に影響が出るといわれている攻撃の一つと言われています。新しい攻撃パターンのため、従来の対策が効きにくいのも特徴です。

ではラピッドリセット攻撃がどのようなものか、その対策はあるのかについて以降で述べていきます。

ラピッドリセット攻撃とは

ラピッドリセット攻撃、一般的には「HTTP/2 Rapid Reset」と言われています。DDoS攻撃の一つであり、Google Cloudをはじめとする大手クラウド各社を標的とした新しいパターンの攻撃です。

HTTP/2を用いた通信の仕様

通常の通信は、クライアントからメッセージ(フレーム)をリクエストとしてサーバに送り、サーバからレスポンスが返る双方向の通信です。

クライアントとサーバ間で通信のやり取りができる状態かどうかの仕組みを3way handshakeといいます。

HTTP/2の通信ではこれを抽象化した「ストリーム」が使われます。

ストリームの仕様

ストリームには多重化機能があり、具体的にはサーバへの複数のリクエストを一気におくることです。旧式の通信プロトコルであるHTTP/1.1までは1つ1つのリクエストを順番に処理する仕組みだったため、ストリームはHTTP/2の目玉機能の一つでもあります。

ストリームを一気に送る数に制限があります。ストリームには31bitのIDが設定でき、1073741824までのストリームを送ることができます。通常のHTTP/2を利用したDDoS攻撃はこの範囲内でストリームを送ったりするわけで、必ずサーバからも同数のレスポンスが返ってくるという仕組みです。

ラピッドリセットはストリームを悪用した攻撃

これまでのDDoS攻撃は、ストリームには制限があるという前提で行われていました。しかし、ラピッドリセット攻撃は、高速な(ラピッド)ストリームにキャンセルのフラグ(リセット)も乗せる形で大量に送る攻撃です。

現実世界で例えるならサムネイルで示したように「予約しようと思ったけどやっぱりしません」のようなイタズラ電話が一斉に行われ、会社の電話がひっ迫するような感じでしょうか。

ストリームがキャンセルされて打し消すため実質ストリームは0、上限もなくなり好き放題送れてしまうのが、今回の攻撃と言われています。

おおよそのイメージができるように、調べた情報をもとに画像つくりました。Googleのサイトのほうがわかりやすいかもしれませんが・・・

この攻撃がGoogle Cloudなどの大手クラウドベンダに影響を与えたということで、具体的にどれくらいの影響が出たか次章で説明します。

クラウドベンダへの影響

前章でも述べたように、この攻撃は大手クラウドベンダに影響を与えました。これまでの最大リクエストは、2022年6月にGoogle Cloudが受けた毎秒4600万でした。

ただラピッドリセット攻撃は、そのストリーム上限のなさからリクエスト出し放題、Google Cloudにて過去最大の7.5倍である毎秒3億9800万リクエストのDDoS攻撃になりました。

攻撃は2分間でWikipediaの1か月の総閲覧数を上回る勢いだったそうです。

Gigazine「HTTP/2ラピッドリセット攻撃」でGoogle Cloudに最大で毎秒3億9800万リクエストのDDoS攻撃があったことが判明」より

同時期にCloudflareで毎秒2億1000万リクエスト、AWSで毎秒1億5500万リクエストが観測されたようです。

これまでのDDoS攻撃にない新しいパターンがうまれ、大手クラウドベンダをもターゲットにできてしまうあたり、この影響は大きいものではないかと感じました。

どのような対策があるか

Googleが提示する軽減策

まず攻撃を軽減する対策から述べています。Googleでは案の一つとして、攻撃を受けた際に通信をするためのTCPプロトコルを閉じる方法を提示しています。HTTP/2にTCPプロトコルを閉じる仕組みがあるため、それを利用するということです。

ただしこの方法では何が不正利用された通信かがわからないため、ある接続のリクエスト数が膨大であれば攻撃リクエストと判定するなどの工夫が必要。同時ストリームを超過するHTTP/2を止めるいうのがGoogleの見解です。

恒久策はソフトウェアのアップデート

あくまで軽減策で、やはり今回の脆弱性にかかわるソフトウェアのアップデートが一番の根本策ではないかと私は考えます。最近ではApacheがtomcatのアップデート版、Windowsの累積パッチの10月版などにラピッドリセットの対策を含めているそうです。

まとめ

本記事ではラピッドリセット攻撃について述べました。

クラウドベンダもビックリのHTTP/2のストリームを悪用した新しいタイプの脆弱性攻撃になります。同時リクエストの制限をリセットで打ち消すという穴をついた珍しいタイプに思います。

強力な防御策もいろいろなリスクがあるため、なかなか難しいタイプのものとも感じました。

では、本記事を終了します。

参考文献

コメント

タイトルとURLをコピーしました