Detecting DoS Attacks on SIP Systems



Similar documents
A VoIP Traffic Monitoring System based on NetFlow v9

A Call Conference Room Interception Attack and its Detection

Security issues in Voice over IP: A Review

A Brief Overview of VoIP Security. By John McCarron. Voice of Internet Protocol is the next generation telecommunications method.

How To Protect Your Phone From Being Hacked By A Man In The Middle Or Remote Attacker

Voice Over IP (VoIP) Denial of Service (DoS)

Firewalls and Intrusion Detection

Analysis of SIP Traffic Behavior with NetFlow-based Statistical Information

MAC Based Routing Table Approach to Detect and Prevent DDoS Attacks and Flash Crowds in VoIP Networks

A SIP based VOIP to avoid Vulnerabilities in designing VOIP network in Enterprise

SIP: Ringing Timer Support for INVITE Client Transaction

Unregister Attacks in SIP

Prevention of Anomalous SIP Messages

A Comparative Study of Signalling Protocols Used In VoIP

SIP Intrusion Detection and Response Architecture for Protecting SIP-based Services

Chapter 8 Security Pt 2

SIP-based VoIP Traffic Behavior Profiling and Its Applications

1. Introduction. 2. DoS/DDoS. MilsVPN DoS/DDoS and ISP. 2.1 What is DoS/DDoS? 2.2 What is SYN Flooding?

Implementing SIP and H.323 Signalling as Web Services

MONITORING OF TRAFFIC OVER THE VICTIM UNDER TCP SYN FLOOD IN A LAN

An Overview on Security Analysis of Session Initiation Protocol in VoIP network

Preventing Resource Exhaustion Attacks in Ad Hoc Networks

CS 356 Lecture 16 Denial of Service. Spring 2013

Basic Vulnerability Issues for SIP Security

SIP : Session Initiation Protocol

Security of VoIP. Analysis, Testing and Mitigation of SIP-based DDoS attacks on VoIP Networks

Network Security. Dr. Ihsan Ullah. Department of Computer Science & IT University of Balochistan, Quetta Pakistan. April 23, 2015

Survey on DDoS Attack in Cloud Environment

White Paper A SECURITY GUIDE TO PROTECTING IP PHONE SYSTEMS AGAINST ATTACK. A balancing act

Analysis on Some Defences against SYN-Flood Based Denial-of-Service Attacks

DoS/DDoS Attacks and Protection on VoIP/UC

EXPLOITING SIMILARITIES BETWEEN SIP AND RAS: THE ROLE OF THE RAS PROVIDER IN INTERNET TELEPHONY. Nick Marly, Dominique Chantrain, Jurgen Hofkens

User authentication in SIP

Authentication and Authorisation for Integrated SIP Services in Heterogeneous Environments 1

CS5008: Internet Computing

How To Attack A Phone With A Billing Attack On A Sip Phone On A Cell Phone On An At&T Vpn Vpn Phone On Vnet.Com (Vnet) On A Pnet Vnet Vip (Sip)

Survey on DDoS Attack Detection and Prevention in Cloud

Using SYN Flood Protection in SonicOS Enhanced

Prevention, Detection and Mitigation of DDoS Attacks. Randall Lewis MS Cybersecurity

Frequent Denial of Service Attacks

SY system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

Chapter 2 PSTN and VoIP Services Context

Defending against Flooding-Based Distributed Denial-of-Service Attacks: A Tutorial

VoIP Intrusion Detection Through Interacting Protocol State Machines

Detecting Spam in VoIP Networks. Ram Dantu Prakash Kolan

Denial of Service Attacks

Session Border Controller

DDOS WALL: AN INTERNET SERVICE PROVIDER PROTECTOR

Firewall-Friendly VoIP Secure Gateway and VoIP Security Issues

An Anomaly-Based Method for DDoS Attacks Detection using RBF Neural Networks

On-Premises DDoS Mitigation for the Enterprise

SECURING APACHE : DOS & DDOS ATTACKS - I

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

Distributed Denial of Service(DDoS) Attack Techniques and Prevention on Cloud Environment

