IP Library Granted Patent US 11,698,963
Granted Patent B2
US 11,698,963 · App. 17/839,372 · Granted Jul 11, 2023

Apparatus and method for conducting endpoint-network-monitoring

Inventors: Robert Julian Noeth (San Antonio, TX); Earnest Gregory Ake (San Antonio, TX)
Assignee: HUNTRESS LABS INCORPORATED
G06F21/552G06F21/554G06F21/567H04L43/028H04L43/062H04L63/0263H04L63/1408H04L63/1416H04L63/1425H04L63/1441H04L63/20H04L43/0876H04L47/10H04L69/22
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,698,963
App. No.
17/839,372
Filed
Jun 13, 2022
Granted
Jul 11, 2023
Kind
B2
Art Unit
2499
USPC
726/23
Abstract

Provided is an intrusion detection technique configured to: obtain kernel-filter criteria indicative of which network traffic is to be deemed potentially malicious, determine that a network packet is resident in a networking stack, access at least part of the network packet, apply the kernel-filter criteria to the at least part of the network packet and, based on applying the kernel-filter criteria, determining that the network packet is potentially malicious, associate the network packet with an identifier of an application executing in userspace of the operating system and to which or from which the network packet is sent, and report the network packet in association with the identifier of the application to an intrusion-detection agent executing in userspace of the operating system of the host computing device, the intrusion-detection agent being different from the application to which or from which the network packet is sent.

Claims (54)

1. A method, comprising:

determining, by an intrusion-detection kernel driver instantiated in kernel space of an operating system of a computing device communicatively coupled with a network and based on kernel-filter criteria, that a network packet is potentially malicious;

associating, by the intrusion-detection kernel driver, the network packet with an identifier of an application executing in userspace of the operating system, the network packet being sent from or to the application; and

sending, by the intrusion-detection kernel driver, a report of the network packet in association with the identifier of the application to an intrusion-detection agent executing in userspace of the operating system, causing at least one remediation action, based on a malicious classification of the network packet, to block or prevent a malicious attack to the computing device.

2. The method of claim 1 , wherein the network packet is processed by a network stack of the computing device.

3. The method of claim 1 , wherein:

the at least one remediation action is performed such that an existing connection or a subsequent connection between the computing device and the network is disconnected to block or prevent the malicious attack to the computing device.

4. The method of claim 1 , further comprising:

receiving, at the intrusion-detection kernel driver, instructions from the intrusion-detection agent and based on the malicious classification to block subsequent network traffic sent to at least one of the application or the computing device.

5. The method of claim 1 , wherein the kernel-filter criteria include at least one of:

a rule white listing or black listing network addresses or ports;

a rule specifying a threshold amount or a threshold rate of communication to, from, or through the computing device; or

a rule specifying at least one of a transport-layer protocol, a port, or a set of network addresses for which network traffic data are to be deemed malicious or non-malicious.

6. The method of claim 1 , wherein the intrusion-detection kernel driver includes a model configured to output a score indicative of whether the network packet is malicious, the model being trained on historical network communication data of at least one of the computing device or another computing device, and

the kernel-filter criteria include a rule specifying a threshold score that when satisfied by the score indicates the network packet is likely malicious.

7. The method of claim 1 , wherein the determining that the network packet is potentially malicious includes analyzing the network packet, the analyzing the network packet includes:

parsing a sender network address from a first header, the first header being from the network packet;

parsing a receiving network address from the first header;

decapsulating an encapsulated packet from a payload of the network packet;

parsing a sender port from a second header, the second header being from the encapsulated packet;

parsing a receiver port from the second header; and

determining a transport layer protocol of the encapsulated packet.

8. The method of claim 1 , wherein:

the identifier of the application includes a process identifier assigned to the application by the operating system, the application being from a plurality of applications executable in the operating system, each application from the plurality of applications being assigned a different process identifier by the operating system.

9. The method of claim 1 , wherein the determining that the network packet is potentially malicious is executed before application-layer content of the network packet is provided to the application.

10. A method, comprising:

