サービス拒否攻撃(DoS攻撃)と分散型サービス拒否攻撃(DDoS攻撃)は、Webサービスやネットワークインフラを標的とする代表的なサイバー攻撃です。正規ユーザーがサービスを利用できなくなることで、ビジネスに深刻な損害を与えます。
本記事では、DoS攻撃とDDoS攻撃について以下の内容を解説します。
- DoS攻撃とDDoS攻撃の定義と根本的な違い
- 代表的な攻撃手法とOSIレイヤー別の分類
- 攻撃による影響とビジネスリスク
- 技術的対策と運用的対策の両面からの防御方法
- 実際の攻撃事例と最新の脅威動向
この記事を読むことで、DoS攻撃・DDoS攻撃の仕組みを体系的に理解し、適切な対策を講じるための知識を身につけることができます。
前提知識
本記事を理解するために、以下の知識があることを前提としています。
- TCP/IPプロトコルの基本概念を理解している
- OSI参照モデルの各レイヤーの役割を把握している
- ファイアウォールやロードバランサーの基本的な機能を知っている
DoS攻撃とDDoS攻撃の違い
DoS攻撃とDDoS攻撃は、どちらもサービスの可用性を妨害する攻撃ですが、攻撃の規模と手法に大きな違いがあります。
DoS攻撃(Denial of Service攻撃)
DoS攻撃は、単一の攻撃元からターゲットシステムに対して大量のリクエストやパケットを送信し、サービスを利用不能にする攻撃です。
graph LR
subgraph attacker["攻撃者"]
A["単一の攻撃元"]
end
subgraph target["ターゲット"]
T["Webサーバー"]
end
A -->|"大量のリクエスト"| T
T -->|"過負荷"| X["サービス停止"]DoS攻撃の特徴は以下の通りです。
| 特徴 | 説明 |
|---|---|
| 攻撃元 | 単一のIPアドレスまたはシステム |
| 検出難易度 | 比較的容易(単一ソースのため) |
| 対策難易度 | IPブロックなどで対応可能 |
| 攻撃規模 | 限定的(単一システムのリソース制約) |
DDoS攻撃(Distributed Denial of Service攻撃)
DDoS攻撃は、多数の分散した攻撃元から同時にターゲットを攻撃する手法です。攻撃者は通常、ボットネット(マルウェアに感染した多数のコンピュータネットワーク)を利用します。
graph LR
subgraph attacker["攻撃者"]
C["C&Cサーバー"]
end
subgraph botnet["ボットネット"]
B1["感染PC 1"]
B2["感染PC 2"]
B3["感染PC 3"]
B4["感染PC N"]
end
subgraph target["ターゲット"]
T["Webサーバー"]
end
C -->|"攻撃指令"| B1
C -->|"攻撃指令"| B2
C -->|"攻撃指令"| B3
C -->|"攻撃指令"| B4
B1 -->|"攻撃トラフィック"| T
B2 -->|"攻撃トラフィック"| T
B3 -->|"攻撃トラフィック"| T
B4 -->|"攻撃トラフィック"| TDDoS攻撃の特徴は以下の通りです。
| 特徴 | 説明 |
|---|---|
| 攻撃元 | 数千〜数百万の分散したIPアドレス |
| 検出難易度 | 困難(正規トラフィックとの判別が難しい) |
| 対策難易度 | 高度な対策が必要 |
| 攻撃規模 | 数Tbpsに達する大規模攻撃も可能 |
DoS攻撃とDDoS攻撃の比較
| 比較項目 | DoS攻撃 | DDoS攻撃 |
|---|---|---|
| 攻撃元の数 | 1つ | 多数(数千〜数百万) |
| 攻撃の規模 | 小〜中規模 | 中〜超大規模 |
| IPブロックの有効性 | 有効 | 限定的 |
| 必要なリソース | 少ない | ボットネット等が必要 |
| 攻撃のコスト | 低い | 中〜高(ただし攻撃代行サービスも存在) |
代表的なDDoS攻撃手法
DDoS攻撃は、OSI参照モデルのどのレイヤーを標的とするかによって分類されます。
OSIレイヤー別の攻撃分類
graph TB
subgraph app["アプリケーション層攻撃(L7)"]
A1["HTTP Flood"]
A2["Slowloris"]
A3["DNS Query Flood"]
end
subgraph trans["トランスポート層攻撃(L4)"]
T1["SYN Flood"]
T2["ACK Flood"]
T3["TCP Connection Flood"]
end
subgraph net["ネットワーク層攻撃(L3)"]
N1["UDP Flood"]
N2["ICMP Flood"]
N3["リフレクション攻撃"]
endネットワーク層(L3)とトランスポート層(L4)の攻撃
インフラストラクチャ層攻撃とも呼ばれ、大量のトラフィックでネットワーク帯域やサーバーリソースを枯渇させます。
SYN Flood攻撃
TCPの3ウェイハンドシェイクを悪用した攻撃です。攻撃者は大量のSYNパケットを送信し、ACKを返さないことで、サーバーのコネクションテーブルを枯渇させます。
sequenceDiagram
participant A as 攻撃者
participant S as サーバー
A->>S: SYN(偽装IP)
S->>A: SYN-ACK
Note right of S: 接続待ち状態を保持
A->>S: SYN(偽装IP)
S->>A: SYN-ACK
Note right of S: 接続待ち状態が蓄積
A->>S: SYN(偽装IP)
S->>A: SYN-ACK
Note right of S: リソース枯渇UDP Flood攻撃
大量のUDPパケットをターゲットの様々なポートに送信します。サーバーは到達不能なポートへのパケットを処理しようとし、ICMP Destination Unreachableを返すためにリソースを消費します。
リフレクション攻撃とアンプリフィケーション攻撃
送信元IPアドレスを偽装し、第三者のサーバー(DNSサーバー、NTPサーバーなど)を踏み台にして、ターゲットに大量の応答パケットを送りつける攻撃です。
graph LR
subgraph attacker["攻撃者"]
A["攻撃者"]
end
subgraph reflector["リフレクター"]
R1["DNSサーバー 1"]
R2["DNSサーバー 2"]
R3["NTPサーバー"]
end
subgraph target["ターゲット"]
T["被害者サーバー"]
end
A -->|"偽装リクエスト<br/>送信元IP=被害者"| R1
A -->|"偽装リクエスト<br/>送信元IP=被害者"| R2
A -->|"偽装リクエスト<br/>送信元IP=被害者"| R3
R1 -->|"増幅された応答"| T
R2 -->|"増幅された応答"| T
R3 -->|"増幅された応答"| T主なアンプリフィケーション攻撃の増幅率は以下の通りです。
| プロトコル | 増幅率 | 説明 |
|---|---|---|
| DNS | 28〜54倍 | DNSクエリに対する応答サイズの差を悪用 |
| NTP | 556倍 | monlistコマンドを悪用 |
| Memcached | 51,000倍 | キャッシュされたデータを悪用 |
| SSDP | 30倍 | UPnPプロトコルを悪用 |
アプリケーション層(L7)の攻撃
アプリケーション層攻撃は、Webアプリケーションの特定の機能やエンドポイントを標的とします。トラフィック量は比較的少なくても、サーバーリソースを効果的に消費させます。
HTTP Flood攻撃
正規のHTTPリクエストを大量に送信する攻撃です。GETリクエストやPOSTリクエストを使用し、特にリソースを消費するページ(検索機能、ログインページなど)を標的にします。
|
|
Slowloris攻撃
HTTPリクエストを非常にゆっくり送信し、サーバーの接続を長時間占有する攻撃です。少ないリソースで効果的にサーバーを麻痺させることができます。
sequenceDiagram
participant A as 攻撃者
participant S as サーバー
A->>S: GET / HTTP/1.1
A->>S: Host: target.com
Note over A,S: ヘッダーを少しずつ送信
A->>S: X-Custom: a
Note right of S: 接続を維持
A->>S: X-Custom: b
Note right of S: タイムアウトまで待機
A->>S: X-Custom: c
Note right of S: リソース占有継続DDoS攻撃の影響とリスク
DDoS攻撃は、技術的な影響だけでなく、ビジネス全体に深刻な損害を与えます。
直接的な影響
| 影響カテゴリ | 具体的な影響 |
|---|---|
| サービス停止 | Webサイトやアプリケーションへのアクセス不能 |
| パフォーマンス低下 | レスポンス時間の大幅な増加 |
| インフラコスト増加 | 帯域幅やコンピューティングリソースの追加費用 |
| 運用負荷 | インシデント対応によるIT部門の負担増大 |
ビジネスへの影響
| 影響カテゴリ | 具体的な影響 |
|---|---|
| 売上損失 | ECサイトの場合、停止時間に比例した直接的な売上減少 |
| 顧客離れ | サービス品質低下による顧客満足度の低下 |
| ブランド毀損 | セキュリティへの信頼性低下 |
| 法的リスク | SLA違反や個人情報保護法への抵触 |
攻撃規模の推移
近年のDDoS攻撃は大規模化・巧妙化が進んでいます。
| 年 | 最大規模の攻撃 | 特徴 |
|---|---|---|
| 2016 | 1.2 Tbps(Dyn DNS攻撃) | Miraiボットネットによる大規模攻撃 |
| 2018 | 1.7 Tbps(GitHub攻撃) | Memcachedアンプリフィケーション |
| 2020 | 2.5 Tbps(AWS顧客への攻撃) | 複合型攻撃 |
| 2023 | 3.5 Tbps以上 | HTTP/2 Rapid Reset攻撃 |
| 2024-2025 | 5 Tbps以上 | AIを活用した適応型攻撃の出現 |
DDoS攻撃への対策方法
DDoS攻撃への対策は、技術的対策と運用的対策の両面から実施する必要があります。
技術的対策
ネットワークレベルの対策
graph TB
subgraph defense["多層防御アーキテクチャ"]
CDN["CDN / エッジネットワーク"]
WAF["WAF"]
LB["ロードバランサー"]
FW["ファイアウォール"]
IPS["IPS/IDS"]
SRV["アプリケーションサーバー"]
end
INT["インターネット"] --> CDN
CDN --> WAF
WAF --> LB
LB --> FW
FW --> IPS
IPS --> SRV各レイヤーでの対策内容は以下の通りです。
| 対策レイヤー | 具体的な対策 |
|---|---|
| CDN | トラフィックの分散、エッジでのキャッシュ、DDoS吸収 |
| WAF | L7攻撃のフィルタリング、レートリミット |
| ロードバランサー | トラフィック分散、ヘルスチェック |
| ファイアウォール | IPブラックリスト、ポートフィルタリング |
| IPS/IDS | 攻撃パターンの検出とブロック |
レートリミットの実装
アプリケーションレベルでのレートリミットは、L7攻撃への効果的な対策です。
|
|
SYN Cookieの有効化
SYN Flood攻撃への対策として、LinuxサーバーでSYN Cookieを有効化します。
|
|
iptablesによる基本的なDDoS対策
|
|
クラウドベースのDDoS対策サービス
大規模なDDoS攻撃に対しては、クラウドベースのDDoS対策サービスの利用が効果的です。
| サービス | 特徴 |
|---|---|
| AWS Shield | AWSインフラに統合、Standard(無料)とAdvanced(有料)を提供 |
| Cloudflare | グローバルエッジネットワーク、無料プランあり |
| Akamai | 大規模なエッジネットワーク、エンタープライズ向け |
| Azure DDoS Protection | Azureに統合、機械学習による検出 |
| Google Cloud Armor | GCPに統合、WAF機能も提供 |
AWS Shieldの設定例
|
|
運用的対策
技術的対策と併せて、運用面での対策も重要です。
インシデント対応計画の策定
graph TB
subgraph plan["DDoSインシデント対応フロー"]
D["検出"] --> A["分析"]
A --> C["分類"]
C --> M["軽減措置"]
M --> R["復旧"]
R --> L["事後分析"]
end対応フローの各ステップで実施すべき内容は以下の通りです。
| ステップ | 実施内容 |
|---|---|
| 検出 | 監視ツールによるアラート、異常トラフィックの検知 |
| 分析 | 攻撃の種類、規模、標的の特定 |
| 分類 | 攻撃の深刻度評価、エスカレーション判断 |
| 軽減措置 | フィルタリング、レートリミット、CDN活用 |
| 復旧 | サービス正常化の確認、監視強化 |
| 事後分析 | 根本原因分析、対策の改善 |
監視とアラートの設定
継続的な監視により、攻撃の早期検出が可能になります。
|
|
定期的な訓練とテスト
DDoS対策の有効性を確認するため、定期的なテストを実施します。
| テスト種類 | 内容 | 頻度 |
|---|---|---|
| 負荷テスト | 正常な高負荷状態でのシステム挙動確認 | 四半期ごと |
| DDoSシミュレーション | 制御された環境での攻撃シミュレーション | 半年ごと |
| フェイルオーバーテスト | 障害時の切り替え手順確認 | 四半期ごと |
| インシデント対応訓練 | 対応チームの机上訓練 | 四半期ごと |
実際の攻撃事例と最新動向
代表的な攻撃事例
Mirai ボットネット攻撃(2016年)
IoTデバイス(ルーター、カメラなど)をボットネット化し、DNS プロバイダーのDynに対して1.2Tbpsの攻撃を実行しました。Twitter、Netflix、GitHubなど多数のサービスに影響が及びました。
教訓として、以下の点が重要視されるようになりました。
- IoTデバイスのセキュリティ強化の必要性
- DNSインフラの冗長化の重要性
- サプライチェーン全体でのセキュリティ対策
GitHub への Memcached攻撃(2018年)
Memcachedサーバーを悪用したアンプリフィケーション攻撃により、1.7Tbpsの攻撃トラフィックが発生しました。GitHubはDDoS対策サービスを活用し、約10分で攻撃を軽減しました。
HTTP/2 Rapid Reset攻撃(2023年)
HTTP/2プロトコルの脆弱性を悪用した新しい攻撃手法で、従来の対策を回避する高度な攻撃として注目されました。Cloudflare、Google、AWSなどが協調して対策を講じました。
最新の脅威動向(2024-2025年)
現在のDDoS攻撃には以下のような傾向が見られます。
| 傾向 | 説明 |
|---|---|
| 攻撃の大規模化 | 5Tbpsを超える攻撃の出現 |
| マルチベクター攻撃 | L3/L4とL7を組み合わせた複合攻撃 |
| AI活用 | 機械学習による攻撃パターンの最適化 |
| DDoS-as-a-Service | 攻撃代行サービスの低価格化 |
| IoTボットネットの進化 | 5G対応デバイスの悪用増加 |
| ランサムDDoS | 身代金要求を伴うDDoS攻撃の増加 |
まとめ
DoS攻撃とDDoS攻撃は、サービスの可用性を脅かす深刻なサイバー攻撃です。効果的な対策には、以下の要素を組み合わせた多層防御が必要です。
| 対策カテゴリ | 具体的な対策 |
|---|---|
| ネットワーク層 | ファイアウォール、IPS/IDS、SYN Cookie |
| アプリケーション層 | WAF、レートリミット、CAPTCHA |
| インフラ | CDN、クラウドベースDDoS対策サービス |
| 運用 | 監視、インシデント対応計画、定期訓練 |
特に重要なポイントは以下の通りです。
- 単一の対策に依存せず、多層防御を構築する
- クラウドベースのDDoS対策サービスを活用する
- インシデント対応計画を事前に策定し、定期的に訓練する
- 継続的な監視により、攻撃の早期検出と対応を行う
- 最新の脅威動向を把握し、対策を更新し続ける
DDoS攻撃は今後も進化を続けるため、セキュリティ対策も継続的に見直しと改善を行うことが重要です。