You are on page 1of 8

CPU-based DoS Attacks Against SIP Servers

Ming Luo Tao Peng Christopher Leckie


Department of Computer Science and Software Engineering
The University of Melbourne, Australia
Email: lming2959@gmail.com {tpeng, caleckie}@csse.unimelb.edu.au

Abstract—A key component of VoIP networks is the SIP the basis for launching Denial of Service attacks.
signaling infrastructure. The reliance of public SIP servers on In this paper, we focus on denial of service attacks against
the Internet has opened up this critical infrastructure to a range
SIP infrastructure. Our contribution is three-fold. First, we
of attacks. In particular, Denial of Service (DoS) attacks pose a
serious security threat to the quality, reliability and availability of have devised and implemented four types of CPU-based DoS
VoIP operations. In this paper, we investigate the impact of DoS attacks against a popular open source SIP server. Second,
attacks on SIP infrastructure, using a popular open source SIP we have proposed countermeasures for each type of attack.
server as a test bed. We have identified four attack scenarios Third, we have identified several strategies for an effective
that can exploit vulnerabilities in existing SIP authentication
DoS attack defense mechanism and pointed out some future
protocols, and we demonstrate the practical impact of these
attacks on the target server. In response to these vulnerabilities, research directions.
we have proposed several countermeasures to defend against The structure of this paper is as follows. Section II gives a
each attack scenario. Our experimental results show that the brief introduction to the SIP protocol and its potential for DoS
current SIP implementation is highly vulnerable to DoS attacks attacks. Section III defines four types of DoS attacks against
and countermeasures are needed to make these servers more
resilient. More importantly, we prove that authentication alone
SIP servers. These four types of attacks are then implemented
is no defence against DoS attacks in this context, and can actually and evaluated in Section IV. Furthermore, we discuss the
increase the vulnerability of target servers instead of solving the possible countermeasures that can be used to enhance the
problem of DoS attacks. security of the SIP server in Section V. Finally, an overview of
related works in given in Section VI and conclusion is drawn
I. I NTRODUCTION
in Section VII.
VoIP (Voice over Internet Protocol) technology is gradually
replacing the Public Switched Telephone Network (PSTN) II. BACKGROUND ON SIP P ROTOCOL
as a platform for private and public telephony. During this
evolution, the Session Initialization Protocol (SIP) has become A. Introduction to the Session Initiation Protocol
a widely adopted protocol for signaling in VoIP applications The Session Initiation Protocol (SIP) has been developed
[1] [2]. An important challenge for VoIP service providers by the IETF as an application layer call signaling protocol for
is how to support security management, in order to provide a use in VoIP services. In this section, we introduce the relevant
level of security that is comparable to users’ expectations from concepts in SIP for this paper. For a detailed specification of
PSTN services [3]. Unfortunately, the openness of the Internet SIP, readers are referred to [5].
has not only brought enormous benefits but also unprecedented
1) SIP Entities: The key entities involved in SIP signaling
security challenges to VoIP applications. In contrast to the
are the User Agent, the Registrar (also known as the User
closed and centrally-controlled PSTN, any system connected
Location Server), and the proxies.
to the Internet is exposed to a variety of attacks, such as denial-
of-service attacks [4]. In this paper, we focus on one important • User Agent: The role of the User Agent is to initiate and
aspect of security management for VoIP, namely defending receive calls on behalf of the user.
against Denial of Service (DoS) attacks on the SIP signaling • Registrar: A server that keeps track of the location of
infrastructure. registered users [6].
SIP is an application-layer signaling protocol for creating, • Proxy: A signaling server that receives, processes and
modifying, and terminating multimedia sessions with one forwards connection requests, so that a request from a
or more participants [5]. A SIP server is responsible for user agent reaches the desired called party.
interpreting incoming SIP packets and setting up sessions 2) SIP Messages: The signaling messages in SIP support
between callers and callees. SIP is normally run over UDP and requests from clients to Registrars or proxies, and their corre-
IP protocols, which gives no guarantees of the authenticity of sponding replies. The different categories of request messages
the source. This makes it vulnerable to many types of attacks, are shown in Table I. Of particular importance to this paper is
such as call hijacking and SIP-entity impersonation attacks. the REGISTER method, which is used by a client to request
Generally, authentication mechanisms are used to address authentication by a Registrar server, so that the client’s location
these security concerns. However, authentication is a resouce- is maintained in the server. The corresponding reply status
intensive process, which has the potential to be exploited as codes are shown in Table II.

