DDoS 攻撃 - DDoS 攻撃
大量のトラフィックでサービスを停止させる分散型サービス拒否攻撃。レイヤー別の攻撃手法と防御策を解説。
概念図
攻撃シナリオ
レイヤー別 DDoS 攻撃ツールの例
bash
# UDP フラッド(ボリューム型)
hping3 --udp --flood --rand-source -p 53 target.example.com
# SYN フラッド(プロトコル型)
hping3 -S --flood --rand-source -p 80 target.example.com
# Slowloris(アプリケーション層)
多数の TCP 接続を開いたまま、HTTP ヘッダを 1 行ずつ
非常にゆっくり送信してソケットを占拠するDDoS 攻撃の分類(OSI レイヤー別)
DDoS(Distributed Denial of Service)攻撃は、標的のリソースを枯渇させる目的に応じて 3 層に分類されます。
防御策もレイヤーによって異なります。
| 分類 | レイヤー | 狙い | 代表的な手法 |
|---|---|---|---|
| ボリューム型 | L3 / L4 | 帯域を使い切る | UDP フラッド、ICMP フラッド、DNS / NTP / Memcached アンプリフィケーション |
| プロトコル型 | L3 / L4 | ステートテーブルや接続数を枯渇させる | SYN フラッド、Ping of Death、Smurf、Fraggle |
| アプリケーション層型(L7) | L7 | Web サーバーや API のリソースを消費させる | HTTP フラッド、Slowloris、R-U-Dead-Yet (RUDY)、Cache-busting |
規模の単位: ボリューム型は Gbps / Tbps(帯域)、プロトコル型は Mpps(パケット毎秒)、アプリケーション層は RPS(Request Per Second) で測られます。
どれか 1 つでもボトルネックになればサービスは停止します。
ボットネットと反射・増幅攻撃
大規模な DDoS を実現するには、攻撃元を分散させる ボットネット と、小さな通信で大きな応答を引き出す 反射・増幅攻撃 が鍵になります。
代表的なボットネット:
- Mirai(2016) — IoT 機器(ルーター、防犯カメラ、DVR 等)に初期パスワードのままログインして感染。2016 年 10 月、DNS プロバイダ Dyn を攻撃し、Twitter、Netflix、GitHub、Airbnb、Reddit 等が大規模に停止。ピーク時で約 1.2 Tbps の攻撃規模
- Meris(2021) — MikroTik ルーター経由で約 25 万台を侵害し、Yandex に 2180 万 RPS の L7 攻撃を記録
- Mēris 系 / Aisuru(2024) — 2024 年以降も IoT / ルーター経由のボットネットが成長を続けている
反射・増幅攻撃の原理:
- 攻撃者が送信元 IP を被害者の IP に偽装(IP spoofing)した小さな UDP クエリを公開サーバー(DNS、NTP、Memcached 等)に送る
- サーバーは正規のクエリだと判断し、大きな応答を被害者の IP に返す
- 1 のリクエストが 数十〜5 万倍 に増幅される
| プロトコル | 増幅率 | 備考 |
|---|---|---|
| DNS | 28-54 倍 | 公開 DNS リゾルバの悪用 |
| NTP (monlist) | 556 倍 | 古い NTP サーバーが悪用対象 |
| Memcached | 最大約 51,200 倍 | 2018 年 GitHub が 1.35 Tbps の攻撃を受けた |
| SSDP / UPnP | 30 倍 | 家庭用ルーターの UPnP |
レイヤー別の防御戦略
| レイヤー | 対策 | 具体例 |
|---|---|---|
| ボリューム型(L3/L4) | 自前の回線ではなく、CDN・DDoS 緩和サービスにトラフィックを吸収させる | Cloudflare、AWS Shield Advanced、Akamai Prolexic、Google Cloud Armor |
| プロトコル型 | SYN Cookie、接続数制限、Anycast によるトラフィック分散 | Linux: net.ipv4.tcp_syncookies=1、F5 BIG-IP、Cloudflare Magic Transit |
| L7 アプリケーション層 | WAF による異常検知、レート制限、CAPTCHA、JS Challenge、Bot 管理 | Cloudflare WAF + Bot Fight Mode、AWS WAF + Rate-based rules、Akamai Bot Manager |
運用面のベストプラクティス:
- オリジンサーバーの IP を隠す: CDN / WAF の背後に置き、直接のアクセスを防ぐ。古い DNS レコードが漏洩しているとオリジン直接攻撃を受ける
- 自動スケーリングとリソース上限の設計: スケールアウトしすぎてコストが爆発する「EDoS(Economic DoS)」を防ぐため、最大スケール数を設計時に決める
- インシデントプラン: DDoS が発生した場合の連絡先(CDN ベンダー、ISP、ホスティング事業者)を事前にまとめておく
- BGP / ルート制御: 大規模攻撃時は上流 ISP と連携して RTBH(Remotely Triggered Black Hole)や FlowSpec で経路レベルのフィルタリングを依頼する
注意: 2023-2024 年には HTTP/2 Rapid Reset 脆弱性(CVE-2023-44487)による 2.01 億 RPS 規模の L7 攻撃が Google に観測されました。
既知の L7 攻撃パターンは WAF ベンダーの情報を随時取り込む必要があります。
