IP Library Granted Patent US 9,729,509
Granted Patent B2
US 9,729,509 · App. 13/849,485 · Granted Aug 8, 2017

System and method for integrated header, state, rate and content anomaly prevention for session initiation protocol

Inventors: Hemant Kumar Jain (Milpitas, CA); Venkata Yallapragada (Cupertino, CA); Bhavin Shah (Hyderabad, IN); Radhika Palepu (Hyderabad, IN)
Assignee: Fortinet, Inc.
H04L63/0245H04L63/1416H04L63/1425H04L65/1006
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,729,509
App. No.
13/849,485
Granted
Aug 8, 2017
Kind
B2
Abstract

Methods and systems for an integrated solution to the rate based denial of service attacks targeting the Session Initiation Protocol are provided. According to one embodiment, header, state, rate and content anomalies are prevented and network policy enforcement is provided for session initiation protocol (SIP). A hardware-based apparatus helps identify SIP rate-thresholds through continuous and adaptive learning. The apparatus can determine SIP header and SIP state anomalies and drop packets containing those anomalies. SIP requests and responses are inspected for known malicious contents using a Content Inspection Engine. The apparatus integrates advantageous solutions to prevent anomalous packets and enables a policy based packet filter for SIP.

Claims (84)

1. An apparatus capable of enforcing network policies and preventing attacks related to header, state, rate and content anomalies, wherein the attacks include Session Initiation Protocol (SIP) attacks, said apparatus comprising:

a) a Packet Interface that

receives inbound/outbound packets,

stores the packets in a memory buffer,

releases the packets with corresponding packet-ids to a plurality of decision-making blocks for inspection,

drops the packets altogether, and

sends the packets onto forensic ports based on a unified decision by the plurality of decision-making blocks;

b) a Classifier that comprises a SIP Classifier, that is coupled to the Packet Interface, and that classifies packets received from the Packet Interface and retrieves layer 2, layer 3, layer 4, and layer 7 header information from the packets;

c) a Header and State Anomaly Prevention Engine that comprises a SIP State Anomaly Engine, that is coupled to the Classifier via a classification bus, and that determines layers 2, 3, 4, and 7 header and state anomalies, including one or more of (1) a Command Sequence (CSeq) header in a SIP request exceeding a first predetermined threshold; and (2) a mismatch between a CSeq header method and a method name in a corresponding request line;

d) a Continuous and Adaptive Rate Anomaly Prevention Engine that comprises a SIP Rate Anomaly Engine, that is coupled to the classification bus, and that determines and estimates rate thresholds for layers 2, 3, 4, and 7 parameters and subsequently determines rate anomalies for these parameters;

e) a Recon Prevention Engine that is coupled to the classification bus and determines recon activities at layers 3 and 4;

f) a Content Anomaly Engine that comprises a SIP Content Anomaly Engine, that is coupled to the classification bus, and that identifies attacks on SIP using signatures;

g) a Policy Lookup Engine that comprises a SIP Policy Engine, that is coupled to the classification bus, and that determines policy violation in packets; and

h) a Decision Multiplexer for generating the unified decision about a packet-id based on information received from the plurality of decision-making blocks including the Header and State Anomaly Prevention Engine, the Continuous and Adaptive Rate Anomaly Prevention Engine, the Recon Prevention Engine, the Content Anomaly Engine, and the Policy Lookup Engine.

2. The apparatus of claim 1 , further comprising a host interface for setting necessary data structures in memory of logic blocks through host commands.

3. The apparatus of claim 1 , further comprising copper interfaces, fiber interfaces, or a combination of both, through which the Packet Interface receives the inbound/outbound packets.

4. The apparatus of claim 1 , wherein the Classifier further comprises:

layers 2, 3, 4, and 7 classifiers, wherein the SIP classifier is a layer 7 classifier;

a Fragment Reassembly Engine for assembling the packets;

a Transmission Control Protocol (TCP) Reorder Processing and Retransmission Removal Engine for ordering the assembled packets; and

a Protocol Normalization Engine for normalizing the ordered packets.

5. The apparatus of claim 4 , wherein

the Fragment Reassembly Engine performs fragment reassembly to accurately classify packets at layer 4; and

wherein the Fragment Reassembly Engine provides statistics for rate anomalies for fragmented packets and header anomalies for packets with fragmentation related anomalies.

6. The apparatus of claim 5 , wherein

