32
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DNSを利用したDDoS攻撃の原理と対策まとめ

Posted at

概要

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、インフラ)が狙われます。

攻撃のステップバイステップ

  1. 準備段階(オープンDNSリゾルバのスキャン)

    • 攻撃者はインターネット上に公開された「オープンDNSリゾルバ」(誰でもクエリを投げられるDNSサーバー)をスキャンしてリストアップします。これらは誤設定されたサーバーで、世界中に数百万存在します(例: 企業やISPのDNSサーバー)。
    • ツール:NmapやZMapなどのスキャナで、UDPポート53がオープンで再帰的クエリ(recursive query)を許可するサーバーを特定。
  2. IPスプーフィング(偽装)の設定

    • 攻撃者は自分のIPではなく、標的サーバーのIPアドレスをソースIPとして偽装します。これにより、DNSサーバーからのレスポンスが標的に直接飛ぶ「反射」が発生。
    • ツール:Scapy(Pythonライブラリ)やhping3などのパケットクラフトツールで、偽のUDPパケットを作成。例: scapyでDNSクエリパケットを生成し、ソースIPを標的のものに変更。
  3. 増幅クエリの作成

    • 小さなDNSクエリを送信:ANYレコードクエリ(全DNSレコードを要求)やEDNS0オプション(バッファサイズを最大化)を使って、レスポンスを最大化。
      • 例クエリ: ANY example.com – これでA、MX、TXTなどの複数レコードが返され、レスポンスサイズが数KBに膨張。
    • クエリサイズ: 通常40〜60バイト。
    • 送信先: オープンDNSリゾルバのリスト(数千〜数万)。
  4. 攻撃の実行(ボットネット活用)

    • ボットネット(Miraiや他のマルウェア感染デバイス)から同時多発的にクエリを送信。1台あたり数百クエリ/秒で、数万台なら数百Gbps規模。
    • 各リゾルバが標的に巨大レスポンスを送信。トラフィックはUDPのため、標的はコネクション確認ができず、ただ処理に追われます。
    • 持続時間: 数分〜数時間。ピーク時、標的の帯域を飽和させ、サーバー応答不能に。
  5. 攻撃の影響

    • 標的サーバー: 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攻撃をブロック可能です。詳細は各製品の公式ドキュメントを参照してください。

32
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?