DNS hijacking or DNS redirection is the practice of subverting the resolution of Domain Name System (DNS) queries. This can be achieved by malware that overrides a computer's TCP/IP configuration to point at a rogue DNS server under the control of an attacker, or through modifying the behaviour of a trusted DNS server so that it does not comply with internet standards.
These modifications may be made for malicious purposes such as phishing, or for self-serving purposes by Internet service providers (ISPs) and public/router-based online DNS server providers to direct users' web traffic to the ISP's own web servers where advertisements can be served, statistics collected, or other purposes of the ISP; and by DNS service providers to block access to selected domains as a form of censorship.
One of the functions of a DNS server is to translate a domain name into an IP address that applications need to connect to an Internet resource such as a website. This functionality is defined in various formal internet standards that define the protocol in considerable detail. DNS servers are implicitly trusted by internet-facing computers and users to correctly resolve names to the actual addresses that are registered by the owners of an internet domain.
Rogue DNS server
A rogue DNS server translates domain names of desirable websites (search engines, banks, brokers, etc.) into IP addresses of sites with unintended content, even malicious websites. Most users depend on DNS servers automatically assigned by their ISPs. Zombie computers use DNS-changing trojans to invisibly switch the automatic DNS server assignment by the ISP to manual DNS server assignment from rogue DNS servers. A router's assigned DNS servers can also be altered through the remote exploitation of a vulnerability within the router's firmware. When users try to visit websites, they are instead sent to a bogus website. This attack is termed pharming. If the site they are redirected to is a malicious website, masquerading as a legitimate website, in order to fraudulently obtain sensitive information, it is termed phishing.
Manipulation by ISPs
A number of consumer ISPs such as AT&T, Cablevision's Optimum Online, CenturyLink, Time Warner, Cox Communications, RCN, Rogers, Charter Communications, Plusnet, Verizon, Sprint, T-Mobile US, Virgin Media, Frontier Communications, Bell Sympatico, UPC, T-Online, Optus, Mediacom, ONO, TalkTalk, Bigpond (Telstra), TTNET, Türksat, and Telkom Indonesia use DNS hijacking for their own purposes, such as displaying advertisements or collecting statistics. Dutch ISPs XS4ALL and Ziggo use DNS hijacking by court order: they were ordered to block access to The Pirate Bay and display a warning page instead. These practices violate the RFC standard for DNS (NXDOMAIN) responses, and can potentially open users to cross-site scripting attacks.
The concern with DNS hijacking involves this hijacking of the NXDOMAIN response. Internet and intranet applications rely on the NXDOMAIN response to describe the condition where the DNS has no entry for the specified host. If one were to query the invalid domain name (for example www.example.invalid), one should get an NXDOMAIN response – informing the application that the name is invalid and taking the appropriate action (for example, displaying an error or not attempting to connect to the server). However, if the domain name is queried on one of these non-compliant ISPs, one would always receive a fake IP address belonging to the ISP. In a web browser, this behavior can be annoying or offensive as connections to this IP address display the ISP redirect page of the provider, sometimes with advertising, instead of a proper error message. However, other applications that rely on the NXDOMAIN error will instead attempt to initiate connections to this spoofed IP address, potentially exposing sensitive information.
Examples of functionality that breaks when an ISP hijacks DNS:
- Roaming laptops that are members of a Windows Server domain will falsely be led to believe that they are back on a corporate network because resources such as domain controllers, email servers and other infrastructure will appear to be available. Applications will therefore attempt to initiate connections to these corporate servers, but fail, resulting in degraded performance, unnecessary traffic on the Internet connection and timeouts.
- Many small office and home networks do not have their own DNS server, relying instead on broadcast name resolution. Many versions of Microsoft Windows default to prioritizing DNS name resolution above NetBIOS name resolution broadcasts; therefore, when an ISP DNS server returns a (technically valid) IP address for the name of the desired computer on the LAN, the connecting computer uses this incorrect IP address and inevitably fails to connect to the desired computer on the LAN. Workarounds include using the correct IP address instead of the computer name, or changing the DhcpNodeType registry value to change name resolution service ordering.
- Browsers such as Firefox no longer have their 'Browse By Name' functionality (where keywords typed in the address bar take users to the closest matching site).
- The local DNS client built into modern operating systems will cache results of DNS searches for performance reasons. If a client switches between a home network and a VPN, false entries may remain cached, thereby creating a service outage on the VPN connection.
- DNSBL anti-spam solutions rely on DNS; false DNS results therefore interfere with their operation.
- Confidential user data might be leaked by applications that are tricked by the ISP into believing that the servers they wish to connect to are available.
- User choice over which search engine to consult in the event of a URL being mistyped in a browser is removed as the ISP determines what search results are displayed to the user; functionality of applications like the Google Toolbar does not work correctly.
- Computers configured to use a split tunnel with a VPN connection will stop working because intranet names that should not be resolved outside the tunnel over the public Internet will start resolving to fictitious addresses, instead of resolving correctly over the VPN tunnel on a private DNS server when an NXDOMAIN response is received from the Internet. For example, a mail client attempting to resolve the DNS A record for an internal mail server may receive a false DNS response that directed it to a paid-results web server, with messages queued for delivery for days while retransmission was attempted in vain.
- It breaks Web Proxy Autodiscovery Protocol (WPAD) by leading web browsers to believe incorrectly that the ISP has a proxy server configured.
- It breaks monitoring software. For example, if one periodically contacts a server to determine its health, a monitor will never see a failure unless the monitor tries to verify the server's cryptographic key.
In some cases, the ISPs provide subscriber-configurable settings to disable hijacking of NXDOMAIN responses. Correctly implemented, such a setting reverts DNS to standard behavior. Other ISPs, however, instead use a web browser cookie to store the preference. In this case, the underlying behavior is not resolved: DNS queries continue to be redirected, while the ISP redirect page is replaced with a counterfeit DNS error page. Applications other than web-browsers cannot be opted out of the scheme using cookies as the opt-out targets only the HTTP protocol, when the scheme is actually implemented in the protocol-neutral DNS system.
In the UK, the Information Commissioner's Office have acknowledged that the practice of involuntary DNS hijacking contravenes PECR, and EC Directive 95/46 on Data Protection which require explicit consent for processing of communication traffic. However they have refused to intervene, claiming that it would not be sensible to enforce the law, because it would not cause significant (or indeed any) demonstrable detriment to individuals.
ICANN strongly discourages the use of DNS redirection, wildcards, synthesized responses and any other form of NXDOMAIN substitution in existing gTLDs, ccTLDs and any other level in the DNS tree for registry-class domain names.
This section does not cite any sources. (August 2013) (Learn how and when to remove this template message)
Google in April 2016 launched DNS-over-HTTPS service. This scheme can overcome the limitations of the legacy DNS protocol. It performs remote DNSSEC check and transfers the results in a secure HTTPS tunnel.
There are also application-level work-arounds, such as the NoRedirect Firefox extension, that mitigate some of the behavior. An approach like that only fixes one application (in this example, Firefox) and will not address any other issues caused. Website owners may be able to fool some hijackers by using certain DNS settings. For example, setting a TXT record of "unused" on their wildcard address (e.g. *.example.com). Alternatively, they can try setting the CNAME of the wildcard to "example.invalid", making use of the fact that '.invalid' is guaranteed not to exist per the RFC. The limitation of that approach is that it only prevents hijacking on those particular domains, but it may address some VPN security issues caused by DNS hijacking.
- Captive portal
- DNS cache poisoning
- DNS rebinding
- Domain hijacking
- Dynamic Host Configuration Protocol
- Point-to-Point Protocol
- TCP reset attack
- "DNS hijacking flaw affects D-Link DSL router, possibly other devices".
- "Rogue Domain Name System Servers". Trend Micro. Retrieved 15 December 2007.
- "ATT DNS Assist Page". Retrieved 24 February 2018.
- "Optimum Online DNS Assistance". Archived from the original on 13 August 2009.
- "Re: [Qwest] Opting out of CenturyLink Web Helper hijacking not w - CenturyLink | DSLReports Forums". DSL Reports. Retrieved 12 October 2016.
- "Who Stole My Web Browser?".
- "Rogers Uses Deep Packet Inspection for DNS Redirection". dslreports.com. 20 June 2008. Retrieved 15 June 2010.
- "UK ISP's providing cdn for google". equk.co.uk. Retrieved 25 October 2015.
- "Opting out of DNS Assistance".
- "Are Sprint 3G and 4G towers hijacking NXDOMAIN responses? More information in comments... • r/Sprint". reddit. Retrieved 24 February 2018.
- "How do I turn of NXDOMAIN hijacking? • r/tmobile". reddit. Retrieved 24 February 2018.
- "ICO: We won't stop Advanced Network Error Search".
- "Case Reference Number ENQ0265706" (PDF).
I am not convinced that there is any likelihood of detriment or harm to subscribers or users that would justify taking formal action in this case.
- "Bell Starts Hijacking NS Domain Queries".
- "UPC FAQ about the "navigation service"".
- T-Home-Team (9 April 2009). "Neues Leistungsmerkmal 'Navigationshilfe'" [New 'Navigation Help' Feature] (in German). Retrieved 2 December 2009.
Ist die Navigationshilfe aktiviert, werden DNS-Server zugewiesen, die dieses Leistungsmerkmal unterstützen; ist sie deaktiviert, werden herkömmliche DNS-Server zugewiesen.
- Optus' "About the Search Results Page"
- "Want a real world example of why we need network neutrality? I have one here".
- "XSS Reflected dnssearch.Ono.es NXD redirect". 10 May 2010. Retrieved 24 February 2018.
- "TalkTalk - Search". error.talktalk.co.uk. Retrieved 24 February 2018.
- "BigPond redirects typos to 'unethical' branded search page". CRN Australia. Retrieved 24 February 2018.
- "Charter Corrupting DNS protocol ie hijacking hosts".
- "road runner dns hijack causing slow web-pages". Archived from the original on 10 December 2010.
- "Rogers violates net neutrality by hijacking failed DNS lookups". Archived from the original on 27 July 2008.
- Tanjung, Tidar. "Bagaimana internet positif Telkom bekerja?". Retrieved 11 June 2018.
- Singel, Ryan (19 April 2008). "ISPs Error Page Ads Let Hackers Hijack Entire Web, Researcher Discloses". Wired.
- Digined. "XS4ALL blokkeert adressen Pirate Bay voorlopig | XS4ALL Weblog". blog.xs4all.nl (in Dutch). Retrieved 5 October 2017.
- "Negative Caching of DNS Queries".
- "NetBIOS and WINS". www.howtonetworking.com. Retrieved 24 February 2018.
- "Using Firefox + NoRedirect Extension to Avoid DNS Hijacking". Archived from the original on 3 March 2011.
- "Harms Caused by NXDOMAIN Substitution in Toplevel and Other Registry-class Domain Names" (PDF). ICANN. 24 November 2009. Retrieved 23 September 2010.
- "DNS-over-HTTPS - Public DNS". Google Developers. 4 September 2018. Retrieved 12 March 2019.
- "NoRedirect – Add-ons for Firefox". addons.mozilla.org. Retrieved 24 February 2018.