サービス妨害(DoS・DDoS)— 大量アクセスで止める

概要 — まず全体をつかむ

初級では「DoSとDDoS・ボットネット」を押さえました。中級では、攻撃の種類と、吸収する守りへ。攻撃の本質は「壊す」のではなく「混雑させて止める」ことです。

詳細 — 1段階ずつ追う

止め方にも型がある

同じ「使えなくする」でも、狙う資源で分類できます。

  • 帯域枯渇型 — 大量のパケットで回線そのものを溢れさせる
  • プロトコル型SYN flood など、接続確立の途中状態を大量に作り、コネクション資源を枯渇させる
  • アプリケーション層型 — 検索や集計など重い処理を狙い、少ない通信量でもサーバを疲弊させる

さらに厄介なのが反射・増幅攻撃DNSやNTPの公開サーバへ、送信元を標的に偽装した小さな要求を送ると、大きな応答が標的へ集中します(小さな要求→大きな応答の増幅)。攻撃者自身の帯域以上の負荷を生めるのが特徴です。

アニメーション『DoS/DDoS(混雑させて止める)』を開く
大量アクセスで“混雑させて止める”🤖 ボットネット乗っ取られた多数の端末💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り一斉に大量アクセス防御ライン🖥️サーバパンク(処理があふれる)💥正規の利用者使えなくなるつながらない防ぎ方(前線で吸収・遮断)🛡CDN / WAFで吸収前線で受け流す🚦レート制限過剰なアクセスを絞る🚫異常トラフィックの遮断怪しい送信元を止める壊すのではなく“混雑させて止める”攻撃(可用性を奪う)

登場人物メモ:

  • ボットネット — マルウェアで乗っ取られた機器の群れ。分散した踏み台として一斉に動員される
  • リフレクタ — 反射に悪用される公開サーバ(DNS・NTPなど)。本来は正規のサービス