10 Key Things Your VoIP Firewall Should Do. When voice joins applications and data on your network

IP Phone Security: Packet Filtering Protection Against Attacks. Introduction. Abstract. IP Phone Vulnerabliities

Denial of Service attacks: analysis and countermeasures. Marek Ostaszewski

Customized Data Exchange Gateway (DEG) for Automated File Exchange across Networks

VOIP TELEPHONY: CURRENT SECURITY ISSUES

Hillstone T-Series Intelligent Next-Generation Firewall Whitepaper: Abnormal Behavior Analysis

White paper. TrusGuard DPX: Complete Protection against Evolving DDoS Threats. AhnLab, Inc.

Safeguards Against Denial of Service Attacks for IP Phones

How To Protect Your Network From A Ddos Attack On A Network With Pip (Ipo) And Pipi (Ipnet) From A Network Attack On An Ip Address Or Ip Address (Ipa) On A Router Or Ipa

Guide to DDoS Attacks December 2014 Authored by: Lee Myers, SOC Analyst

Protecting SIP Proxy Servers from Ringing-based Denial-of-Service Attacks

Quick Detection of Stealthy SIP Flooding Attacks in VoIP Networks

Evaluating DoS Attacks Against SIP-Based VoIP Systems

TDC s perspective on DDoS threats

DoS: Attack and Defense

An Efficient Filter for Denial-of-Service Bandwidth Attacks

Complete Protection against Evolving DDoS Threats

A Novel Distributed Denial of Service (DDoS) Attacks Discriminating Detection in Flash Crowds

SCTP-Sec: A secure Transmission Control Protocol

Dual Mechanism to Detect DDOS Attack Priyanka Dembla, Chander Diwaker 2 1 Research Scholar, 2 Assistant Professor

A TWO LEVEL ARCHITECTURE USING CONSENSUS METHOD FOR GLOBAL DECISION MAKING AGAINST DDoS ATTACKS

Voice over Internet Protocol. Kristie Prinz. The Prinz Law Office

A Reality Check on Security in VoIP

Design of a SIP Outbound Edge Proxy (EPSIP)

Adaptation of TURN protocol to SIP protocol

A Mechanism for Ensuring the Validity and Accuracy of the Billing Services in IP Telephony

Network Security. Chapter 9. Attack prevention, detection and response. Attack Prevention. Part I: Attack Prevention

Proposition of a new approach to adapt SIP protocol to Ad hoc Networks

CSCI 4250/6250 Fall 2015 Computer and Networks Security

Evaluation of Security for a H.323-based VoIP Emulated Architecture

SIP: Ringing Timer Support for INVITE Client Transaction

What is Firewall? A system designed to prevent unauthorized access to or from a private network.

VOIP Attacks On The Rise

VOICE OVER IP SECURITY

Security vulnerabilities in the Internet and possible solutions

Transcription:

