多数の端末から一斉に負荷を与えてサービスを停止させる攻撃。
DDoS攻撃(Distributed Denial of Service attack=分散サービス妨害攻撃)とは、多数の端末から一斉に負荷を与えてサービスを停止させる攻撃のことです。攻撃者は世界中に散らばった大量の端末を手下にして、いっせいに同じサーバへ攻撃をしかけます。
身近な例で考えると、1人ではなく数千人を同時に1軒の店に押し寄せさせる状態に似ています。1人ひとりの行動は些細でも、人数が膨大になれば店はパンクします。しかも全員が別々の場所から来ているため、入口で「この人だけ止める」という対応がほぼ不可能になります。
上のツールで▶ボタンを押すと、多数の端末が乗っ取られてボット(=遠隔操作される機器)になり、指令を受けて一斉にサーバを攻撃し、停止させる流れを確認できます。
DoSとDDoSはどちらも「サービスを止める」目的は同じですが、攻撃元の数が決定的に違います。先頭の「D」はDistributed(=分散)の意味で、攻撃が多数の端末に分散していることを表します。
| 項目 | DoS攻撃 | DDoS攻撃 |
|---|---|---|
| 攻撃元 | 1台のコンピュータ | 多数の端末(ボットネット) |
| 攻撃量 | 1台分(限界あり) | 膨大(合算される) |
| 遮断のしやすさ | 比較的しやすい | 非常に難しい |
DoSは発信元が1つなので、そのIPアドレスを遮断すれば止められます。一方DDoSは発信元が無数に分散しているため、1つ遮断しても他から攻撃が続き、しかも正常な利用者の通信と区別しにくいのが厄介な点です。上のツールで複数のボットが同時に攻撃する様子を見比べてみてください。
DDoS攻撃は発信元が分散しているため、1台のIPを遮断するだけでは防げません。そこで大量のトラフィック(=通信量)を受け止め、振り分け、吸収する仕組みが対策の中心になります。
主な対策は次のとおりです。
・DDoS対策サービス・CDNの利用:世界中に分散した中継網で攻撃トラフィックを吸収・分散する(CDN=コンテンツ配信網)
・トラフィックの監視と自動遮断:異常な急増を検知し、不正な通信を自動でふるい落とす
・レート制限・地域フィルタ:1つの発信元あたりの回数を制限したり、攻撃元の地域からの通信を絞る
・ボットを増やさない:自分の機器がボットにされないよう、OS・機器の更新やパスワード設定を行う
大勢が押し寄せる店の前に、巨大な待合スペースと多数の入口を用意して人の流れをさばくイメージです。1社だけで防ぐのは難しいため、専門の対策サービスを使うのが一般的です。
DDoS攻撃の背後にはボットネット(botnet)という仕組みがあります。ボットネットとは、攻撃者に乗っ取られた多数の端末(ボット)が連絡網を形成したものです。
ボットネットができるまでの流れはこうです。
・①感染:攻撃者がメールの添付ファイルや悪意あるWebサイトを通じてマルウェア(=悪意あるプログラム)を配布する。知らずに実行した一般ユーザーの端末が乗っ取られる
・②ネットワーク化:乗っ取られた端末はC&Cサーバ(=Command & Control server、指令を出す拠点)に接続し、攻撃者の命令を待つ状態になる
・③一斉攻撃:攻撃者がC&Cサーバを通じて「今すぐ〇〇を攻撃せよ」と命令を送ると、ボット全台が一斉に標的へアクセスを浴びせる
ボットにされた端末の持ち主は、自分の機器が攻撃に加担していることに気づかないのがほとんどです。まるで遠隔操作されるロボット(robot→bot)のようなため「ボット」と呼ばれます。上のツールで「感染」ステップを確認してください。
DDoS対策が難しい根本的な理由は2つあります。
理由①:攻撃元が膨大に分散している
DoS攻撃なら「この1つのIPアドレスからの通信を止める」だけで対処できます。しかしDDoSは数千〜数万台のボットが別々の場所から攻撃するため、1つ遮断しても残りが攻撃を続けます。すべての発信元を個別に遮断していては追いつきません。
理由②:正常な通信と見分けにくい
ボットは乗っ取られた一般ユーザーの端末なので、サーバから見ると正常な利用者とまったく同じ通信に見えます。「怪しい通信をブロックする」という方針では、本物の利用者まで巻き込んで止めてしまう危険があります。
この2つの問題から、DDoSへの対策は「完全に防ぐ」よりも「攻撃の影響をできるだけ小さくする(緩和)」という発想が基本になります。大量の流れをさばける専門サービスを組み合わせて、サービスを止めずに耐える体制が求められます。
DDoSの中でも増幅型(アンプ型)DDoSという手口があります。結論から言うと、攻撃者が小さなリクエスト(問い合わせ)を送るだけで、標的には何十倍もの大きな返答が届く仕組みを悪用した攻撃です。
なぜこんなことができるのかというと、インターネット上には「問い合わせより応答のほうが大きい」サービスがあるためです。たとえばDNS(=ドメイン名からIPアドレスを調べる仕組み)では、短い問い合わせに対してずっと大きな回答が返ることがあります。攻撃者はこうしたサービスを踏み台にして次のように動きます。
・①発信元を偽装:攻撃者は送信元IPアドレスを「標的サーバのIPアドレス」に偽って問い合わせを送る
・②中間サーバが応答:正規のサーバが「標的サーバ宛て」に大量のデータを返す
・③標的に殺到:標的サーバに何も要求していないのに大量データが届き、回線や処理能力が埋まる
アナロジーで言うと、「ピザ屋に他人の住所で大量注文させる」ようなものです。注文した本人(攻撃者)は何もしていないのに、ピザ屋(中間サーバ)が相手(標的)の家へ大量配送してしまいます。増幅型は攻撃者の負担が少ない分、対処が難しいDDoSの1種です。
DDoS攻撃の被害者は「攻撃されたサーバの利用者」だけではありません。知らず知らずのうちに自分の端末がボットにされ、攻撃に加担してしまうことも起きます。これはセキュリティの問題が「自分ごと」であることを示しています。
ボットに感染する主な経路と、対応する予防策は次のとおりです。
・感染経路①:怪しいメールの添付ファイル → 対策:送信者を確認してから開く。知らない相手からの添付は開かない
・感染経路②:非公式サイトからのソフトウェアダウンロード → 対策:ソフトは必ず公式サイトや公式ストアから入手する
・感染経路③:古いOSやソフトの脆弱性(=セキュリティ上の穴)を突かれる → 対策:OS・アプリを定期的に更新(アップデート)して穴を塞ぐ
「自分は攻撃対象になるようなサーバを持っていないから関係ない」というのは誤りです。普通のPCやスマートフォンでもボットになり得ます。自分の端末をきちんと管理することが、DDoS攻撃の「加害者にならない」ための第一歩です。