DNSキャッシュポイズニングとは?初心者向けにわかりやすく解説
生徒
「先生、DNSキャッシュポイズニングって聞いたことがあるんですが、どんな攻撃なんですか?」
先生
「DNSキャッシュポイズニング(ディーエヌエスキャッシュポイズニング)は、DNSサーバのキャッシュを不正に書き換えて、利用者を偽のサイトに誘導する攻撃のことです。」
生徒
「えっ!じゃあ本物のサイトにアクセスしたつもりでも、実は偽物のサイトにつながっちゃうってことですか?」
先生
「そうなんです。だからフィッシング詐欺や不正アクセスにつながる危険な攻撃なんですよ。」
1. DNSキャッシュポイズニングとは?
DNSキャッシュポイズニング(ディーエヌエスキャッシュポイズニング)とは、DNSサーバに保存されている名前解決のキャッシュを攻撃者が書き換え、利用者を偽のIPアドレスに誘導する攻撃のことです。これにより利用者は正しいURLを入力しても、攻撃者が用意した偽サイトにアクセスさせられてしまいます。
2. DNSとは何か
DNSは、読み方はDNS(ディーエヌエス)といい、Domain Name System(ドメインネームシステム)の略称です。インターネットで使う「www.example.com」のようなドメイン名を、コンピュータが通信に使うIPアドレスに変換する仕組みです。このDNSがなければ、人間が数字の羅列であるIPアドレスを覚えて利用しなければならず、とても不便になります。
3. 攻撃の仕組み
DNSキャッシュポイズニングは、次のような流れで行われます。
- 攻撃者がDNSサーバに偽の情報を送り込む
- DNSサーバはその情報をキャッシュに保存してしまう
- 利用者が正しいURLを入力しても、偽のIPアドレスが返される
- 利用者は気づかずに攻撃者の用意した偽サイトへ接続する
これにより利用者はパスワードや個人情報を盗まれる危険性が生じます。
4. DNSキャッシュポイズニングの被害例
この攻撃による被害としては、以下のようなものがあります。
- 偽のインターネットバンキングサイトに誘導され、口座情報や暗証番号を盗まれる
- ショッピングサイトを偽装され、クレジットカード情報を入力してしまう
- メールの送信先が偽装され、機密情報が攻撃者に渡る
利用者は本物と偽物の区別がつかないため、気づかないうちに被害に遭ってしまうことが多いのです。
5. DNSキャッシュポイズニングとフィッシング詐欺の関係
DNSキャッシュポイズニングはフィッシング詐欺(フィッシングサギ)と密接に関係しています。フィッシング詐欺は偽のメールやサイトを使って利用者から情報を騙し取る手口ですが、DNSキャッシュポイズニングを利用すると、利用者が自ら正しいURLを入力しても偽サイトに誘導できるため、より強力なフィッシング手法となります。
6. 攻撃を防ぐ方法
DNSキャッシュポイズニングを防ぐには、技術的な対策と利用者の注意が必要です。
- DNSSECを導入する:DNSの応答にデジタル署名をつけて、改ざんを防ぐ仕組み。
- キャッシュの有効期限を短くする:古い情報を残さないようにする。
- ソフトウェアの更新:DNSサーバの脆弱性を解消する。
- 利用者側の注意:本物のサイトでも証明書や通信が暗号化されているか確認する。
特に「https」で始まる安全な通信や、ブラウザの鍵マークを確認することが大切です。
7. 雑学:キャッシュポイズニングの名前の由来
「キャッシュポイズニング」という名前は「キャッシュ(記憶された情報)」を「毒(ポイズン)」で汚染することに由来します。つまり、DNSサーバに保存された情報を毒のように不正なものに変えてしまうイメージです。英語の「Poisoning(ポイズニング)」は、セキュリティ分野でよく使われる表現で、他にも「ARPキャッシュポイズニング」など類似の攻撃手法があります。
8. 覚えておきたい重要キーワード
最後にDNSキャッシュポイズニングを理解するために重要なキーワードを整理しておきましょう。
- DNS(ドメイン名をIPアドレスに変換する仕組み)
- キャッシュ(DNSサーバが一時的に保存する情報)
- ポイズニング(不正に情報を書き換える行為)
- フィッシング詐欺(偽サイトで情報を騙し取る手口)
- DNSSEC(応答に署名をつけて改ざんを防ぐ仕組み)
これらを理解することで、DNSキャッシュポイズニングの危険性や防止策をしっかり学ぶことができます。