[VOIPSEC] Analysis of a VoIP Attack

Iñaki Baz Castillo ibc at aliax.net
Thu Oct 23 16:45:16 CDT 2008


El Jueves, 23 de Octubre de 2008, Klaus Darilion escribió:
> Hi there!
>
> Recently, several IT news websites reported VoIP attacks against home
> users containing lots of myths and incorrect statements. Unfortunately,
> they also give wrong security advices.
>
> Thus, I decided to write an article about this attack and give some
> advices for protection. Maybe you find it interesting too - at least I
> do ;-)
>
> http://www.ipcom.at/index.php?id=565

Hi, good document, but there is an error when you say:

-----------------------
Source IP address 213.130.74.70 and source port 3808: Although the IP address 
could be easily spoofed, in this case it may be the real address of the 
attacker as the IP address is also present in the Via: header (used for 
sending back responses). Further, if the attacker wants to know the result of 
the attack, he has to receive the SIP responses meaning that he has to 
provide his real IP address.
----------------

That's incorrect: in SIP responses are *always* sent to the source IP, in UDP 
or TCP, and not to the IP indicated in Via "sent-by" field.
It's explained "clearly" in RFC 3261 Section 18.2.2:

------------
      o  Otherwise (for unreliable unicast transports), if the top Via
         has a "received" parameter, the response MUST be sent to the
         address in the "received" parameter, using the port indicated
         in the "sent-by" value, or using port 5060 if none is specified
         explicitly.  If this fails, for example, elicits an ICMP "port
         unreachable" response, the procedures of Section 5 of [4]
         SHOULD be used to determine where to send the response.
------------

And note that a UAS MUST add a "received" parameter to received Via header 
when:

--------------------
18.2.1 Receiving Requests
   When the server transport receives a request over any transport, it
   MUST examine the value of the "sent-by" parameter in the top Via
   header field value.  If the host portion of the "sent-by" parameter
   contains a domain name, or if it contains an IP address that differs
   from the packet source address, the server MUST add a "received"
   parameter to that Via header field value.  This parameter MUST
   contain the source address from which the packet was received.  This
   is to assist the server transport layer in sending the response,
   since it must be sent to the source IP address from which the request
   came.
----------------------


This is, the attacker will receive the responses always, since they will be 
always sent to the real source address, regardless of the Via "sent-by" 
value.

However, this is a typical confusion, I think the problem is the SIP design, 
in which the application level data (pure SIP) contains lower layers data 
(network and transport protocol).


Best regards.


-- 
Iñaki Baz Castillo




More information about the Voipsec mailing list