IP Library Granted Patent US 12,170,690
Granted Patent B2
US 12,170,690 · App. 17/807,642 · Granted Dec 17, 2024

Formulating responses for slowing requests from malicious domain name system (DNS) clients

Inventor: Brian St. Pierre (Acworth, NH)
Assignee: ARBOR NETWORKS, INC.
H04L63/1458H04L61/4511H04L63/1416H04L63/1425H04L63/1441H04L67/145
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 12,170,690
App. No.
17/807,642
Granted
Dec 17, 2024
Kind
B2
Abstract

A method of delaying computer network clients from sending DNS queries. The method includes receiving a DNS query from a client and consulting a client record in a client record database and/or a flow record in a flow record database storing information about the flow including about one or more previous DNS queries and/or responses in the flow. The method further includes formulating a response to the DNS query as a function of the information about the client and/or the information about the flow, updating the client record with information about the client and/or the flow record with information about the DNS query and the response as formulated, and transmitting the response as formulated to the client. The DNS query includes a question and the response is intentionally defective or incomplete and causes the client to be delayed in sending another DNS query as part of an attack.

Claims (61)

1. A method of delaying computer network clients from sending Domain Name System (DNS) queries, the method comprising:

receiving a DNS query from a client;

consulting at least one of a client record in a client record database that stores information about the client and a flow record in a flow record database that stores information about a flow, wherein the information about the flow includes information about one or more previous DNS queries and/or responses in a flow to which the DNS query is assigned;

formulating a response to the DNS query as a function of the information about the client and/or the information about the flow, wherein the DNS query includes a question, the response is intentionally defective or incomplete, and the response causes the client to be delayed in sending another DNS query as part of an attack;

updating at least one of the client record with information about the client and the flow record with information about the DNS query and the response as formulated;

transmitting the response as formulated to the client;

analyzing observed behavior of the client, including analyzing the client record and/or the flow record and analyzing subsequent DNS queries or lack of DNS queries by the client subsequent to one or more transmitted responses; and

formulating a new response to one of the subsequent DNS queries that is likely to cause the client to continue outputting DNS queries based on the analysis of the observed behavior of the client,

wherein when the analysis reveals that the client does not continue outputting the subsequent DNS queries upon receiving the formulated new response, a field in client record and/or the flow record is set to indicate that future DNS queries from the client are to be dropped without a response.

2. The method of claim 1 , wherein the response is well-formed other than a defect, wherein the defect includes a slight malformation of the response that causes the response to be non-compliant with a protocol specification.

3. The method of claim 2 , wherein the malformation intentionally includes at least one of an invalid combination of flags, an invalid identification (ID) field, a mismatched Query Name (QNAME) in the response, and/or omission of an answer to the DNS query.

4. The method of claim 2 , wherein each malformation is selected and/or applied using a randomizing function.

5. The method of claim 1 , wherein,

the DNS query requests an address for a name,

formulating the response includes intentionally including a new canonical name (CNAME) in the response, and

updating the client record and/or the flow record further uses information about the new CNAME.

6. The method of claim 5 , further comprising:

selecting a canonical name (CNAME) chain depth;

querying the client record for the client that sent the DNS query;

for each subsequent request from a client that is sent a DNS query for a previous CNAME response, responding with another new CNAME for a number of times until exceeding the chain depth; and

incrementing the current chain depth in the client record,

wherein updating the client record and/or the flow record further uses information about the selected chain depth.

7. The method of claim 1 , wherein,

the DNS query requests an address for a name,

the method further comprises selecting a black holed canonical name (CNAME) or a black holed name server, and

formulating the response includes intentionally including the black holed CNAME or an address for the black holed name server in the response.

8. A network monitor for monitoring a network during a distributed denial of service (DDOS) attack, the network monitor comprising:

a memory configured to store instructions;

at least one processing device in communication with the memory, wherein the at least one processing device upon execution of the instructions is configured to:

receive a Domain Name System (DNS) query from a client;

consult at least one of a client record in a client record database that stores information about the client and a flow record in a flow record database that stores information about a flow, wherein the information about the flow includes information about one or more previous DNS queries and or responses in a flow to which the DNS query is assigned;