978-1-4244-2066-7/08/$25.00 ©2008 IEEE 41

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.
TABLE I
SIP R EQUEST M ETHOD

Method Purpose Authentication?


INVITE Initiate a session Yes
ACK Acknowledge session initiation No
OPTIONS Query server capabilities No
BYE Terminate a sesssion Yes
CANCEL Cancel a pending request Yes
REGISTER Register a user’s location Yes

TABLE II
SIP S TATUS C ODE

Status Code Description Example


1xx Informational 100 Trying Fig. 2. HTTP Digest-based SIP authentication mechanism
2xx Success 200 OK
3xx Redirection 300 Multiple choices
4xx Client error 401 Unauthorized
5xx Server error 503 Service unavailable default. However, in an open network environment, such as
6xx Global failure 600 Busy everywhere the Internet, some SIP message packets may be generated by
malicious users, whose aim is to exhaust network resources
supporting the SIP-based VoIP communication service. Con-
sequently, SIP-based systems are highly vulnerable to DoS
attacks, especially when the HTTP Digest Authentication
Mechanism, shown in Figure 2, is applied to the SIP pro-
Fig. 1. Authorization Header in SIP Register Request
tocol. Our proposed attacks are based on the HTTP Digest
Authentication Mechanism.

3) SIP Operation: Each user agent is associated with a C. DoS Attacks on SIP
specific domain, e.g., a user is identified using a URI of the We can categorize the types of DoS attacks on the SIP
form sip:user@host, where host specifies the domain of the proxy/Registrar into three main categories: SIP Malformed
user. The user’s current location needs to be maintained with Attack, Basic SIP Flood and Advanced SIP Spoof Flood. SIP
the Registrar for the user’s domain, so that when a call is made Malformed Attack aims to crash a SIP server by exploiting
to that user, the proxy server of the calling party can find the any software vulnerabilities, such as a buffer overflow [4]. A
current location of the desired suer. Basic SIP Flood consists of a large number of SIP REGISTER
4) SIP Authentication: In order to avoid address hijacking or INVITE packets sent to targeted SIP servers to consume
in VoIP services, it is essential that Registrar servers au- their bandwidth and CPU resources. There are no special
thenticate users before they update their current address. The requirements for the SIP packet header, which can be filled
digest-based authentication process is illustrated in Figure 2. with random content. In contrast, an Advanced SIP Spoof
This three-step process begins with a Register request to Flood not only uses the traffic volume of a Basic SIP Flood
the server. In order to authenticate the user, the Registrar but also has specially crafted headers, for example, the autho-
server issues a challenge message, indicating that the user is rization header. Packets with such headers consume more CPU
currently unauthorized, and providing a nonce (a unique string resources than a randomly generated SIP packet because the
that can include a time stamp) and a realm that identifies server needs to go through expensive authentication process
the domain of authentication. These parameters are used to to validate such carefully designed packets. In this paper, we
generate a response to the challenge, which is based on the focus on the Basic SIP Flood and Advanced SIP Spoof Flood
username, nonce and realm, and encoded using the user’s attacks.
secret password. A typical authorization header is shown in Generally, there are two categories of SIP server implemen-
Figure 1. In this way, the server can authenticate the user tations: stateful servers and stateless servers. Stateful servers
without requiring any state to be kept at the server. If the store the state information of each transaction in their memory.
response is valid, then the user is successfully registered. In contrast, stateless servers require the state information of
each transaction to be embedded in the packet headers. Gen-
B. Vulnerabilities on SIP erally, in order to disrupt the target’s service, either network
According to [5], SIP adopts the HTTP Digest Authentica- resources or server resources should be consumed by the attack
tion Mechanism as its standard authentication mechanism. requests. Since attacks against network resources depend more
Due to the lack of a strong authentication mechanism, SIP on the Internet infrastructure rather than the VoIP servers, in
servers, like the SIP Registrar Service (User Location) and this paper we focus on attacks that are specially designed to
Proxy, must trust and process all SIP message packets by consume SIP server resources.

