はじめに — インターネットの「電話帳」が狙われている
空子/情報セキュリティマネジメント担当みなさんは普段、Webサイトを見るときに「google.com」や「yahoo.co.jp」といったアドレスをブラウザに入力しますよね。でも、コンピュータ同士が実際に通信するときは、こうした文字のアドレスではなく「IPアドレス」と呼ばれる数字の羅列(例:142.250.190.14)を使っています。
この「文字のアドレス → 数字のIPアドレス」への変換を担っているのが DNS(Domain Name System) という仕組みです。いわばインターネットの「電話帳」のような存在で、私たちがWebサイトにアクセスするたびに、裏側ではDNSサーバーが黙々と働いています。
「DNS水責め攻撃」とは、この電話帳係であるDNSサーバーを大量の問い合わせで押しつぶしてしまうサイバー攻撃です。正式には 「DNS Water Torture Attack(DNSウォーター・トーチャー・アタック)」 と呼ばれ、日本語で「水責め」と訳されています。名前の由来は、一滴ずつ水を落とし続ける拷問のように、大量の小さなリクエストをじわじわと送り続けるその攻撃手法にあります。
どうやって攻撃するの? — 仕組みをたとえ話で理解しよう





レストランの受付を想像してみてください。普段は「田中で予約しています」「はい、お席にご案内します」とスムーズにやり取りが進みます。
ところが、ある日突然、何千人もの人が一斉にやってきて「xjk29af8zという名前で予約しています」「p3mq7bnw4で予約しています」と、存在しない名前 で問い合わせを始めたらどうなるでしょうか。受付係は一件一件「その名前は予約リストにありません」と調べなければなりません。調べるだけで時間がかかり、本当に予約している人の対応ができなくなってしまいます。
DNS水責め攻撃は、まさにこれと同じことをDNSサーバーに対して行います。攻撃者は、ターゲットとなるドメイン(例:example.co.jp)に対して、「abc123.example.co.jp」「zzz999.example.co.jp」のように 実在しないサブドメイン を大量に生成し、一斉にDNSサーバーへ問い合わせを送りつけます。
DNSサーバーは「そんなアドレスは存在しない」と確認するために処理を行わなければならず、この大量の無駄な処理によってサーバーが過負荷状態に陥ります。その結果、普通のユーザーがWebサイトにアクセスしようとしても、DNSの応答が返ってこなくなり、サイトが表示できない という事態が発生するのです。
従来のDDoS攻撃との違い



サイバー攻撃のニュースでよく聞く「DDoS攻撃」は、大量のデータを送りつけてサーバーの回線をパンクさせるイメージがあります。いわば「玄関に大量のゴミを投げ込んでドアを開けられなくする」ような攻撃です。
一方、DNS水責め攻撃には厄介な特徴があります。
まず、一つひとつのリクエストが正常な通信に見える という点です。普通のDNS問い合わせと同じ形式で送られるため、「これは攻撃だ」と見分けるのが非常に難しいのです。レストランのたとえに戻れば、一人ひとりは礼儀正しく受付に来ているだけなので、追い返す理由がないのです。
次に、ボットネット(乗っ取られたコンピュータ群)を使って世界中から分散して攻撃が行われる ため、特定のIPアドレスをブロックするだけでは防ぎきれません。
さらに、攻撃は DNSキャッシュを回避する 仕組みになっています。DNSサーバーは一度調べた結果を一時的に記憶(キャッシュ)しておくことで処理を効率化していますが、水責め攻撃で使われるサブドメインは毎回ランダムに生成されるため、キャッシュが一切役に立ちません。毎回ゼロから調べ直す必要があるので、サーバーの負荷は一気に跳ね上がります。
被害はどれくらい深刻なの?





DNS水責め攻撃の被害は、ターゲットとなった企業だけにとどまりません。DNSは階層的な仕組みになっているため、攻撃の影響は 連鎖的に広がる 可能性があります。
たとえば、ある企業のDNSサーバーが攻撃を受けると、その企業が運営するすべてのWebサービス、メール、社内システムが使えなくなります。さらに、その企業のDNSを管理している上位のDNSサーバー(ISPが提供するDNSなど)にも負荷が波及し、まったく関係のない他のWebサイトまでアクセスしにくくなる ことがあります。
実際に過去には、大手ISP(インターネットサービスプロバイダ)のDNSサーバーが水責め攻撃を受け、その事業者の利用者全体がインターネットに繋がりにくくなるという事例も報告されています。一つの企業を狙った攻撃が、何百万人ものインターネットユーザーに影響を及ぼし得るのです。
どうやって防ぐの?



DNS水責め攻撃への対策は容易ではありませんが、いくつかの方法が取られています。
レートリミット(問い合わせ制限) は、一定時間内に同じ送信元から来るDNS問い合わせの数を制限する方法です。ただし、攻撃元が分散している場合は効果が限定的です。
応答ポリシーゾーン(RPZ)やDNSファイアウォール は、不審なパターンのクエリを検知してブロックする仕組みです。「存在しないサブドメインへの問い合わせが異常に多い」といったパターンを検出して、自動的に遮断します。
Anycast(エニーキャスト)技術 を使って、DNSサーバーを世界中に分散配置し、攻撃の負荷を分散させるアプローチも有効です。一か所に集中する負荷を、世界中のサーバーで分け合うイメージです。
また、クラウド型のDNS防御サービス を利用する企業も増えています。専門のセキュリティ企業が大規模なインフラで攻撃トラフィックを吸収・フィルタリングしてくれるため、個別の企業だけでは防ぎきれない規模の攻撃にも対応できます。
私たちにできることはある?





一般のインターネットユーザーが直接DNS水責め攻撃を防ぐことは難しいですが、間接的にできることはあります。
一つは、自分のパソコンやルーターがボットネットの一部にならないようにすること です。OSやソフトウェアを最新の状態に保ち、不審なソフトウェアをインストールしないことが大切です。攻撃者は、世界中の一般家庭のパソコンやIoT機器を乗っ取って攻撃に利用することがあるため、一人ひとりのセキュリティ意識が攻撃規模を左右します。
また、利用しているISPやDNSサービスのセキュリティ対策を確認し、信頼できるDNSサービス(Google Public DNSやCloudflare DNSなど)を利用することも有効です。
おわりに
DNS水責め攻撃は、インターネットの根幹を支えるDNSの仕組みを巧妙に悪用した、検知も防御も難しい攻撃手法です。一見地味に見えますが、その影響範囲は非常に広く、私たちの日常的なインターネット利用に直接的な被害を及ぼす可能性があります。



サイバーセキュリティの世界では日々新たな脅威が生まれていますが、まずは「こういう攻撃がある」と知ることが、自分自身を守る第一歩です。デジタル社会を安心して利用するために、一人ひとりがセキュリティへの関心を持ち続けることが大切ではないでしょうか。










コメント