この部分をもっと深く(上級

同じ「使えなくする」でも、枯渇させる資源が層ごとに違います。ここを見分けると、効く対策も変わります。

  • 帯域枯渇型(volumetric) — 回線の帯域(bps)やパケット処理能力(pps)を溢れさせる。UDP floodなど、とにかく量で押す。数十Gbps級になることも
  • プロトコル型(protocol) — 通信の状態を枯らす。代表が SYN flood で、接続確立の途中(半開き)でやめて、サーバの接続テーブル(バックログ)を埋め尽くす。ネットワークの階層 でいえばトランスポート層の弱点を突く
  • アプリケーション層型(application-layer) — CPU・データベース・メモリなどの処理資源を狙う。重い検索を繰り返すHTTP flood、接続をわざと遅く保って占有し続ける Slowloris など。少ない通信量でも効くのが厄介
アニメーション『DoS/DDoS(混雑させて止める)』を開く
大量アクセスで“混雑させて止める”🤖 ボットネット乗っ取られた多数の端末💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り一斉に大量アクセス防御ライン🖥️サーバパンク(処理があふれる)💥正規の利用者使えなくなるつながらない防ぎ方(前線で吸収・遮断)🛡CDN / WAFで吸収前線で受け流す🚦レート制限過剰なアクセスを絞る🚫異常トラフィックの遮断怪しい送信元を止める壊すのではなく“混雑させて止める”攻撃(可用性を奪う)

層が上がるほど通信量あたりの破壊力が上がり、正規アクセスとの見分けも難しくなります。

やさしく言うと(初級

サービスの処理能力や回線を溢れさせて、正規の利用者が使えないようにします。

  • DoS — 1か所から大量アクセス
  • DDoS(分散型)乗っ取った多数の端末(※1 ボットネット) から一斉に攻撃

DDoSは送信元が膨大で、正規アクセスと見分けにくいのが厄介です。

アニメーション『DoS/DDoS(混雑させて止める)』を開く
大量アクセスで“混雑させて止める”🤖 ボットネット乗っ取られた多数の端末💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り💻乗っ取り一斉に大量アクセス防御ライン🖥️サーバパンク(処理があふれる)💥正規の利用者使えなくなるつながらない防ぎ方(前線で吸収・遮断)🛡CDN / WAFで吸収前線で受け流す🚦レート制限過剰なアクセスを絞る🚫異常トラフィックの遮断怪しい送信元を止める壊すのではなく“混雑させて止める”攻撃(可用性を奪う)

登場人物メモ:

  • ※1 ボットネット — マルウェアで乗っ取られた機器の群れ。攻撃の手先にされる

吸収して守る

  1. 前線で吸収CDN やスクラビングセンターで、大量トラフィックを受け止め洗い流す
  2. レート制限 — 送信元ごとの過剰アクセスを絞る
  3. Anycast分散 — 同じアドレスを世界中の拠点で受け、負荷を地理的に分散する(負荷分散 の考え方の延長)
  4. 上流でのフィルタ — 回線が埋まる前に、ISPや上流で偽装・不要トラフィックを落とす
  5. 監視 — 平常時の傾向を知り、異常な急増を早く検知する
この部分をもっと深く(上級

完全に止めるのではなく、希釈し・吸収し・洗い流すのが現実解です。

  1. レート制限 — 送信元ごとの過剰アクセスを絞る。ただしIPが分散・偽装されると効きにくい
  2. Anycast分散 — 同じアドレスを世界中の拠点で受け、負荷を地理的にばらす(負荷分散 の考え方の延長)
  3. スクラビングセンター — 攻撃時に経路(BGP)を誘導し、専用設備で不正トラフィックを洗い落として正規分だけ返す
  4. CDN・WAFで前線吸収CDN の広い受け口で帯域を分散し、WAFでアプリ層の不正リクエストを弾く
  5. SYN cookie(※2) — プロトコル型に対し、状態を持たずに半開き接続の枯渇を防ぐ
  6. 上流フィルタ・送信元検証 — 回線が埋まる前にISPや上流で偽装トラフィックを落とす。ネット全体が送信元検証を徹底すれば反射攻撃の土台自体が崩れる
やさしく言うと(初級
  1. 受け流す — CDN・WAF・DDoS対策サービスで、前線で吸収・遮断
  2. レート制限 — 1か所からの過剰アクセスを絞る
  3. 分散・スケール — 負荷を分散し、自動で増強
  4. 監視 — 異常な急増を早く検知

⚠️ 現実の難所

  • 正規と攻撃の見分け — アプリケーション層型は正規アクセスに似せやすく、遮断が難しい
  • 踏み台への加担 — 自分の機器がボットネットやリフレクタにされ、加害側になることも
  • 身代金型(RDoS) — 「止められたくなければ払え」と脅す
  • 回線が埋まってからでは遅い — 帯域枯渇型は、上流で止めないと自前の対策が届かない
この部分をもっと深く(上級
  • 帯域は物理的な上限を持つ — 相手の総量が自前の回線容量を超えれば、機器に届く前に詰まる。だからクラウドや上流で受けるしかない
  • 正規と攻撃の見分けは原理的に難しい — 特にアプリケーション層型は本物そっくりで、完全な自動判別はできない
  • 偽装は自分だけでは消せない — 反射攻撃の土台(送信元偽装)は、世界中のネットワークが検証を守らない限り残る
  • だから守りは「止める」ではなく「受け流す・希釈する」が中心になる
やさしく言うと(初級
  • 可用性への攻撃 — 機密や完全性でなく「止める」被害
  • 身代金型(RDoS) — 「止められたくなければ払え」と脅す
  • 加担のリスク — 自分の機器がボットネットにされ、加害側になることも(=マルウェア対策が大事)

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. SYN flood のように、通信確立の手続きの弱点を突いて資源を枯渇させる攻撃の分類に近いのは?

2. DNSやNTPを踏み台にした反射・増幅攻撃で、送信元を偽装する主な理由は?

3. 帯域枯渇型に対し、自前のサーバ側対策だけでは間に合わないことがあるのはなぜ?

4. 反射攻撃でいう「リフレクタ」とは?

5. アプリケーション層型の遮断が難しい主な理由は?

6. 「止められたくなければ払え」と金銭を要求するDDoSの型は?

7. マルウェアで乗っ取られ、攻撃の手先として一斉に動員される機器の群れを何と呼ぶ?

8. 同じIPアドレスを世界中の複数拠点で受け、負荷を地理的に分散させる仕組みを何と呼ぶ?