IP Library Granted Patent US 10,742,606
Granted Patent B2
US 10,742,606 · App. 16/024,485 · Granted Aug 11, 2020

Method and apparatus to perform multiple packet payloads analysis

Inventors: Aleksandr Dubrovsky (San Mateo, CA); John Everett Gmuender (San Jose, CA); Boris Yanovsky (Saratoga, CA); Roman Yanovsky (Los Altos, CA); Shunhui Zhu (San Jose, CA)
Assignee: SONICWALL INC.
H04L63/0245H04L12/2874H04L47/34H04L47/365H04L63/0254H04L63/145H04L63/1416H04L63/1425H04L67/06
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 10,742,606
App. No.
16/024,485
Granted
Aug 11, 2020
Kind
B2
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 (37)

1. A method for deep packet inspection, the method comprising:

buffering a received out-of-order data packet until an additional data packet that precedes the out-of-order data packet is received and scanned by a deep packet inspection (DPI) scanner;

identifying that the additional data packet does not indicate an attack pattern based on scanning of the additional data packet by the DPI scanner; and

identifying that the out-of-order data packet includes the attack pattern based on scanning in-order data by the DPI scanner.

2. The method of claim 1 , wherein scanning the additional data packet comprises decompressing the additional data packet; and wherein scanning the in-order data comprises decompressing the out-of-order data packet.

3. The method of claim 2 , wherein decompressing the additional data packet and the out-of-order data packet are based on a decompression protocol identified in a header.

4. The method of claim 3 , wherein the decompression protocol identified in the header corresponds to at least one of a ZIP protocol or a GZIP protocol.

5. The method of claim 1 , wherein scanning the additional data packet comprises decoding the additional data packet; and wherein scanning the in-order data comprises decoding the out-of-order data packet before identifying that the out-of-order data packet includes the attack pattern.

6. The method of claim 5 , wherein decoding the additional data packet and the out-of-order data packet are based on a decoding protocol.

7. The method of claim 6 , wherein the decoding protocol is the Base64 protocol.

8. The method of claim 1 , further comprising sending the additional data packet to a destination based on the identification that the additional data packet does not include the attack pattern.

9. The method of claim 8 , further comprising dropping the out-of-order data packet without sending the out-of-order data packet to the destination based on the identification that the out-of-order data packets includes the attack pattern.

10. The method of claim 1 , further comprising:

identifying that the additional data packet includes a character associated with a first state of a plurality of deterministic finite automaton (DFA) states that are included in the attack pattern;

storing state information in memory regarding the first state, wherein identifying that the additional data packet does not indicate an attack pattern is further based on the additional data packet not yet including the plurality of DFA states included in the attack pattern; and

identifying that the out-of-order data packet includes one or more additional states that are included in the attack pattern, wherein identifying that the out-of-order data packet includes the attack pattern is further based on the identified first state and the one or more additional states corresponding to the plurality of DFA states.

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

buffering a received out-of-order data packet until an additional data packet that immediately precedes the out-of-order data packet is received and scanned by a deep packet inspection (DPI) scanner;

identifying that the additional data packet does not include an attack pattern based on scanning of the additional data packet by the DPI scanner; and

identifying that the out-of-order data packet includes the attack pattern based on scanning in-order data by the DPI scanner.

12. The non-transitory computer-readable storage medium of claim 11 , wherein scanning the additional data packet comprises decompressing the additional data packet; and wherein scanning the in-order data comprises decompressing the out-of-order data packet.

13. The non-transitory computer-readable storage medium of claim 12 , wherein decompressing the additional data packet and the out-of-order data packet are based on a decompression protocol identified in a header.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the decompression protocol identified in the header corresponds to at least one of a ZIP protocol or a GZIP protocol.

15. The non-transitory computer-readable storage medium of claim 11 , wherein scanning the additional data packet comprises decoding the additional data packet; and

wherein scanning the in-order data comprises decoding the out-of-order data packet before identifying that the out-of-order data packet includes the attack pattern.

16. The non-transitory computer-readable storage medium of claim 15 , wherein decoding the additional data packet and the out-of-order data packet are based on a decoding protocol.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the decoding protocol is the Base64 protocol.

18. The non-transitory computer-readable storage medium of claim 11 , further comprising instructions executable to send the additional data packet to a destination based on the identification that the additional data packet does not include the attack pattern and to drop the out-of-order data packet without sending the out-of-order data packet to the destination based on the identification that the out-of-order data packets includes the attack pattern.

19. The non-transitory computer-readable storage medium of claim 13 , further comprising instructions executable to:

Identify that the additional data packet includes a character associated with a first state of a plurality of deterministic finite automaton (DFA) states that are included in the attack pattern;

store state information in memory regarding the first state, wherein identifying that the additional data packet does not indicate an attack pattern is further based on the additional data packet not yet including the plurality of DFA states included in the attack pattern; and

identify that the out-of-order data packet includes one or more additional states that are included in the attack pattern, wherein identifying that the out-of-order data packet includes the attack pattern is further based on the identified first state and the one or more additional states corresponding to the plurality of DFA states.

20. An apparatus for deep packet inspection, the apparatus comprising:

a buffer memory that buffers a received out-of-order data packet until an additional data packet that precedes the out-of-order data packet is received and scanned by a deep packet inspection (DPI) scanner; and

a processor that executes instructions stored in memory, wherein execution of the instructions by the processor:

identifies that the additional data packet does not indicate an attack pattern based on scanning of the additional data packet by the DPI scanner; and

identifies that the out-of-order data packet includes the attack pattern based on scanning in-order data by the DPI scanner.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2019
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 049473/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2019
From: DUBROVSKY, ALEKSANDR; GMUENDER, JOHN EVERETT; YANOVSKY, BORIS; YANOVSKY, ROMAN; ZHU, SHUNHUI
To: SONICWALL, INC.
Reel/Frame 048791/0967 →
MERGER Recorded Apr 4, 2019
From: SONICWALL, INC.
To: PSM MERGER SUB (DELAWARE), INC.
Reel/Frame 048792/0192 →
CHANGE OF NAME Recorded Apr 4, 2019
From: PSM MERGER SUB (DELAWARE), INC.
To: SONICWALL, INC.
Reel/Frame 048792/0376 →
MERGER Recorded Apr 4, 2019
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 048792/0747 →
CHANGE OF NAME Recorded Apr 4, 2019
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 048798/0342 →
CHANGE OF NAME Recorded Apr 4, 2019
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 048800/0947 →
Continuity (8)
Continuation 15435917 · Feb 17, 2017
Continuation 14747860 · Jun 23, 2015
Continuation 14064597 · Oct 28, 2013
Continuation 13587748 · Aug 16, 2012
Continuation 12913668 · Oct 27, 2010
Continuation 11112252 · Apr 21, 2005
Continuation In Part 10964871 · Oct 13, 2004
Related Publication 20180309725A1 · Oct 25, 2018