IP Library Granted Patent US 11,811,809
Granted Patent B2
US 11,811,809 · App. 17/383,784 · Granted Nov 7, 2023

Rule-based network-threat detection for encrypted communications

Inventors: David K. Ahn (Winston-Salem, NC); Sean Moore (Hollis, NH); Douglas M. Disabello (Leesburg, VA)
Assignee: Centripetal Networks, LLC
H04L63/1425H04L61/4511H04L63/0227H04L63/0263H04L63/0281H04L63/1416H04L63/20H04L69/22H04L63/1441
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,811,809
App. No.
17/383,784
Granted
Nov 7, 2023
Kind
B2
Abstract

A packet-filtering system configured to filter packets in accordance with packet-filtering rules may receive data indicating network-threat indicators and may configure the packet-filtering rules to cause the packet-filtering system to identify packets comprising unencrypted data, and packets comprising encrypted data. A portion of the unencrypted data may correspond to one or more of the network-threat indicators, and the packet-filtering rules may be configured to cause the packet-filtering system to determine, based on the portion of the unencrypted data, that the packets comprising encrypted data correspond to the one or more network-threat indicators.

Claims (80)

1. A packet-filtering system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the packet-filtering system to:

generate, based on a plurality of network-threat indicators, one or more packet-filtering rules, wherein the one or more packet-filtering rules comprise a first packet-filtering rule configured to identify packets comprising data corresponding to a first network-threat indicator of the plurality of network-threat indicators, and wherein the first network-threat indicator comprises domain name criteria that is associated with a potential network threat;

receive a plurality of first packets comprising unencrypted data;

determine, based on determining that a domain name in the unencrypted data matches the domain name criteria of the first packet-filtering rule, that the at least a portion of the plurality of first packets are associated with the potential network threat corresponding to the first packet-filtering rule;

generate, based on the determining that the at least a portion of the plurality of first packets are associated with the potential network threat corresponding to the first packet-filtering rule, log data comprising:

an indication of an action corresponding to the first packet-filtering rule; and

an Internet Protocol (IP) address corresponding to the domain name;

receive, after the receiving the plurality of first packets and as part of an encrypted communication session, one or more second packets comprising:

encrypted data, and

respective packet headers comprising second unencrypted data;

determine, without decrypting the one or more second packets, whether the one or more second packets are associated with the potential network threat by correlating the one or more second packets and the plurality of first packets based on determining that the second unencrypted data of the respective packet headers of the one or more second packets comprises the logged IP address corresponding to the domain name; and

filter, based on a determination that the one or more second packets are associated with the potential network threat, the one or more second packets comprising the encrypted data by applying the action corresponding to the first packet-filtering rule.

2. The packet-filtering system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to:

identify the IP address associated with the domain name using a Domain Name System (DNS) query.

3. The packet-filtering system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to correlate the one or more second packets and the plurality of first packets based on comparing one or more first timestamps corresponding to the plurality of first packets with one or more second timestamps corresponding to the one or more second packets.

4. The packet-filtering system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to correlate the one or more second packets and the plurality of first packets based on state information in the unencrypted data.

5. The packet-filtering system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to correlate the one or more second packets and the plurality of first packets based on comparing first application-layer information corresponding to the plurality of first packets with second application-layer information corresponding to the one or more second packets.

6. The packet-filtering system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to filter the one or more second packets by causing the packet-filtering system to:

generate a new rule by correlating at least two log entries in the log data, wherein the new rule causes the one or more second packets to be dropped.

7. The packet-filtering system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to:

send at least a portion of the filtered one or more second packets to a proxy configured to apply the action corresponding to the first packet-filtering rule to the at least a portion of the filtered one or more second packets.

8. The packet-filtering system of claim 7 , wherein the proxy is configured to prevent further transmission of the filtered one or more second packets.

9. The packet-filtering system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to receive the plurality of network-threat indicators by causing the packet-filtering system to:

