
client provides a user ID and password sent in clear
text – a clear vulnerability. In the
digest scheme,
password is encrypted in MD5 (by default)
algorithm (Rivest, R. et al., 1992); the server sends a
response including a checksum of the nonce value,
and the client returns it to the server. This scheme
also represents a vulnerability since a replay attack
can still succeed by simply re-sending whatever
request that the attacker captures.
An important feature in aid of authentication is
message integrity. Message integrity is based on an
e-mail transport mechanism that transports
Secure/Multipurpose Internet Mail Extensions
(S/MIME) (Dusse, S. et al., 1998). Messages are
signed using a public-key encryption mechanism. A
SIP implementation may be tested whether or not
encryption is being used regardless of the encryption
quality.
Confidentiality, another related security feature, is
commonly based on using encrypted-only format for
messages. Signed-only and encrypted-only formats
can be combined to provide authentication, message
integrity and confidentiality (D. Comer, 2003).
To carry out SIP routing, end-to-end and hop-by-hop
security is needed. However, proxies need to
examine certain headers in order to route. Headers
cannot be encrypted end-to-end, but they can be
encrypted hop-by-hop. End-to-end encryption is
essential because some session description protocols
such as SDP used with SIP carry keys for encrypting
the media. This is another area of vulnerability.
3 SUMMARY OF RELATED
STUDIES
Mini-simulation (PROTOS, http://www.ee.oulu.fi-
/research/ouspg/protos) is a functional method for
assessing protocol implementation security. The
method is designed for robustness testing that test
the robustness of IUT in the face of unexpected and
exceptional input. A protocol implementation that
improperly handles the unexpected or malformed
message may leave a security hole to some attacks.
For example, a buffer overflow is possible because a
programmer wrote lines of code that do not properly
check the size of the destination area or buffer. A
malicious user can launch a buffer overflow attack
to cause the program to crash or hang.
The mini-simulation method provides a relatively
simple and effective means for syntax-based
robustness testing. But it is too limited to detect
buffer overflow and Denial-of-Service, and it is
syntax based, not checking the semantic meaning of
the request/response.
In the next section, we give our approach for
investigating vulnerabilities related to Session
Establishment and User Registration, particularly
with respect to Authentication.
4 OUR APPROACH
We use a systematic manual method for testing a
SIP system for related security vulnerabilities. Our
approach aims to exercise the known areas of
weakness including the inherent vulnerabilities in
SIP specification and the implementation
vulnerabilities caused by programmers’ negligence.
Attack request messages are injected into the
Implementation Under Test (IUT) and the system
response observed. Note that our approach is not
syntax-based, so the attack messages are in well
form. Any response tolerating the attack request is
an indicator of one or more security vulnerabilities
in the IUT implementation. We have developed a
test tool to inject the attack requests. By using the
attack-directed test cases and test tool, we
successfully identified a number of vulnerabilities in
a popular open source SIP implementation, namely
VOCAL (VOCAL, August 2003).
5 SECURITY THREATS AND
ATTACKS
The SIP system is deployed in the Internet, a hostile
environment, in which SIP elements and messages
may be exposed to a variety of security threats and
attacks. A threat is, by definition, a vulnerability
available to a motivated and capable adversary
(Bellovin, S., 1998).
This section now presents and analyses some threats
that could be used to exploit the SIP implementation
for the authentication aspect of security. Threats
and attacks attempting to breach the lower layer
encryption protection (e.g. TLS and IPSec (Dierks,
T. et al., 1999) (S. Kent et al.,1998)) are not
discussed in this document.
• Replay Attack
Replay attack involves a malicious user
retransmitting a genuine message in order to
establish authorized communication with the entity
receiving the message. Replay attack is a common
ICETE 2004 - SECURITY AND RELIABILITY IN INFORMATION SYSTEMS AND NETWORKS
224