IP Library Granted Patent US 9,094,372
Granted Patent B2
US 9,094,372 · App. 14/143,794 · Granted Jul 28, 2015

Multi-method gateway-based network security systems and methods

Inventors: Nir Zuk (Los Altos, CA); Kowsik Guruswamy (Sunnyvale, CA)
Assignee: Juniper Networks, Inc.
H04L63/0254H04L63/0263H04L63/12H04L63/1416H04L63/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 9,094,372
App. No.
14/143,794
Granted
Jul 28, 2015
Kind
B2
Abstract

Systems and methods for detecting and preventing network security breaches are described. The systems and methods present a gateway-based packet-forwarding network security solution to not only detect security breaches but also prevent them by directly dropping suspicious packets and connections. The systems and methods employ multiple techniques to detect and prevent network security breaches, including stateful signature detection, traffic signature detection, and protocol anomaly detection.

Claims (127)

1. A method comprising:

receiving, at a network device, a packet;

determining, by the network device and using a key, whether information identifying a packet flow, associated with the packet, is stored in a data structure,

the key being generated based on information included in the packet;

retrieving, by the network device and based on the information identifying the packet flow, particular information that is used to perform at least two of a first inspection of the packet regarding one or more protocol irregularities, a second inspection of the packet regarding one or more attack signatures, or a third inspection of the packet regarding one or more traffic signatures matching the packet flow when the information identifying the packet flow is stored in the data structure;

determining, by the network device, whether to drop the packet or forward the packet,

determining whether to drop the packet or forward the packet including performing the at least two of:

the first inspection without a user request to perform the first inspection,

the second inspection without a user request to perform the second inspection, or

the third inspection without a user request to perform the third inspection,

the at least two of the first inspection, the second inspection, or the third inspection being performed using the particular information when the particular information is retrieved,

one of the first inspection, the second inspection, or the third inspection being performed based on another one of the first inspection, the second inspection, or the third inspection being performed; and

processing, by the network device, the packet based on determining whether to drop the packet or forward the packet,

processing the packet including dropping the packet based on determining that the packet is to be dropped, and

processing the packet including forwarding the packet based on determining that the packet is to be forwarded.

2. The method of claim 1 , where the information included in the packet includes:

information identifying a source associated with the packet,

information identifying a destination associated with the packet,

information identifying a source port associated with the packet,

information identifying a destination port associated with the packet, and

information identifying a protocol associated with the packet.

3. The method of claim 1 , where retrieving the particular information includes:

obtaining a pointer to the information identifying the packet flow; and

retrieving the particular using the pointer.

4. The method of claim 1 , where determining whether to drop the packet or forward the packet includes:

performing the first inspection without a user request to perform the first inspection, and

where performing the first inspection includes:

examining information regarding the packet flow and information regarding a session, associated with the packet, to determine protocols to be checked for irregularities.

5. The method of claim 1 , where determining whether to drop the packet or forward the packet includes:

performing the second inspection without a user request to perform the second inspection, and

where performing the second inspection includes:

searching a data structure to identify attack signatures that are relevant to the packet, and

determining whether information in the packet matches the attack signatures.

6. The method of claim 1 , where determining whether to drop the packet or forward the packet includes:

performing the third inspection without a user request to perform the third inspection, and

where performing the third inspection includes:

searching a data structure to identify the one or more traffic signatures,

updating a count associated with the one or more traffic signatures, and

determining whether the count exceeds a threshold.

7. The method of claim 1 , where determining whether to drop the packet or forward the packet includes:

performing the first inspection without a user request to perform the first inspection,

performing the second inspection without a user request to perform the second inspection; and

performing the third inspection without a user request to perform the third inspection.

8. A system comprising:

a network device to:

receive a packet;

determine, using information included in the packet, whether information identifying a packet flow, associated with the packet, is stored in a data structure;

retrieve, based on the information identifying the packet flow and when the information identifying the packet flow is stored in the data structure, particular information that is used to perform at least two of a first inspection of the packet regarding one or more protocol irregularities, a second inspection of the packet regarding one or more attack signatures, or a third inspection of the packet regarding one or more traffic signatures matching the packet flow;

determine whether to drop the packet or forward the packet;

when determining whether to drop the packet or forward the packet, the network device is to perform the at least two of:

the first inspection without a user request to perform the first inspection,

the second inspection without a user request to perform the second inspection, or

the third inspection without a user request to perform the third inspection,

the at least two of the first inspection, the second inspection, or the third inspection being performed using the particular information when the particular information is retrieved,

one of the first inspection, the second inspection, or the third inspection being performed based on another one of the first inspection, the second inspection, or the third inspection being performed; and

process the packet based on determining whether to drop the packet or forward the packet,

when processing the packet, the network device is to:

drop the packet based on determining that the packet is to be dropped, and

forward the packet based on determining that the packet is to be forwarded.

9. The system of claim 8 , where, when determining whether to drop the packet or forward the packet, the network device is further to:

obtain the information identifying the packet flow; and

perform the third inspection without a user request to perform the third inspection based on obtaining the information identifying the packet flow,

where, when performing the third inspection, the network device is to:

search a second data structure to identify the traffic signature matching the packet flow,

update a count associated with the traffic signature, and

