---
title: "DNSキャッシュポイズニングとは？偽サイトへ誘導する攻撃【SG試験】"
description: "DNSキャッシュポイズニングは、DNSのキャッシュへ偽の名前解決情報を混入させ、利用者を偽サイトへ誘導する攻撃です。フィッシングやDNS設定ミスとの違い、真正性を保つ対策をSG試験の判断軸で整理します。名前解決結果を汚染する点を押さえます。"
last_modified_at: "2026-06-24"
canonical_url: "https://stemtazoo.github.io/sg/dns-cache-poisoning/"
section: "sg"
---

## まず結論

- DNSキャッシュポイズニングは、**DNSサーバのキャッシュに偽の名前解決情報を登録させる攻撃**
- 利用者は正しいURLを入力していても、**本来とは異なるWebサーバへ誘導される**
- SG試験では「DNSサーバ名を書き換える」「ワームを常駐させる」「メールアドレスを書き換える」との違いを切り分ける

---

## 直感的な説明

DNSは、Webサイト名をIPアドレスに変換する仕組みです。

たとえば、利用者が銀行サイトを見ようとしたとき、DNSは

- `example-bank.jp` は
- このIPアドレスです

という案内を返します。

DNSキャッシュポイズニングでは、この案内が偽物になります。

つまり、利用者は正しいURLを入力しているのに、裏側では

> 「本物の銀行サイト」ではなく「攻撃者が用意した偽サイト」

へ案内されてしまいます。

イメージとしては、

> 正しい店名を聞いたのに、案内所が間違った住所を教えてしまう

という感じです。

---

## 定義・仕組み

DNSキャッシュポイズニングは、DNSサーバが一時的に保存している名前解決情報、つまり**DNSキャッシュ**に偽の情報を登録させる攻撃です。

基本の流れは次のとおりです。

1. DNSサーバが名前解決を行う
2. 攻撃者が偽の応答を送り込む
3. DNSサーバが偽の情報をキャッシュする
4. 利用者がそのDNSサーバを参照する
5. 本来とは異なるWebサーバへ誘導される

ここで大事なのは、攻撃対象が利用者の入力ミスではないことです。

利用者は正しいURLを入力しています。  
それでも、DNSサーバ側のキャッシュが汚染されているため、偽サイトへ誘導されます。

---

## どんな場面で使う？

### 使われる場面

DNSキャッシュポイズニングは、利用者を偽サイトへ誘導したい場面で使われます。

代表例は次のとおりです。

- インターネットバンキング
- ECサイト
- 社内ポータルサイト
- メールサーバやWebメール
- ログインページ全般

目的は、ID・パスワード・クレジットカード情報などを入力させることです。

---

### 被害のイメージ

汚染されたDNSサーバを利用している社内利用者が、特定のWebサーバを参照しようとします。

しかし、DNSキャッシュに偽の情報が登録されていると、利用者は**本来とは異なるWebサーバ**へ誘導されます。

その結果、次のような被害につながります。

- 偽サイトでID・パスワードを入力してしまう
- 機密情報を盗まれる
- 改ざんされたページを見せられる
- メールサーバの参照先が変わり、メールの盗聴・改ざんにつながる

### 影響を受ける利用者の見分け方

DNSキャッシュポイズニングのケース問題では、**どのDNSキャッシュサーバに偽情報が入ったか**を見ると、誘導される利用者を切り分けやすくなります。

例えば、あるWebサービスのFQDNに対する偽の名前解決情報が、特定のDNSキャッシュサーバに登録されたとします。

この場合、影響を受けるのは、**そのキャッシュサーバを参照し、かつ偽情報の対象FQDNを名前解決する利用者**です。

| 見るポイント | 判断 |
|---|---|
| 偽情報が入った場所 | どのDNSキャッシュサーバか |
| 利用者が使うDNS | そのキャッシュサーバを参照しているか |
| アクセスしようとする先 | 偽情報の対象になったFQDNか |

SG試験では、アクセス先の名称だけで判断しないことが大切です。
**「どの利用者が、汚染されたDNSキャッシュサーバを参照しているか」**を先に確認します。

---

## よくある誤解・混同

### 誤解1：DNSサーバ名を書き換える攻撃？

これは違います。

DNSキャッシュポイズニングで書き換えられるのは、DNSサーバ名そのものではありません。