Detecting DoS Attacks on SIP Systems Eric. Chen TT Information Sharing Platform Laboratories, TT Corporation 3-9-11 Midori-cho, Musashino-shi, Tokyo, 180-8585, Japan TEL: +81-422-59-3347, FAX: +81-422-59-5660 eric.chen@lab.ntt.co.jp Abstract As VoIP technology becomes more widely deployed due to its economical advantage over traditional PST services, VoIP servers and clients will become attractive targets of Denial of Service (DoS) attacks. This paper proposes a method to detect DoS attacks that involve flooding SIP entities with illegitimate SIP messages. We modify the original finite-state machines for SIP transactions in such a way that transaction anomalies can be detected in a stateful manner. We also propose to use four threshold parameters to confirm an attack. 1. Introduction Denial of service (DoS) attacks is one of the most alarming threats on the Internet. A DoS attack attempts to render a particular network node unavailable by flooding it with illegitimate packets, usurping its bandwidth and/or overtaxing its node resources. A specific DoS attack called DDoS (distributed denial of service) attack utilizes multiple compromised network hosts to conduct a coordinated DoS attack in order to amplify its effect. We use both terms (DoS and DDoS) interchangeably in this paper. While most common targets of DoS attacks today are web servers, VoIP entities (server and clients) are likely to be attractive targets as VoIP technology becomes more widely deployed due to its economical advantages over traditional PST services. Two major protocols used to provide VoIP services are H.323 [1] and SIP [2]. H.323 is the standard of International Telecommunication Union (ITU) while SIP is proposed by Internet Engineer Task Force (IETF). This paper focuses on detecting DoS attacks upon SIP-based VoIP services. In Section 2, we introduce most known possible DoS attacks on SIP systems. Then we describe a number of related works in Section 3 and our proposed system in Section 4. Finally, we conclude this paper in Section 5. 2. Possible DoS Attacks on SIP Systems SIP creates a number of potential opportunities for DoS attacks since SIP entities open themselves to the public Internet in order to receive requests from worldwide IP hosts. There are many different ways to carry out DoS attacks on SIP systems. Based on a VoIP threat taxonomy compiled by VOIPSA [3], this paper categorizes DoS attacks in a similar manner into the following groups: network bandwidth attack, OS/firmware attack and SIP-specific attack. A network bandwidth DoS attack simply floods a target with a large amount of random packets in an attempt to congest its network bandwidth. An OS/firmware DoS attempts to crash a target by exploiting some specific underlying OS/firmware vulnerability. It can also exhaust the target by overconsuming OS/firmware resources, such as CPU and memory. Both network bandwidth DoS and OS/firmware DoS attacks have been well recognized and extensively addressed by existing works [12][13][14]. We are particularly interested in SIP-specific DoS attacks since they have not yet been adequately addressed. The following subsections describe DoS attacks that are specific to SIP. 2.1 Legitimate Message Flooding This type of attack requires the attacker to have a legitimate account with a SIP server. After logging in, the attacker may continuously request for a SIP service (e.g. VoIP call or directory service) from a target. The requests would be processed normally as they are legitimate, but the target may appear busy all the time to other clients. This effectively creates a denial of service. However, the attacker may risk giving away his identity as such attack can be easily traced to its origin. 2.2 Invalid Message Flooding This type of attack does not require the attacker to be 1 1-4244-0144-5/06/$20.00 2006 IEEE VoIP MaSe 2006

properly authenticated by SIP servers. The attacker can overwhelm the target by directly sending a large number of invalid SIP messages. Some common examples include sending invalid call setup requests, flooding with random SIP messages or tricking a target into setting up a large number of transactions. Such strategies may cause the target SIP node to crash or exhaust its resources. 2.3 Distributed Reflection DoS (DRDoS) Distributed Reflection DoS (DRDoS) [4] has been observed on the Internet for some time. A SIP-specific DRDoS is possible by generating fake SIP requests that contain a spoofed source IP address and a spoofed via header field, both of which falsely identify a target host as the sender of the request. By sending such requests to a large number of SIP network nodes found on the Internet, the receiving nodes (sometimes called springboard nodes) would unknowingly correspond to the target host. If the target host ignores these invalid replies, the springboard nodes may keep retransmitting packets to the target host, and thus would amplify the traffic flows directed to the target host and interrupt its services. 2.4 Malformed Messages Implementation flaws of SIP systems also create opportunities for DoS attacks. A large number of systems are found to be vulnerable to malformed SIP messages [5]. Such DoS attacks, however, can only target specific implementations or products. The vulnerabilities may be fixed through software patches as soon as they are found. 2.5 Spoofed Messages It is possible to interrupt a SIP session by sending spoofed messages to the participating entities. For example, an existing call session may be torn down by sending one of the communicating user agents a spoofed BE message with correct session information. Alternatively, an attacker may hijack a media session by spoofing a redirect message to the target entity. A comprehensive list of other possible SIP-specific DoS attacks may be found on the VOIPSA website [3]. 3. Related Works PROTOS project [6] provides a security test suite for SIP products. The test suite utilizes a popular black box testing technique called fuzz testing. It works by generating an exhaustive list of predefined malformed messages (as described in Section 2.4) against a SIP server or client to test if the subject is able to endure and handle these messages. Codenomicon [7], the sponsor of PROTOS, offers a commercial version of the suite with more robust features and comprehensive test cases. Geneiatakis [8] proposes a framework for detecting malformed SIP messages. The basic idea is to add a set to rules to IDS (Intrusion Detection System) that verifies if each incoming SIP message is grammatically correct according to the RFC specification. All malformed messages should be discarded before they reach the destination. Truong [9] proposes a specification-based intrusion detection system for H.323-based VoIP. The work attempts to detect illegitimate RAS (Registration, Admission and Status) messages being forwarded to a H.323 gatekeeper. The system works by running a finite-state machine to detect unexpected messages. Although the system targets on a different VoIP protocol, it shares a number of assumptions with our work. Wu [10] proposes an abstract intrusion detection framework called SCIDIVE for VoIP systems in general. The system is composed of two detection abstractions: stateful detection and cross-protocol detection. Stateful detection determines the current state of a subject from multiple packets involved in the same session and detects anomaly using a rulematching engine. Cross-protocol detection considers the fact that most VoIP systems use two classes of protocols: call management protocols (e.g. SIP, H.323) and media delivery protocols (e.g. RTP). The basic idea of cross-protocol detection is to inspect anomalies such as inconsistency (e.g. caused by a billing fraud) between two different protocols involved in the same VoIP session. However, the paper emphasizes the overall framework and provides only a small number of detection rules, such as detecting orphan RTP flow and verifying IP source address. Our paper may complement their work as we focus on how we should formulate rules for stateful detection on SIP. 4. Proposed System Our proposed system of detecting SIP-specific DoS attacks utilizes finite machines built in the SIP transaction layer. In this section, we first introduce SIP 2 1-4244-0144-5/06/$20.00 2006 IEEE VoIP MaSe 2006

