IP Library Granted Patent US 11,140,123
Granted Patent B2
US 11,140,123 · App. 16/548,694 · Granted Oct 5, 2021

Community detection based on DNS querying patterns

Inventor: Aruna Chakkirala (Bangalore, IN)
Assignee: Infoblox Inc.
H04L61/1511G06F16/9024H04L61/1552H04L43/08H04L43/0876H04L63/1425H04L63/20
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,140,123
App. No.
16/548,694
Granted
Oct 5, 2021
Kind
B2
Abstract

Techniques for community detection based on DNS querying patterns are disclosed. For example, techniques for community detection based on DNS querying patterns for anomaly detection and monitoring efficiencies are disclosed. In some embodiments, a system, process, and/or computer program product for community detection based on DNS querying patterns includes receiving DNS log files, wherein the DNS log files include a DNS query and a DNS response for resolution of the DNS query; generating a graph based on the DNS log files; identifying a plurality of communities using the graph based on DNS querying patterns; and detecting an anomaly in DNS activity associated with one or more of the communities based on a DNS querying rule.

Claims (85)

1. A system, comprising:

a processor configured to:

receive DNS log files, wherein the DNS log files include a DNS query and a DNS response for resolution of the DNS query;

generate a graph based on the DNS log files;

identify a plurality of communities using the graph based on DNS querying patterns; and

detect an anomaly in DNS activity associated with one or more of the communities based on a DNS querying rule, comprising to:

perform three or more of the following:

A) determine whether current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by a predetermined factor; and

in response to a determination that the current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by the predetermined factor, determine that the anomaly in the DNS activity has been detected;

B) determine whether one or more of the communities starts querying young domains relative to a previous querying pattern of the one or more of the communities, wherein a young domain corresponds to a domain created two days ago or younger; and

in response to a determination that the one or more of the communities started querying the young domains relative to the previous querying pattern of the one or more of the communities, determine that the anomaly in the DNS activity has been detected;

C) determine whether one or more of the communities starts querying a known indicator of compromise (IOC) relative to a previous monitored pattern of querying of the one or more of the communities; and

in response to a determination that the one or more of the communities started querying the known IOC relative to the previous monitored pattern of querying of the one or more of the communities, determine that the anomaly in the DNS activity has been detected; and/or

D) determine whether a first DNS querying rate of a current time window for one or more of the communities changes equal to or greater than a preset threshold from a second DNS querying rate of a previous time window for the one or more of the communities; and

in response to a determination that the first DNS querying rate of the current time window for the one or more of the communities changes equal to or greater than the preset threshold from the second DNS querying rate of the previous time window for the one or more of the communities, determine that the anomaly in the DNS activity has been detected; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system recited in claim 1 , wherein the graph is a weighted undirected graph.

3. The system recited in claim 1 , wherein the graph is a weighted undirected graph based on source IP addresses.

4. The system recited in claim 1 , wherein the processor is further configured to:

perform community detection based on association of the DNS querying patterns and source IP addresses in the graph.

5. The system recited in claim 1 , wherein the processor is further configured to:

apply the DNS querying rule to one or more of the plurality of communities for detecting the anomaly in the DNS activity associated with the one or more of the plurality of communities.

6. The system recited in claim 1 , wherein the processor is further configured to:

store the plurality of communities in a community detection table.

7. The system recited in claim 1 , wherein the processor is further configured to:

receive a DNS data stream, wherein the DNS data stream includes a DNS query and a DNS response for resolution of the DNS query.

8. The system recited in claim 1 , wherein the processor is further configured to:

receive a DNS data stream, wherein the DNS data stream includes a DNS query and a DNS response for resolution of the DNS query; and

process domains queried in the DNS data stream.

9. The system recited in claim 1 , wherein the processor is further configured to:

receive a DNS data stream, wherein the DNS data stream includes a DNS query and a DNS response for resolution of the DNS query;

process domains queried in the DNS data stream; and

update a community detection table, wherein the community detection table stores the plurality of communities.

10. The system recited in claim 1 , wherein the processor is further configured to:

detect a compromised community in the plurality of communities based on the DNS querying pattern rule.

11. The system recited in claim 1 , wherein the detecting of the anomaly in the DNS activity associated with one or more of the communities comprises to:

perform the following:

A) determine whether current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by a predetermined factor; and

in response to a determination that the current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by the predetermined factor, determine that the anomaly in the DNS activity has been detected;

B) determine whether one or more of the communities starts querying young domains relative to a previous querying pattern of the one or more of the communities, wherein a young domain corresponds to a domain created two days ago or younger; and

in response to a determination that the one or more of the communities started querying the young domains relative to the previous querying pattern of the one or more of the communities, determine that the anomaly in the DNS activity has been detected;

C) determine whether one or more of the communities starts querying a known indicator of compromise (IOC) relative to a previous monitored pattern of querying of the one or more of the communities; and

in response to a determination that the one or more of the communities started querying the known IOC relative to the previous monitored pattern of querying of the one or more of the communities, determine that the anomaly in the DNS activity has been detected; and

