IP Library Granted Patent US 11,394,746
Granted Patent B2
US 11,394,746 · App. 16/296,005 · Granted Jul 19, 2022

DNS prefetching based on triggers for increased security

Inventor: Brian James Buck (Livermore, CA)
Assignee: Lookout, Inc.
H04L63/1483H04L61/1511H04L61/6013
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,394,746
App. No.
16/296,005
Granted
Jul 19, 2022
Kind
B2
Abstract

Techniques for DNS prefetching based on application or contextual triggers to increase security in prefetching. The techniques can include storing historical DNS information from sources of DNS information. The historical DNS information can include historical DNS requests and triggering events correlated to the historical DNS requests. The techniques can also include identifying, by a processor or one or more sensors, an occurrence of a triggering event. The techniques can also include, in response to identifying the occurrence of the triggering event, resolving one or more answers to one or more DNS requests correlated with the triggering event based on the stored historical DNS information. The techniques can also include storing the one or more answers for later use by requesters.

Claims (82)

1. A method, comprising:

storing, in a computing device, historical domain name system (DNS) information from a plurality of sources of DNS information,

wherein the historical DNS information comprises a plurality of historical DNS requests and a plurality of triggering events correlated to the plurality of historical DNS requests,

wherein a triggering event of the plurality of triggering events is correlated to at least one historical DNS request of the plurality of historical DNS requests, and

wherein the correlation between the triggering event and the at least one historical DNS request is configurable with a threshold confidence level associated with the correlation, the threshold confidence level stored in association with the correlation in the DNS information;

identifying, by one or more sensors, an occurrence of a triggering event of the plurality of triggering events by detecting user action on the computing device,

wherein the one or more sensors are in the computing device, attached to the computing device, connected to the computing device by a network link, or any combination thereof, and the user action is detected using data from the sensors;

in response to identifying the occurrence of the triggering event, resolving, within a certain configurable time period after the triggering event, one or more answers to one or more DNS requests correlated with the triggering event based on the stored historical DNS information;

storing, in the computing device, the one or more answers, such that the one or more answers are useable by requesters making the one or more DNS requests; and

requesting, by a particular application running on the computing device, the one or more answers.

2. The method of claim 1 , wherein:

the particular application is a web browser, and

the one or more answers are answers to the one or more DNS requests that comprise DNS requests for an initial rendering of a website.

3. The method of claim 1 , wherein:

the particular application is a downloadable mobile application, and

the one or more answers are answers to the one or more DNS requests that comprise DNS requests for an initial rendering of the downloadable mobile application.

4. The method of claim 1 , further comprising:

retrieving, by a transparent proxy connected to or running on the computing device, DNS information used in an initial rendering of a website; and

storing with the stored historical DNS information, the retrieved DNS information used in the initial rendering of the website.

5. The method of claim 1 , further comprising:

retrieving, by a transparent proxy connected to or running on the computing device, DNS information used in a startup process of a downloaded mobile application; and

storing with the stored historical DNS information, the retrieved DNS information used in the startup process of the downloaded mobile application.

6. The method of claim 1 , wherein:

the historical DNS information further comprises a plurality of DNS answers,

a group of the plurality of triggering events are further correlated to the plurality of historical DNS answers,

a triggering event of the group is correlated to at least one historical DNS answer of the plurality of historical DNS answers, and

the resolving of the one or more answers to the one or more DNS requests is based on one or more historical DNS answers of the plurality of historical DNS answers corresponding to the one or more DNS requests when the one or more historical DNS answers have an unexpired time to live (TTL).

7. The method of claim 1 , further comprising:

storing, with the historical DNS information, assessments for each of the plurality of historical DNS requests;

in response to identifying the occurrence of the triggering event, determining a legitimacy level of the one or more answers to the one or more DNS requests correlated with the triggering event based on the assessments, wherein the legitimacy level comprises a probability that the one or more answers include a phishing attack; and

acting on the one or more answers according to the determined legitimacy level of the one or more answers.

8. The method of claim 7 , wherein acting on the one or more answers comprises the storing of the one or more answers when the determined legitimacy level of the one or more answers exceeds a predetermined threshold.

9. The method of claim 8 , wherein acting on the one or more answers comprises modifying the one or more answers and storing the one or more modified answers, such that the one or more modified answers are useable by requesters making the one or more DNS requests, when the determined legitimacy level of the one or more answers does not exceed the predetermined threshold.

10. The method of claim 8 , wherein acting on the one or more answers comprises blocking the one or more answers, such that the one or more answers are not accessible by requesters making the one or more DNS requests, when the determined legitimacy level of the one or more answers does not exceed the predetermined threshold.

11. The method of claim 7 , further comprising:

storing, with the historical DNS information, assessments for each of the plurality of triggering events correlated to the plurality of historical DNS requests;

in response to identifying the occurrence of the triggering event, determining a legitimacy level of the triggering event based on the assessments, wherein the legitimacy level of the triggering event comprises a probability that the triggering event includes a phishing attack; and

acting on the one or more answers according to the determined legitimacy level of the triggering event.

12. The method of claim 11 , wherein acting on the one or more answers comprises the storing of the one or more answers, when the respective determined legitimacy levels of the one or more answers and the triggering event each exceed a predetermined threshold.

13. A system, comprising:

a first computing device, comprising a processor and a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor of the first computing device, the program logic of the first computing device comprising:

executable logic for storing historical domain name system (DNS) information from a plurality of sources of DNS information,

wherein the historical DNS information comprises a plurality of historical DNS requests and a plurality of triggering events correlated to the plurality of historical DNS requests,