42

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.
Potentially vulnerable server resources include memory and
CPU resources. During operation, when one of these two
resources has been exhausted, the service of the target will
be denied. A SIP server needs to keep a copy of the incoming
request in its internal buffer. The size of the each request can
vary from a few hundred bytes to a few thousand depending
on the message type. A stateless SIP server deletes the
buffered data once the message is sent out. However, a stateful
server keeps the buffered data throughout each transaction or
session. Obviously, stateful SIP servers are more vulnerable to
memory-based DoS attacks due to the amount of information Fig. 3. Adaptive Nonce-based Attacks
that has to be kept locally. An attacker can send many bogus
SIP requests to force the SIP server to keep a large number of
broken sessions [6], which can occupy all the system memory address. All of these attacks exploit the authentication process
and leave no space for new SIP requests. on the SIP registration server. However, each differs in the
Stateless SIP servers are robust against memory-based DoS level of sophistication with which it exploits the authentication
attacks as no state information is kept at the server. For this process. We now describe each of these attack types in more
reason, stateless SIP servers are widely used, as they are detail.
considered to be less likely to be vulnerable to memory based
A. Basic Flood
attacks. However, a considerable amount of CPU time needs to
be spent by stateless servers in analyzing SIP packet headers In this scenario, attackers continuously send a vast number
to authenticate whether the incoming packet belongs to an of SIP requests to the target SIP server via brute force. Each
established session. attack packet is not specially designed, other than to contain
For example, for normal stateless SIP server operation, most repetitive or random data. As a consequence, the attack packets
CPU time is used to parse SIP messages, such as INVITE can be filtered by the first stage of the SIP server authentication
and REGISTER messages, and verify users’ identities by process (shown in Figure 4a). The essence of this attack is
generating and validating credentials. When the number of quantity instead of quality.
carefully-designed attack messages reaches a certain level, the
B. Static-Nonce-Based Flood
target server’s CPU will be “busy” all the time and no new
SIP requests can be served. In this paper, our main focus is In this attack scenario, each SIP request contains an Autho-
to identify and analyze CPU-based DoS attacks on stateless rization Header, which includes a spoofed nonce. As shown in
SIP servers. Figure 2, a nonce is a credential that can be used to validate
a incoming request.
III. ATTACK M ETHODOLOGY This attack is done in three steps. First, an attacker intercepts
A successful DoS attack has to consume as many resources a nonce from the target SIP server, which can then be used
of the target server as possible. Let Rtotal represent the total to generate an Authentication Header. This interception can
host resources consumed by a DoS attack, rpacket represent be done via shared media, such as ethernet or wireless.
the average resources consumed by each attack packet and N Alternatively, the nonce can also be obtained by probing
represent the total number of attack packets. Hence, we have the server actively. For example, an attacker sends a request
containing a legitimate user ID to the target server and receives
Rtotal = rpacket ∗ N (1) a packet with a valid nonce in return. Second, the generated
Authentication Header can be used to form a SIP packet
In order to amplify the attack’s power, we can increase either header. Finally, multiple SIP requests with such headers are
the number of attacker packets or the resources consumed by sent to the target. The attack packets can only be filtered at the
each attack packet. fourth stage of the SIP server authentication process (shown in
Based on this principle, we have designed four types of Figure 4a). The crux of this attack is that it focuses on quality
DoS attacks against SIP Registrar servers. The first type of as well as quantity.
attack is called a Basic Flood, which is purely based on
traffic volume. The second type of attack is called a Static- C. Adaptive-Nonce-Based Flood
Nonce-Based Flood, which aims to increase the resources Generally, each nonce has its own lifetime [7]. If the same
consumed by each attack packet. The third type of attack is nonce is used repetitively, it will eventually expire, which
called an Adaptive-Nonce-Based Flood, which is designed to will prevent the target SIP server from processing any further
bypass the restriction on the validity time of a nonce. The requests. This limits the CPU resources that can be consumed
fourth type of attack is called an Adaptive-Nonce-Based Flood by each such packet. Hence, the key feature in the Adaptive
with IP Spoofing, which is designed to bypass the restriction Nonce-based attack scenario is that the nonce is constantly
on the number of requests that can be sent from each IP refreshed before it expires.

43

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.
Fig. 5. Experimental setup for attack simulation

in Section III. The goal of our experiment is to test and validate


