Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Overview of the Domain Name System  





2 Cache poisoning attacks  





3 Variants  



3.1  Redirect the target domain's name server  





3.2  Redirect the NS record to another target domain  







4 Prevention and mitigation  





5 See also  





6 References  














DNS spoofing






العربية
Deutsch
فارسی
Français

Italiano
Nederlands

Русский
Shqip
Suomi
Türkçe
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from DNS cache poisoning)

DNS spoofing, also referred to as DNS cache poisoning, is a form of computer security hacking in which corrupt Domain Name System data is introduced into the DNS resolver's cache, causing the name server to return an incorrect result record, e.g. an IP address. This results in traffic being diverted to any computer that the attacker chooses.

Overview of the Domain Name System[edit]

ADomain Name System server translates a human-readable domain name (such as example.com) into a numerical IP address that is used to route communications between nodes.[1] Normally if the server does not know a requested translation it will ask another server, and the process continues recursively. To increase performance, a server will typically remember (cache) these translations for a certain amount of time. This means if it receives another request for the same translation, it can reply without needing to ask any other servers, until that cache expires.

When a DNS server has received a false translation and caches it for performance optimization, it is considered poisoned, and it supplies the false data to clients. If a DNS server is poisoned, it may return an incorrect IP address, diverting traffic to another computer (often an attacker's).[2]

Cache poisoning attacks[edit]

Normally, a networked computer uses a DNS server provided by an Internet service provider (ISP) or the computer user's organization. DNS servers are used in an organization's network to improve resolution response performance by caching previously obtained query results. Poisoning attacks on a single DNS server can affect the users serviced directly by the compromised server or those serviced indirectly by its downstream server(s) if applicable.[3]

To perform a cache poisoning attack, the attacker exploits flaws in the DNS software. A server should correctly validate DNS responses to ensure that they are from an authoritative source (for example by using DNSSEC); otherwise the server might end up caching the incorrect entries locally and serve them to other users that make the same request.

This attack can be used to redirect users from a website to another site of the attacker's choosing. For example, an attacker spoofs the IP address DNS entries for a target website on a given DNS server and replaces them with the IP address of a server under their control. The attacker then creates files on the server under their control with names matching those on the target server. These files usually contain malicious content, such as computer wormsorviruses. A user whose computer has referenced the poisoned DNS server gets tricked into accepting content coming from a non-authentic server and unknowingly downloads the malicious content. This technique can also be used for phishing attacks, where a fake version of a genuine website is created to gather personal details such as bank and credit/debit card details.

The vulnerability of systems to DNS cache poisoning goes beyond its immediate effects as it can open users up to further risks such as phishing, malware injections, denial of service, and website hijacking due to system vulnerabilities. Various methods, ranging from the use of social engineering tactics to the exploitation of weaknesses present in the DNS server software, can lead to these attacks.[4]

Variants[edit]

In the following variants, the entries for the server ns.target.example would be poisoned and redirected to the attacker's name server at IP address w.x.y.z. These attacks assume that the name server for target.exampleisns.target.example.[citation needed]

To accomplish the attacks, the attacker must force the target DNS server to make a request for a domain controlled by one of the attacker's nameservers.[citation needed]

Redirect the target domain's name server[edit]

The first variant of DNS cache poisoning involves redirecting the name server of the attacker's domain to the name server of the target domain, then assigning that name server an IP address specified by the attacker.

DNS server's request: what are the address records for subdomain.attacker.example?

subdomain.attacker.example. IN A

Attacker's response:

(no response)
attacker.example. 3600 IN NS ns.target.example.
ns.target.example. IN A w.x.y.z

A vulnerable server would cache the additional A-record (IP address) for ns.target.example, allowing the attacker to resolve queries to the entire target.example domain.

Redirect the NS record to another target domain[edit]

The second variant of DNS cache poisoning involves redirecting the nameserver of another domain unrelated to the original request to an IP address specified by the attacker.[citation needed]

DNS server's request: what are the address records for subdomain.attacker.example?

subdomain.attacker.example. IN A

Attacker's response:

(no response)
target.example. 3600 IN NS ns.attacker.example.
ns.attacker.example. IN A w.x.y.z

A vulnerable server would cache the unrelated authority information for target.example's NS-record (nameserver entry), allowing the attacker to resolve queries to the entire target.example domain.

Prevention and mitigation[edit]

Many cache poisoning attacks against DNS servers can be prevented by being less trusting of the information passed to them by other DNS servers, and ignoring any DNS records passed back that are not directly relevant to the query. For example, versions of BIND 9.5.0-P1[5] and above perform these checks.[6] Source port randomization for DNS requests, combined with the use of cryptographically secure random numbers for selecting both the source port and the 16-bit cryptographic nonce, can greatly reduce the probability of successful DNS race attacks.[citation needed]

However, when routers, firewalls, proxies, and other gateway devices perform network address translation (NAT), or more specifically, port address translation (PAT), they may rewrite source ports in order to track connection state. When modifying source ports, PAT devices may remove source port randomness implemented by nameservers and stub resolvers.[citation needed][7]

Secure DNS (DNSSEC) uses cryptographic digital signatures signed with a trusted public key certificate to determine the authenticity of data. DNSSEC can counter cache poisoning attacks. In 2010 DNSSEC was implemented in the Internet root zone servers.,[8] but needs to be deployed on all top level domain servers as well. The DNSSEC readiness of these is shown in the list of Internet top-level domains. As of 2020, all of the original TLDs support DNSSEC, as do country code TLDs of most large countries, but many country-code TLDs still do not.

This kind of attack can be mitigated at the transport layerorapplication layer by performing end-to-end validation once a connection is established. A common example of this is the use of Transport Layer Security and digital signatures. For example, by using HTTPS (the secure version of HTTP), users may check whether the server's digital certificate is valid and belongs to a website's expected owner. Similarly, the secure shell remote login program checks digital certificates at endpoints (if known) before proceeding with the session. For applications that download updates automatically, the application can embed a copy of the signing certificate locally and validate the signature stored in the software update against the embedded certificate.[9]

See also[edit]

References[edit]

  1. ^ Wu, Hao; Dang, Xianglei; Wang, Lidong; He, Longtao (2016). "Information fusion-based method for distributed domain name system cache poisoning attack detection and identification". IET Information Security. 10 (1): 37–44. doi:10.1049/iet-ifs.2014.0386. ISSN 1751-8717. S2CID 45091791.
  • ^ Son, Sooel; Shmatikov, Vitaly. "The Hitchhiker's Guide to DNS Cache Poisoning" (PDF). Cornell University. Archived (PDF) from the original on 14 August 2017. Retrieved 3 April 2017.
  • ^ Storms, Andrew (2006). "Don't Trust Your Vendor's Software Distribution Methodology". Information Systems Security. 14 (6): 38–43. doi:10.1201/1086.1065898X/45782.14.6.20060101/91858.8. S2CID 15167573 – via ProQuest Central.
  • ^ m. Dissanayake, I. M. (2018). "DNS Cache Poisoning: A Review on its Technique and Countermeasures". 2018 National Information Technology Conference (NITC). pp. 1–6. doi:10.1109/NITC.2018.8550085. ISBN 978-1-5386-9136-6. Retrieved 31 January 2024.
  • ^ "BIND Security Matrix". ISC Bind. Archived from the original on 11 November 2011. Retrieved 11 May 2011.
  • ^ "ISC Bind Security". ISC Bind. Archived from the original on 11 November 2011. Retrieved 11 May 2011.
  • ^ Dearing, Christopher (2019). "Personal Information as an Attack Vector: Why Privacy Should Be an Operational Dimension of U.S. National Security †". Journal of National Security Law & Policy. 10: 351–403. ProQuest 2395864954 – via ProQuest.
  • ^ "Root DNSSEC". ICANN/Verisign. p. 1. Archived from the original on 10 September 2017. Retrieved 5 January 2012.
  • ^ "The right configuration to secure your server". IONOS Digitalguide. Retrieved 29 April 2022.

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=DNS_spoofing&oldid=1216183999"

    Categories: 
    Computer security exploits
    Domain Name System
    Hacking (computer security)
    Internet security
    Internet ethics
    Internet service providers
    Types of cyberattacks
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Articles needing additional references from January 2012
    All articles needing additional references
    Use dmy dates from February 2024
    All articles with unsourced statements
    Articles with unsourced statements from January 2012
    Articles with unsourced statements from June 2022
     



    This page was last edited on 29 March 2024, at 16:17 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki