閉じる

DNSキャッシュポイズニングの仕組みと脅威:正しい接続を守るための最新対策を解説

インターネットを利用する際、私たちはドメイン名を入力して目的のサイトにアクセスしますが、その裏側ではDNSというシステムが休まず働いています。

DNSキャッシュポイズニングは、このインターネットの根幹を支える「住所案内」を不正に書き換える非常に危険な攻撃手法です。

攻撃者が偽の情報をキャッシュサーバーに注入することで、利用者を意図しない悪意あるサイトへと誘導してしまいます。

本記事では、この攻撃の具体的な仕組みから、2026年現在において推奨される最新の防御策までを詳しく詳しく解説します。

DNSの基本構造とキャッシュの役割

DNS(Domain Name System)は、人間が理解しやすいドメイン名と、コンピュータが識別するIPアドレスを紐付ける仕組みです。

私たちがブラウザにURLを入力すると、まず「DNSキャッシュリゾルバ」と呼ばれるサーバーに問い合わせが行われます。

キャッシュリゾルバは、過去に問い合わせがあった情報を一時的に保存しておくことで、応答速度を高める役割を担っています。

もしキャッシュに情報がない場合は、ルートサーバーから順に権威DNSサーバーへと問い合わせを繰り返す「反復問い合わせ」を実行します。

このプロセスはインターネット通信の利便性を支える重要な要素ですが、信頼性を前提とした設計ゆえの脆弱性が存在します。

キャッシュ機能はネットワークの負荷を軽減する一方で、一度誤った情報が入り込むと、その情報が有効期限(TTL)まで残り続けるという特性があります。

住所案内としてのDNSの重要性

DNSはしばしば「インターネットの電話帳」や「住所案内所」に例えられます。

もし住所案内が嘘の場所を教えてしまったら、ユーザーは気づかずに危険な場所へ足を踏み入れてしまうことになります。

ウェブサイトの閲覧だけでなく、メールの配送先決定やAPI連携など、ほぼ全てのネット通信がDNSに依存しています。

そのため、DNSの正当性を担保することは、サイバーセキュリティにおける最優先事項の一つと言えます。

キャッシュ機能が必要とされる理由

世界中で発生する膨大なドメイン問い合わせを、毎回権威サーバーに行うのは現実的ではありません。

キャッシュリゾルバが情報を一時保持することで、ユーザーはミリ秒単位の高速なレスポンスを得ることができます。

しかし、この利便性の裏にある「情報の保持」という隙を、攻撃者は狙っています。

DNSキャッシュポイズニングの仕組み

DNSキャッシュポイズニングは、キャッシュリゾルバが権威DNSサーバーからの回答を待っている間に、攻撃者が偽の回答を送り込むことで成立します。

本来の正しい応答よりも早く、攻撃者の用意した偽の応答がリゾルバに受理される必要があります。

リゾルバが偽の情報を正しいものとしてキャッシュに保存してしまうと、そのリゾルバを利用する全ユーザーが影響を受けます。

攻撃に成功すると、特定のドメインに対するアクセスが、攻撃者の指定したIPアドレスに強制的に向けられます。

偽の情報が混入するプロセス

リゾルバが外部に問い合わせを投げると、戻ってくるパケットを識別するために「トランザクションID」という数値を使用します。

攻撃者は、このトランザクションIDを予測、あるいは総当たりで的中させることで、本物の応答になりすまします。

さらに、送信元ポート番号などの情報も一致させる必要がありますが、これらを突破するための手法が長年研究されてきました。

一度「汚染(ポイズニング)」が成功すると、被害は単一のPCに留まらず、ネットワーク全体に波及する恐れがあります。

カミンスキー・アタックによる進化

2008年にセキュリティ研究者のダン・カミンスキー氏によって発表された手法は、この攻撃の脅威を劇的に高めました。

従来の手法ではキャッシュが切れるのを待つ必要がありましたが、カミンスキー・アタックは存在しないサブドメインへの問い合わせを悪用します。

これにより、攻撃者は短時間で大量の偽パケットを送り込み、キャッシュを上書きする確率を飛躍的に向上させました。

現在ではこの手法に対する対策が進んでいますが、原理的な脆弱性は依然として無視できない課題です。

トランザクションIDとポート番号の重要性

DNSパケットの識別には、16ビットのトランザクションIDが使われています。

16ビットでは65,536通りしかないため、現代の計算能力やネットワーク帯域を使えば、総当たり攻撃は不可能ではありません。

そこで、送信元ポート番号もランダム化する「ソースポートランダマイゼーション」が併用され、組み合わせ数を増やす対策が取られています。

DNSキャッシュポイズニングによる主な脅威

この攻撃が成功した場合の被害は多岐にわたり、ビジネスや個人のプライバシーに深刻なダメージを与えます。

ユーザーは正しいURLを入力しているため、偽のサイトに誘導されていることに気づくのは非常に困難です。

フィッシングサイトへの誘導