the TCP Reorder Processing and Retransmission Removal Engine performs TCP reordering and retransmission removal at layer 4 to accurately classify fragment-assembled packets for content inspection at layer 7; and

wherein the TCP Reorder Processing and Retransmission Removal Engine operates to isolate packets with retransmission anomalies.

7. The apparatus of claim 6 , wherein

the Protocol Normalization Engine performs protocol normalization on the assembled and ordered packets to accurately classify these packets for content inspection at layer 7; and

wherein the Protocol Normalization Engine operates to isolate packets with content anomalies.

8. The apparatus of claim 4 , further comprising:

a Multi-rule Search Engine for isolating a rule-set that matches a given packet among a set of rules based on the given packet's network parameters identified by the layer 2, 3, 4 and 7 classifiers;

a Rule Matching Engine for validating each rule from the rule-set identified by Multi-rule Search Engine;

a Content Inspection Engine for providing necessary stateful content inspection;

a Stateful Sub-rule Traversal Engine operating along with the Rule Matching Engine and the Content Inspection Engine to statefully parse signatures across the packets and validate packets that match all signatures; and

an Event Queuing Engine for the Rule Matching Engine to deposit events related to content matches, the Event Queuing Engine later combines and prioritizes all events for a given packet and outputs a corresponding decision to the Decision Multiplexer.

9. The apparatus of claim 1 , further comprising:

a Layer 2 Rate Anomaly Meter for detecting and preventing Layer 2 rate anomalies in layer 2 parameters;

a Layer 3 Rate Anomaly Meter for detecting and preventing Layer 3 rate anomalies in layer 3 parameters;

a Layer 4 Rate Anomaly Meter for detecting and preventing Layer 4 rate anomalies in layer 4 parameters; and

a Layer 7 Rate Anomaly Meter for detecting and preventing Layer 7 rate anomalies in layer 7 parameters.

10. The apparatus of claim 9 , wherein

the layer 2 parameters include Address Resource Protocol (ARP), Reverse ARP (RARP), Broadcast, Multicast, Non-Internet Protocol (IP), Virtual Local Area Network (VLAN), and Double Encapsulated VLAN;

the layer 3 parameters include Source, Destination, Type of Service (TOS), IP Options, Fragmented Packets, and Protocols;

the layer 4 parameters include TCP Ports, User Datagram Protocol (UDP) Ports, Internet Control Message Protocol (ICMP) Type/Codes, synchronization (SYN) packets, and Connection Rates; and

the layer 7 parameters include Hyper-Text Transfer Protocol (http) Requests, HTTP Replies, File Transfer Protocol (FTP) Requests, FTP Replies, TELNET commands and replies, Domain Name Service (DNS) queries and replies, Session Initiation Protocol (SIP) requests and replies, Simple Mail Transfer Protocol (SMTP) commands and replies, Postal Office Protocol (POP) commands and replies, and Remote Procedure Call (RPC) methods and replies.

11. A system for enforcing network policies and preventing attacks related to header, state, rate and content anomalies, wherein the attacks include Session Initiation Protocol (SIP) attacks, said system comprising:

a controlling host;

an apparatus coupled to the controlling host, comprising:

a) a Packet Interface for

receiving inbound/outbound packets,

storing the packets in a memory buffer,

releasing the packets with corresponding packet-ids to a plurality of decision-making blocks for inspection,

dropping the packets altogether, and

sending the packets onto forensic ports based on a unified decision by the plurality of decision-making blocks;

b) a Classifier that comprises a SIP Classifier, that is coupled to the Packet Interface, and that classifies packets received from the Packet Interface and retrieves layer 2, layer 3, layer 4, and layer 7 header information from the packets;

c) a Header and State Anomaly Prevention Engine that comprises a SIP State Anomaly Engine, that is coupled to the Classifier via a classification bus, and that determines layers 2, 3, 4, and 7 header and state anomalies, including one or more of (1) a Command Sequence (CSeq) header in a SIP request exceeding a first predetermined threshold; and (2) a mismatch between a CSeq header method and a method name in a corresponding request line;

d) a Continuous and Adaptive Rate Anomaly Prevention Engine that comprises a SIP Rate Anomaly Engine, that is coupled to the classification bus, and that determines and estimates rate thresholds for layers 2, 3, 4, and 7 parameters and subsequently determines rate anomalies for these parameters;