the effectiveness of each SIP flood attack scenario, and find
appropriate countermeasures to defend against such attacks.
As shown in Figure 5, two PCs are used as attacking
machines, one PC is used as a SIP server, and one PC serves
as a normal VoIP client. These four PCs are connected via a
100 Mbps Ethernet switch.
1) Client and Server: PJSUA [8] is a command line SIP
user agent (UA) written using PJSIP open source SIP stack,
which is installed to simulate a legitimate VoIP client.
Fig. 4. SIP Server Authentication Process The SIP server is a PC with linux distribution Ubuntu 6.06
[9] installed. It has 512 MB RAM and a 2.6 GHz Intel Pentium
3 CPU. A popular open source software SIP Express Router
As shown in Figure 3, this type of attack includes a (SER) [10] is installed to provide SIP registration, proxy,
component called a Nonce Refresher, which is used to probe and redirection services. MySQL [11] is used as a database
the target SIP server constantly to obtain a valid nonce. This backend to support the SER application.
nonce is then used to make a spoofed authentication header, 2) VoIP Puzzler: VoIP Puzzler is a modified version of
which can force the target SIP server to go through all the PJSUA that we have developed to generate the four types
processes mentioned in Figure 4a. Consequently, each attack of attacks mentioned in Section III. As shown in Figure 6,
packet can consume more resources than in the previous type the key aspect of the VoIP Puzzler is that it modifies the
of attack. normal registration process and constantly sends VoIP Register
requests regardless of the target server’s reply.
D. Adaptive-Nonce-Based Flood with IP Spoofing The main goal of the VoIP Puzzler is to be able to generate
Some SIP servers keep track of the number of SIP requests a large volume of attack packets with minimal overhead.
from each individual IP address. If too many SIP requests are However, the PJSIP library is a typical implementation based
received from one IP address, packets from that IP address on the SIP protocol and specifies transaction-based process
will be rate-limited or blocked. This is an effective anti-DoS control on the client side, which only allows a SIP Register
measure if attack packets come from a small number of IP request to be retransmitted twice. This is unacceptable for
addresses. However, since SIP servers generally operate on an attack tool. Therefore, we removed state control at the
top of UDP, which provides no mechanism to validate source transaction layer so that an arbitrary number of SIP requests
IP addresses, it is trivial for attackers to bypass this protection such as Register, Invite, Cancel and Bye can be sent to the
mechanism by spoofing a large number IP addresses. In this SIP server.
attack scenario, we randomly spoof the source IP address in Moreover, in order to consume more server resources, any
each request packet, which reduces the number of SIP requests SIP request from the VoIP Puzzler needs to contain a response
from each IP address and hence bypasses this protection to the challenge sent by the server. Generally, the response is
mechanism. the MD5 [12] checksum of the username, the password, the
given nonce value, the HTTP method, and the requested URI.
IV. E XPERIMENTAL E VALUATION
To save CPU resources at the attack end, we avoid calculating
A. Experimental Setup the MD5 checksum for each SIP request and just reuse the
To evaluate the effectiveness of our four proposed attacks, response whenever possible.
we implemented the four types of SIP flood attacks described Since the SIP Express Router (SER) uses a stateless nonce

44

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.
CPU Usage for Attacks on Original SER Server

Registrar Server CPU Usage (%)


Adaptive-Nonce-Based Flood
100 Static-Nonce-Based Flood
Basic Flood
80

60

40

20
Fig. 6. Modification of SIP Registration Process
0
0 1 2 3 4 5
Packets Transmit Rate (MB/S)
implementation, the lifetime of a nonce is limited. As a result,
the VoIP Puzzler has to send a REGISTER request without an Fig. 7. SIP server performance under different attack scenarios
Authorization Header to the SIP Registrar server to ask for
a challenge packet, in which a valid nonce is included. This CPU Usage Comparison between Original and Enhanced SER
valid nonce can then be used to generate a SIP REGISTER

Registrar Server CPU Usage (%)


Adaptive Nonce
request with a “valid” Authentication Header, which will force 100 Static Nonce with Original SER
Static Nonce with Enhanced SER
the target SIP server to consume CPU time on authenticating
80
it.
60
B. Metrics for Evaluation
40
In our experiment, the following metrics are used to measure
the resource consumption at the target SIP server. 20