- ❌ DNSサーバ名を書き換える
- ⭕ DNSキャッシュ内の名前解決情報を偽情報にする

SG試験では、

> DNSサーバのハードディスク上のファイルに定義されたDNSサーバ名が書き換わる

のような選択肢は、DNSキャッシュポイズニングの説明としては不適切です。

---

### 誤解2：DNSサーバにワームを感染させる攻撃？

これも違います。

DNSキャッシュポイズニングは、DNSサーバにワームを常駐させる攻撃ではありません。

- ❌ DNSサーバのメモリ上にワームが常駐する
- ⭕ DNSの名前解決結果を偽装する

「ワーム」「不正プログラムを送り込む」が中心なら、マルウェア感染の説明として考えます。

---

### 誤解3：メールの宛先アドレスを書き換える攻撃？

これも少し違います。

DNSキャッシュが汚染されると、メールサーバの参照先が偽のサーバになる可能性はあります。

しかし、DNSキャッシュポイズニング自体は、電子メールの宛先アドレスを書き換える攻撃ではありません。

- ❌ メールの宛先アドレスを書き換える
- ⭕ ドメイン名に対応する接続先を偽のサーバにする

試験では、ここをひっかけてきます。

---

## 他の攻撃との切り分け

### フィッシングとの違い

- フィッシング：メールや偽リンクで誘導する
- DNSキャッシュポイズニング：**正しいURLでも偽サイトへ誘導される**

👉 「メールで誘導」「偽メール」が中心ならフィッシング。

---

### ファーミングとの違い

- ファーミング：DNSやhostsファイルなどを悪用して偽サイトへ誘導する広い考え方
- DNSキャッシュポイズニング：**DNSサーバのキャッシュを汚染する方法**

👉 DNSキャッシュに偽情報を登録するなら、DNSキャッシュポイズニング。

---

### Man-in-the-Browserとの違い

- Man-in-the-Browser：ブラウザ内で表示内容や送信内容を改ざんする
- DNSキャッシュポイズニング：**接続前の名前解決を偽装する**

👉 「ブラウザ内」「マルウェアが画面や送信内容を改ざん」はMan-in-the-Browser。

---

### Man-in-the-Middleとの違い

- Man-in-the-Middle：通信の途中に入り、盗聴・改ざんする
- DNSキャッシュポイズニング：**通信を始める前の接続先を変える**

👉 「通信途中」「中継」「盗聴」が中心ならMan-in-the-Middle。

---

## 確認問題（SG試験対策）

次のうち、DNSキャッシュポイズニングの説明として最も適切なものはどれか。

- ア. DNSサーバのハードディスク上のファイルに定義されたDNSサーバ名が書き換わり、外部からの参照者がDNSサーバに接続できなくなる。
- イ. DNSサーバのメモリ上にワームが常駐し、DNS参照元に対して不正プログラムを送り込む。
- ウ. 社内の利用者が、インターネット上の特定のWebサーバを参照しようとすると、本来とは異なるWebサーバに誘導される。
- エ. 社内の利用者間で送信された電子メールの宛先アドレスが書き換えられ、正常な送受信ができなくなる。

<details markdown="1">
<summary>▶ クリックして答えと解説を見る（ここを開く）</summary>

**正解：ウ**

### 解説

- ア：DNSサーバ名そのものを書き換える説明なので不適切です。
- イ：ワームを感染させる説明なので不適切です。
- ウ：DNSの名前解決結果が偽装され、別のWebサーバへ誘導される説明なので適切です。
- エ：メールの宛先アドレスを書き換える説明なので不適切です。

👉 判断ポイント  
DNSキャッシュポイズニングは、**DNSキャッシュに偽の名前解決情報を登録させ、本来とは異なる接続先へ誘導する攻撃**です。

</details>

---

## まとめ（試験直前用）

- DNSキャッシュポイズニング＝**DNSキャッシュに偽の名前解決情報を入れる攻撃**
- 正しいURLでも、本来とは異なるWebサーバへ誘導される
- 書き換えるのは「DNSサーバ名」ではなく「名前解決情報」
- ワーム感染やメールアドレス改ざんとは別物
- 「DNS」「キャッシュ」「偽の名前解決」「偽サイト誘導」がそろえば正解候補
