概要
DDoS(Distributed Denial of Service)攻撃とは、悪意のある攻撃者が複数のコンピューターや機器を操り、特定のウェブサイトやサーバーに対して一斉に大量のアクセスを送りつけるサイバー攻撃のことです。日本語では「分散型サービス拒否攻撃」と呼ばれます。
たとえば、人気のラーメン店に嫌がらせをする場面を想像してみてください。注文する気のない1000人の集団が突然お店に押し寄せて入り口を塞いでしまったら、本当のお客さんはお店に入れず、営業ができなくなってしまいます。DDoS攻撃は、これをインターネット上のウェブサイトに対して行う行為です。
詳しい説明
何を目的にしているのか
DDoS攻撃を行う攻撃者の目的は、主に以下の3つに分けられます。
- 脅迫・身代金 「攻撃を止めてほしければお金を払え」と企業を脅迫するために行われます。
- 嫌がらせ・抗議活動 特定の企業や政府の主張に対する抗議(ハクティビズム)や、単なる嫌がらせ、競合他社の業務妨害として行われることがあります。
- おとり DDoS攻撃でシステム管理者の注意を惹きつけている間に、裏でこっそりと機密データを盗み出すなどの別のサイバー攻撃を仕掛けるための「おとり」として使われることもあります。
どんな攻撃手法なのか
DDoS攻撃にはいくつかの種類がありますが、代表的なものは以下の通りです。
- ネットワークの回線をパンクさせる(ボリューム型攻撃) 意味のない大量のデータを送りつけ、サーバーに通じるインターネットの道(帯域幅)を渋滞させて通信できなくします。
- サーバーの処理能力を使い果たさせる(プロトコル攻撃・アプリケーション層攻撃) ウェブサイトの検索機能やログイン機能など、サーバーに計算などの負担がかかる処理をわざと大量に要求し、サーバーをフリーズさせます。
攻撃者は自分のパソコン1台から攻撃するわけではありません。ウイルスに感染させた世界中の無数のパソコンや、監視カメラなどのインターネットにつながる機器(IoT機器)を乗っ取り、「ボットネット」と呼ばれる軍団を作って一斉に攻撃を仕掛けます。
最近発生した攻撃や有名な事件
- Miraiボットネット事件(2016年) インターネットにつながる監視カメラやルーターなどの機器が大量に乗っ取られ、アメリカの大手インターネット基盤会社(Dyn社)が大規模なDDoS攻撃を受けました。これにより、Twitter(現在のX)やNetflixなどの有名サービスが一時的に使えなくなる大きな被害が出ました。
- HTTP/2 Rapid Reset攻撃(2023年) インターネットの通信ルール(HTTP/2)の仕組みを悪用し、過去最大規模となる1秒間に数億回ものアクセスを送りつける攻撃が発生しました。この攻撃は、GoogleやAWS、Cloudflareなどの大手インターネット企業によって防御されました。
どうしたら防げるか
DDoS攻撃は通常のアクセスに紛れて行われるため、サーバー単体で完全に防ぐのは困難ですが、以下のような対策が有効です。
- CDN(コンテンツ配信ネットワーク)の導入 CloudflareなどのCDNサービスを利用すると、世界中に分散した中継サーバーがアクセスを身代わりとして受け止めてくれるため、本来のサーバーがダウンするのを防ぐことができます。
- WAF(ウェブアプリケーションファイアウォール)の利用 不審なアクセスや、機械的な連続アクセスを自動で見極めて遮断する防護壁(WAF)を設置します。
- アクセス制限(レートリミット) 「1人のユーザーが1分間にアクセスできる回数は〇回まで」といった制限を設けることで、異常な連続アクセスを防ぎます。
DDoS攻撃の仕組みや対策の技術的な詳細については、CloudflareのDDoS攻撃に関する解説記事 や、MDN Web Docsのセキュリティ関連のドキュメント を参照してください。
まとめ
DDoS攻撃は、大量のアクセスを送りつけてウェブサイトをダウンさせる迷惑なサイバー攻撃です。インターネット上でサービスを公開する以上、常に攻撃の標的になる可能性があるため、CDNやWAFなどの専門的な防御システムをあらかじめ準備しておくことが重要です。
このサイトでの使われ方
このサイトでは、ホスティングにCloudflare Pagesを利用し、データベースにCloudflare D1を利用しています。
Cloudflareは世界最大規模のDDoS対策ネットワークを持っているため、このサイトは標準状態でCloudflareの強力な保護の恩恵を受けています。もし外部からこのサイトに対してDDoS攻撃が仕掛けられたとしても、Cloudflareのネットワークがエッジ(ユーザーに近い場所)で悪意のある通信を吸収・遮断するため、サイトの閲覧が停止するリスクを最小限に抑える構成になっています。