DDoS(Distributed Denial of Service)とは?
DDoS とは
DDoS(Distributed Denial of Service:分散型サービス拒否)攻撃とは、多数のシステムから特定のサーバー、ネットワーク、アプリケーションへ大量のトラフィックやリクエストを送り、正常なサービス提供を妨害する攻撃です。攻撃トラフィックがシステムの処理能力を超えると、サーバーやネットワーク機器のリソースが枯渇し、接続遅延、接続失敗、ページエラーなどが発生します。
攻撃対象は Web サイトだけではありません。モバイルアプリ、オンラインゲーム、決済サービス、DNS サーバー、VPN、API など、外部からのリクエストを処理するさまざまなサービスが標的となり、内部システムへ直接侵入しなくてもサービスの利用を妨害・停止できます。
DDoS 攻撃には、大量のパケットを送信してネットワーク帯域を枯渇させる方法や、通常の Web リクエストに似たリクエストを繰り返してサーバーやデータベースの処理リソースを使い果たす方法などがあります。手法は異なりますが、多数のシステムから同時にトラフィックやリクエストを発生させ、正常なサービス利用を妨げる点は共通しています。
DDoS は複数のシステムを攻撃に利用する点で、単一または少数のシステムから行われる DoS 攻撃と区別されます。
DoS と DDoS の違い
DoS と DDoS は、どちらもサービスが正常なリクエストを処理できない状態にする攻撃ですが、攻撃トラフィックの発生方法と規模、送信元の特定、対応の難易度が異なります。
| 区分 | DoS 攻撃 | DDoS 攻撃 |
|---|---|---|
| 攻撃元 | 単一または少数の IP | 複数地域に分散した多数の IP |
| 攻撃規模 | 限定的 | 大規模なトラフィックを発生可能 |
| 送信元の特定 | 比較的容易 | IP が分散しているため困難 |
| 対応方法 | 送信元の遮断、サーバー保護 | トラフィックフィルタリング、WAF、CDN、スクラビングなど |
| 正常なリクエストの識別 | 攻撃元が限定されるため比較的容易 | 正常なユーザーと混在するため困難 |
この違いは、攻撃に動員されるシステム数と制御方法に起因します。DoS 攻撃は単一または少数のシステムから発生しますが、DDoS 攻撃は攻撃者が掌握した多数の PC、サーバー、ルーター、IoT デバイスなどを同時に利用します。攻撃トラフィックが複数のデバイスに分散するため、送信元の特定や正常なリクエストとの識別が困難です。
DDoS 攻撃の仕組み
攻撃者は PC、サーバー、ルーター、IP カメラ、IoT デバイスなどをマルウェアに感染させます。感染したデバイスは攻撃者の遠隔命令を実行するボット(bot)となり、こうしたボットを多数つないだネットワークをボットネット(botnet)と呼びます。
攻撃者が命令を出すと、ボットネットを構成するデバイスが特定のサーバーやサービスへ一斉にトラフィックを送信します。大量のリクエストが続くと、サーバーの CPU やメモリ、ネットワーク機器のセッション処理能力が急速に消費されます。攻撃トラフィックが処理限界を超えると、正常なユーザーへの応答が遅れ、Web サイト、API、決済などの主要サービスが遅延または停止するおそれがあります。
DDoS 攻撃の種類
DDoS 攻撃は、どのリソースを枯渇させるかによって、帯域幅攻撃、プロトコル攻撃、アプリケーション層攻撃に分けられます。実際の攻撃では複数の種類を同時に使用したり、防御状況に応じて手法を変えたりします。
帯域幅攻撃
帯域幅攻撃は、対象ネットワークの処理能力を上回るトラフィックを送信する攻撃です。サーバーが正常に動作していても、インターネット回線に攻撃トラフィックが集中すると、正常なユーザーがサービスへ接続しにくくなります。
UDP Flooding: UDP パケットを大量に送信し、ネットワーク帯域と対象システムのパケット処理能力を枯渇させます。
ICMP Flooding: Ping リクエストなどに使われる ICMP パケットを集中的に送信し、ネットワーク帯域とシステムの応答処理に負荷を与えます。
リフレクション/増幅攻撃: 被害システムの IP アドレスに送信元を偽装したリクエストを外部サーバーへ送り、リクエストより大きな応答トラフィックを被害システムに集中させます。
プロトコル攻撃
プロトコル攻撃は、TCP/IP 通信と接続処理の手順を悪用し、サーバーやセキュリティ機器のセッション処理能力を枯渇させます。全体のトラフィック量が大きくなくても、ファイアウォール、侵入防止システム、ロードバランサー、サーバーの接続処理機能に障害を引き起こすことがあります。
SYN Flooding: TCP 接続リクエストを繰り返し、接続を完了させずにサーバーのセッション処理能力を枯渇させます。
ACK Flooding: ACK パケットを大量に送信し、ファイアウォールとサーバーのパケット検査およびセッション処理の負荷を高めます。
TCP Flag Flooding: TCP フラグを異常に設定したパケットを送信し、ネットワーク機器のパケット検査リソースを枯渇させます。
Fragmentation Flooding: 断片化した IP パケットを大量に送信し、対象システムのパケット再構成処理リソースを枯渇させます。
暗号化およびアプリケーション層攻撃
暗号化およびアプリケーション層攻撃は、HTTPS 接続を繰り返したり、Web サービスの実機能を呼び出したりする手法です。ネットワークトラフィックが比較的少なくても、サーバーの演算能力やアプリケーションの処理能力を急速に枯渇させることがあります。
SSL/TLS Flooding: SSL/TLS 接続の確立を繰り返し、サーバーの暗号化演算と接続処理リソースを枯渇させます。
HTTP Flooding: GET、POST などのリクエストを大量に送信し、Web サーバーとアプリケーションの処理能力を枯渇させます。
HTTPS Flooding: 暗号化された HTTP リクエストを繰り返し、サーバーとセキュリティ機器の接続およびリクエスト処理の負荷を高めます。
Slow HTTP 攻撃: HTTP データを低速で送信して接続を長時間維持し、Web サーバーの同時接続上限を使い果たします。
マルチベクトル DDoS 攻撃
マルチベクトル DDoS 攻撃は、複数の攻撃手法を同時に使用したり、防御状況に応じて攻撃の種類を変えたりする攻撃です。
UDP Flooding と SYN Flooding を併用すると、ネットワーク帯域だけでなくファイアウォールやサーバーの接続処理能力も急速に消費されます。さらにログインや検索 API を狙う HTTP Flooding が加わると、ネットワーク、セキュリティ機器、アプリケーションサーバーで同時に障害が発生するおそれがあります。
攻撃者は適用された防御ポリシーに応じて手法を変えることもあります。ネットワーク区間で大量のトラフィックが遮断されるとアプリケーション層攻撃へ切り替え、Web リクエスト制限が強化されると UDP や TCP パケットを利用する攻撃へ変更するなど、攻撃を継続できます。
マルチベクトル攻撃は、一つの検知指標や機器ログだけでは把握が困難です。ネットワークトラフィックとパケット数、セキュリティ機器のセッション状態、HTTP リクエスト量、サーバーリソース使用率をすべて確認し、攻撃の種類と変化を正確に把握する必要があります。
DDoS 攻撃の主な検知シグナル
一つのシグナルだけで DDoS 攻撃かどうかを判断するのは困難です。検知には、トラフィック、ネットワーク性能、サービス状態などの変化を総合的に確認します。
次のような変化は、DDoS 攻撃を受けている兆候である可能性があります。
- 通常の基準を外れた急激なトラフィック増加
- 特定の IP アドレスまたは IP 帯域へのリクエスト集中
- TCP、UDP、ICMP トラフィック比率の急激な変化
- パケットサイズとリクエスト頻度の異常な変化
- 特定の Web ページや URL への反復リクエストの増加
- 未完了の接続リクエストの増加
- Web サイトやオンラインサービスの応答遅延または停止
通常のイベントや利用者の増加でもトラフィックは増えるため、規模だけで判断してはいけません。送信元、リクエスト頻度、プロトコル、発生時間、サービスの応答状態を併せて確認し、各指標をリアルタイムで監視して迅速に検知・対応します。
DDoS 攻撃への対策
DDoS 攻撃が発生すると、大量のトラフィックやリクエストがネットワーク、サーバー、アプリケーションに集中し、正常なサービス提供が困難になります。被害を最小限に抑えるには、攻撃トラフィックが主要システムへ到達する前にフィルタリングし、特定のサーバーや機能へリクエストが集中しないよう制御します。代表的な対策は次のとおりです。
攻撃トラフィックのフィルタリング
トラフィックフィルタリングでは、異常なプロトコルやパケット構造、繰り返される接続リクエスト、攻撃に使われた IP アドレスなどを遮断します。サーバーやネットワーク機器へ届く攻撃トラフィックを抑え、正常なリクエストを処理するリソースを確保します。ボットネットは複数の IP アドレスを使い、正常なリクエストに似た通信を送る場合があるため、IP アドレスだけでなくパケット特性、リクエスト頻度、セッション状態も確認します。
リクエストレート制限
リクエストレート制限(rate limiting)は、一定時間内に一つの IP アドレス、セッション、ユーザーアカウント、API キーが送信できるリクエスト数を制限します。同一機能への集中を防ぎ、Web サーバー、アプリケーション、データベースの処理負荷を軽減します。
基準を低く設定しすぎると、正常なユーザーのリクエストまで遮断されることがあります。ログイン、検索、ファイル照会など機能ごとに通常のリクエスト量とサーバー負荷が異なるため、サービス特性に合わせて基準を設定します。
Web アプリケーションファイアウォールの適用
Web アプリケーションファイアウォール(WAF、Web Application Firewall)は、Web サービスへ入る HTTP/HTTPS リクエストを分析し、異常なリクエストを遮断します。リクエストパス、メソッド、ヘッダー、反復回数、セッション動作などを基準に、ログイン、検索、ファイル照会機能へ集中する攻撃を識別します。
WAF を適用すると、正常な Web リクエストとは異なるパターンを示すアプリケーション層攻撃を、サーバーへ到達する前に制限できます。ただし、大量のパケットでネットワーク帯域を枯渇させる攻撃は WAF だけでは処理しにくいため、ネットワーク区間の防御技術も必要です。
CDN と Anycast によるトラフィック分散
CDN(Content Delivery Network)は Web コンテンツとユーザーリクエストを複数地域のネットワーク拠点で処理し、Anycast は同一の IP アドレスへ入るトラフィックをユーザーに近いネットワーク拠点へ分散します。
この構成により、一つのサーバーやデータセンターへのトラフィック集中を防げます。ただし、分散するだけで攻撃リクエストが除去されるわけではないため、フィルタリング、WAF、リクエストレート制限を併用します。
クラウドスクラビングとトラフィック迂回
クラウドスクラビングは、サービスに向かうトラフィックを外部の防御インフラへ迂回させて検査する方法です。スクラビングセンターで攻撃トラフィックを除去し、正常なトラフィックだけをサービスへ転送します。
組織のネットワーク容量を超える帯域幅攻撃も外部区間で処理できるため、通信回線や内部ファイアウォールが攻撃トラフィックで停止するのを防げます。攻撃発生時にすぐ迂回できるよう、通信事業者や防御サービス事業者と適用手順をあらかじめ定めておきます。
DDoS 攻撃はトラフィック規模やリクエスト形態が多様で、複数の層を同時に狙うため、一つの防御手法だけでは対応が困難です。異常トラフィックを迅速に遮断しつつ、正常なユーザーの接続を維持するため、攻撃特性とサービス構造を踏まえてネットワーク層とアプリケーション層の防御手段を連携させます。
FAQ
DDoS 攻撃は常に大規模なトラフィックを発生させますか?
DDoS は大規模なトラフィックだけを発生させるとは限りません。UDP Flood や DNS 増幅攻撃などはトラフィック量が大きい一方、アプリケーション層攻撃は通常の Web 接続に似た HTTP リクエストを繰り返すため、全体のトラフィックがあまり増えていなくても特定ページだけ応答が遅くなることがあります。トラフィック量だけで判断せず、特定 URL への集中、未完了接続の蓄積、サービス応答時間の変化も確認します。
DoS より DDoS 攻撃への対応が難しいのはなぜですか?
攻撃元が分散しているためです。DoS 攻撃は通常、一つまたは限られた場所から発生しますが、DDoS 攻撃では感染した多数の PC、サーバー、ルーター、IoT デバイスから同時にリクエストが送られます。一部の IP アドレスを遮断しても別のアドレスから攻撃が続き、正常なユーザーのネットワークと攻撃元が重なる場合もあるため、広範囲の遮断は困難です。
トラフィックが急増したら DDoS 攻撃ですか?
増加だけでは判断できません。セール、サービス開始、報道などで利用者が集中した場合にも同様の変化が起きます。特定アドレスへの反復アクセス、同種パケットの短時間集中、通常と異なる国や IP 帯域からのリクエスト増加などを確認します。
攻撃の種類によって対策も変わりますか?
ボリューム型攻撃には、CDN、Anycast ネットワーク、クラウドスクラビングなど、外部区間でトラフィックを分散・除去する方法が必要です。SYN Flood などのプロトコル攻撃では未完了接続数とセッション状態を確認します。HTTP Flood では特定 URL への反復リクエストと接続パターンを分析し、WAF とレート制限を適用できます。
CDN と WAF を適用すれば、すべての DDoS 攻撃を防げますか?
役割が異なるため、すべての DDoS 攻撃を防ぐ単一の手段ではありません。CDN は複数のネットワーク拠点で Web トラフィックを処理してオリジンサーバーへの集中を抑え、WAF は HTTP リクエストを検査して特定パスや機能への反復攻撃を制限します。UDP や ICMP で帯域を枯渇させる攻撃には別途ネットワーク防御が必要で、対象と攻撃種類に応じて分散、フィルタリング、スクラビングを組み合わせます。
アンラボの DDoS 対策ソリューション
AhnLab DPX は、ネットワーク層とアプリケーション層で発生する多様な DDoS 攻撃を検知・遮断する専用対策ソリューションです。流入パケットとトラフィックパターンを分析し、大容量フラッディング攻撃、プロトコル攻撃、HTTP Flooding などのアプリケーション層攻撃に対応します。正常なユーザーのリクエストと攻撃トラフィックを識別し、サービス停止のリスクを抑えます。また、組織のネットワーク容量を超える大規模攻撃が発生した場合はクラウドスクラビングセンターと連携し、外部で攻撃トラフィックを除去して正常なトラフィックだけをサービスへ転送できます。