receive, from a plurality of different third-party network threat-intelligence providers located external to a network comprising the packet-filtering system, the plurality of network-threat indicators, wherein each of the plurality of different third-party network threat-intelligence providers provides at least a portion of the plurality of network-threat indicators, and wherein the plurality of network-threat indicators comprises the domain name.

10. The packet-filtering system of claim 1 , wherein the plurality of first packets comprise at least a portion of a Domain Name System (DNS) query.

11. The packet-filtering system of claim 1 , wherein the plurality of first packets comprise at least a portion of a Transport Layer Security (TLS) handshake.

12. A method comprising:

generating, based on a plurality of network-threat indicators, one or more packet-filtering rules, wherein the one or more packet-filtering rules comprise a first packet-filtering rule configured to identify packets comprising data corresponding to a first network-threat indicator of the plurality of network-threat indicators, and wherein the first network-threat indicator comprises domain name criteria that is associated with a potential network threat;

receiving a plurality of first packets comprising unencrypted data;

determining, based on determining that a domain name in the unencrypted data matches the domain name criteria of the first packet-filtering rule, that the at least a portion of the plurality of first packets are associated with the potential network threat corresponding to the first packet-filtering rule;

generating, by a packet-filtering system and based on the determining that the at least a portion of the plurality of first packets are associated with the potential network threat corresponding to the first packet-filtering rule, log data comprising:

an indication of an action corresponding to the first packet-filtering rule; and

an Internet Protocol (IP) address corresponding to the domain name;

receiving, by the packet-filtering system and after the receiving the plurality of first packets and as part of an encrypted communication session, one or more second packets comprising:

encrypted data, and

respective packet headers comprising second unencrypted data;

determining, by the packet-filtering system and without decrypting the one or more second packets, whether the one or more second packets are associated with the potential network threat by correlating the one or more second packets and the plurality of first packets based on determining that the second unencrypted data of the respective packet headers of the one or more second packets comprises the logged IP address corresponding to the domain name; and

filtering, by the packet-filtering system and based on a determination that the one or more second packets are associated with the potential network threat, the one or more second packets comprising the encrypted data by applying the action corresponding to the first packet-filtering rule.

13. The method of claim 12 , further comprising:

identifying the IP address associated with the domain name using a Domain Name System (DNS) query.

14. The method of claim 12 , wherein the correlating is based on comparing one or more first timestamps corresponding to the plurality of first packets with one or more second timestamps corresponding to the one or more second packets.

15. The method of claim 12 , wherein the correlating is based on state information in the unencrypted data.

16. The method of claim 12 , wherein the correlating is based on comparing first application-layer information corresponding to the plurality of first packets with second application-layer information corresponding to the one or more second packets.

17. The method of claim 12 , wherein the filtering the one or more second packets comprises:

generating a new rule by correlating at least two log entries in the log data, wherein the new rule causes the one or more second packets to be dropped.

18. The method of claim 12 , further comprising:

sending at least a portion of the filtered one or more second packets to a proxy configured to apply the action corresponding to the first packet-filtering rule to the at least a portion of the filtered one or more second packets.

19. The method of claim 18 , wherein the proxy is configured to prevent further transmission of the filtered one or more second packets.

20. The method of claim 12 , further comprises:

receiving, from a plurality of different third-party network threat-intelligence providers located external to a network comprising the packet-filtering system, the plurality of network-threat indicators, wherein each of the plurality of different third-party network threat-intelligence providers provides at least a portion of the plurality of network-threat indicators, and wherein the plurality of network-threat indicators comprises the domain name.

21. The method of claim 12 , wherein the plurality of first packets comprise at least a portion of a Domain Name System (DNS) query.

22. The method of claim 12 , wherein the plurality of first packets comprise at least a portion of a Transport Layer Security (TLS) handshake.

23. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors of a packet-filtering system, cause the packet-filtering system to:

