Defense against NXDOMAIN hijacking in domain name systems
AssigneeMicrosoft Technology Licensing, LLC
InventorMehmet Akcin
Life of this patent
Estimating the term…
Abstract
Various techniques for providing defense against NXDOMAIN hijacking in domain name systems are disclosed herein. In one embodiment, a method includes receiving a user input from a user to a search box in an application executing on a computing device connected to the Internet via a facility provided by an internal service provider (“ISP”) and resolving the received user input to the search box as a DNS query without using a caching server provided by the ISP. The method can then include determining whether the DNS query causes an NXDOMAIN condition and in response to determining that the DNS query causes an NXDOMAIN condition, indicating that the received user input does not have a corresponding IP address in the domain name system.
Claims20
A method for resolving domain names in a domain name system (“DNS”), comprising:
- receiving a DNS query at an application executing on a computing device connected to the Internet via an Internet service provider (“ISP”);
- selecting to bypass one or more caching servers provided by the ISP, including:
- determining whether the application contains a caching server identified as a configured caching server;
- in response to determining that the application contains a caching server identified as the configured caching server, resolving the received DNS query using the configured caching server without using the one or more caching servers provided by the ISP;
- and
- in response to determining that the application does not contain a configurable caching server identified as the configured caching server, locating a trusted caching server via a web search or local database lookup and resolving the received DNS query using the trusted caching server without using the one or more caching servers provided by the ISP;
- based on a result of resolving the DNS query, determining whether the DNS query does not have a corresponding DNS record in the DNS;
- and
- in response to determining that the DNS query does not have a corresponding DNS record in the domain name system, displaying, via the application, a response on the computing device indicating that the received DNS query does not have a corresponding IP address in the DNS.
A computing device having a processor and a memory containing instructions executable by the processor to cause the computing device to:
- upon receiving a domain name to a web browser executing on the computing device connected to the Internet via an Internet service provider (“ISP”), select to bypass one or more caching servers provided by the ISP, including to:
- determine whether the web browser contains a configurable caching server identified as the configured caching server;
- in response to determining that the web browser contains a configurable caching server identified as the configured caching server, resolve the received domain name using the user configured caching server and without using the ISP caching server;
- and
- in response to determining that the web browser does not contain a configurable caching server identified as the configured caching server, locate a trusted caching server via a web search or local database lookup and resolving the received user input to the search box as a domain name system (“DNS”) query using the trusted caching server without using the ISP caching server;
- based on a result of resolving the DNS query, determining whether the DNS query does not have a corresponding DNS record in the DNS;
- and
- in response to determining that the DNS query does not have a corresponding DNS record in the domain name system, displaying, via the application, a response on the computing device indicating that the received domain name does not have a corresponding IP address in the DNS.
A computer readable storage device containing instructions executable by a processor of a computing device to cause the processor to perform operations comprising:
- receiving a DNS query at an application executing on a computing device connected to the Internet via an Internet service provider (“ISP”);
- in response to receiving the DNS query, selecting to bypass one or more caching servers provided by the ISP, including:
- determining whether the application contains a caching server identified as a configured caching server;
- in response to determining that the application contains a caching server identified as the configured caching server, resolving the received DNS query using the configured caching server without using the one or more caching servers provided by the ISP;
- and
- in response to determining that the application does not contain a configurable caching server identified as the configured caching server, locating a trusted caching server and resolving the received DNS query using the trusted caching server without using the one or more caching servers provided by the ISP;
- based on a result of resolving the DNS query, determining whether the DNS query does not have a corresponding DNS record in the DNS;
- and
- in response to determining that the DNS query does not have a corresponding DNS record in the domain name system, displaying, via the application, a response on the computing device indicating that the received DNS query does not have a corresponding IP address in the DNS.
Dependencies are inferred from the claim text.