transaction layer briefly and then describe the proposed method in detail. 4.1 SIP Transaction Layer In order to ensure reliable message exchanges between different SIP components, SIP defines an extra layer called transaction layer that resides between transport layer and SIP applications (Transaction User). This layer handles acknowledgment and retransmission of messages. By separating transaction mechanism into a different layer, developers are able to create SIP applications with the low-level operations hidden from them. The transaction layer is illustrated in Figure 1. 4.2 Detecting Transaction Anomalies RFC3261 defines a finite state machine (FSM) for each of the four transactions described in Table 1. Our system modifies these FSMs in a way that anomaly can be detected. SIP packet arrived ew session ID? Update state table Request? Error count Create a new entry to state table Error? Count > Threshold? Attack detected Fig. 1. Transaction Layer There are two types of transactions: client transaction (CT), created when a request is sent, and server transaction (ST), created when a request is received. In a VoIP system, a caller would create a client transaction while a callee would create a server transaction. A stateful proxy would have both client and server transaction in order to relay messages between the caller and the callee. As far as SIP transactions are concerned, stateless proxies create neither transaction and are effectively transparent. Each type of transaction handles requests in two different ways, depending on whether the request method is IVITE or not. They are summarized in Table 1. Table 1. Types of SIP Transactions Type Request Description CT IVITE Created when an IVITE request is sent on-ivite Created when a non- IVITE request is sent ST IVITE Created when an IVITE request is received on-ivite Created when a non- IVITE request is received Fig. 2. Overall detection logic The overall detection logic is illustrated in the flowchart in Figure 2. When a new SIP message is received, we first determine whether the message belongs to an existing session. For each new request arrived, the detection system adds a new entry to a state table (illustrated in Table 2) created for each SIP entity being monitored. The system first records the session ID (the branch parameter in the top Via header field) in the table, determines the type of transaction that this new message initiates, and enters the initial state of the transaction. We will explain this in more detail shortly. If a SIP message with an ID of an ongoing session arrives, the state table is updated to reflect the input of this message. If a response message with an unknown session ID is received, our system increments its internal error counter. Session ID Type Table 2. State Table Current State aaa IVITE ST Proceeding 0 bbb IVITE CT Calling 0 ccc on-ivite ST Trying 0 ddd on-ivite ST Completed 0 Error Count 3