• CPU Usage is used to measure CPU resource consump- 0


0 1 2 3 4 5 6
tion, which is the main target of the attacks introduced Packets Transmit Rate (MB/S)
in this experiment.
• Flow Rate is used to measure the bandwidth consumed Fig. 8. SIP server performance using enhanced authentication process
by the VoIP Puzzler.
• Required DoS Flow Rate is used to indicate the minimum
flow rate to cause denial of service. In our experiment, carry a valid nonce. However, the difference between these
when CPU Usage is close to 100%, we consider that the two attacks is generally small. This is due to the default
service of the SIP server is denied. authentication implemented at SER. As shown in Figure 4(a),
• User Agent Delay is used to measure the level of disrup- the server checks whether the nonce has expired after the
tion to a normal VoIP user. User ID has been checked. Generally, User ID checking is
• Nonce Sampling Period is used to measure the frequency more expensive to do than nonce checking as it requires time-
with which a valid nonce is obtained from the target consuming database operations. Hence, an updated nonce does
server. not help as the User ID checking will be done regardless.
Note that the default value for the nonce-expiry-time is 200 In order to make the authentication process in the SER more
seconds for the following experiments. robust, we need to reorder the authentication procedures. As
shown in Figure 4(b), we check whether the nonce has expired
C. Experimental Results before checking the user ID. In this way, the server will not
Figure 7 shows the CPU usage of the target SIP server spend any unnecessary resources to deal with a packet once
under the Basic, Static-Nonce-Based and Adaptive-Nonce- its nonce is found to have expired.
Based Floods. In particular, when the packet transmission rate We launched Static-Nonce-Based and Adaptive-Nonce-
reaches approximately 5 MB/s, the Static-Nonce-Based and Based attacks on the target SIP server with the modified
Adaptive-Nonce-Based attacks can consume almost 100% of authentication process. The results are shown in Figure 8.
the target server’s CPU resources, while the Basic Flood can Under the same 6 MB/s Static-Nonce-Based attack, 100% of
only consume about 40% of the CPU resources. We can see the CPU resources of the original SER are consumed while
that the Basic Flood is the least effective as its attack packets only 40% are consumed for the SER with the modified authen-
do not contain valid User IDs and hence the target SIP server tication process. However, the performance of the Adaptive-
will spend less time to deal with such packets. Nonce-Based attack is unchanged for the original SER and the
Moreover, the Adaptive-Nonce-Based attack often con- enhanced SER due to its refreshed nonce.
sumes more CPU resources than the Static-Nonce-Based at- 1) Effects of Nonce Sampling on Adaptive-Nonce-Based
tack under the same attack rate as its attack packets always Flood: The modified SER can defeat Adaptive-Nonce-Based

45

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.
Nonce-Sampling Effects on Adaptive-Nonce Attack Performance UA Registration Delay Comparison
12
Spoofing (with PIKE)
Required DoS Flow Rate (MB/S)

11 Adaptive (without PIKE)


1000 Adaptive (with PIKE)
Baseline
10

UA Delay (ms)
9 100
8

7 10
nonce expiry time=20s
6 nonce expire time=50s
nonce expire time=100s
5 1
0 5 10 15 20 25 30 35 40 45 0 20 40 60 80 100
Nonce Sampling Period (s) Nonce Expiry Time (s)

Fig. 9. Nonce Sampling Effects on Adaptive-Nonce-Based Attack Fig. 10. The effectiveness of PIKE module under different attack scenarios

