IP Library Granted Patent US 9,065,848
Granted Patent B2
US 9,065,848 · App. 14/064,597 · Granted Jun 23, 2015

Method and apparatus to perform multiple packet payloads analysis

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,065,848
App. No.
14/064,597
Filed
Oct 28, 2013
Granted
Jun 23, 2015
Kind
B2
Art Unit
2436
USPC
726/22
Abstract

A method and apparatus for identifying data patterns of a file are described herein. In one embodiment, an exemplary process includes, but is not limited to, receiving a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream, and performing a data pattern analysis on the received data packet to determine whether the received data packet contains a predetermined data pattern, without waiting for a remainder of the data stream to arrive. Other methods and apparatuses are also described.

Claims (44)

1. A method for performing re-assembly free deep packet inspection, the method comprising:

receiving a data stream over a communication network, the received data stream comprising a plurality of data packets corresponding to a segment of a file being transmitted in a plurality of segments ordered in a predetermined order;

determining that the plurality of data packets in the data stream are not being received in the predetermined order associated with the corresponding file segment, wherein at least one data packet is received before a precedent data packet in the predetermined order is received;

storing a local copy of the at least one data packet, wherein the local copy is subsequently retrieved after the precedent data packet is received for comparison to an attack pattern; and

preventing the at least one data packet from reaching a recipient until it is verified that previous in-order packets do not contain elements of the attack pattern.

2. The method of claim 1 , further comprising forwarding the received data packet to the recipient if the received data packet does not contain any element of the attack pattern and preventing a remainder of the data stream from reaching the recipient when it is determined that the at least one data packet contains one of the elements of the attack pattern.

3. The method of claim 2 , further comprising notifying the recipient that the at least one data packet and the remainder of the data stream has been blocked.

4. The method of claim 3 , wherein the notification results in the recipient discarding previous packets in the data stream.

5. The method of claim 1 , further comprising performing an analysis to detect the attack pattern.

6. The method of claim 5 , wherein the analysis comprises updating a current state of the attack pattern to a next state corresponding to a next element of the attack pattern when a next element of the data packet matches a corresponding next element of the attack pattern.

7. The method of claim 6 , further comprising determining that the attack pattern is associated with a sequence of states.

8. The method of claim 7 , further comprising determining that the attack pattern is found when the current state corresponds to a final state of the sequence of states.

9. The method of claim 1 , further comprising:

determining an encoding method of the at least one data packet;

decoding the at least one data packet using a decoding method associated with the determined encoding method to generate a decoded data packet; and

performing a pattern analysis based on the decoded data packet.

10. The method of claim 1 , further comprising:

determining a compression method of the at least one data packet;

decompressing the at least one data packet using a decompression method associated with the determined compression method to generate one or more decompressed data blocks; and

performing a pattern analysis based on the one or more decompressed data blocks.

11. A system for performing re-assembly free deep packet inspection, the system comprising:

a communication interface that receives a data stream over a communication network, the received data stream comprising a plurality of data packets corresponding to a segment of a file being transmitted in a plurality of segments ordered in a predetermined order;

a processor that executes instructions stored in memory, wherein execution of the instructions determines that the plurality of data packets in the data stream are not being received in the predetermined order associated with the corresponding file segment, wherein at least one data packet is received before a precedent data packet in the predetermined order is received; and

memory that stores a local copy of the at least one data packet, wherein the local copy is subsequently retrieved after the precedent data packet is received for comparison to an attack pattern, wherein the at least one data packet is prevented from reaching a recipient until it is verified that previous in-order packets do not contain elements of the attack pattern.

12. The system of claim 11 , wherein the communication interface forwards the received data packet to the recipient if the received data packet does not contain any element of the attack pattern, and a remainder of the data stream is prevented from reaching the recipient when it is determined that the at least one data packet contains one of the elements of the attack pattern.

13. The system of claim 12 , wherein the recipient is notified that the at least one data packet and the remainder of the data stream has been blocked.

14. The system of claim 13 , wherein the notification results in the recipient discarding previous packets in the data stream.

15. The system of claim 11 , wherein the processor executes further instructions to perform an analysis to detect the attack pattern.

16. The system of claim 15 , wherein the analysis comprises updating a current state of the attack pattern to a next state corresponding to a next element of the attack pattern when a next element of the data packet matches a corresponding next element of the attack pattern.

17. The system of claim 16 , wherein the processor executes further instructions to determine that the attack pattern is associated with a sequence of states.

18. The system of claim 17 , wherein the processor executes further instructions to determine that the attack pattern is found when the current state corresponds to a final state of the sequence of states.

19. The system of claim 11 , wherein the processor executes further instructions to:

determine an encoding method of the at least one data packet;

decode the at least one data packet using a decoding method associated with the determined encoding method to generate a decoded data packet; and

perform a pattern analysis based on the decoded data packet.

20. The system of claim 11 , wherein the processor executes further instructions to:

determine a compression method of the at least one data packet;

decompress the at least one data packet using a decompression method associated with the determined compression method to generate one or more decompressed data blocks; and

perform a pattern analysis based on the one or more decompressed data blocks.

21. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for performing re-assembly free deep packet inspection, the method comprising:

receiving a data stream over a communication network, the received data stream comprising a plurality of data packets corresponding to a segment of a file being transmitted in a plurality of segments ordered in a predetermined order;

determining that the plurality of data packets in the data stream are not being received in the predetermined order associated with the corresponding file segment, wherein at least one data packet is received before a precedent data packet in the predetermined order is received;

storing a local copy of the at least one data packet, wherein the local copy is subsequently retrieved after the precedent data packet is received for comparison to an attack pattern; and

preventing the at least one data packet from reaching a recipient until it is verified that previous in-order packets do not contain elements of the attack pattern.