Each entry in the state table is updated using our modified FSMs for SIP transactions. We convert each original FSM defined in RFC3261 into an acceptor FSM [11]. Figure 3 shows our version of FSM for IVITE client transaction. (Rq Rs)I (Rq Rs\E)I Error Error count generated Error count generated IVITEOUT II EI AD ACKOUT Entry created IVITEOUT Calling II Proceeding EI AD ACKOUT SI OR Timer B OR Transport error S = {Idle, Calling, Proceeding, Completed, Terminated, Error}. In our modified FSM, we have added the Idle and Error states. s 0 = Idle δ is the state transition function: δ: S x Σ S. In our modified FSM, we have added the following state transition functions - δ(calling, (Rq Rs) I )=Error - δ(completed, (Rq Rs \ E) I )= Error F=Terminated The FSM is modified such that if an unexpected incoming message is received, the modified finite machine would enter the error state and increment the error counter. When an instance of any FSM reaches the terminated state, its entry in the state table is destroyed. Completed SI Timer D OR transport error Terminated Fig. 3. IVITE Client Transaction The FSM can be denoted as a quintuple <Σ, S, s 0, δ, F>, where: Σ is the input, which includes timer events and SIP messages sent and received. An outgoing message and an incoming message are always considered as different inputs, even if the message contents are identical. SIP messages are denoted as in Table 2. A subscript is used to indicate whether a message is incoming or outgoing. For example, E I denotes an incoming error response (300~699). Table 3. Sets of SIP messages Sets Elements Rq All request messages Rs All response messages I Informational responses (1xx) S Success response (2xx) E Error responses (300~699) Fig. 4. IVITE Server Transaction We modify the FSM for IVITE server transaction in a similar manner. The major modifications include the addition of the following transition functions - δ(proceeding, (Rq Rs \ {IVITE}) I )=Error - δ(completed, (Rq Rs \ {IVITE}) I )=Error - δ(confirmed, (Rq Rs \ {ACK}) I )=Error The modified FSM for IVITE ST is illustrated in Figure 4. 4

transaction functions include the following: - δ(trying, (Rq Rs) I )=Error - δ(proceeding, (Rs {IVITE}) I )=Error - δ(completed, (Rs {IVITE}) I )=Error A state change in any SIP transaction above is triggered (or indicated) by packets sent or received, or by an internal timer. Therefore, it is possible to infer the internal state of a given transaction by monitoring all incoming and outgoing packets and by knowing the timer values (Timer A~K). This allows us to detect anomalies from a separate process of the same SIP node or from an external network node, such as stateful firewall or IDS, that is capable of monitoring all incoming and outgoing packets of the SIP node to be observed. The detection system is able to speculate protocol errors that take place inside a SIP transaction. Fig. 5. on-ivite Client Transaction Fig. 6. on-ivite Server Transaction The modified FSM for non-ivite CT is illustrated in Figure 5. The major additions of transaction functions include the following: - δ(trying, (Rq Rs) I )=Error - δ(proceeding, (Rq Rs\I) I )=Error - δ(completed, (Rq Rs) I )=Error The modified FSM for non-ivite CT is illustrated in Figure 6. The major additions of 4.3 Detecting Attacks using Thresholds We propose to detect a DoS attack using four threshold parameters: U TE, U AE, U T/ and U P/T. If any of the threshold value is reached, we let our detection system raise an alarm. The following describes each of them in detail. U TE is an upper bound on the number of allowed transaction error per second. Frequent occurrences of unexpected incoming messages are a strong indication of an attack. Each occurrence triggers a transaction error in our modified FSMs described in Section 4.2. U AE is an upper bound on the number of allowed SIP application error per second. Such errors occur when invalid messages are received. A SIP application would normally reply with a response message with a status code ranging from 300 to 699. UAE is simply the maximum number of 300~699 messages that can be tolerated per second. U T/ is an upper bound on the number of allowed transactions per node. An attacker may, for example, flood a target with a large number of IVITE messages, each of which is assigned a new branch value. An unsuspecting SIP node may keep creating new IVITE server transaction for each incoming IVITE message until the node resources are exhausted. U T/ is used to detect such phenomena. U P/T is an upper bound on the number of allowed packet rate (in terms of pps) per transaction. It is possible to flood a target with a large number of valid messages that do not cause any transaction nor application error. For example, one may flood a target with information responses (1xx) while the target has a client transaction in the Proceeding state. U P/T is used 5