Floods by tightening the nonce expiry time. However, attackers two types of attacks. The first type of attack is the Adaptive-
can defeat this protection mechanism by probing the target Nonce-Based attack, which was described in the previous
server more frequently to obtain a valid nonce and reuse that section. The second type of attack is the Spoofing attack,
nonce. which is similar to the Adaptive-Nonce-Based attack except
Figure 9 shows the minimum flow rates required for that the source IP addresses of the attack packets are spoofed.
Adaptive-Nonce-Based attacks to cause 100% CPU usage at The attack traffic rate is set to be 5MB/s for both attack
the target SIP server under different nonce expiry settings. scenarios. However, the target SIP server has two sets of
Generally, the smaller the nonce-expiry-time, the more re- configurations, i.e., with or without the PIKE module enabled.
silient the server is to Adaptive-Nonce-Based attacks. For When the PIKE module is enabled, the maximum number of
example, when the nonce sampling period equals 5 seconds SIP requests from each IP address is set to be 1,000.
and nonce expiry time equals 100 seconds, the Required DoS While the target SIP server is under attack, a normal VoIP
Flow Rate is 5.6 MB/s. However, under the same nonce agent is instructed to send SIP requests to the server to test
sampling period, the Required DoS Flow Rate increases to the responsiveness of the target. As shown in Figure 10,
7.4 MB/s when the nonce expiry time equals 50 seconds and the x-axis represents the nonce expiry time of the SER,
11.5 MB/s when nonce expiry time equals 20 seconds. and the y-axis represents the User Agent (UA) delay in a
Moreover, the Required DoS Flow Rate increases as the log scale. “Baseline” represents the UA delay under normal
nonce sampling period increases. The larger the sampling operation, which is 1.2 ms. When the nonce expiry time
period, the more likely it is that the nonce used in the attack equals 50 seconds, the UA delay with the PIKE module is
has expired before it has been refreshed. Hence, as the expiry 1.36 ms. However, it becomes 127 ms if the PIKE module is
time decreases the attack becomes less powerful and requires disabled. Hence, the SER using the PIKE module is effective
larger volumes of attack traffic to deny service at the target. in defeating Adaptive-Nonce-Based attacks as the UA delay
Consequently, in order to limit the effectiveness of Adaptive- is close to the Baseline UA delay. In contrast, the UA delay
Nonce-Based attacks, smaller nonce expiry times should be increases dramatically once the PIKE module is disabled.
used by the server. Nevertheless, the Adaptive-Nonce-Based However, when a Spoofing attack is used, the UA delay
attack can be effective if the attack sources can generate a for the target using the PIKE module becomes the worst
sufficient volume of requests. of all four scenarios in Figure 10, i.e., the PIKE module
2) IP Spoofing versus PIKE module: In order to limit the increases the vulnerability of the target server to spoofing DoS
number of requests that will be accepted from a single IP attacks. This is a surprising result, which can be explained as
address, the SER includes a defense module called PIKE [13], follows. First, Spoofing attacks can simulate attack traffic from
which tracks the number SIP requests received per source IP a large number of source IP addresses, which can bypass the
address. Once the number of SIP requests from a given IP PIKE module. Even worse, the PIKE module adds its own
address exceeds a pre-configured threshold, requests from that overheads. In order to make sure that no single IP address has
IP address will be blocked. In our experiments, all the attacks a disproportionally large number of SIP requests, an overhead
are generated from two computers. Without masquerading is added to all requests to check the frequency of accesses
their source IP addresses, the SER with PIKE enabled can from that source, which takes up CPU resources. As shown
easily block traffic from these two machines once the attack from Figure 10, when the nonce expiry time equals 20 seconds,
traffic rate has reached a certain threshold. In order to defeat the UA delay is 13 ms for the Adaptive-Nonce-Based attack
the PIKE module, source IP addresses need to be spoofed to without the PIKE module, but 124 ms for the Spoofing attack
simulate SIP requests from a large number of VoIP users. with the PIKE module enabled. Thus, adding an additional
To test the effectiveness of the PIKE module, we designed layer of defense can create the risk of creating a new source

