Re: [Sip] draft-state-sip-relay-attack-00

Raphael Coeffic <rco@iptel.org> Tue, 17 March 2009 09:48 UTC

Return-Path: <rco@iptel.org>
X-Original-To: sip@core3.amsl.com
Delivered-To: sip@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BAFF53A67DA for <sip@core3.amsl.com>; Tue, 17 Mar 2009 02:48:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.419
X-Spam-Level:
X-Spam-Status: No, score=-2.419 tagged_above=-999 required=5 tests=[AWL=0.180, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TpVf8pQoAsFt for <sip@core3.amsl.com>; Tue, 17 Mar 2009 02:48:15 -0700 (PDT)
Received: from mail.iptel.org (smtp.iptel.org [213.192.59.67]) by core3.amsl.com (Postfix) with ESMTP id 8A0533A697B for <sip@ietf.org>; Tue, 17 Mar 2009 02:48:15 -0700 (PDT)
Received: by mail.iptel.org (Postfix, from userid 103) id 4083B18111E4; Tue, 17 Mar 2009 10:48:57 +0100 (CET)
Received: from rco-imac.local (unknown [217.9.54.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mail.iptel.org (Postfix) with ESMTPSA id 2B1A81810BFB; Tue, 17 Mar 2009 10:48:56 +0100 (CET)
Message-ID: <49BF7207.5080709@iptel.org>
Date: Tue, 17 Mar 2009 10:48:55 +0100
From: Raphael Coeffic <rco@iptel.org>
User-Agent: Thunderbird 2.0.0.19 (Macintosh/20081209)
MIME-Version: 1.0
To: Nils Ohlmeier <lists@ohlmeier.org>
References: <49AE593F.6080807@iptel.org> <49BBA27C.4050805@cisco.com> <49BE1FEF.4020008@iptel.org> <49BEBA8C.2020406@cisco.com> <49BECC19.9080704@ohlmeier.org>
In-Reply-To: <49BECC19.9080704@ohlmeier.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: sip@ietf.org
Subject: Re: [Sip] draft-state-sip-relay-attack-00
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Mar 2009 09:48:16 -0000

Nils, Jonathan,

You may be aware of it or not, however, we have already implemented this 
scenario at iptel.org. This is because iptel.org does not have any own 
PSTN gateway. In this case, the user can configure a PSTN gateway he 
whishes to use when such a number is dialed. We implemented like this to 
cope with all the low-end phones that do not provide multiple accounts, 
or do not offer a convenient way for the user to provide routing rules.

Even cisco and snom phones (at least those we have) are not able to 
select the outbound account on their own, based on the R-URI. On the 
other hand, this is very easy to offer at the proxy level, provided that 
my proxy does relay challenges and responses to the UA (in this case, 
the realm is different).

So, as a conclusion, I do not think we are talking about theory, but 
about real existing applications. Of course, you could also store your 
other PSTN credentials at the proxy, and make it deal with the 
authentication for you. However, I'm quite sure you wouldn't be very 
confident about that, would you?

Regards,
Raphael.

Nils Ohlmeier wrote:
>>>> Server identity can be verified by normal server-only auth between a
>>>> client and its server, but even that is not needed.
>>> Right, mutual authentication seems to be the best way.
>>>
>>>> A client will know which domain its proxy is representing, and once
>>>> connected, it only provides credentials for that domain.
>>>>
>>> What do you mean by "connected"? And why should a UA only provide
>>> credentials for one domain only?
>>
>> I'm saying, when a phone registers or makes a call, it does so by
>> connecting to a SIP server, through a domain name or IP config or
>> whatever. THat server will have an associated credential. For any
>> request sent to that server, it should never provide a credential except
>> the one associated with it.
>>
>> Your attack is possible only when the client sends credentials for a
>> domain, different than the one it is currently registered or placed the
>> call through in the first place.
>
> And the SIP server which relays the INVITE from the attacker to the 
> victim has to drop (?) the challenge if it receives such from the 
> attacker (at least if the realm is identical to the one used by the 
> server itself).
>
> This is basically the same description which I provided already earlier.
>
> The only open "issue" is then relaying of 407/401 replies from 
> downstream elements by the proxy. I agree with Jonathan that I also do 
> not believe that this actually a real world scenario. But mutual 
> authentication in the challenge might help to solve this issue if 
> people insist of keeping this scenario.
>
> Regards
>   Nils