IP Library Granted Patent US 11,477,161
Granted Patent B1
US 11,477,161 · App. 17/514,814 · Granted Oct 18, 2022

Systems and methods for detecting DNS communications through time-to-live analyses

Inventors: Abhinav Mishra (San Francisco, CA); Giovanni Mola (San Francisco, CA); Ram Sriharsha (Oakland, CA); Zhaohui Wang (San Francisco, CA)
Assignee: SPLUNK Inc.
H04L61/4511G06F40/205H04L43/067H04L47/286H04L67/141
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,477,161
App. No.
17/514,814
Filed
Oct 29, 2021
Granted
Oct 18, 2022
Kind
B1
Art Unit
2444
USPC
709/245
Abstract

A computerized method is disclosed that includes accessing domain name server (DNS) record data including a plurality of DNS records spanning a first time period, performing a time-to-live (TTL) analysis to determine a TTL run length distribution for the DNS record data, wherein the TTL analysis includes: generating a vector of the TTL values of each DNS record ordered sequentially in time, parsing the vector of the TTL values into segments, where a segment consists of one or more TTL values where a current TTL value is less than an immediately preceding TTL value, and determining the TTL run length distribution, determining whether DNS beaconing is present based on a result of the TTL analysis and in response to determining that DNS beaconing is present, generating an alert for a system administrator.

Claims (46)

1. A computerized method comprising:

accessing domain name server (DNS) record data including a plurality of DNS records spanning a first time period, wherein each DNS record represents transmission of data between a first source device and a first domain name server within an information technology environment;

performing a time-to-live (TTL) analysis to determine a TTL run length distribution for the DNS record data, wherein the TTL analysis includes:

parsing the plurality of DNS records to obtain a TTL value of each DNS record,

generating a vector of the TTL values ordered sequentially in time,

parsing the vector of the TTL values into segments, where a segment consists of one or more TTL values where a current TTL value is less than an immediately preceding TTL value, and

determining the TTL run length distribution;

determining whether DNS beaconing is present within the DNS record data during the first time period based on a result of the TTL analysis; and

in response to determining that DNS beaconing is present, generating an alert for a system administrator.

2. The computerized method of claim 1 , wherein parsing the plurality of DNS records to obtain the TTL value of each DNS record includes executing one or more regular expressions to obtain the TTL value of each DNS record.

3. The computerized method of claim 1 , wherein the DNS record data is obtained through execution of a query.

4. The computerized method of claim 1 , wherein the DNS record data consists of transmissions between the first source device and the first domain name server forming a communication session.

5. The computerized method of claim 1 , wherein determining whether DNS beaconing is present within the DNS record data during the first time period includes comparing the TTL run length distribution to a predetermined threshold.

6. The computerized method of claim 1 , wherein the predetermined threshold corresponds to a measure as to whether 95-100% of the DNS records cause the domain name server to access cache memory.

7. The computerized method of claim 1 , wherein determining the TTL run length distribution includes determining a percentage of the segments that have a value greater than one.

8. A computing device, comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to perform operations including:

accessing domain name server (DNS) record data including a plurality of DNS records spanning a first time period, wherein each DNS record represents transmission of data between a first source device and a first domain name server within an information technology environment;

performing a time-to-live (TTL) analysis to determine a TTL run length distribution for the DNS record data, wherein the TTL analysis includes:

parsing the plurality of DNS records to obtain a TTL value of each DNS record,

generating a vector of the TTL values ordered sequentially in time,

parsing the vector of the TTL values into segments, where a segment consists of one or more TTL values where a current TTL value is less than an immediately preceding TTL value, and

determining the TTL run length distribution;

determining whether DNS beaconing is present within the DNS record data during the first time period based on a result of the TTL analysis; and

in response to determining that DNS beaconing is present, generating an alert for a system administrator.

9. The computing device of claim 8 , wherein parsing the plurality of DNS records to obtain the TTL value of each DNS record includes executing one or more regular expressions to obtain the TTL value of each DNS record.

10. The computing device of claim 8 , wherein the DNS record data is obtained through execution of a query.

11. The computing device of claim 8 , wherein the DNS record data consists of transmissions between the first source device and the first domain name server forming a communication session.

12. The computing device of claim 8 , wherein determining whether DNS beaconing is present within the DNS record data during the first time period includes comparing the TTL run length distribution to a predetermined threshold.

13. The computing device of claim 8 , wherein the predetermined threshold corresponds to a measure as to whether 95-100% of the DNS records cause the domain name server to access cache memory.

14. The computing device of claim 8 , wherein determining the TTL run length distribution includes determining a percentage of the segments that have a value greater than one.

15. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processor to perform operations including:

accessing domain name server (DNS) record data including a plurality of DNS records spanning a first time period, wherein each DNS record represents transmission of data between a first source device and a first domain name server within an information technology environment;

performing a time-to-live (TTL) analysis to determine a TTL run length distribution for the DNS record data, wherein the TTL analysis includes:

parsing the plurality of DNS records to obtain a TTL value of each DNS record,

generating a vector of the TTL values ordered sequentially in time,

parsing the vector of the TTL values into segments, where a segment consists of one or more TTL values where a current TTL value is less than an immediately preceding TTL value, and

determining the TTL run length distribution;

determining whether DNS beaconing is present within the DNS record data during the first time period based on a result of the TTL analysis; and

in response to determining that DNS beaconing is present, generating an alert for a system administrator.

16. The non-transitory computer-readable medium of claim 15 , wherein parsing the plurality of DNS records to obtain the TTL value of each DNS record includes executing one or more regular expressions to obtain the TTL value of each DNS record.

17. The non-transitory computer-readable medium of claim 15 , wherein the DNS record data is obtained through execution of a query.

18. The non-transitory computer-readable medium of claim 15 , wherein determining whether DNS beaconing is present within the DNS record data during the first time period includes comparing the TTL run length distribution to a predetermined threshold.

19. The non-transitory computer-readable medium of claim 15 , wherein the predetermined threshold corresponds to a measure as to whether 95-100% of the DNS records cause the domain name server to access cache memory.

20. The non-transitory computer-readable medium of claim 15 , wherein determining the TTL run length distribution includes determining a percentage of the segments that have a value greater than one.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2022
From: MISHRA, ABHINAV; MOLA, GIOVANNI; SRIHARSHA, RAM; WANG, ZHAOHUI
To: SPLUNK INC.
Reel/Frame 060510/0859 →
Cited By (1)
US 12,671,621