e) a Recon Prevention Engine that is coupled to the classification bus and determines recon activities at layers 3 and 4;

f) a Content Anomaly Engine that comprises a SIP Content Anomaly Engine, that is coupled to the classification bus, and that identifies attacks on SIP using signatures;

g) a Policy Lookup Engine that comprises a SIP Policy Engine, that is coupled to the classification bus, and that determines policy violation in packets; and

h) a Decision Multiplexer for generating the unified decision about a packet-id based on information received from the plurality of decision-making blocks including the Header and State Anomaly Prevention Engine, the Continuous and Adaptive Rate Anomaly Prevention Engine, the Recon Prevention Engine, the Content Anomaly Engine, and the Policy Lookup Engine; and

i) a host interface for setting necessary data structures in memory of logic blocks through host commands.

12. The system of claim 11 , wherein the Classifier further comprises:

layers 2, 3, 4, and 7 classifiers;

a Fragment Reassembly Engine for assembling the packets and providing statistics for rate anomalies for fragmented packets and header anomalies for packets with fragmentation related anomalies;

a TCP Reorder Processing and Retransmission Removal Engine for ordering the packets and isolating packets with retransmission anomalies; and

a Protocol Normalization Engine for normalizing the packets and isolating packets with content anomalies.

13. The system of claim 11 , further comprising:

a Layer 2 Rate Anomaly Meter for detecting and preventing Layer 2 rate anomalies in layer 2 parameters; wherein

layer 2 parameters include ARP, RARP, Broadcast, Multicast, Non-IP, VLAN, and Double Encapsulated VLAN;

a Layer 3 Rate Anomaly Meter for detecting and preventing Layer 3 rate anomalies in layer 3 parameters; wherein

layer 3 parameters include Source, Destination, TOS, IP Options, Fragmented Packets, and Protocols;

a Layer 4 Rate Anomaly Meter for detecting and preventing Layer 4 rate anomalies in layer 4 parameters; wherein

layer 4 parameters include TCP Ports, UDP Ports, ICMP Type/Codes, SYN packets, and Connection Rates; and

a Layer 7 Rate Anomaly Meter for detecting and preventing Layer 7 rate anomalies in layer 7 parameters; wherein

the layer 7 parameters include Hyper-Text Transfer Protocol (http) Requests, HTTP Replies, File Transfer Protocol (FTP) Requests, FTP Replies, TELNET commands and replies, DNS queries and replies, Session Initiation Protocol (SIP) requests and replies, Simple Mail Transfer Protocol (SMTP) commands and replies, Postal Office Protocol (POP) commands and replies, and Remote Procedure Call (RPC) methods and replies.

14. The system of claim 11 , wherein the SIP classifier classifies TCP and UDP based SIP packets and components of SIP protocol headers.

15. The system of claim 11 , wherein the SIP Rate Anomaly Engine continuously calculates the traffic rate on classified SIP parameters and estimates traffic rate thresholds adaptively and thus determines threshold violations on the SIP parameters including SIP requests and responses.

16. The system of claim 15 , wherein the SIP State Anomaly Engine interacts with the SIP Rate Anomaly Engine and uses state information in packets to selectively drop excessive packets during rate-based floods.

17. The system of claim 16 , wherein the SIP State Anomaly Engine validates responses via a SIP state machine table and drops the responses if there is no previous corresponding request associated therewith.

18. The system of claim 15 , wherein the SIP State Anomaly Engine consults a SIP Session table to ensure that no SIP BYE is allowed unless a session has been registered.

19. The system of claim 11 , wherein the SIP Content Anomaly Engine utilizes classified SIP data to determine content patterns of intrusion.

20. The system of claim 11 , wherein the SIP Policy Anomaly Engine utilizes classified SIP data to determine policy violations on session initiation protocol.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2025
From: FORTINET, INC.
To: PALISADE TECHNOLOGIES, LLP
Reel/Frame 072959/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2025
From: PALISADE TECHNOLOGIES, LLP
To: ATHENA SECURITY, LLP
Reel/Frame 072959/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2013
From: JAIN, HEMANT KUMAR; YALLAPRAGADA, VENKATA; SHAH, BHAVIN; PALEPU, RADHIKA
To: FORTINET, INC.
Reel/Frame 030073/0250 →
Continuity (1)
Related Publication 20140289840A1 · Sep 25, 2014