概要
DNS(Domain Name System)を悪用したDDoS(Distributed Denial of Service)攻撃は、主に「DNS Amplification Attack(DNS増幅攻撃)」として知られています。この攻撃は、公開されたDNSリゾルバ(名前解決サーバー)を悪用し、小さなクエリを大量のレスポンスに増幅させることで、攻撃者の少ないリソースで標的サーバー(他人のサーバー)を過負荷に陥れます。以下で、攻撃の仕組みをステップバイステップで詳しく説明します。この説明は、サイバーセキュリティの専門家による一般的な知識に基づき、攻撃の理解を深めるためのものです。注意:この情報は教育目的のみで、実際の攻撃実行を推奨するものではありません。DDoS攻撃は多くの国で違法であり、深刻な法的責任を伴います。
攻撃の基本原理
- リフレクション(反射)とアンプリフィケーション(増幅)の組み合わせ:攻撃者はUDPプロトコル(コネクションレスでIPスプーフィングが容易)を活用します。DNSクエリはUDPポート53を使用するため、偽装が簡単です。
- 増幅率:クエリのサイズ(例: 60バイト)がレスポンス(例: 4,000バイト以上)よりはるかに小さいため、1回のクエリで50〜70倍以上のトラフィックを生成可能。ボットネット(感染したデバイス群)を使えば、数GbpsからTbps規模の攻撃に拡大します。
- 標的の選択:標的は攻撃者のIPを偽装したクエリに対するレスポンスを受け取るため、他人のサーバー(ウェブサイト、API、インフラ)が狙われます。
攻撃のステップバイステップ
-
準備段階(オープンDNSリゾルバのスキャン):
- 攻撃者はインターネット上に公開された「オープンDNSリゾルバ」(誰でもクエリを投げられるDNSサーバー)をスキャンしてリストアップします。これらは誤設定されたサーバーで、世界中に数百万存在します(例: 企業やISPのDNSサーバー)。
- ツール:NmapやZMapなどのスキャナで、UDPポート53がオープンで再帰的クエリ(recursive query)を許可するサーバーを特定。
-
IPスプーフィング(偽装)の設定:
- 攻撃者は自分のIPではなく、標的サーバーのIPアドレスをソースIPとして偽装します。これにより、DNSサーバーからのレスポンスが標的に直接飛ぶ「反射」が発生。
- ツール:Scapy(Pythonライブラリ)やhping3などのパケットクラフトツールで、偽のUDPパケットを作成。例:
scapy
でDNSクエリパケットを生成し、ソースIPを標的のものに変更。
-
増幅クエリの作成:
- 小さなDNSクエリを送信:ANYレコードクエリ(全DNSレコードを要求)やEDNS0オプション(バッファサイズを最大化)を使って、レスポンスを最大化。
- 例クエリ:
ANY example.com
– これでA、MX、TXTなどの複数レコードが返され、レスポンスサイズが数KBに膨張。
- 例クエリ:
- クエリサイズ: 通常40〜60バイト。
- 送信先: オープンDNSリゾルバのリスト(数千〜数万)。
- 小さなDNSクエリを送信:ANYレコードクエリ(全DNSレコードを要求)やEDNS0オプション(バッファサイズを最大化)を使って、レスポンスを最大化。
-
攻撃の実行(ボットネット活用):
- ボットネット(Miraiや他のマルウェア感染デバイス)から同時多発的にクエリを送信。1台あたり数百クエリ/秒で、数万台なら数百Gbps規模。
- 各リゾルバが標的に巨大レスポンスを送信。トラフィックはUDPのため、標的はコネクション確認ができず、ただ処理に追われます。
- 持続時間: 数分〜数時間。ピーク時、標的の帯域を飽和させ、サーバー応答不能に。
-
攻撃の影響:
- 標的サーバー: CPU/メモリ/帯域過負荷でダウン。例: 2013年のSpamhaus攻撃(300Gbps)では欧州インターネットが遅延。
- 二次被害: ISPがトラフィックをブラックホール(全遮断)し、正当なアクセスもブロック。
攻撃の例
- GitHub攻撃 (2018): 1.35Tbps規模でDNS反射を含む増幅攻撃が発生。
- ツール例: LOICやHOICなどのDDoSツールがDNSモードを備え、容易に実行可能(ただし検知されやすい)。
対策製品の提案
DNS増幅DDoSの対策は、予防(オープンリゾルバの閉鎖)と検知/緩和(トラフィックフィルタリング)の組み合わせが効果的です。以下に、主な市販製品を挙げ、特徴をまとめます。これらはクラウドベースのDDoS保護サービスが多く、導入が比較的簡単です。選定基準: スケーラビリティ、自動検知、グローバルネットワーク容量。
製品名 | 提供会社 | 主な特徴 | 対象規模 | 価格目安(参考) |
---|---|---|---|---|
Cloudflare DDoS Protection / Magic Transit | Cloudflare | - 405TbpsのグローバルネットワークでL3/L4攻撃を自動吸収。 - DNSクエリフィルタリングとAnycast分散。 - オープンリゾルバ対策としてingress filtering推奨。 |
中小〜大企業 | 月額$200〜(従量課金) |
Imperva DDoS Protection | Imperva | - レイヤー3/4/7対応、100Gbps超の攻撃を即時緩和。 - スクラブセンターで悪質トラフィック除去。 - DNSレスポンス制限とボット検知統合。 |
大企業 | カスタム見積もり |
Akamai Prolexic | Akamai | - 専用スクラブクラウドで全ポート/プロトコル保護。 - 増幅攻撃特化のレスポンスレート制限(RRL)。 - 24/7 SOCサポートとカスタムポリシー。 |
大規模インフラ | カスタム見積もり |
NETSCOUT Arbor DDoS Protection | NETSCOUT | - ATLAS脅威インテリジェンスで事前検知。 - UDP/DNSフィルタと反射トラフィックブロック。 - 多層防御(オンプレ+クラウド)。 |
企業/ISP | カスタム見積もり |
FortiDDoS | Fortinet | - 10のDNS特化緩和手法(クエリ制限、異常検知)。 - オンプレミスアプライアンスで低遅延。 - UDPフラッド自動ブロック。 |
中小企業 | $10,000〜(ハードウェア) |
導入の推奨
- 基本対策: 自社DNSサーバーをオープンにせず、Response Rate Limiting (RRL)を有効化。ISPにBCP38(ingress filtering)を依頼。
- 製品選択のポイント: トラフィック量が多い場合Cloudflare/Akamaiを、統合セキュリティが必要ならImpervaを優先。無料トライアルでテストを。
- 追加アドバイス: 定期的な脆弱性スキャンとインシデント対応計画を策定。攻撃発生時は即時プロバイダに連絡。
これらの対策により、99%以上のDDoS攻撃をブロック可能です。詳細は各製品の公式ドキュメントを参照してください。