IP Library Granted Patent US 10,630,697
Granted Patent B2
US 10,630,697 · App. 15/860,623 · Granted Apr 21, 2020

Reassembly free deep packet inspection for peer to peer networks

Inventors: Hui Ling (Shanghai, CN); Cuiping Yu (Shanghai, CN); Zhong Chen (Fremont, CA)
Assignee: SONICWALL INC.
H04L63/1408H04L63/0254H04L63/168H04L63/0245H04L63/1416H04L67/104
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,630,697
App. No.
15/860,623
Granted
Apr 21, 2020
Kind
B2
Abstract

The present disclosure relates to a system, a method, and a non-transitory computer readable storage medium for deep packet inspection scanning at an application layer of a computer. A method of the presently claimed invention may scan pieces of data received out of order without reassembly at an application layer from a first input state generating one or more output states for each piece of data. The method may then identify that the first input state includes one or more characters that are associated with malicious content. The method may then identify that the data set may include malicious content when the first input state combined with one or more output states matches a known piece of malicious content.

Claims (59)

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

receiving a first portion of a data set at an application layer of a computer system in an out-of-order sequence via a computer network;

scanning by a processor executing instructions out of a memory the first portion of the received out-of-order data set at the application layer from at least a first input state of a plurality of input states, wherein the first input state includes a portion of information included in a piece of malicious content;

identifying by the processor executing the instructions out of the memory that the data set includes a pattern indicative of the malicious content after the first portion of the received data set has been scanned from the first input state;

scanning a plurality of different portions of a second data set from the plurality of input states; and

identifying that the second data set includes the malicious content based on an evaluation of a chain of states associated with at least some of the plurality of input states and with an output state of the scan.

2. The method of claim 1 , further comprising:

receiving a second portion of the data set via the computer network;

identifying that the second portion of the data set immediately precedes the first portion of the data set;

scanning the second portion of the data set to generate an output state associated with the second portion of the data set;

identifying that the output state associated with the second portion of the data set matches the first input state of the plurality of input states; and

blocking receipt of additional portions of the first data set based on the output state associated with the second portion of the data set matching the first input state and based on the identification that the data set includes the pattern indicative of the malicious content.

3. The method of claim 2 , wherein the first portion of the data set is received from a first computer of a plurality of computers in a peer-to-peer (P2P) network; and wherein the second portion of the data set is received from a second computer of the plurality of computers in the P2P network.

4. The method of claim 1 , further comprising:

receiving an additional portion of the data set;

identifying that the additional portion of the data set follows a second portion of the data set;

scanning the additional portion of that data set from an output state associated with scanning of the additional portion of the data set; and

identifying that the data set includes malicious content based on the scanning of the additional portion of the data set.

5. The method of claim 1 , wherein the first portion of the data set is received from a first computer of a plurality of computers in a peer-to-peer (P2P) network.

6. The method of claim 5 , wherein at least two of the plurality of computers in the P2P network store one or more portions of the data set.

7. The method of claim 1 , further comprising:

scanning the first portion of the data set from a second input state of the plurality of input states; and

generating an output state associated with scanning the first portion of the data set from the second input state.

8. The method of claim 1 , wherein the malicious content is identified as being included in the data set based on scanning at least the first portion of the data set, and further comprising blocking further receipt of the data set based on the identification that the malicious content is included in the data set.

9. The method of claim 1 , further comprising:

receiving a first portion of the second data set;

generating one or more output states based on the scanning of the first portion of the second data set from the plurality of input states;

and

blocking further receipt of additional portions of the second data set based on the identification that the second data set includes the malicious content.

10. The system of claim 1 , wherein the plurality of input states are associated with a plurality of different sets of malware.

11. A method for deep packet inspection scanning, the method comprising:

receiving a first portion of a data set at an application layer of a computer system in an out-of-order sequence;

scanning the first portion of the received out-of-order data set at the application layer from at least a first input state of a plurality of input states;

identifying that the data set includes malicious content after the first portion of the received data set has been scanned from the first input state;

blocking receipt of other portions of the data set based on the identification that the data set includes the malicious content;

scanning a plurality of different portions of a second data set from the plurality of input states; and

identifying that the second data set does not include the malicious content based on an evaluation of a chain of states associated with at least some of the plurality of input states and with an output state of the scan.

12. The method of claim 11 , wherein the first portion of the data set is received from a first computer of a plurality of computers in a peer-to-peer (P2P) network and at least two of the plurality of computers in the P2P network store one or more portions of the data set.

13. A system for sharing computer data, the system comprising:

a peer to peer (P2P) computer network comprising a plurality of network communication channels; and

a first computing device communicatively coupled to a plurality of other computing devices in the P2P computer network by way of one or more of the communication channels, wherein the first computing device:

receives a plurality of different portions of a data set from a second and third computing device in the P2P computer network, wherein at least one of the plurality of different portions of the data set are received out-of-order,

performs an out-of-order scan of a first portion of the data set from a plurality of input states,

scans a second portion of the data set from the plurality of input states,

identifies that the data set includes malicious content based on the scanning of at least the first and second portions of the data set,

blocks additional portions of the data set from being received based on the identification of the malicious content being included in the data set;

scans a plurality of different portions of a second data set from the plurality of input states; and

identifies that the second data set does not include the malicious content based on an evaluation of a chain of states associated with at least some of the plurality of input states and with an output state of the scan.

14. The system of claim 13 , wherein the at least the third computing device stores one or more portions of the data set.

15. The system of claim 13 , wherein the first computing device further:

generates an output state from the scanning of the second portion of the data set,

identifies that the second portion of the data set precedes the first portion of the data set, and

identifies that the output state generated from scanning the second portion of the data set corresponds to a first input state of the plurality of input states.

16. The system of claim 13 , wherein the malicious content is included in data associated with the second portion of the data set.

17. The system of claim 13 , wherein the first computing device further:

receives the plurality of different portions of the second data set from the other computing devices in the P2P computer network, at least one of the plurality of different portions of the second data set is received out-of-order,

stores output states associated with each of the scanned plurality of different portions of the second data set,

identifies an ordering associated with each of the scanned plurality of different portions of the second data set, and

identifies that one of the stored output states from a preceding portion of the second data set corresponds to at least one input state of a subsequent portion of the second data set.

Assignments (5)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 059912/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2018
From: LING, HUI; YU, CUIPING; CHEN, ZHONG
To: DELL SOFTWARE INC.
Reel/Frame 045426/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2018
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 045828/0650 →
CHANGE OF NAME Recorded Apr 3, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 045830/0265 →
Cited By (1)
US 12,712,888