determine whether the count exceeds a threshold.

10. The system of claim 9 , where, when performing the third inspection, the network device is further to:

generate an alarm when the count exceeds the threshold; and

provide the alarm for display.

11. The system of claim 8 , where, when determining whether to drop the packet or forward the packet, the network device is further to:

obtain the information identifying the packet flow and information identifying a session associated with the packet flow; and

perform the first inspection without a user request to perform the first inspection based on obtaining the information identifying the packet flow and the information identifying the session,

where, when performing the first inspection, the network device is to:

identify protocols, associated with the packet flow and the session, that are to be checked for irregularities.

12. The system of claim 11 , where, when performing the first inspection, the network device is further to:

search a second data structure to identify protocol specifications associated with the protocols that are to be checked for irregularities, and

identify the one or more protocol irregularities when one or more of the protocol specifications do not match one or more specifications of the protocols in the packet.

13. The system of claim 8 , where, when determining whether to drop the packet or forward the packet, the network device is further to:

obtain the information identifying the packet flow and information identifying a session associated with the packet flow; and

perform the second inspection without a user request to perform the second inspection based on obtaining the information identifying the packet flow and the information identifying the session.

14. The system of claim 13 , where, when performing the second inspection, the network device is further to:

search a second data structure to identify the one or more attack signatures,

the one or more attack signatures being associated with the packet flow and the session, and

determine whether the one or more attack signatures match the packet.

15. The system of claim 8 , where, when determining whether to drop the packet or forward the packet, the network device is further to:

perform the first inspection without a user request to perform the first inspection, and

one of:

perform the second inspection without a user request to perform the second inspection based on performing the first inspection, or

perform the third inspection without a user request to perform the third inspection based on performing the first inspection.

16. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions which, when executed by a device, cause the device to determine, using information included in a packet, whether information identifying a packet flow, associated with the packet, is stored in a data structure;

one or more instructions which, when executed by the device, cause the device to retrieve, based on the information identifying the packet flow and when the information identifying the packet flow is stored in the data structure, particular information that is used to perform at least two of a first inspection of the packet regarding one or more protocol irregularities, a second inspection of the packet regarding one or more attack signatures, or a third inspection of the packet regarding one or more traffic signatures matching a packet flow;

one or more instructions which, when executed by the device, cause the device to determine whether to drop the packet or forward the packet;

the one or more instructions to determine whether to drop the packet or forward the packet including one or more instructions to perform at least two of:

the first inspection without a user request to perform the first inspection,

the second inspection without a user request to perform the second inspection, or

the third inspection without a user request to perform the third inspection,

the at least two of the first inspection, the second inspection, or the third inspection being performed using the particular information when the particular information is retrieved,

one of the first inspection, the second inspection, or the third inspection being performed based on another one of the first inspection, the second inspection, or the third inspection being performed; and

one or more instructions which, when executed by the device, cause the device to process the packet based on determining whether to drop the packet or forward the packet,

the one or more instructions to process the packet including:

one or more instructions to drop the packet based on determining that the packet is to be dropped, and

one or more instructions to forward the packet based on determining that the packet is to be forwarded.

17. The non-transitory computer-readable medium of claim 16 , where the information included in the packet includes:

information identifying a source associated with the packet,

information identifying a destination associated with the packet,

information identifying a source port associated with the packet,

information identifying a destination port associated with the packet, and

information identifying a protocol associated with the packet.

18. The non-transitory computer-readable medium of claim 16 , where the one or more instructions to determine whether to drop the packet or forward the packet include:

one or more instructions to perform the first inspection without a user request to perform the first inspection; and

one or more instructions to perform the second inspection without a user request to perform the second inspection,

where:

the first inspection is performed based on the second inspection being performed, or

the second inspection is performed based on the first inspection being performed.

19. The non-transitory computer-readable medium of claim 16 , where the one or more instructions to determine whether to drop the packet or forward the packet include:

one or more instructions to obtain the information identifying the packet flow; and

one or more instructions to perform the third inspection without a user request to perform the third inspection based on obtaining the information identifying the packet flow,

where the one or more instructions to perform the third inspection include:

one or more instructions to search a second data structure to identify the traffic signature matching the packet flow,

one or more instructions to update a count associated with the traffic signature, and

one or more instructions to determine whether the count exceeds a threshold.

20. The non-transitory computer-readable medium of claim 16 , where the one or more instructions to determine whether to drop the packet or forward the packet include:

one or more instructions to perform the first inspection without a user request to perform the first inspection, and

one of:

one or more instructions to perform the second inspection without a user request to perform the second inspection based on performing the first inspection, or

one or more instructions to perform the third inspection without a user request to perform the third inspection based on performing the first inspection.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2014
From: ONESECURE, INC.
To: NETSCREEN TECHNOLOGIES, INC.
Reel/Frame 033514/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2014
From: NETSCREEN TECHNOLOGIES, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 033514/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2014
From: ZUK, NIR; GURUSWAMY, KOWSIK
To: ONESECURE, INC.
Reel/Frame 033521/0289 →
Continuity (3)
Continuation 13616046 · Sep 14, 2012
Continuation 10072683 · Feb 8, 2002
Related Publication 20140115688A1 · Apr 24, 2014