46

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.
of computational complexity for attacks to target. threshold. To avoid punishing this type of application, we can
The UA delay for the Adaptive-Nonce-Based attack with use a whitelist to ensure that this kind of application will not
the PIKE module is insensitive to the nonce expiry time on trigger an alarm or be blocked.
the target server. This is due to the fact that once one IP
address has been identified as sending too many requests, that C. A New Strategy for Nonce Generation
IP address will be blocked. Hence, the server will not spend Based on the experimental results shown in Section IV-C2,
any resources to authenticate the packets from the blocked we know that the same nonce can be reused by different IP
IP address. In contrast, for the other two attack scenarios, addresses. However, if the server issues the nonce according
namely, the Adaptive-Nonce-Based attack without PIKE and to the client’s IP address, the nonce can only be used by the
the Spoofing attack with PIKE, no IP addresses are blocked. IP address that requests it. In our experimental setup, only
Consequently, the UA delay increases with the increase of the two IP addresses can carry a valid nonce. Hence, the power
nonce expiry time, which is consistent with the observation in of the Adaptive-Nonce-Based flood with IP Spoofing can be
Section IV-C1. greatly reduced if such a scheme is in place. However, the
disadvantage of this approach is that it will disrupt the service
V. D ISCUSSION of normal VoIP users that use a proxy farm [7].
In this section, we aim to analyze the some fundamental
issues for designing a secure SIP server, and highlight several VI. R ELATED W ORK
directions for future research. In [15], Gilgor gave a classic definition of Denial of Service
attacks. In [4], Peng et al. gave a comprehensive survey of
A. Lightweight Authentication defense mechanisms against Denial of Service attacks. In this
From the experimental results in Section IV-C2, we can see section, we summarize the most relevant work in the area of
that the authentication process can be a handicap for normal VoIP DoS attacks.
server operation. It can reduce the server’s performance by Chen proposes a method to detect SIP message flooding
becoming a target for DoS attacks. DoS attacks are resource- by modifying the original finite-state machines for SIP trans-
consumption-based attacks, which means that any authentica- actions [16]. Cao and Malik analyzed the potential security
tion process has to be lightweight. If the authentication process issues faced by critical infrastructure sectors as they transform
is expensive, the target server will be vulnerable to DoS attacks from traditional telephony to VoIP systems [17]. In [18],
even if this authentication process can accurately differentiate Marshall et al. proposed a security architecture to protect
legitimate packets from attack packets. A promising approach AT&T’s VoIP infrastructure. Nascimento et al. investigated
would be using a history-based approach [14] to separate the impact of encryption mechanisms on voice speech quality
malicious requests from legitimate requests. For example, if in popular wireless technologies [19], and it was shown that
the target server keeps a database of regular caller’s IDs or IP encryption poses an overhead to VoIP applications and can
addresses, it can block any request if the ID or IP address of increase the vulnerabilities to DoS attacks. Abdelnur et al.
that request is not found in the database when the server is designed a VoIP fuzzing tool that can be used to inject random
under a DoS attack. This type of filter has been shown to be faults to identify the software vulnerabilities of VoIP systems
highly efficient as it is simple and does not need to go through [20]. This is different from our developed tool that focuses on
complicated and expensive procedures shown in Figure 4. launching DoS attacks against SIP servers. Sisalem et al. have
given a comprehensive analysis of possible attacks against
B. Parameter Setting VoIP infrastructure in [2]. In [1], Geneiatakis et al. discussed
In order to ensure that the SIP server is resilient to DoS the security threats to SIP servers. Our work is different
attacks while still responsive to legitimate users, system pa- in that we have not only analyzed the attack scenarios but
rameters need to be tuned carefully. Generally, a small nonce also implemented and evaluated these attacks based a widely
expiry time can effectively prevent the nonce from being available SIP server. In particular, in contrast to this previous
reused. However, it can also frustrate legitimate users. For work, our key contribution is an empirical analysis of the
instance, if a poor network connection renders a large packet effects of these types of attacks and several countermeasures
round trip time, the nonce issued to the legitimate user can under realistic conditions.
expire before the second request packet arrives at the server, as
shown in Figure 2. The same problem applies to the threshold VII. C ONCLUSION
of the number of SIP requests from each IP address. A In this paper, we identify several security threats to SIP
relatively low threshold can throttle a small scale DoS attack. signaling infrastructure in terms of their vulnerability to DoS
However, it could also block the SIP requests from a proxy attacks. We have implemented and tested four types of DoS
that aggregates the SIP requests from multiple SIP agents. attacks that can cripple a popular open-source SIP server. More
Consequently, these parameters need to be set with great care importantly, we have also proposed several modifications of
to optimize the server’s performance. In the scenario of a VoIP the SIP implementation that can greatly enhance the server’s
conference call to a single destination, there will be a large robustness against DoS attacks. We also point out that strong
number of SIP requests, which might trigger the detection authentication is not helpful in defending against DoS attacks.

