IP Library Granted Patent US 11,985,162
Granted Patent B2
US 11,985,162 · App. 17/678,662 · Granted May 14, 2024

System and method for detecting patterns in structured fields of network traffic packets

Inventor: Steinthor Bjarnason (Fjerdingby, NO)
Assignee: ARBOR NETWORKS, INC.
H04L63/1458H04L61/4511H04L63/1425
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,985,162
App. No.
17/678,662
Granted
May 14, 2024
Kind
B2
Abstract

A computer method and system for determining patterns in network traffic packets having structured subfields for generating filter candidate regular expressions for DDoS attack mitigation. Stored packets are analyzed to extract a query name for each stored packet. Each query name is segregated into subfields. A Results-table is generated utilizing the segregated subfields of the query names. A Field-length table is generated that contains the length of the Field Values (Field-length) for each Field Name and an associated counter indicating how many instances the Field-length for a Field Name is present in the extracted query names. The Field-length table is analyzed to determine patterns of equal length in the “Results” table. Utilizing the Patterns table, unique combinations of the Field Values are generated as a filter candidate regular expression for DDoS attack mitigation purposes.

Claims (44)

1. A method performed by a computer system having one or more processors and memory storing one or more programs for execution by the one or more processors for mitigating a distributed denial of service (DDoS) attack to one or more protected computer networks by determining patterns in network traffic packets having structured subfields for generating filter candidate regular expressions for DDoS attack mitigation, the method comprising the steps of:

analyzing stored packets to extract a query name for each stored packet;

segregating each query name into subfields based upon a full stop character “.” in each query name starting at the top-level domain (TLD) of each query name whereby a first subfield corresponds to a TLD of each query name;

generating a results table utilizing the segregated subfields of the query names, wherein the results table includes a field name associated with a field value and counter value indicating ho w many instances the associated field value is present in the associated field name for each extracted query name;

generating, utilizing the results table, a field length table that contains the length of the field values as a field length for each field name and an associated counter indicating how many instances the field length for a field name is present in the extracted query names;

sorting the results table and the field length table based on respective counter values for individual field values;

eliminating field name entries from the results table that do not exceed a threshold value of the number of extracted query names to generate a patterns table;

analyzing the field length table to determine, for each field and field length, patterns of equal length in the results table whereby their counter values are added together to generate a sum value which is then subtracted from the counter for the field length table entry whereby if a resultant remainder value exceeds the threshold value, the field length and counter are inserted into the patterns table, wherein after the field length table is analyzed, all counter values for each field length are added together which value is subtracted from a total count of Domain Name system (DNS) packets, whereby if a remainder value exceeds a threshold value, an additional entry containing the value ‘*’ for that field is added to the field length table; and

generating, utilizing the patterns table, unique combinations of the field values by inserting a full stop character “.” between each field value wherein each generated unique combination is a filter candidate regular expression for DDoS attack mitigation purposes, wherein the unique combinations of the field values are generated in reverse order relative to a query name; and

blocking a network according to the generated filter candidate regular expression.

2. The method as recited in claim 1 , wherein all unique combinations of the field values are generated.

3. The method as recited in claim 1 , further including the step evaluating each generated candidate regular expression to determine if it matches a threshold value of same extracted query names whereby if it is determined a threshold value is not matched, such a generated candidate regular expression is eliminated for DDoS mitigation usage.

4. The method as recited in claim 1 , wherein the network traffic packets include DNS packets.

5. The method as recited in claim 4 , wherein the DDoS attack is one of a reflection attack or amplification attack.

6. The method as recited in claim 4 , wherein the DDoS attack is a DNS water torture attack.

7. The method as recited in claim 1 , further including:

intercepting network traffic packets flowing from one or more external computers to the one or more protected computer networks; and

storing the intercepted packets in a storage device.

8. The method as recited in claim 7 , wherein the DNS packets include DNS queries and DNS query responses.

9. The method as recited in claim 8 , wherein the storage device contains Packet Capture (PCAP) files.

10. The method as recited in claim 9 , wherein a predetermined number of DNS responses are stored in the PCAP.

11. A computer system for mitigating a distributed denial of service (DDoS) attack to one or more protected computer networks by determining patterns in network traffic packets having structured subfields for generating filter candidate regular expressions for DDoS attack mitigation, comprising:

one or more data bases having memory configured to store instructions;

a processor disposed in communication with the memory, wherein the processor upon execution of the instructions is configured to:

analyze stored packets to extract a query name for each stored packet;

segregate each query name into subfields based upon a full stop character “.” in each query name starting at the top-level domain (TLD) of each query name whereby a first subfield corresponds to a TLD of each query name;

generate a results table, utilizing the segregated subfields of the query names, wherein the results table includes a field name associated with a field value and counter value indicating ho w many instances the associated field value is present in the associated field name for each extracted query name;

generate, utilizing the results table, a field length table that contains the length of the field values as a field length for each field name and an associated counter indicating how many instances the field length for a field name is present in the extracted query names;

sort the results table and the field length table based on respective counter values for individual field values;

eliminate field name entries from the results table that do not exceed a threshold value of the number of extracted query names, hereinafter referred to as the patterns table;

analyze the field length table to determine, for each field and field length, patterns of equal length in the results table whereby their counter values are added together to generate a sum value which is then subtracted from the counter for the field length table entry whereby if a resultant remainder value exceeds the threshold value, the field length and counter are inserted to the patterns table, wherein after the field length table is analyzed, all counter values for each field length are added together which value is subtracted from a total count of Domain Name System (DNS) packets, whereby if a remainder value exceeds a threshold value, an additional entry containing the value ‘*’ for that field is added to the field length table; and

generate, utilizing the patterns table, unique combinations of the field values by inserting a full stop character “.” between each field value wherein each generated unique combination is a filter candidate regular expression for DDoS attack mitigation purposes, wherein the unique combinations of the field values are generated in reverse order relative to a query name; and

block a network according to the generated filter candidate regular expression.

12. The computer system as recited in claim 11 , wherein all unique combinations of the field values are generated.

13. The computer system as recited in claim 11 , wherein the processor is further configured to evaluate each generated candidate regular expression to determine if it matches a threshold value of same extracted query names whereby if it is determined a threshold value is not matched, such a generated candidate regular expression is eliminated for DDoS mitigation usage.

14. The computer system as recited in claim 11 , wherein the network traffic packets include DNS packets.

15. The computer system as recited in claim 14 , wherein the DDoS attack is one of a reflection attack or amplification attack.

16. The computer system as recited in claim 14 , wherein the DDoS attack is a DNS Water Torture attack.

17. The computer system as recited in claim 11 , wherein the processor is further configured to:

intercept network traffic packets flowing from one or more external computers to the one or more protected computer networks; and

store the intercepted packets in a storage device.

18. The computer system as recited in claim 17 , wherein the DNS packets include DNS queries and DNS query responses.

19. The computer system as recited in claim 18 , wherein the storage device contains Packet Capture (PCAP) files.

20. The computer system as recited in claim 19 , wherein a predetermined number of DNS responses are stored in the PCAP.

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 Mar 7, 2024
From: BJARNASON, STEINTHOR
To: ARBOR NETWORKS, INC.
Reel/Frame 066689/0443 →
Continuity (1)
Related Publication 20230269269A1 · Aug 24, 2023