IP Library Granted Patent US 8,516,585
Granted Patent B2
US 8,516,585 · App. 12/897,494 · Granted Aug 20, 2013

System and method for detection of domain-flux botnets and the like

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 8,516,585
App. No.
12/897,494
Granted
Aug 20, 2013
Kind
B2
Abstract

In one embodiment, a method for detecting malicious software agents, such as domain-flux botnets. The method applies a co-clustering algorithm on a domain-name query failure graph, to generate a hierarchical grouping of hosts based on similarities between domain names queried by those hosts, and divides that hierarchical structure into candidate clusters based on percentages of failed queries having at least first- and second-level domain names in common, thereby identifying hosts having correlated queries as possibly being infected with malicious software agents. A linking algorithm is used to correlate the co-clustering results generated at different time periods to differentiate actual domain-flux bots from other domain-name failure anomalies by identifying candidate clusters that persist for relatively long periods of time. Persistent candidate clusters are analyzed to identify which clusters have malicious software agents, based on a freshness metric that characterizes whether the candidate clusters continually generate failed queries having new domain names.

Claims (84)

1. A computer-implemented method for detecting malicious software agents, the method comprising:

(a) constructing an association based on a plurality of failed queries for domain names sent to one or more domain-name servers by a plurality of hosts during a time period;

(b) deriving, from the association, one or more candidate clusters of hosts;

(c) determining, for each candidate cluster and for each of a plurality of time intervals during the time period, a number of new domain names appearing in the failed queries of the candidate cluster during the time interval;

(d) determining, for each candidate cluster, a freshness metric based on the numbers of new domain names for the plurality of time intervals in the time period; and

(e) detecting one or more malicious software agents on the hosts based on the one or more freshness metrics.

2. The invention of claim 1 , wherein each host in each candidate cluster has at least a specified percentage of failed queries having at least first and second levels of domain names in common with at least one other host in the candidate cluster.

3. The invention of claim 1 , wherein step (b) comprises:

(b1) generating multi-level hierarchical groupings of Internet Protocol (IP) addresses in the association based on similarities between at least first and second levels of domain names in failed domain-name queries made by hosts corresponding to the IP addresses;

