DNSスプーフィング(ディーエヌエススプーフィング)とは | 意味や読み方など丁寧でわかりやすい用語解説
DNSスプーフィング(ディーエヌエススプーフィング)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
DNSスプーフィング (ディーエヌエヌエスプーフィング)
英語表記
DNS spoofing (ディーエヌエスピューフィング)
用語解説
DNSスプーフィングとは、ドメイン名とIPアドレスの変換を行うDNS(Domain Name System)の仕組みを悪用し、ユーザーを偽のウェブサイトやサービスへ誘導するサイバー攻撃の一種である。通常、インターネット上でウェブサイトを閲覧する際、ユーザーがブラウザに入力する「www.example.com」のようなドメイン名は、DNSサーバーによって「192.0.2.1」のようなIPアドレスに変換され、そのIPアドレスが示すサーバーに接続する。DNSスプーフィングは、この変換プロセスにおいて、正規のIPアドレスの代わりに攻撃者が用意した偽のサーバーのIPアドレスをユーザーに誤って伝え、意図しないサイトへ誘導することで発生する。これにより、ユーザーは偽サイトと気づかないまま、フィッシング詐欺やマルウェア感染などの被害に遭う危険性がある。これは、インターネット利用における信頼性を根本から揺るがす深刻なセキュリティ脅威である。
DNSスプーフィングの攻撃は、DNSの名前解決の仕組みに対する理解を前提としている。インターネット上のコンピュータはIPアドレスによって識別されるが、人間が覚えやすいようにドメイン名が利用されている。ユーザーがブラウザにドメイン名を入力すると、そのコンピュータはまず設定されているDNSリゾルバ(DNSキャッシュサーバーとも呼ばれる)にドメイン名のIPアドレスを問い合わせる。DNSリゾルバは、その情報を持っていればすぐにIPアドレスを応答し、持っていなければ上位のDNSサーバー(ルートDNSサーバー、TLD DNSサーバー、権威DNSサーバーなど)に順次問い合わせを行い、最終的に目的のIPアドレスを取得する。このIPアドレスは一定期間キャッシュされ、次回の問い合わせに備えられる。
DNSスプーフィングの主な手法としては、以下のものが挙げられる。
一つ目は「DNSキャッシュポイズニング」である。これは、DNSリゾルバのキャッシュに偽のドメイン名とIPアドレスの対応情報を注入する手法だ。攻撃者は、DNSリゾルバに対して、特定のドメイン名に対する正規の応答よりも早く、または巧みに、自分が用意した偽のサーバーのIPアドレスを応答させる。一度偽の情報がキャッシュに登録されてしまうと、そのDNSリゾルバを利用する全てのユーザーが、以後そのドメイン名を解決する際に偽のIPアドレスを受け取り、攻撃者の用意した偽サイトへ誘導されてしまう。この攻撃は、DNSサーバーのソフトウェアの脆弱性や設定の不備を突いて行われることが多い。
二つ目は「ホストファイル改ざん」である。ユーザーのコンピュータには、OSが標準で備える「hostsファイル」というテキストファイルが存在し、ここにドメイン名とIPアドレスの対応を手動で記述できる。このhostsファイルの情報は、DNSサーバーへの問い合わせよりも優先される。攻撃者は、マルウェアなどを利用して、このhostsファイルを改ざんし、特定の正規サイトのドメイン名に対して、攻撃者の用意した偽サイトのIPアドレスを記述する。これにより、ユーザーのコンピュータはDNSサーバーに問い合わせることなく、直接偽サイトへ接続してしまう。
三つ目は「中間者攻撃(Man-in-the-Middle)」である。これは、ユーザーとDNSサーバー間の通信経路に攻撃者が割り込み、DNSクエリや応答を傍受・改ざんする手法である。例えば、信頼性の低い公共のWi-Fiネットワークなどで、攻撃者が不正なDNSサーバーを設置したり、正規のDNSサーバーへの通信を傍受して、ユーザーからのドメイン名解決要求に対して偽のIPアドレスを応答させたりする。
これらのDNSスプーフィングによって引き起こされる被害は多岐にわたる。最も一般的なのは、金融機関やオンラインサービスを装ったフィッシングサイトへの誘導である。ユーザーは正規のサイトと信じ込み、IDやパスワード、クレジットカード情報などの個人情報を入力してしまい、窃取される。また、攻撃者の用意したサーバーからマルウェアをダウンロードさせられたり、アドウェアを強制的に表示させられたりすることもある。企業にとっては、ブランドイメージの失墜や、ビジネスの継続性への影響も深刻である。
DNSスプーフィングへの対策としては、複数のアプローチが求められる。根本的な対策としては「DNSSEC(DNS Security Extensions)」の導入が有効だ。DNSSECは、DNS応答の正当性を暗号的に検証する仕組みであり、DNSキャッシュポイズニングのような攻撃を防ぐことができる。DNSサーバーの管理者側では、DNSサーバーソフトウェアを常に最新の状態に保ち、適切なセキュリティ設定を行うことが不可欠だ。また、DNSリゾルバを提供する企業や組織は、定期的な脆弱性診断を実施し、対策を講じる必要がある。
ユーザー側の対策も重要である。まず、OSやウェブブラウザ、セキュリティソフトを常に最新の状態にアップデートしておくことが基本となる。これにより、hostsファイル改ざんなどのマルウェアによる攻撃を防ぐ確率が高まる。また、信頼できるDNSサービス(例えば、Google Public DNSやCloudflare DNSなど)を利用することも一つの手である。ウェブサイトを訪れる際には、URLが「https://」で始まっているか、ブラウザのアドレスバーに鍵マークが表示されているかを確認し、SSL/TLS証明書が正規のものであるかを確認する習慣をつけることが推奨される。これにより、通信が暗号化されているか、接続先が本物であるかの判断材料となる。不審なメールやメッセージに記載されたリンクは安易にクリックせず、正規のURLを直接入力してアクセスするなどの注意も必要である。これらの対策を組み合わせることで、DNSスプーフィングの脅威から身を守る確率を高めることができる。