Slide 1

Slide 1 text

HTTP/2 Rapid reset attack の概要 発見された新たな DDoS の手法 Murachi Akira aka Hebikuzure

Slide 2

Slide 2 text

About me • Murachi Akira aka hebikuzure ( 村地 彰 ) • 株式会社エクシードワン 技術フェロー • 株式会社シーピーエス 技術教育スペシャリスト • 専門学校東京テクニカルカレッジ非常勤講師 • Microsoft MVP (Most Valuable Professional) • Since Apr. 2011 ( 13 Years! ) • Award Category: Windows and Device (Windows) • Expertise • Windows client / user management and security • Microsoft 365, Active Directory, Microsoft Endpoint Manager https://www.linkedin.com/in/akiramurachi/ https://www.facebook.com/amurachi/ https://twitter.com/hebikuzure 2

Slide 3

Slide 3 text

8月末からのDDoS •8月末から9月にかけて世界的な DDoS キャンペー ンが発生 •新しい DDoS 手法が利用されていることが判明 •HTTP/2 の仕様の弱点を利用した新しい手法 ⇒HTTP/2 Rapid reset attack 3

Slide 4

Slide 4 text

DoS/DDoS とは 4

Slide 5

Slide 5 text

DoS (Denial of Service) 攻撃 •情報セキュリティにおける可用性を侵害する 攻撃手法 •フラッド攻撃 • 大量のリクエストや巨大なデータを送りつけてサービス を中断させる •脆弱性を利用する • サービスの脆弱性を利用してサービスを中断させる 5

Slide 6

Slide 6 text

フラッド攻撃 6

Slide 7

Slide 7 text

DDoS (Distributed Denial of Service) •乗っ取りやなりすましを利用して、多数のエンドポ イントからサービスへの攻撃を集中させる手法 •協調分散型DoS攻撃(乗っ取りを利用) • 乗っ取ったデバイスから攻撃対象にリクエストを送信 •分散反射型DoS攻撃(なりすましを利用) • 攻撃対象になりすまし、大量のリクエストを送信 • 攻撃対象に大量のレスポンスが集中 7

Slide 8

Slide 8 text

協調分散型DoS 8

Slide 9

Slide 9 text

TCP Syn Flood Syn Syn Syn Syn Syn Syn Syn-Ack Ack Ack Ack Ack AckAck Ack を 返さない 接続応答(Ack)待ち スレッドが増大 9

Slide 10

Slide 10 text

HTTP/2 Rapid reset attack 10

Slide 11

Slide 11 text

HTTP/2 ストリーム多重化 •HTTP/2 では 1 つの TCP 接続を複数の HTTP スト リーム(リクエストとそれに対応するレスポンス)で 共有する stream#1 HTTP Request HTTP Response stream#2 HTTP Request HTTP Response TCP 11

Slide 12

Slide 12 text

ストリームのリセット •1つの TCP 接続内の特定のストリームだけ中断した い場合、クライアント/サーバーはリセット要求 (RST_STREAM フレーム)を送信できる • HTTP 1.1 であれば TCP をリセットすれば良いが、 HTTP/2 では複数のストリームで共有されているので TCP はリセットできない •リセット要求はただちに処理される 12

Slide 13

Slide 13 text

RST_STREAM stream#1 HTTP Request HTTP Response stream#2 HTTP Request RST_STREAM stream#3 HTTP Request HTTP Response TCP 13

Slide 14

Slide 14 text

RST_STREAM の処理 •送信側 • 単に送信するだけ • 負荷は少ない •受信側 • それまでの処理のキャンセルが必要 • それなりの処理量が必要 送信側と受信側の負荷が非対称 14

Slide 15

Slide 15 text

HTTP/2 Rapid reset attack 1.HTTP/2 リクエストを送信 2.直後にリセット要求(RST_STREAM)を送信 3.これを高速・大量に繰り返す 4.サーバー側の負荷が増大 5.DoS 成立 15

Slide 16

Slide 16 text

リクエストとリセット リセット処理の負荷増大 HTTP/2 Request RST_STREAM 16

Slide 17

Slide 17 text

対策 •不正な(大量の)RST_STREAMを検知して TCP 接続をクローズ •不正な(大量の)RST_STREAMを送信する IP をブロック サーバー/ネットワークでの対処 17

Slide 18

Slide 18 text

対応状況 •主なネットワーク オペレーター(CDN など)では 対処完了 •サーバー製品(Web サーバー、フレームワーク、プロ キシなど)の対処も完了 ⇒ 要更新 •詳細情報 CVE Record | CVE CVE-2023-44487 18

Slide 19

Slide 19 text

Call to action •利用しているサーバー製品(Web サーバー、フレー ムワーク、プロキシなど)の対応状況を確認 •対応済みバージョンへの更新 •ネットワーク オペレーターの対応やガイダンスを 確認 19

Slide 20

Slide 20 text

参考情報 • HTTP/2 Rapid Reset:記録的勢いの攻撃を無効化 (cloudflare.com) • 仕組み: 新手の HTTP/2「Rapid Reset」DDoS 攻撃 | Google Cloud 公式ブログ • How AWS protects customers from DDoS events | AWS Security Blog (amazon.com) • CVE-2023-44487 - セキュリティ更新プログラム ガイド - Microsoft - MITRE: CVE-2023-44487 HTTP/2 Rapid Reset Attack 20

Slide 21

Slide 21 text

21 ありがとうございました • Murachi Akira aka hebikuzure​ • https://www.linkedin.com/in/akiramurachi/ • https://www.facebook.com/amurachi/ • https://twitter.com/hebikuzure