DNS増幅攻撃 ー 事例、検出方法、および緩和策
2025年2月11日
著者: Milena Baghdasaryan
翻訳: 古川 綾乃
この記事はPowerDMARCのブログ記事 DNS Amplification Attacks: Examples, Detection & Mitigation の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。
DNS増幅攻撃は2016年以降、約700%増加しています。
これらの攻撃における増幅係数は、元のクエリサイズの28倍から54倍に達する可能性があります。
極端なケースでは、179倍に達することもあります。
この記事では、DNS増幅攻撃とは何か、その仕組み、そしてそのような攻撃をどのように検出・緩和するかについて探ります。
また、近年DNSシステムの安定性を揺るがしたDNS増幅攻撃の実例も紹介します。
主なポイント
- DNS増幅攻撃は、攻撃者が脆弱なDNSサーバを悪用して、標的に大量のトラフィックを送信するDDoS攻撃の一種です。
- 少数のリクエストだけではネットワークインフラを侵害することはできませんが、多数のDNSリゾルバを介してリクエストを増幅することで、システムにとって非常に危険で壊滅的なものとなります。
- 過去数十年にわたり、多くの成功したDNS増幅攻撃がありました。代表的なものとしては、Spamhaus攻撃(2013年)、2022年のGoogleに対する攻撃(同様の多数の攻撃の一例)、および2016年のDyn攻撃があります。
- 適切なツールとメカニズムを導入していれば、DNS増幅攻撃は早期に検出することが可能です。
- DNSSEC、IDS/IPS、EDRシステムは、DNS増幅攻撃を防ぐ上で大いに役立ちます。
DNS増幅攻撃とは何か?
DNS増幅攻撃とは、オープンかつ誤設定されたDNSリゾルバを悪用し、標的に大量のDNS応答トラフィックを送り付ける、リフレクション型の分散型サービス拒否(DDoS)攻撃です。
この攻撃では、サイバー犯罪者が特定のオープンDNSサーバに対してDNSルックアップ要求を送信します。
その際、送信元アドレスを偽装して、標的のアドレスに見せかけます。
DNSサーバがDNSレコード応答を返すと、その応答はサイバー犯罪者が制御する新たな標的ではなく、偽装された送信元アドレス、つまり被害者のIPアドレスに直接送信されます。
その結果、被害者は要求していないDNS応答を大量に受信し、ネットワークインフラが圧倒され、サービス拒否状態に陥る可能性があります。
この攻撃手法が特に危険なのは、その増幅係数にあります。上述の通り、元のクエリサイズの28倍から54倍、場合によっては179倍に及ぶこともあります。
DNS増幅攻撃の仕組み
DNS増幅攻撃のプロセスは、いくつかのステップで構成されます。
- ステップ1:被害者のIPアドレスを偽装する
-
攻撃者は、侵害されたデバイスを利用して、偽装したIPアドレスを持つUDPパケットをDNSリカーシブリゾルバに送信します。
この偽装されたアドレスは、実際の被害者のIPアドレスと一致しています。 - ステップ2:増幅されたDNSクエリを送信する
-
各UDPパケットは、DNSリゾルバに対してリクエストを送信します。
このとき、可能な限り大きな応答を得るために、“ANY”のようなパラメータが頻繁に使用されます。 - ステップ3:リゾルバが大きな応答を返す
- リクエストを受け取ったDNSリゾルバは、大量のデータを含む応答を生成し、それを偽装されたIPアドレス宛に送信します。
- ステップ4:標的に大量のトラフィックを送り付ける
-
標的のIPアドレスがこの応答を受信すると、ネットワークインフラは膨大なトラフィックで溢れ、サービス拒否状態に陥ります。
少数のリクエストだけではネットワークインフラを侵害することはありませんが、これが多数のリクエストと複数のDNSリゾルバにまたがってスケールアップされると、
攻撃者は標的に向けて送信するデータ量を大幅に増幅させ、被害者のネットワークリソースを圧倒することが可能になります。 - Googleへの攻撃(2022年)
-
2022年6月1日、あるGoogle Cloud Armorのユーザが、HTTPSを通じてDDoS攻撃を受けました。
攻撃は69分間続き、当時「史上最大規模」の分散型サービス拒否(DDoS)攻撃とされました。
攻撃のピーク時には、1秒あたり4,600万件以上のリクエストが発生し、132か国からの5,256の送信元IPが関与していました。
Googleによれば、これは最大のレイヤー7(アプリケーション層)DDoS攻撃であり、それまでの記録をおよそ76%上回る規模でした。 - Dynへの攻撃(2016年)
-
2016年10月21日、X、Amazon、GitHub、New York Timesなどが、DynへのDDoS攻撃によりサービス停止に追い込まれました。
攻撃の標的となったDyn社は、インターネットのドメインネームシステム(DNS)インフラの大部分を担っていた企業です。
この攻撃はほぼ1日中続きました。サイバー犯罪者は「Miraiボットネット」マルウェアを使用しました。これはパソコンではなくIoTデバイスを悪用するもので、
攻撃者は5万〜10万台以上のデバイスを使用できる状態にありました。 - Spamhausへの攻撃(2013年)
-
2013年3月18日に始まったSpamhausへのDDoS攻撃は、当時としては最大級のDDoS攻撃の一つであり、ピーク時のトラフィックは約300Gbpsに達しました。
この攻撃は、スパム対策団体であるSpamhausが、寛容なホスティングポリシーで知られるCyberBunkerをブラックリストに登録したことに対する報復として行われました。
攻撃者はオープンDNSリゾルバを悪用してトラフィックを増幅し、DNSリフレクション技術を使って、限られたリソースから大量のデータを生成しました。
この事件は、オープンDNSリゾルバの脆弱性と、それが大規模DDoS攻撃に悪用される可能性について専門家の注目を集めました。
複数の国の法執行機関がこの攻撃の捜査に乗り出し、ロンドン在住の17歳の少年を含む複数の逮捕者が出ました。 - DNSトラフィック量の突然の急増
- DNSクエリの種類における異常なパターン(例:「ANY」クエリの大量発生)
- 正常なトラフィックの増加を伴わない帯域幅の過剰消費
- 自ネットワークからクエリを送っていないDNSサーバからの大量の応答
- SIEM(セキュリティ情報・イベント管理)システム
-
SIEMシステムは、DNSログを集約・分析し、異常なクエリ量や宛先などの異変を検出します。
代表的なツールには、Splunk、IBM、QRadarなどがあります。 - 侵入検知/防止システム(IDS/IPS)
-
これらのシステムは、不審なDNS活動のパターンを迅速に特定し、脅威に基づいてアラートを発します。
推奨されるツールには、SnortやZeekがあります。 - DNSモニタリングおよび分析ツール
-
これらのツールは、DNSクエリのリアルタイムおよび過去のデータを分析し、異常を検出します。
例としては、PowerDMARCの「DNS Timeline」機能があります。 - エンドポイント検出および応答(EDR)
-
EDRシステムは、マルウェアによるC2(コマンド&コントロール)通信など、DNSを利用した侵害の兆候をエンドポイントレベルで監視します。
例としては、Microsoft Defender ATPやSentinelOneがあります。 - DNSクエリのレートを制限し、悪用を防止する
- オープンリカーシブリゾルバをブロックして、攻撃対象を減らす
- DNSSECを導入し、DNSスプーフィングを防止する
- DNSトラフィックを記録・分析し、長期的な傾向を監視する
- ソース別(IP/デバイス)のクエリボリューム
- 応答サイズの分布
- クエリタイプの分析(例:ANY、TXT、NULL、MX、SRV)
- デバイスごとのユニークな問い合わせドメイン数
- 同一ドメインへの繰り返しクエリ
- NXDOMAIN(存在しないドメイン)応答の失敗率
- 異常なクエリの宛先(外部と内部のリクエストの比較)
- DNS応答のレイテンシ(遅延)
- 1. 安全なDNSリゾルバの導入
-
オープンリゾルバは、DNS増幅攻撃やDDoS攻撃で悪用されることが多いため、アクセスを制限することが非常に重要です。
そのため、オープンDNSリゾルバは無効化するのが最善です。
代わりに、信頼された内部クライアントからのクエリのみを受け入れるように、再帰的DNSリゾルバを設定しましょう。
さらに、ACL(アクセス制御リスト)を使用して、特定のIPやサブネットへのアクセスを制限することも有効です。 - 2. 応答レート制限(RRL)の実装
-
DNS増幅攻撃は、小さなリクエストを多数送信し、それに対して大きな応答を返すリゾルバを利用して、被害者のネットワークを圧倒します。
これを緩和するには、DNSサーバに対して、同一IPへの同一応答の送信レートを制限する設定を行うことが効果的です。
これにより、悪意ある繰り返しリクエストの影響を軽減できます。以下は、主要なDNSソフトウェアにおけるRRL機能の例です:
- BIND:
response-rate-limit { responses-per-second X; }; - PowerDNS:max-qps-per-ip 設定
- Unbound:クライアントごとの応答を制限する ratelimit 機能
- BIND:
- 3. トラフィックフィルタリング
-
DNSトラフィックをフィルタリングすることで、不正なクエリ、未許可のアクセス、データの持ち出し(エクスフィルトレーション)をブロックすることができます。
さらに、ファイアウォールや侵入防止システム(IPS)も、不審なDNSトラフィックの遮断に役立ちます。 - ネットワークセキュリティにゼロトラストモデルを適用すること。
- 多要素認証(MFA)を導入すること。
- 機密性の高いシステムへのアクセスを制限するために、ロールベースのアクセス制御を用いること。
- リスクの高い地域からのアクセスを制限するために、ジオブロッキング技術を導入すること。
- 次世代ファイアウォールを導入し、ファイアウォールルールを定期的に更新すること。
- DNSスプーフィング攻撃を防ぐために、DNSSECを有効化すること。
- HTTPSを強制的に使用すること。
- シングルサインオン(SSO)を導入すること。
- SPF、DKIM、DMARCなどのメール認証プロトコルを実装すること。
- データ損失防止(DLP)システムを有効化すること。
- フィッシング、ソーシャルエンジニアリング、安全なブラウジングに関するセキュリティ意識向上トレーニングを定期的に実施すること。
- 大規模なDDoS攻撃を防止する
- DNSアンプ攻撃に対して積極的な対策を講じることで、将来的な大規模DDoS攻撃を未然に防ぐことができます。
- ネットワークの過負荷を軽減する
-
DNSアンプの悪用は、ネットワークシステムに過負荷をかけ、システム停止や処理の遅延を引き起こす可能性があります。
迅速な対応によって、こうした事態を回避することが可能です。 - 金銭的損失と法的問題を回避する
-
DNSアンプ攻撃によるダウンタイムは、企業に大きな金銭的損失をもたらす可能性があります。
さらに、サイバー犯罪を助長したと見なされることで、法的な問題に発展するおそれもあります。 - 組織の評判を守る
-
DNSサーバがアンプ攻撃の標的となった場合、信頼の失墜や評判の損失につながる可能性があります。
このため、事前の予防が極めて重要です。
DNS増幅攻撃の事例
ここ数年で、DNS増幅攻撃の潜在的な影響力と規模の大きさを示す複数の事例が発生しています:
DNS増幅攻撃の検出方法
DNS増幅攻撃を検出するためには、いくつかの手法があります。
ネットワーク上のDNS増幅攻撃の兆候
DNS増幅攻撃によく見られる兆候には、以下のようなものがあります:
不審なDNSトラフィックを検出するためのツールと手法
不審なDNS活動を防ぐための予防策
監視すべきメトリクスとログ(例:異常なトラフィックパターン、クエリ頻度)
DNSサーバのログを分析し、同一ソースからの異常なトラフィックや繰り返されるクエリパターンを検出することで、
初期段階で攻撃の兆候を特定することが可能です。
以下は、監視対象となる主なメトリクスです。
DNS増幅攻撃の緩和策
DNS増幅攻撃に対しては、効果的な緩和戦略が多数存在します。
DNS増幅攻撃を防止するためのツール
ネットワークセキュリティのベストプラクティス
DNSアンプ攻撃を防ぐためには、適切なネットワークセキュリティの実践が重要です。
これらの対策は、小規模な悪用を防ぐだけでなく、大規模な攻撃の緩和にも重要な役割を果たし、分散型の大規模DDoS脅威に対して組織が耐えられるようにします。
以下の対策を実施してください。
積極的な対策の重要性
定期的なセキュリティ監査、継続的なモニタリング、業界ニュースの把握、適切なツールの活用など、積極的な行動は攻撃の成功リスクを低減するのに役立ちます。
迅速な対応が重要である理由は以下のとおりです。
結論
DNSアンプ攻撃の被害を受けると、金銭的にも評判の面でも大きな影響を受ける可能性があります。
その結果、自社のドメインやサービスに対する信頼が失われ、顧客が他の代替手段を探す事態を招くかもしれません。
こうした攻撃は初期段階での検出や防止が非常に難しいものの、共通する兆候、手法、対策ツールに注意を払うことで、早期の特定と緩和が可能になります。