最も一般的な被害は、銀行やSNSの偽サイトへ誘導され、ログイン情報を盗まれるフィッシング詐欺です。

ブラウザのアドレスバーには正しいドメイン名が表示されるため、視覚的に異常を察知することはほぼ不可能です。

これにより、二段階認証の設定がないアカウントは瞬時に乗っ取られる危険性があります。

マルウェア感染の拡大

正規のソフトウェア配布サイトを偽装し、ウイルスやランサムウェアを仕込んだファイルをダウンロードさせる攻撃も想定されます。

OSやアプリケーションのアップデートサーバーが狙われた場合、被害規模は計り知れません。

組織内のデバイスが一斉に感染するトリガーになる可能性もあります。

中間者攻撃(MITM)の起点

攻撃者のサーバーを経由させることで、通信内容を盗聴したり改ざんしたりする「中間者攻撃」が可能になります。

暗号化されていない通信はもちろん、証明書の検証をすり抜ける高度な手法と組み合わされることもあります。

これにより、機密情報の漏洩や、送金指示の書き換えといった実害が発生します。

DNSキャッシュポイズニングを防ぐ最新の対策

攻撃手法の巧妙化に伴い、防御側も複数の階層で対策を講じる必要があります。

単一の設定だけでなく、プロトコルレベルでの強化が求められる時代になっています。

対策名主な効果導入の難易度
DNSSEC応答の正当性を電子署名で検証中〜高
ポートランダマイゼーションID予測の困難化低(標準装備)
DoH / DoTDNS通信の暗号化と改ざん防止
0x20 bit encoding大文字小文字の混在による検証強化

DNSSEC(DNS Security Extensions)の導入

DNSSECは、DNSの応答に公開鍵暗号方式による電子署名を付加する技術です。

リゾルバが署名を検証することで、データが権威サーバーから送られた正当なものであることを確認できます。

もし攻撃者が途中で偽の情報を混ぜても、署名が一致しないためリゾルバはその情報を破棄します。

DNSSECはキャッシュポイズニングを根本的に防ぐ最も強力な手段の一つとされています。

ただし、ドメイン所有者とリゾルバ管理者の双方が対応している必要があるため、普及にはまだ課題も残っています。

ソースポートランダマイゼーションの徹底

DNS問い合わせの際、送信元のポート番号をランダムに選択することで、攻撃者の予測を困難にします。

多くの最新DNSサーバーソフトウェアでは標準機能として実装されています。

もし古いOSやDNSサーバーを運用している場合は、この機能が有効かどうかを直ちに確認すべきです。

NATやファイアウォールの設定によっては、このランダム性が失われることがあるため注意が必要です。

DoH(DNS over HTTPS)とDoT(DNS over TLS)

従来のDNS通信は平文で行われていましたが、これらを暗号化プロトコルに乗せる動きが加速しています。

DoHやDoTを利用することで、通信経路上の第三者による覗き見や改ざんを防止できます。

公共Wi-Fiなどを利用する際の安全性を確保するためには、非常に有効な手段です。

2026年現在、主要なブラウザやOSではこれらの設定が容易に行えるようになっています。

組織として取り組むべきセキュリティ体制

技術的な対策だけでなく、運用面での管理体制を整えることも不可欠です。

脆弱性は技術の進歩とともに常に新しく発見されるため、継続的なアップデートが求められます。

内部DNSサーバーの構成見直し

社内のキャッシュリゾルバが外部からの不正なクエリを受け付けないよう、アクセスコントロールを厳格に行う必要があります。

オープンリゾルバ(誰でも利用可能なリゾルバ)状態になっていると、キャッシュポイズニングの踏み台にされるリスクが高まります。

インターネットから直接アクセスできる必要がないリゾルバは、必ず内部ネットワークのみに限定してください。

監視とログ分析の重要性

DNSのクエリログを定期的に監視し、異常なパターンの問い合わせが発生していないかを確認します。

例えば、短時間に特定のドメインに対して大量の不審なエラー(NXDOMAINなど)が発生している場合は、攻撃の兆候かもしれません。

最新のセキュリティ情報については、JPRSの技術情報ページなどの信頼できる情報源を定期的にチェックすることをお勧めします。

SIEM(Security Information and Event Management)を活用し、DNSログを自動解析する仕組みの導入も検討に値します。

まとめ

DNSキャッシュポイズニングは、インターネットの信頼性を根本から揺るがす強力な攻撃手法です。

しかし、その仕組みを正しく理解し、適切な対策を講じることでリスクを大幅に低減させることが可能です。

DNSSECの導入や通信の暗号化(DoH/DoT)、そしてサーバー設定の最適化は、もはやオプションではなく必須の要件と言えるでしょう。

正しい接続を守ることは、自社の信頼性とユーザーの安全を守ることに直結します。

サイバー脅威は日々進化していますが、基本に忠実な防御と最新技術の採用を組み合わせることで、強固なインフラを維持し続けましょう。

この記事が、貴社のネットワークセキュリティ向上の一助となれば幸いです。

URLをコピーしました!