generate, based on a plurality of network-threat indicators, one or more packet-filtering rules, wherein the one or more packet-filtering rules comprise a first packet-filtering rule configured to identify packets comprising data corresponding to a first network-threat indicator of the plurality of network-threat indicators, and wherein the first network-threat indicator comprises domain name criteria that is associated with a potential network threat;

receive a plurality of first packets comprising unencrypted data;

determine, based on determining that a domain name in the unencrypted data matches the domain name criteria of the first packet-filtering rule, that the at least a portion of the plurality of first packets are associated with the potential network threat corresponding to the first packet-filtering rule;

generate, based on the determining that the at least a portion of the plurality of first packets are associated with the potential network threat corresponding to the first packet-filtering rule, log data comprising:

an indication of an action corresponding to the first packet-filtering rule; and

an Internet Protocol (IP) address corresponding to the domain name;

receive, after the receiving the plurality of first packets and as part of an encrypted communication session, one or more second packets comprising:

encrypted data, and

respective packet headers comprising second unencrypted data;

determine, without decrypting the one or more second packets, whether the one or more second packets are associated with the potential network threat by correlating the one or more second packets and the plurality of first packets based on determining that the second unencrypted data of the respective packet headers of the one or more second packets comprises the logged IP address corresponding to the domain name; and

filter, based on a determination that the one or more second packets are associated with the potential network threat, the one or more second packets comprising the encrypted data by applying the action corresponding to the first packet-filtering rule.

24. The computer-readable media of claim 23 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to:

identify the IP address associated with the domain name using a Domain Name System (DNS) query.

25. The computer-readable media of claim 23 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to correlate the one or more second packets and the plurality of first packets based on comparing one or more first timestamps corresponding to the plurality of first packets with one or more second timestamps corresponding to the one or more second packets.

26. The computer-readable media of claim 23 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to correlate the one or more second packets and the plurality of first packets based on state information in the unencrypted data.

27. The computer-readable media of claim 23 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to correlate the one or more second packets and the plurality of first packets based on comparing first application-layer information corresponding to the plurality of first packets with second application-layer information corresponding to the one or more second packets.

28. The computer-readable media of claim 23 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to filter the one or more second packets by causing the packet-filtering system to:

generate a new rule by correlating at least two log entries in the log data, wherein the new rule causes the one or more second packets to be dropped.

29. The computer-readable media of claim 23 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to:

send at least a portion of the filtered one or more second packets to a proxy configured to apply an the action corresponding to the first packet-filtering rule to the at least a portion of the filtered one or more second packets.

30. The computer-readable media of claim 29 , wherein the proxy is configured to prevent further transmission of the filtered one or more second packets.

31. The computer-readable media of claim 23 , wherein the instructions, when executed by the one or more processors, cause the packet-filtering system to receive the network-threat indicator by causing the packet-filtering system to:

receive, from a plurality of different third-party network threat-intelligence providers located external to a network comprising the packet-filtering system, the plurality of network-threat indicators, wherein each of the plurality of different third-party network threat-intelligence providers provides at least a portion of the plurality of network-threat indicators, and wherein the plurality of network-threat indicators comprises the domain name.

32. The computer-readable media of claim 23 , wherein the plurality of first packets comprise at least a portion of a Domain Name System (DNS) query.

33. The computer-readable media of claim 23 , wherein the plurality of first packets comprise at least a portion of a Transport Layer Security (TLS) handshake.

Assignments (2)
CHANGE OF NAME Recorded Feb 7, 2023
From: CENTRIPETAL NETWORKS, INC.
To: CENTRIPETAL NETWORKS, LLC
Reel/Frame 062666/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2021
From: AHN, DAVID K.; MOORE, SEAN; DISABELLO, DOUGLAS M.
To: CENTRIPETAL NETWORKS, INC.
Reel/Frame 056964/0794 →
Continuity (3)
Continuation 15877608 · Jan 23, 2018
Continuation 14757638 · Dec 23, 2015
Related Publication 20210352094A1 · Nov 11, 2021