receiving, at an intrusion-detection agent and from an intrusion-detection kernel driver, a report of a network packet in association with an identifier of an application in response to a determination—that the network packet is potentially malicious, the intrusion-detection kernel driver instantiated in kernel space of an operating system of a computing device communicatively coupled with a network, the intrusion-detection agent executing in userspace of the operating system, the application executing in userspace of the operating system; and

sending, by the intrusion-detection agent and based on a malicious classification of the network packet based on the report, an instruction to disconnect an existing connection or a subsequent connection between the computing device and the network to block or prevent malicious attacks on the computing device.

11. The method of claim 10 , further comprising:

causing the network packet or subsequent network packets to be blocked before fully traversing a network stack of the computing device.

12. The method of claim 10 , further comprising:

accessing, by the intrusion-detection agent and based on the identifier of the application, a forensic record associated with the application; and

determining, by the intrusion-detection agent, the malicious classification of the network packet by applying a threat-classification criteria to the report and the forensic record.

13. The method of claim 10 , wherein:

the intrusion-detection kernel driver includes a model configured to output a score indicative of whether the network packet is malicious, the model being trained on historical network communication of at least one of the computing device or another computing device;

the determination that the network packet is potentially malicious is made by the intrusion detection kernel driver based on kernel filter criteria; and

the kernel-filter criteria include a rule that when satisfied by the score indicates the network packet is malicious.

14. A processor-readable non-transitory medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:

collect, by an intrusion-detection kernel driver instantiated in kernel space of an operating system of a computing device communicatively coupled with a network, network traffic data processed by a network stack of the computing device, the network traffic data including a network packet;

determine, by the intrusion-detection kernel driver and based on a kernel-filter criteria, that the network packet is potentially malicious; and

receive, from an intrusion-detection agent executing in the operating system and based on a malicious classification of the network packet determined by the intrusion-detection agent in response to the determining that the network pack is potentially malicious, an instruction to adjust an amount of network traffic data that the intrusion-detection kernel driver collects in a subsequent process.

15. The processor-readable non-transitory medium of claim 14 , wherein the code further comprises code to cause the processor to:

associate, by the intrusion detection kernel driver, the network packet with an identifier of an application executing in userspace of the operating system, the network packet sent from or to the application.

16. The processor-readable non-transitory medium of claim 14 , wherein the code further comprises code to cause the processor to:

send, by the intrusion-detection kernel driver, a report of the network packet in association with an identifier of an application executing in userspace of the operating system to the intrusion-detection agent executing in userspace of the operating system.

17. The processor-readable non-transitory medium of claim 14 , wherein the code further comprises code to cause the processor to:

access, by the intrusion-detection agent executing in userspace of the operating system and based on an identifier of an application executing in userspace of the operating system, a forensic record associated with the application.

18. The processor-readable non-transitory medium of claim 14 , wherein the code further comprises code to cause the processor to:

determine, by the intrusion-detection agent executing in userspace of the operating system, the malicious classification of the network packet by applying a threat-classification criteria to a report of the network packet associated with an identifier of an application executing in userspace of the operating system and a forensic record associated with the application.

19. The processor-readable non-transitory medium of claim 14 , wherein:

the network packet is a first network packet;

the code further includes code to cause the processor to:

collect an adjusted amount of network traffic data processed by the network stack, the adjusted amount of network traffic data including a second network packet; and

determine, by the intrusion-detection kernel driver and based on an adjusted kernel-filter criteria, that the second network packet is potentially malicious.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2022
From: LEVEL EFFECT, LLC
To: HUNTRESS LABS INCORPORATED
Reel/Frame 060222/0835 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2022
From: NOETH, ROBERT JULIAN; AKE, ERNEST GREGORY
To: LEVEL EFFECT, LLC
Reel/Frame 060518/0499 →
Continuity (4)
Continuation 16984068 · Aug 3, 2020
Continuation 15959037 · Apr 20, 2018
Provisional Application 62487792 · Apr 20, 2017
Related Publication 20230004640A1 · Jan 5, 2023
Cited By (1)
US 12,287,871