(b2determining, for each hierarchical grouping, a highest percentage of failed domain-name queries for which a most recently added IP address in the hierarchical grouping has at least first and second levels of domain names in common with another IP address in the hierarchical grouping; and

(b3) identifying each highest-level hierarchical grouping having its determined percentage more than a specified percentage threshold as a candidate cluster of hosts.

4. The invention of claim 3 , wherein the specified percentage threshold is 40%.

5. The invention of claim 1 , wherein:

step (b) comprises:

(b1) linking candidate clusters in adjacent time intervals based on shared IP addresses to form one or more cluster chains; and

(b2) identifying one or more cluster chains that are longer than a specified length threshold; and

step (e) comprises determining that one or more of the identified cluster chains correspond to malicious software agents.

6. The invention of claim 1 , further comprising:

(f) constructing an association based on a plurality of successful queries for domain names sent to one or more domain-name servers by hosts on which one or more malicious software agents are detected in step (e); and

(g) querying one or more domain-name servers to identify one or more registrants of domain names corresponding to the successful queries in the association constructed in step (f).

7. A computer-implemented method for detecting malicious software agents, the method comprising:

(a) constructing an association based on a plurality of failed queries for domain names sent to one or more domain-name servers by a plurality of hosts during a time period;

(b) deriving, from the association, one or more candidate clusters of hosts, wherein step (b) comprises:

(b1) generating multi-level hierarchical groupings of Internet Protocol (IP) addresses in the association based on similarities between at least first and second levels of domain names in failed domain-name queries made by hosts corresponding to the IP addresses;

(b2) determining, for each hierarchical grouping, a highest percentage of failed domain-name queries for which a most recently added IP address in the hierarchical grouping has at least first and second levels of domain names in common with another IP address in the hierarchical grouping; and

(b3) identifying each highest-level hierarchical grouping having its determined percentage more than a specified percentage threshold as a candidate cluster of hosts; and

(c) determining that one or more of the candidate clusters correspond to malicious software agents.

8. The invention of claim 7 , wherein each host in each candidate cluster has at least a specified percentage of failed queries having at least first and second levels of domain names in common with at least one other host in the candidate cluster.

9. The invention of claim 7 , wherein the specified percentage threshold is 40%.

10. The invention of claim 7 , wherein:

step (b) further comprises:

(b4) linking candidate clusters in adjacent time intervals based on shared IP addresses to form one or more cluster chains; and

(b5) identifying one or more cluster chains that are longer than a specified length threshold; and

step (c) comprises determining that one or more of the identified cluster chains correspond to malicious software agents.

11. The invention of claim 7 , further comprising:

(d) constructing an association based on a plurality of successful queries for domain names sent to one or more domain-name servers by hosts on which one or more malicious software agents are detected in step (c); and

(e) querying one or more domain-name servers to identify one or more registrants of domain names corresponding to the successful queries in the association constructed in step (d).

12. A computer-implemented method for detecting malicious software agents, the method comprising:

(a) constructing an association based on a plurality of failed queries for domain names sent to one or more domain-name servers by a plurality of hosts during a time period;

(b) deriving, from the association, one or more candidate clusters of hosts for each of a plurality of time intervals in the time period;

(c) linking candidate clusters in adjacent time intervals based on shared IP addresses to form one or more cluster chains;

(d) identifying one or more cluster chains that are longer than a specified length threshold; and

(e) determining that one or more of the identified cluster chains correspond to malicious software agents.

13. The invention of claim 12 , wherein each host in each candidate cluster has at least a specified percentage of failed queries having at least first and second levels of domain names in common with at least one other host in the candidate cluster.

14. The invention of claim 12 , wherein:

step (b) comprises:

(b1) generating multi-level hierarchical groupings of Internet Protocol (IP) addresses in the association based on similarities between at least first and second levels of domain names in failed domain-name queries made by hosts corresponding to the IP addresses;

(b2) determining, for each hierarchical grouping, a highest percentage of failed domain-name queries for which a most recently added IP address in the hierarchical grouping has at least first and second levels of domain names in common with another IP address in the hierarchical grouping; and

(b3) identifying each highest-level hierarchical grouping having its determined percentage more than a specified percentage threshold as a candidate cluster of hosts; and

step (e) comprises:

(e1) determining, for each cluster chain identified in step (d) and for each of a plurality of time intervals during the time period, a number of new domain names appearing in the failed queries of the cluster chain during the time interval;

(e2) determining, for each cluster chain, a freshness metric based on the numbers of new domain names for the plurality of time intervals in the time period; and

(e3) detecting one or more malicious software agents on the hosts based on the one or more freshness metrics.

15. The invention of claim 14 , wherein the specified percentage threshold is 40%.

16. The invention of claim 12 , further comprising:

(f) constructing an association based on a plurality of successful queries for domain names sent to one or more domain-name servers by hosts on which one or more malicious software agents are detected in step (e); and

(g) querying one or more domain-name servers to identify one or more registrants of domain names corresponding to the successful queries in the association constructed in step (f).

17. Apparatus for detecting malicious software agents, comprising:

a query pre-processor adapted to construct a graph based on a plurality of failed queries for domain names sent to one or more domain-name servers by a plurality of hosts during a time period;

a malicious software agent detector adapted to:

(i) derive, from the graph, one or more candidate clusters of hosts;

(ii) determine, for each candidate cluster and for each of a plurality of time intervals during the time period, a number of new domain names appearing in the failed queries of the candidate cluster during the time interval; and

(iii) determine, for each candidate cluster, a freshness metric based on the numbers of new domain names for the plurality of time intervals in the time period; and

a malicious software agent server tracker adapted to detect one or more malicious software agents on the hosts based on the one or more freshness metrics,

wherein at least one of the query pre-processor, the malicious software agent detector, and the malicious software agent server tracker is implemented in a hardware processor.

18. Apparatus for detecting malicious software agents, comprising:

a query pre-processor adapted to construct a graph based on a plurality of failed queries for domain names sent to one or more domain-name servers by a plurality of hosts during a time period;

a malicious software agent detector adapted to derive, from the graph, one or more candidate clusters of hosts, wherein the deriving comprises:

(i) generating multi-level hierarchical groupings of Internet Protocol (IP) addresses in the graph based on similarities between at least first and second levels of domain names in failed domain-name queries made by hosts corresponding to the IP addresses;

(ii) determining, for each hierarchical grouping, a highest percentage of failed domain-name queries for which a most recently added IP address in the hierarchical grouping has at least first and second levels of domain names in common with another IP address in the hierarchical grouping; and

(iii) identifying each highest-level hierarchical grouping having its determined percentage more than a specified percentage threshold as a candidate cluster of hosts; and

a malicious software agent server tracker adapted to determine that one or more of the candidate clusters correspond to malicious software agents,

wherein at least one of the query pre-processor, the malicious software agent detector, and the malicious software agent server tracker is implemented in a hardware processor.

19. Apparatus for detecting malicious software agents, comprising:

a query pre-processor adapted to construct a graph based on a plurality of failed queries for domain names sent to one or more domain-name servers by a plurality of hosts during a time period;

a malicious software agent detector adapted to:

(i) derive, from the graph, one or more candidate clusters of hosts for each of a plurality of time intervals in the time period;

(ii) link candidate clusters in adjacent time intervals based on shared IP addresses to form one or more cluster chains; and

(iv) identify one or more cluster chains that are longer than a specified length threshold; and

a malicious software agent server tracker adapted to determine that one or more of the identified cluster chains correspond to malicious software agents,

wherein at least one of the query pre-processor, the malicious software agent detector, and the malicious software agent server tracker is implemented in a hardware processor.

20. The method of claim 1 , wherein step (d) comprises:

(d1) comparing, for each of one or more time intervals, domain names queried during said each time interval with domain names queried prior to that time interval; and

(d2) identifying, as new domain names, one or more domain names queried during the time interval but not prior to the time interval.

Assignments (13)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2011
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 027233/0558 →