DNS

DNSアンプ攻撃 でぃーえぬえすあんぷこうげき

DDoSDNS増幅攻撃リフレクション攻撃UDPオープンリゾルバ
DNSアンプ攻撃について教えて

簡単に言うとこんな感じ!

小さな問い合わせを投げたら、巨大な返事が相手に届くように仕組む攻撃だよ!DNSサーバーを「増幅器(アンプ)」として悪用して、攻撃対象のサーバーを大量のトラフィックで押しつぶす、DDoS攻撃の一種なんだ。


DNSアンプ攻撃とは

DNSアンプ攻撃(DNS Amplification Attack) とは、DNS(Domain Name System)の問い合わせ・応答の非対称性を悪用したDDoS攻撃の手法です。攻撃者は、送信元IPアドレスを攻撃対象のIPに偽装(IPスプーフィング)した小さなDNS問い合わせをオープンリゾルバ(誰からでも問い合わせを受け付けるDNSサーバー)に送りつけます。その結果、DNSサーバーから巨大な応答パケットが攻撃対象へ大量に送りつけられます。

「アンプ(Amplification=増幅)」 と呼ばれる理由は、問い合わせパケットのサイズに比べて応答パケットが数十倍〜数百倍に膨れ上がる点にあります。たとえば、わずか数十バイトの問い合わせに対し、数千バイトの応答が返るケースもあります。この「増幅率」が高いほど、少ない攻撃リソースで大きな被害を与えられるため、攻撃者にとって効率的な手口となっています。

また、リフレクション攻撃(Reflection Attack) の側面も持ちます。DNSサーバーが「反射板」として使われ、攻撃者自身は直接ターゲットを攻撃しない形をとるため、攻撃元の追跡を難しくするという特徴もあります。


DNSアンプ攻撃の仕組みと構造

攻撃の流れ

ステップ内容
① IPスプーフィング攻撃者が送信元IPを攻撃対象のIPに偽装したDNS問い合わせを作成
② 問い合わせ送信オープンリゾルバに小さなパケット(約40〜60バイト)を大量送信
③ 増幅DNSサーバーが送信元IP(=攻撃対象)宛に巨大な応答を返送
④ 攻撃対象への集中多数のDNSサーバーから大量トラフィックが攻撃対象に殺到
⑤ サービス停止ターゲットのネットワーク帯域・サーバーリソースが枯渇

なぜDNSが狙われるのか

DNSはUDP(User Datagram Protocol) を使って通信します。UDPはコネクションレス型のプロトコルであるため、送信元IPアドレスを偽装しても通信が成立してしまいます。もしTCPであれば3ウェイハンドシェイクが必要なため偽装が困難ですが、UDPにはその仕組みがありません。

さらに、ANY(あらゆる種類のリソースレコードを一括で返す)クエリや、DNSSEC(DNS Security Extensions)の署名情報を含む応答は特にパケットが大きくなりやすく、増幅率が高くなります。

増幅率の目安

クエリの種類問い合わせサイズ(概算)応答サイズ(概算)増幅率
ANYクエリ約60バイト約3,000バイト以上約50倍以上
DNSSECを含む応答約40バイト約2,000〜4,000バイト約50〜100倍
通常のAレコード約40バイト約200バイト約5倍

覚え方:「小石で岩を投げる」

攻撃者は小石(小さな問い合わせ) を投げるだけ。でもDNSサーバーという「投石機(アンプ)」が勝手に岩(巨大な応答) を被害者に向けて発射してくれる──そんなイメージで覚えると分かりやすいよ!


