DNSは(DNS)ドメインネームシステム(Domain Name System)の略で、これはブラウザがWebサイトのIPアドレスを把握して、コンピュータにロードできるようにするのに役立ちます。DNSキャッシュ(DNS cache)は、定期的に使用されるWebサイトのIPアドレスのリストを含む、ユーザーまたはISPのコンピューター上のファイルです。この記事では、DNSキャッシュポイズニングとDNSスプーフィングとは何かについて説明します。
DNSキャッシュポイズニング
ユーザーが自分のブラウザにWebサイトのURLを入力するたびに、ブラウザはローカルファイル( DNSキャッシュ(DNS Cache))に接続して、WebサイトのIPアドレスを解決するためのエントリがあるかどうかを確認します。ブラウザは、Webサイトに接続できるように、WebサイトのIPアドレスを必要とします。URLを使用してWebサイトに直接接続することはできません。適切なIPv4またはIPv6IPアドレスに解決する必要があります。レコードがそこにある場合、Webブラウザはそれを使用します。それ以外の場合は、DNSサーバーにアクセスしてIPアドレスを取得します。これはDNSルックアップ(DNS lookup)と呼ばれます。
DNSキャッシュは、コンピューターまたはISPのDNSサーバーコンピューター上に作成されるため、 URLの(URL)DNSのクエリに費やされる時間が短縮されます。基本的(Basically)に、DNSキャッシュは、コンピューターまたはネットワークで頻繁に使用されるさまざまなWebサイトのIPアドレスを含む小さなファイルです。DNSサーバーに接続する前に、ネットワーク上のコンピューターはローカルサーバーに接続して、DNSキャッシュにエントリがあるかどうかを確認します。存在する場合、コンピューターはそれを使用します。それ以外の場合、サーバーはDNSサーバーに接続し、IPアドレスを取得します。次に、ローカルDNS(DNS)を更新しますWebサイトの最新のIPアドレスでキャッシュします。
DNSキャッシュの各エントリには、オペレーティングシステムとDNS解決の精度に応じて、時間制限が設定されています。期間が終了すると、DNSキャッシュを含むコンピューターまたはサーバーがDNSサーバーに接続し、情報が正しいようにエントリを更新します。ただし、犯罪行為のためにDNS(DNS)キャッシュを
汚染する可能性のある人々がいます。
キャッシュをポイズニングするということは、 (Poisoning the cache)URL(URLs)の実際の値を変更することを意味します。たとえば、サイバー犯罪者は、たとえばxyz.comのようなWebサイトを作成し、そのDNSレコードをDNSキャッシュに入力できます。したがって、ブラウザのアドレスバーにxyz.comと入力すると、ブラウザは実際のWebサイトではなく、偽のWebサイトのIPアドレスを取得してそこに移動します。これはファーミング(Pharming)と呼ばれます。この方法を使用すると、サイバー犯罪者は、ログイン資格情報や、カードの詳細、社会保障番号、電話番号など、個人情報の盗難(identity theft)に使用されるその他の情報をフィッシングする可能性があります。DNS中毒は、コンピューターまたはネットワークにマルウェアを注入するためにも行われます。ポイズニングされたDNS(DNS)キャッシュを使用して偽のWebサイトにアクセスすると、犯罪者は好きなことを行うことができます。
場合によっては、ローカルキャッシュの代わりに、犯罪者が偽のDNSサーバーを設定して、照会されたときに偽のIPアドレスを提供できるようにすることもできます。これは高レベルのDNSポイズニングであり、特定の領域のほとんどのDNSキャッシュを破壊するため、より多くのユーザーに影響を及ぼします。
について読む(Read about):Comodo Secure DNS | OpenDNS | Google Public DNS | Yandex Secure DNS | エンジェルDNS。
DNSキャッシュスプーフィング
DNS spoofing is a type of attack that involves impersonation of DNS server responses in order to introduce false information. In a spoofing attack, a malicious user attempts to guess that a DNS client or server has sent a DNS query and is waiting for a DNS response. A successful spoofing attack will insert a fake DNS response into the DNS server’s cache, a process known as cache poisoning. A spoofed DNS server has no way of verifying that DNS data is authentic, and will reply from its cache using the fake information.
DNSキャッシュスプーフィングは(DNS Cache Spoofing)DNSキャッシュポイズニング(DNS Cache Poisoning)に似ていますが、わずかな違いがあります。DNSキャッシュスプーフィングは、 (DNS Cache Spoofing)DNSキャッシュをポイズニングするために使用される一連のメソッドです。これは、 DNC(DNC)キャッシュを変更および操作するために、コンピュータネットワークのサーバーに強制的に入る可能性があります。これは、照会されたときに偽の応答が送信されるように偽のDNSサーバーを設定している可能性があります。DNSキャッシュをポイズニングする方法はたくさんありますが、一般的な方法の1つはDNSキャッシュスプーフィング(DNS Cache Spoofing)です。
読む(Read):ipconfigを使用してコンピューターのDNS設定が侵害されているかどうかを確認する方法。
DNSキャッシュポイズニング–防止
DNSキャッシュ(DNS Cache)ポイズニングを防ぐために利用できる方法は多くありません。最善の方法は、攻撃者がネットワークを危険にさらしたり、ローカルDNSキャッシュを操作したりできないように、セキュリティシステムをスケールアップすることです。(scale up your security systems)DNSキャッシュポイズニング攻撃を検出できる優れたファイアウォール(good firewall)を使用してください。DNSキャッシュ(Clearing the DNS cache)(Clearing the DNS cache)を頻繁にクリアすることも、一部の人が検討するオプションです。
管理者は、セキュリティシステムをスケールアップする以外に、セキュリティシステムを最新の状態に保つためにファームウェアとソフトウェアを更新する必要があります。(update their firmware and software)オペレーティングシステムには、最新のアップデートでパッチを適用する必要があります。サードパーティの発信リンクがあってはなりません。サーバーは、ネットワークとインターネット(Internet)間の唯一のインターフェイスであり、優れたファイアウォールの背後にある必要があります。
ネットワーク内のサーバーの信頼関係を上位に移動して、サーバーが(trust relations of servers)DNS解決を要求しないようにする必要があります。そうすれば、本物の証明書を持つサーバーだけが、DNSサーバーを解決しながらネットワークサーバーと通信できます。
DNSレコードがより頻繁にフェッチされて更新されるように、 DNSキャッシュの各エントリの期間は短くする必要があります。(period)これは、(時々)Webサイトに接続する時間が長くなることを意味する場合がありますが、ポイズンされたキャッシュを使用する可能性は低くなります。
DNSキャッシュロックは、 (DNS Cache Locking)Windowsシステムで90%以上に構成する必要があります。Windows Serverの(Windows Server)キャッシュ(Cache)ロックを使用すると、 DNSキャッシュ内の情報を上書きできるかどうかを制御できます。詳細については、 TechNetを参照してください。
DNSソケットプール(DNS Socket Pool)を使用すると、DNSサーバーが(DNS)DNSクエリを発行するときに送信元ポートのランダム化を使用できるようになります。これにより、キャッシュポイズニング攻撃に対するセキュリティが強化されます、とTechNetは言います。
ドメインネームシステムセキュリティ拡張機能(DNSSEC)は、 (Domain Name System Security Extensions (DNSSEC))DNSプロトコルにセキュリティを追加するWindowsServerの拡張機能のスイートです。これについて詳しくは、こちら(here)をご覧ください。
興味があるかもしれない2つのツールがあります(There are two tools that may interest you):F-Secureルーターチェッカー(F-Secure Router Checker)はDNSハイジャックをチェックし、WhiteHatセキュリティツールはDNSハイジャックを監視します。
今読んでください:(Now read:) DNSハイジャックとは何(What is DNS Hijacking)ですか?
観察とコメントは大歓迎です。(Observation and comments are welcome.)
DNS Cache Poisoning and Spoofing - What is it?
DNS stands for Domain Name System, and this helps a browser in figuring out the IP address of a website so that it can load it on your computer. DNS cache is a file on your or your ISP’s computer that contains a list of IP addresses of regularly used websites. This article explains what is DNS cache poisoning and DNS spoofing.
DNS Cache Poisoning
Every time a user types a website URL in his or her browser, the browser contacts a local file (DNS Cache) to see if there is an entry to resolve the IP address of the website. The browser needs the IP address of the websites so that it can connect to the website. It cannot simply use the URL to directly connect to the website. It has to be resolved into a proper IPv4 or IPv6 IP address. If the record is there, the web browser will use it; else it will go to a DNS server to get the IP address. This is called DNS lookup.
A DNS cache is created on your computer or your ISP’s DNS server computer so that the amount of time spent in querying the DNS of a URL is reduced. Basically, DNS caches are small files that contain the IP address of different websites that are frequently used on a computer or network. Before contacting DNS servers, computers on a network contact the local server to see if there is an entry in the DNS cache. If there is one, the computers will use it; else the server will contact a DNS server and fetch the IP address. Then it will update the local DNS cache with the latest IP address for the website.
Each entry in a DNS cache has a time limit set, depending upon operating systems and the accuracy of DNS resolutions. After the period expires, the computer or server containing the DNS cache will contact the DNS server and update the entry so that the information is correct.
However, there are people who can poison the DNS cache for criminal activity.
Poisoning the cache means changing the real values of URLs. For example, cybercriminals can create a website that looks like say, xyz.com and enter its DNS record in your DNS cache. Thus, when you type xyz.com in the address bar of the browser, the latter will pick up the IP address of the fake website and take you there, instead of the real website. This is called Pharming. Using this method, cybercriminals can phish out your login credentials and other information such as card details, social security numbers, phone numbers, and more for identity theft. DNS poisoning is also done to inject malware into your computer or network. Once you land on a fake website using a poisoned DNS cache, the criminals can do anything they want.
Sometimes, instead of the local cache, criminals can also set up fake DNS servers so that when queried, they can give out fake IP addresses. This is high-level DNS poisoning and corrupts most of the DNS caches in a particular area thereby affecting many more users.
Read about: Comodo Secure DNS | OpenDNS | Google Public DNS | Yandex Secure DNS | Angel DNS.
DNS Cache Spoofing
DNS spoofing is a type of attack that involves impersonation of DNS server responses in order to introduce false information. In a spoofing attack, a malicious user attempts to guess that a DNS client or server has sent a DNS query and is waiting for a DNS response. A successful spoofing attack will insert a fake DNS response into the DNS server’s cache, a process known as cache poisoning. A spoofed DNS server has no way of verifying that DNS data is authentic, and will reply from its cache using the fake information.
DNS Cache Spoofing sounds similar to DNS Cache Poisoning, but there is a small difference. DNS Cache Spoofing is a set of methods used to poison a DNS cache. This could be a forced entry to a computer network’s server to modify and manipulate the DNC cache. This could be setting up a fake DNS server so that fake responses are sent out when queried. There are many ways to poison a DNS cache, and one of the common ways is DNS Cache Spoofing.
Read: How to find out if your computer’s DNS settings have been compromised using ipconfig.
DNS Cache Poisoning – Prevention
There are not many methods available to prevent DNS Cache poisoning. The best method is to scale up your security systems so that no attacker can compromise your network and manipulate the local DNS cache. Use a good firewall that can detect DNS cache poisoning attacks. Clearing the DNS cache frequently is also an option some of you may consider.
Other than scaling up security systems, admins should update their firmware and software to keep the security systems current. Operating systems should be patched with the latest updates. There should not be any third-party outgoing link. The server should be the only interface between the network and the Internet and should be behind a good firewall.
The trust relations of servers in the network should be moved up higher so that they do not ask just any server for DNS resolutions. That way, only the servers with genuine certificates would be able to communicate with the network server while resolving DNS servers.
The period of each entry in the DNS cache should be short so that DNS records are fetched more frequently and are updated. This may mean longer time periods of connecting to websites (at times) but will reduce the chances of using a poisoned cache.
DNS Cache Locking should be configured to 90% or greater on your Windows system. Cache locking in Windows Server allows you to control whether or not information in the DNS cache can be overwritten. See TechNet for more on this.
Use the DNS Socket Pool as it enables a DNS server to use source port randomization when issuing DNS queries. This provides enhanced security against cache poisoning attacks, says TechNet.
Domain Name System Security Extensions (DNSSEC) is a suite of extensions for Windows Server that add security to the DNS protocol. You can read more about this here.
There are two tools that may interest you: F-Secure Router Checker will check for DNS hijacking, and WhiteHat Security Tool monitors DNS hijackings.
Now read: What is DNS Hijacking?
Observation and comments are welcome.