D) determine whether a first DNS querying rate of a current time window for one or more of the communities changes equal or greater than a preset threshold from a second DNS querying rate of a previous time window for the one or more of the communities; and

in response to a determination that the first DNS querying rate of the current time window for the one or more of the communities changes equal or greater than the preset threshold from the second DNS querying rate of the previous time window for the one or more of the communities, determine that the anomaly in the DNS activity has been detected.

12. A method, comprising:

receiving DNS log files, wherein the DNS log files include a DNS query and a DNS response for resolution of the DNS query;

generating a graph based on the DNS log files;

identifying a plurality of communities using the graph based on DNS querying patterns; and

detecting an anomaly in DNS activity associated with one or more of the communities based on a DNS querying rule, comprising:

performing three or more of the following:

A) determining whether current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by a predetermined factor; and

in response to a determination that the current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by the predetermined factor, determining that the anomaly in the DNS activity has been detected;

B) determining whether one or more of the communities starts querying young domains relative to a previous querying pattern of the one or more of the communities, wherein a young domain corresponds to a domain created two days ago or younger; and

in response to a determination that the one or more of the communities started querying the young domains relative to the previous querying pattern of the one or more of the communities, determining that the anomaly in the DNS activity has been detected;

C) determining whether one or more of the communities starts querying a known indicator of compromise (IOC) relative to a previous monitored pattern of querying of the one or more of the communities; and

in response to a determination that the one or more of the communities started querying the known IOC relative to the previous monitored pattern of querying of the one or more of the communities, determining that the anomaly in the DNS activity has been detected; and/or

D) determining whether a first DNS querying rate of a current time window for one or more of the communities changes equal to or greater than a preset threshold from a second DNS querying rate of a previous time window for the one or more of the communities; and

in response to a determination that the first DNS querying rate of the current time window for the one or more of the communities changes equal to or greater than the preset threshold from the second DNS querying rate of the previous time window for the one or more of the communities, determining that the anomaly in the DNS activity has been detected.

13. The method of claim 12 , wherein the graph is a weighted undirected graph.

14. The method of claim 12 , wherein the graph is a weighted undirected graph based on source IP addresses.

15. The method of claim 12 , further comprising:

performing community detection based on association of the DNS querying patterns and source IP addresses in the graph.

16. The method of claim 12 , further comprising:

applying the DNS querying rule to one or more of the plurality of communities for detecting the anomaly in the DNS activity associated with the one or more of the plurality of communities.

17. A computer program product, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

receiving DNS log files, wherein the DNS log files include a DNS query and a DNS response for resolution of the DNS query;

generating a graph based on the DNS log files;

identifying a plurality of communities using the graph based on DNS querying patterns; and

detecting an anomaly in DNS activity associated with one or more of the communities based on a DNS querying rule, comprising:

performing three or more of the following:

A) determining whether current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by a predetermined factor; and

in response to a determination that the current traffic activity of one or more of the communities exceeds the average observed traffic activity for the one or more of the communities by the predetermined factor, determining that the anomaly in the DNS activity has been detected;

B) determining whether one or more of the communities starts querying young domains relative to a previous querying pattern of the one or more of the communities, wherein a young domain corresponds to a domain created two days ago or younger; and

in response to a determination that the one or more of the communities started querying the young domains relative to the previous querying pattern of the one or more of the communities, determining that the anomaly in the DNS activity has been detected;

C) determining whether one or more of the communities starts querying a known indicator of compromise (IOC) relative to a previous monitored pattern of querying of the one or more of the communities; and

in response to a determination that the one or more of the communities started querying the known IOC relative to the previous monitored pattern of querying of the one or more of the communities, determining that the anomaly in the DNS activity has been detected; and/or

D) determining whether a first DNS querying rate of a current time window for one or more of the communities changes equal to or greater than a preset threshold from a second DNS querying rate of a previous time window for the one or more of the communities; and

in response to a determination that the first DNS querying rate of the current time window for the one or more of the communities changes equal to or greater than the preset threshold from the second DNS querying rate of the previous time window for the one or more of the communities, determining that the anomaly in the DNS activity has been detected.

18. The computer program product recited in claim 17 , wherein the graph is a weighted undirected graph.

19. The computer program product recited in claim 17 , wherein the graph is a weighted undirected graph based on source IP addresses.

20. The computer program product recited in claim 17 , further comprising computer instructions for:

performing community detection based on association of the DNS querying patterns and source IP addresses in the graph.

21. The computer program product recited in claim 17 , further comprising computer instructions for:

applying the DNS querying rule to one or more of the plurality of communities for detecting the anomaly in the DNS activity associated with the one or more of the plurality of communities.

Assignments (3)
FIRST LIEN SECURITY AGREEMENT Recorded Dec 2, 2020
From: INFOBLOX INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054615/0317 →
SECOND LIEN SECURITY AGREEMENT Recorded Dec 2, 2020
From: INFOBLOX INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054615/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2019
From: CHAKKIRALA, ARUNA
To: INFOBLOX INC.
Reel/Frame 050923/0748 →