47

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.
On the contrary, it can make things even worse as authenti-
cation is generally an expensive process, which can deplete
resources even more quickly under large-volume DoS attacks.
Finally, we proposed several promising research directions
towards solving DoS attack problems in this context.
ACKNOWLEDGMENT
We acknowledge the open source community for their
generous contribution to make our work possible. We thank
the anonymous reviewers for their insightful comments. This
work was supported by the Australian Research Council.
R EFERENCES
[1] D. Geneiatakis, G. Kambourakis, T. Dagiuklas, C. Lambrinoudakis, and
S. Gritzalis, “SIP security mechanisms: A state-of-the-art review,” in
Proceedings of the Fifth International Network Conference (INC 2005),
Samos, Greece, 2005, pp. 147–155.
[2] D. Sisalem, S. Ehlert, D. Geneiatakis, G. Kambourakis, T. Dagiuklas,
Jiřı́, M. Rokos, O. Botron, J. Rodriguez, and J. Liu, “Towards a secure
and reliable VoIP infrastructure,” http://www.snocer.org/Paper/COOP-
005892-SNOCER-D2-1.pdf.
[3] A. Conway and B. Khasnabish, “End-to-end network reliability mod-
eling of enterprise VoIP services,” in Proceedings of 10th IEEE/IFIP
Network Operations and Management Symposium (NOMS 2006), Van-
couver, Canada, April 2006, pp. 404–413.
[4] T. Peng, C. Leckie, and K. Ramamohanarao, “Survey of network-based
defense mechanisms countering the DoS and DDoS problems,” ACM
Comput. Surv., vol. 39, no. 1, 2007.
[5] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson,
M. H. R. Spark, and E. Schooler, “Session initiation protocol,” RFC
3261, the Internet Engineering Task Force (IETF), 2002.
[6] D. Sisalem, J. Kuthan, and G. Schäfer, “Denial of service attacks
and SIP infrastructure:attack scenarios and prevention mechanisms,”
http://www.snocer.org/Paper/sisalem dos.pdf.
[7] J. H. J. Franks, P. Hallam-Baker, “HTTP authentication: Basic and digest
access authentication,” RFC 2617, the Internet Engineering Task Force
(IETF), 1999.
[8] “Open source SIP stack: PJSIP library,” http://www.pjsip.org.
[9] “Ubuntu linux,” http://www.ubuntu.com.
[10] “SIP Express Router (SER),” http://www.iptel.org.
[11] “MySQL,” http://www.mysql.com.
[12] R. Rivest, “MD5 hashing scheme,” RFC 1321, the Internet Engineering
Task Force (IETF), 1992.
[13] “PIKE module,” http://www.iptel.org/ser/doc/modules/pike.
[14] T. Peng, C. Leckie, and K. Ramamohanarao, “Prevention from dis-
tributed denial of service attacks using history-based IP filtering,” in
Proceedings of 38th IEEE International Conference on Communications
(ICC 2003), Anchorage, Alaska, USA, August 2003, pp. 482–486.
[15] V. D. Gligor, “A note on denial-of-service in operating systems,” IEEE
Trans. Softw. Eng., vol. 10, no. 3, pp. 320–324, 1984.
[16] E. Y. Chen, “Detecting DoS attacks on SIP systems,” in 1st IEEE
Workshop on VoIP Management and Security, April 2006, pp. 53–58.
[17] F. Cao and S. Malik, “Vulnerability analysis and best practices for
adopting IP telephony in critical infrastructure sectors,” in Proceedings
of 1st International Conference on Security and Privacy for Emerging
Areas in in Communication Networks, September 2005, pp. 171–180.
[18] W. Marshall, A. F. Faryar, K. Kealy, G. de los Reyes, I. Rosencrantz,
R. Rosencrantz, and C. Spielman, “Carrier VoIP security architecture,”
in Proceedings of 12th International Telecommunications and Network
Strategy and Planning Symposium, NETWORKS 2006, November 2006,
pp. 1–6.
[19] A. Nascimento, A. Passito, E. Mota, E. Nascimento, and L. Carvalho,
“Can I add a secure VoIP call?” in Proceedings of the 2006 International
Symposium on a World of Wireless, Mobile and Multimedia Networks
(WoWMoM’06), June 2006.
[20] H. Abdelnur, V. Cridlig, R. State, and O. Festor, “VoIP security assess-
ment: Methods and tools,” in Proceedings of 1st IEEE Workshop on
VoIP Management and Security, Vancouver, Canada, April 2006, pp.
29–34.

48

Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on May 11, 2009 at 02:31 from IEEE Xplore. Restrictions apply.

You might also like