wherein a triggering event of the plurality of triggering events is correlated to at least one historical DNS request of the plurality of historical DNS requests, and

wherein the correlation between the triggering event and the at least one historical DNS request is configurable with a threshold confidence level associated with the correlation, the threshold confidence level stored in association with the correlation in the DNS information; and

a second computing device communicatively coupled to the first computing device, comprising a processor and a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor of the second computing device, the program logic of the second computing device comprising:

executable logic for identifying, via one or more sensors, an occurrence of a triggering event of the plurality of triggering events by detecting user action on the second computing device,

wherein the one or more sensors are in the second computing device, attached to the second computing device, connected to the second computing device by a network link, or any combination thereof, and the user action is detected using data from the sensors;

executable logic for, in response to identifying the occurrence of the triggering event, resolving, within a certain configurable time period after the triggering event, one or more answers to one or more DNS requests correlated with the triggering event based on the stored historical DNS information;

executable logic for storing the one or more answers, such that the one or more answers are useable by requesters making the one or more DNS requests; and

executable logic for hosting a particular application, running on the second computing device, that requests the one or more answers.

14. The system of claim 13 , wherein:

the particular application is a web browser, and

the one or more answers are answers to the one or more DNS requests that comprise DNS requests for an initial rendering of a website.

15. The system of claim 13 , wherein:

the particular application is a downloadable mobile application, and

the one or more answers are answers to the one or more DNS requests that comprise DNS requests for an initial rendering of the downloadable mobile application.

16. The system of claim 13 , wherein the program logic of the first computing device comprises:

executable logic for retrieving, by a transparent proxy connected to or running on the first computing device, DNS information used in an initial rendering of a website; and

executable logic for storing with the stored historical DNS information, the retrieved DNS information used in the initial rendering of the website.

17. The system of claim 13 , wherein the program logic of the first computing device comprises:

executable logic for retrieving, by a transparent proxy connected to or running on the first computing device, DNS information used in a startup process of a downloaded mobile application; and

executable logic for storing with the stored historical DNS information, the retrieved DNS information used in the startup process of the downloaded mobile application.

18. The system of claim 13 , wherein:

the historical DNS information further comprises a plurality of DNS answers,

a group of the plurality of triggering events are further correlated to the plurality of historical DNS answers,

a triggering event of the group is correlated to at least one historical DNS answer of the plurality of historical DNS answers, and

the resolving of the one or more answers to the one or more DNS requests is based on one or more historical DNS answers of the plurality of historical DNS answers corresponding to the one or more DNS requests when the one or more historical DNS answers have an unexpired time to live (TTL).

19. The system of claim 13 , wherein:

the program logic of the first computing device comprises executable logic for storing, with the historical DNS information, assessments for each of the plurality of historical DNS requests; and

the program logic of the second computing device comprises:

executable logic for, in response to identifying the occurrence of the triggering event, determining a legitimacy level of the one or more answers to the one or more DNS requests correlated with the triggering event based on the assessments, wherein the legitimacy level comprises a probability that the one or more answers include a phishing attack; and

executable logic for acting on the one or more answers according to the determined legitimacy level of the one or more answers.

20. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a processor associated with a computing device, performs a method, the method comprising:

storing historical domain name system (DNS) information from a plurality of sources of DNS information,

wherein the historical DNS information comprises a plurality of historical DNS requests and a plurality of triggering events correlated to the plurality of historical DNS requests,

wherein a triggering event of the plurality of triggering events is correlated to at least one historical DNS request of the plurality of historical DNS requests, and

wherein the correlation between the triggering event and the at least one historical DNS request is configurable with a threshold confidence level associated with the correlation, the threshold confidence level stored in association with the correlation in the DNS information;

identifying, via one or more sensors, an occurrence of a triggering event of the plurality of triggering events by detecting user action on the computing device, wherein the user action is detected using data from the sensors;

in response to identifying the occurrence of the triggering event, resolving, within a certain configurable time period after the triggering event, one or more answers to one or more DNS requests correlated with the triggering event based on the stored historical DNS information; and

storing the one or more answers, such that the one or more answers are useable by requesters making the one or more DNS requests.

21. The method of claim 1 , wherein the one or more sensors include at least one of an accelerometer or a gyroscope.

Assignments (8)
SECURITY INTEREST Recorded Oct 7, 2025
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 073028/0189 →
SECURITY INTEREST Recorded Oct 2, 2025
From: LOOKOUT, INC.
To: CRESCENT COVE OPPORTUNITY LENDING, LLC, AS AGENT
Reel/Frame 072989/0675 →
SECURITY INTEREST Recorded Aug 10, 2024
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 068538/0177 →
RELEASE OF PATENT SECURITY INTEREST AT REEL 59909 AND FRAME 0764 Recorded Jun 2, 2023
From: ALTER DOMUS (US) LLC, AS ADMINISTRATIVE AGENT
To: LOOKOUT, INC.
Reel/Frame 063844/0638 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2022
From: SILICON VALLEY BANK (THE "BANK")
To: LOOKOUT, INC.
Reel/Frame 059909/0668 →
SECURITY INTEREST Recorded May 9, 2022
From: LOOKOUT, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 059909/0764 →
SECURITY INTEREST Recorded Nov 18, 2020
From: LOOKOUT, INC.
To: SILICON VALLEY BANK
Reel/Frame 054475/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2019
From: BUCK, BRIAN JAMES
To: LOOKOUT, INC.
Reel/Frame 049609/0370 →
Cited By (1)
US 12,438,845