formulate a response to the DNS query as a function of the information about the client and/or the information about the flow, wherein the DNS query includes a question, the response is intentionally defective or incomplete, and the response causes the client to be delayed in sending another DNS query as part of an attack;

update at least one of the client record with information about the client and the flow record with information about the DNS query and the response as formulated;

transmit the response as formulated to the client;

analyze observed behavior of the client, including analyzing the client record and/or the flow record and analyzing subsequent DNS queries or lack of DNS queries by the client subsequent to one or more transmitted responses; and

formulate a new response to one of the subsequent DNS queries that is likely to cause the client to continue outputting DNS queries based on the analysis of the observed behavior of the client,

wherein when the analysis reveals that the client does not continue outputting the subsequent DNS queries upon receiving the formulated new response, a field in client record and/or the flow record is set to indicate that future DNS queries from the client are to be dropped without a response.

9. The network monitor of claim 8 , wherein the response is well-formed other than a defect, wherein the defect includes a slight malformation of the response that causes the response to be non-compliant with a protocol specification.

10. The network monitor of claim 9 , wherein the malformation intentionally includes at least one of an invalid combination of flags, an invalid identification (ID) field, a mismatched Query Name (QNAME) in the response, and/or omission of an answer to the DNS query.

11. The network monitor of claim 9 , wherein each malformation is selected and/or applied using a randomizing function.

12. The network monitor of claim 8 , wherein the DNS query requests an address for a name and formulating the response includes intentionally including a new canonical name (CNAME) in the response, and updating the client record and/or the flow record further uses information about the the new CNAME.

13. The network monitor of claim 12 , wherein the at least one processing device upon execution of the instructions is further configured to:

select a canonical name (CNAME) chain depth;

query the client record for the client that sent the DNS query;

for each subsequent request from a client that is sent a DNS query for a previous CNAME response, respond with another new CNAME for a number of times until exceeding the chain depth; and

increment the current chain depth in the client record,

wherein updating the client record and/or the flow record further uses information about the selected chain depth.

14. The network monitor of claim 8 , wherein,

the DNS query requests an address for a name,

the at least one processing device upon execution of the instructions is further configured to select a black holed canonical name (CNAME) or a black holed name server, and

formulating the response includes intentionally including the black holed CNAME or an address for the black holed name server in the response.

15. A non-transitory computer readable storage medium and one or more computer programs stored therein, the computer programs comprising instructions, which when executed by a computer system, cause the computer system to:

receive a Domain Name System (DNS) query from a client;

consult at least one of a client record in a client record database that stores information about the client and a flow record in a flow record database that stores information about the flow, wherein the information about a flow includes information about one or more previous DNS queries and or responses in a flow to which the DNS query is assigned;

formulate a response to the DNS query as a function of the information about the client and/or the information about the flow, wherein the DNS query includes a question, the response is intentionally defective or incomplete, and the response causes the client to be delayed in sending another DNS query as part of an attack;

update at least one of the client record with information about the client and the flow record with information about the DNS query and the response as formulated; and

transmit the response as formulated to the client;

analyze observed behavior of the client, including analyzing the client record and/or the flow record and analyzing subsequent DNS queries or lack of DNS queries by the client subsequent to one or more transmitted responses, and

formulate a new response to one of the subsequent DNS queries that is likely to cause the client to continue outputting DNS queries based on the analysis of the observed behavior of the client,

wherein when the analysis reveals that the client does not continue outputting the subsequent DNS queries upon receiving the formulated new response, a field in client record and/or the flow record is set to indicate that future DNS queries from the client are to be dropped without a response.

16. The non-transitory computer readable storage medium of claim 15 , wherein the response is well-formed other than a defect, wherein the defect includes a slight malformation of the response that causes the response to be non-compliant with a protocol specification.

Assignments (2)
SECURITY INTEREST Recorded Oct 22, 2024
From: NETSCOUT SYSTEMS, INC.; ARBOR NETWORKS LLC; NETSCOUT SYSTEMS TEXAS, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 069216/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2024
From: ST. PIERRE, BRIAN
To: ARBOR NETWORKS, INC.
Reel/Frame 067231/0491 →
Continuity (2)
Provisional Application 63300884 · Jan 19, 2022
Related Publication 20230231870A1 · Jul 20, 2023