IP Library Granted Patent US 10,560,362
Granted Patent B2
US 10,560,362 · App. 14/553,624 · Granted Feb 11, 2020

Application control

Inventors: Wei Wang (North Vancouver, CA); Junfeng Jia (Burnaby, CA)
Assignee: Fortinet, Inc.
H04L43/12H04L41/12H04L47/2475H04L47/2483H04L69/03
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,560,362
App. No.
14/553,624
Granted
Feb 11, 2020
Kind
B2
Abstract

Systems and methods for controlling applications on a network are provided. According to one embodiment, a network security device intercepts network traffic and conducts a heuristic detection of an application protocol used in the network traffic by multiple application protocol identifying engines defined in a heuristic rule. According to another embodiment, the network security device confirms a suspect application protocol as an actual application protocol used in the network traffic by sending a probing request to the destination peer of the network traffic based on the suspect application protocol. The suspect application protocol is confirmed if an appropriate response is received from the destination peer.

Claims (26)

1. A method comprising:

intercepting, by a network security device, network traffic passing through the network security device, wherein the network traffic is being exchanged between two peers;

conducting, by the network security device, a heuristic detection of an application protocol used in the network traffic by a plurality of application protocol identifying engines, defined in a heuristic rule and including at least one application protocol identifying engine that classifies the network traffic with reference to training data and at least one application protocol identifying engine that classifies the network traffic without reference to training data, wherein the plurality of application protocol identifying engines are implemented in a form of a port-based classification engine, a pattern-based classification engine and a behavioral-based classification engine, wherein the port-based classification engine determines the application protocol based on a port number specified within the network traffic and with reference to a mapping of port numbers to applications, wherein the pattern-based classification engine determines the application by matching packet payloads of the network traffic with known protocol signatures, and wherein the behavioral-based classification engine determines the application protocol by analyzing statistical fingerprints of the network traffic; and

identifying, by the network security device, the application protocol by weighting and combining results of the plurality of application protocol identifying engines as specified by the heuristic rule, including:

performing port-based classification analysis by the port-based classification engine, pattern-based classification analysis by the pattern-based classification engine and behavioral-based analysis by the behavioral-based classification engine in a serial manner for a particular traffic session within the network traffic; and

stopping the heuristic detection of the application protocol for the particular traffic session when a satisfactory classification result is achieved by a combination of two of the port-based classification engine, the pattern-based classification engine and the behavioral-based classification engine, wherein the satisfactory classification result meets a predetermined or configurable accuracy threshold specified by the heuristic rule.

2. The method of claim 1 , further comprising:

conducting an initial detection of the application protocol used in the network traffic by one of the plurality of application protocol identifying engines;

when the initial detection of the application protocol fails, then performing said conducting a heuristic detection of an application protocol.

3. The method of claim 1 , wherein the plurality of application protocol identifying engines conduct the heuristic detection in serial or in parallel.

4. The method of claim 1 , wherein the application protocol comprises a protocol category or a specific application layer protocol.

5. The method of claim 1 , wherein the application protocol comprises a peer-to-peer (P2P) protocol.

6. A network security device comprising:

a non-transitory storage device having tangibly embodied therein instructions representing an application control sensor; and

one or more processors coupled to the non-transitory storage device and operable to execute the application control sensor to perform a method comprising:

intercepting network traffic passing through the network security device, wherein the network traffic is being exchanged between two peers;

conducting a heuristic detection of an application protocol used in the network traffic by a plurality of application protocol identifying engines, defined in a heuristic rule and including at least one application protocol identifying engine that classifies the network traffic with reference to training data and at least one application protocol identifying engine that classifies the network traffic without reference to training data, wherein the plurality of application protocol identifying engines are implemented in a form of a port-based classification engine, a pattern-based classification engine and a behavioral-based classification engine, wherein the port-based classification engine determines the application protocol based on a port number specified within the network traffic and with reference to a mapping of port numbers to applications, wherein the pattern-based classification engine determines the application by matching packet payloads of the network traffic with known protocol signatures, and wherein the behavioral-based classification engine determines the application protocol by analyzing statistical fingerprints of the network traffic; and

identifying the application protocol by weighting and combining results of the plurality of application protocol identifying engines as specified by the heuristic rule, including:

performing port-based classification analysis by the port-based classification engine, pattern-based classification analysis by the pattern-based classification engine and behavioral-based analysis by the behavioral-based classification engine in a serial manner for a particular traffic session within the network traffic; and

stopping the heuristic detection of the application protocol for the particular traffic session when a satisfactory classification result is achieved by a combination of two of the port-based classification engine, the pattern-based classification engine and the behavioral-based classification engine, wherein the satisfactory classification result meets a predetermined or configurable accuracy threshold specified by the heuristic rule.

7. The network security device of claim 6 , wherein the method further comprises:

conducting an initial detection of the application protocol used in the network traffic by one of the plurality of application protocol identifying engines;

when the initial detection of the application protocol fails, then performing said conducting a heuristic detection of an application protocol.

8. The network security device of claim 6 , wherein the plurality of application protocol identifying engines conduct the heuristic detection in serial or in parallel.

9. The network security device of claim 6 , wherein the application protocol comprises a protocol category or a specific application layer protocol.

10. The network security device of claim 6 , wherein the application protocol comprises a peer-to-peer (P2P) protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2014
From: WANG, WEI; JIA, JUNFENG
To: FORTINET, INC.
Reel/Frame 034265/0020 →
Continuity (1)
Related Publication 20160149792A1 · May 26, 2016