to detect such phenomena. Each SIP node may have a different set of optimal threshold values. Administrators may use historical data to look for threshold values that minimize both false positive and false negative results. 4.4 Strengths and Limitations of Our System Our system is particularly effective in detecting invalid message flooding described in Section 2.2 and DRDoS attacks described in Section 2.3, as both types of attack cause errors in transaction and application layers in the target host. It is also somewhat effective in detecting legitimate message flooding in Section 2.1, provided that the rate of messages exceeds one of our thresholds. Also our system can be implemented as an external program or network node, and therefore can work with most existing SIP applications. Our system does not require modification of existing SIP software. Attacks that use malformed messages and spoofed messages described in Section 2.4 and Section 2.5 are out of the scope of our work. Some of these attacks have been addressed in the related works. 5. Conclusion We have proposed a method for detecting incoming SIP messages unexpected by a SIP node. By counting the number of such occurrences and a number of other anomalies, we are able to further confirm a DoS attack. Our proposed method is able to detect anomalies in a separate process or node. This allows us to implement a detection system as an external entity, such as a stateful firewall, that can concurrently monitor multiple SIP entities. As for our future work, we are going to build a prototype to test the concept. We also need to address synchronization problems that may occur when the state of a SIP node and the state inferred by a detection system are out of sync. This can happen if packet is lost on one but not the other. References [1] ITU, Draft Revised Recommendation H.323 V5, Geneva, 20-30, May 2003. [2] H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler, and J. Rosenberg, SIP: Session Initiation Protocol, RFC 3261, June 2002. [3] VoIP Security and Privacy Threat Taxonomy Public Release 1.0, VOIPSA, October 2005. [4] S. Gibson, Distributed Reflection Denial of Service, http://grc.com/dos/drdos.htm, Feb. 2002. [5] E. uwere, M. Varpiola, The Art of SIP Fuzzing and Vulnerabilities Found in VoIP, Blackhat Briefings, 2005. [6] Oulu University, Protos Test-Suite: c07-sip, http://www.ee.oulu.fi/research/ouspg/protos/testing/ c07/sip/index.html [7] Codenomicon, Codenomicon SIP Test Tool, http://www.codenomicon.com/products/telecommun ications/sip/ [8] Geneiatakis D., Kambourakis G., Dagiuklas T., Lambrinoudakis C. and Gritzalis S., "A Framework for Detecting Malformed Messages in SIP etworks", the 14th IEEE Workshop on Local and Metropolitan Area etworks (LAMA), Greece, September 2005 [9] P. Truong, D. ieh, and M. Moh, Specificationbased Intrusion Detection for H.323-based Voice over IP, 2005 IEEE International Symposium on Signal Processing and Information Technology, Athens, Greece, Dec. 2005. [10]. Wu, S. Bagchi, S. Garg,. Singh and T. Tsai, SCIDIVE: A Stateful and Cross Protocol Intrusion Detection Architecture for Voice-over-IP Environments, 2004 International Conference on Dependable Systems and etworks (DS'04), Florence, Italy, 2004 [11] Hopcroft & Ullman, 1979, "Introduction to automata theory, languages and computations", Addison-Wesley [12] A. Kulkarni, S. Bush, S. Evans, "Detecting Distributed Denial-of-service Attacks Using Kolmogorov Complexity Metrics," Technical Report 2001CRD176, GE Research and Development Center, 2001 [13] E O Brien, etbouncer: A practical clientlegitimacy-based DDoS defense via ingress filtering, ARPA Information Survivability Conference and Exposition (DISCEX'03), ISB: 0-7695-1897-4, page 14-25, DC, USA, 2003 [14] T. M. Gil and M. Poletto, "Multops: a datastructure for bandwidth attack detection," the 10th USEIX Security Symposium, MA, USA, 2001 6