歴史と背景

  • 2000年代前半:DNSのUDP応答の非対称性が悪用可能であることが研究者によって指摘され始める
  • 2006年:US-CERTがDNSリフレクション・増幅攻撃に関する注意喚起を初めて公式発表
  • 2013年3月:スパム対策組織「Spamhaus」を標的としたDNSアンプ攻撃が発生。ピーク時に 300Gbps超 のトラフィックが観測され、当時の最大級DDoS攻撃として世界的に報道される
  • 2014年RFC 7534 にてANYクエリの廃止が議論され始める
  • 2015年〜:各ISPでBCP38(IPスプーフィング対策のフィルタリング)の普及が進むも、オープンリゾルバは世界に数百万台規模で残存
  • 2018年:Memcachedを使った類似の増幅攻撃(1.7Tbps)が発生し、アンプ攻撃の脅威が改めて注目を浴びる
  • 2020年代:DNSオーバーHTTPS(DoH)・DNS64などの普及とともに、オープンリゾルバ対策が継続的な課題に

関連する技術・対策・比較

DNSアンプ攻撃 vs 主なDDoS手法

手法増幅率特徴
DNSアンプ攻撃約50〜100倍DNSのANY/DNSSECを悪用
NTPアンプ攻撃約500〜700倍NTPのmonlistコマンドを悪用
SSDP攻撃約30倍IoT機器のUPnPを悪用
Memcachedアンプ約10,000〜51,000倍キャッシュサーバーを悪用
SYN floodなし(増幅なし)TCPコネクション確立を妨害

主な対策

対策実施主体概要
BCP38の適用ISP・ネットワーク管理者送信元IPを偽装したパケットをネットワーク境界でフィルタリング
オープンリゾルバの閉鎖DNSサーバー管理者自組織外からのDNS問い合わせを拒否する設定
ANYクエリの制限・無効化DNSサーバー管理者RFC 8482に基づきANYクエリへの応答を最小化
レートリミット(DNS RRL)DNSサーバー管理者同一送信元への応答レートを制限し増幅を抑制
上流ISPでのトラフィック吸収ISP・CDN事業者Anycastや上流でのブラックホールルーティング
DDoS対策サービスの利用企業・組織CloudflareAWS Shield等の活用

攻撃の構造図

攻撃者 IPを偽装して 問い合わせ送信 オープン リゾルバ群 (DNSサーバー) 攻撃対象 (被害者サーバー) IPが偽装される ①小パケット (送信元IP偽装) 増幅(アンプリフィケーション) 40〜60バイト → 数千〜数万バイトに 増幅率:50〜100倍以上 ②増幅処理 ③巨大応答 (偽装IPへ殺到) サービス停止 帯域・リソース枯渇 (DDoS成立) ④大量 トラフィック 集中

関連する規格・RFC

規格・RFC番号内容
RFC 5358リフレクション攻撃防止のため、DNSサーバーを再帰リゾルバとして外部公開しないよう求めるBCP
RFC 7534AS112プロジェクト:不要なDNSクエリを吸収する仕組みの標準化
RFC 8482DNSのANYクエリへの応答を最小化する仕様(アンプ攻撃対策の一環)
RFC 2827BCP38:IPスプーフィング(送信元IP偽装)を防ぐためのネットワークフィルタリング指針
RFC 5405UDPを使うアプリケーション設計における注意点(UDP増幅リスクへの言及あり)

関連用語

  • DNS — インターネット上のドメイン名とIPアドレスを対応づける仕組み
  • DDoS攻撃 — 大量のトラフィックを集中させてサービスを停止させる分散型サービス妨害攻撃
  • オープンリゾルバ — 誰からでもDNS問い合わせを受け付けてしまう、設定不備のDNSサーバー
  • IPスプーフィング — 送信元IPアドレスを偽装してパケットを送りつける攻撃手法
  • UDP — コネクションレス型の軽量な通信プロトコル。DNSアンプ攻撃の温床となる特性を持つ
  • DNSSEC — DNSの応答に電子署名を付加するセキュリティ拡張。応答が大きくなり増幅率が上がる側面も
  • BCP38 — ISPが実施すべきIPスプーフィング対策フィルタリングのベストプラクティス
  • リフレクション攻撃 — 第三者のサーバーを「反射板」として悪用するDDoS手法の総称