はじめに
インターネットを利用するうえで欠かせない「DNS(Domain Name System)」ですが、この仕組みを悪用した攻撃には DNS汚染(DNS Cache Poisoning) と DNSハイジャック(DNS Hijacking) があります。
本記事では両者の仕組み、実際の事例、そして防御策について整理します。
1. DNS 基本のおさらい
DNSは、ドメイン名(例: google.com)をIPアドレスに変換する仕組みです。
もしこの変換結果が偽情報にすり替えられてしまったらどうなるでしょう?
→ 正規のサイトにアクセスしたつもりが、攻撃者の用意したフィッシングサイトやマルウェア配布サイトへ飛ばされてしまいます。
DNS正常フロー
2. DNS汚染(DNS Cache Poisoning)
概要
DNSキャッシュサーバーに 偽のレコード を注入してしまう攻撃。
仕組み
-
攻撃者が被害者の使うDNSサーバーに大量のリクエストを発生させる
-
権威サーバーからの正しい応答よりも早く、偽の応答を送り込む
-
偽情報がキャッシュに保存され、他の利用者にも広がる
影響例
-
正規の銀行サイト → 偽のフィッシングサイトへ
-
OSやアプリのアップデートサイト → マルウェア配布サイトへ
DNS汚染(キャッシュポイズニング)フロー
3. DNSハイジャック(DNS Hijacking)
概要
通信経路や設定そのものを 乗っ取って応答を改ざん する攻撃。
主なパターン
-
ISPリダイレクト
一部ISPが検索失敗時に独自ポータルへ誘導 -
ルータ改ざん
家庭用ルータのDNS設定を勝手に書き換え、利用者全員を攻撃者サーバーへ誘導 -
国家レベルの検閲
例: 中国のGFW(グレート・ファイアウォール)による「Twitter → 不正IP」への強制変換
DNSハイジャックのフロー
4. 汚染とハイジャックの違い(比較表)
特徴 | DNS汚染 (Poisoning) | DNSハイジャック (Hijacking) |
---|---|---|
発生場所 | キャッシュサーバー内部 | 通信経路・設定 |
技術的手法 | 偽応答をキャッシュに注入 | DNS設定改ざん / ネットワーク介入 |
影響範囲 | 広範囲(キャッシュを共有する利用者全体) | ルータ単位〜国家単位 |
用途 | フィッシング、マルウェア拡散 | 検閲、広告リダイレクト、フィッシング |
5. 防御策
-
DNSSEC
DNS応答に署名を付け、改ざんを検知できる仕組み -
DoH/DoT(DNS over HTTPS/TLS)
通信を暗号化し、中間者による書き換えを防ぐ -
信頼できるDNSサーバー利用
Google (8.8.8.8), Cloudflare (1.1.1.1) などを設定 -
ルータ管理の徹底
初期パスワードを変更、勝手なDNS設定改ざんを防止
6. まとめ
-
DNS汚染は「キャッシュをだます攻撃」
-
DNSハイジャックは「通信経路や設定を乗っ取る攻撃」
-
どちらもユーザーを「偽サイト」へ誘導する点で非常に危険
-
対策として DNSSEC + DoH/DoT + 信頼できるDNSサーバー利用 が有効