DNSハイジャックの定義

DNSハイジャックとは、利用者が行う「名前解決(ドメイン名→IPアドレス)」の過程で、DNSの応答内容を不正に変更したり、正しい応答を別のものに置き換えることで、利用者を意図しない通信先へ導くことを指します。典型的には、ユーザーがアクセスしたい本来のドメイン名に対して、別のIPアドレスが返される(あるいは返るように見せかけられる)ことで起こります。

ここで重要なのは、DNSハイジャックが「サイトそのものを壊す」ことだけを意味しない点です。あくまで“名前解決の結果”が利用者側に誤った形で届く、という捉え方が基本になります。

仕組み(簡単なモデル)

仕組みを理解するために、最小限の流れで考えると次のようになります。

  1. ユーザー端末が、あるドメイン名(例:example.com)をIPアドレスに変換するため問い合わせを行う
  2. その問い合わせに対して、名前解決の結果として「ドメイン名に対応するIPアドレス」が返る
  3. ユーザー端末は受け取ったIPアドレスへ接続する

DNSハイジャックでは、2)の時点で“別のIPアドレス”が返ったり、利用者の要求が攻撃者の意図する応答に誘導されたりします。その結果、ブラウザが同じドメイン名のまま別のサーバへ通信してしまうことがあり得ます。

ただし、実際の現場では細かな経路(どのDNSサーバが応答したのか、どこまでの範囲が改変されたのか)によって挙動が変わります。一般に言えるのは「DNS応答に影響が出ているか」を見極めるのが核心だ、という点です。

成功しやすい条件と制限(どこまでできるか)

DNSハイジャックの成否は万能ではありません。影響を受ける場所、応答の再利用(キャッシュ)、通信の性質によって制限が生じます。

  • “改変できる場所”が限られる:攻撃者がDNS応答に介入できるポイントがある一方で、そこに到達できない構成では成立しにくくなります。
  • キャッシュが影響する:一度得られたDNS結果はしばらく使われることがあります。そのため、同じドメイン名でもタイミングにより、観測される現象が変わる場合があります。
  • 通信の保護の有無が関係する:DNSを運ぶ仕組みや経路の扱いによって、応答の改変が難しくなることがあります(ただし、ここは状況依存で、断定はできません)。
  • 常に“見た目の異常”が出るとは限らない:ドメイン名入力欄は同じでも、裏で到達先が変わることがあります。逆に言うと、画面の印象だけでは判断しにくいことがあります。

また、DNSハイジャックという言葉は広く使われるため、現象の解釈が人によって揺れることがあります。厳密には「名前解決の結果が誤導される」ことを、観測可能な形に落として考えるのが安全です。

間違えやすい関連概念との違い

DNSハイジャックと混同されやすいものに、DNSリークがあります。