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

Hadriel Kaplan <HKaplan@acmepacket.com> Sat, 07 March 2009 19:18 UTC

Return-Path: <HKaplan@acmepacket.com>
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 751BF3A692F for <sip@core3.amsl.com>; Sat, 7 Mar 2009 11:18:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.522
X-Spam-Level:
X-Spam-Status: No, score=-2.522 tagged_above=-999 required=5 tests=[AWL=0.077, 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 GJrTC1KJrhpV for <sip@core3.amsl.com>; Sat, 7 Mar 2009 11:18:31 -0800 (PST)
Received: from etmail.acmepacket.com (etmail.acmepacket.com [216.41.24.6]) by core3.amsl.com (Postfix) with ESMTP id 898803A6893 for <sip@ietf.org>; Sat, 7 Mar 2009 11:18:31 -0800 (PST)
Received: from mail.acmepacket.com (216.41.24.7) by etmail.acmepacket.com (216.41.24.6) with Microsoft SMTP Server (TLS) id 8.1.291.1; Sat, 7 Mar 2009 14:19:02 -0500
Received: from mail.acmepacket.com ([127.0.0.1]) by mail ([127.0.0.1]) with mapi; Sat, 7 Mar 2009 14:19:02 -0500
From: Hadriel Kaplan <HKaplan@acmepacket.com>
To: Jan Janak <jan@ryngle.com>, Nils Ohlmeier <lists@ohlmeier.org>
Date: Sat, 07 Mar 2009 14:18:43 -0500
Thread-Topic: [Sip] draft-state-sip-relay-attack-00
Thread-Index: AcmfU1PoLkKPRRb1R8yqgkkqjeBonwAAKyPQ
Message-ID: <E6C2E8958BA59A4FB960963D475F7AC314C4DE6292@mail>
References: <49AE593F.6080807@iptel.org> <e4c7495a3f98d5a2a85ccf85047515f0.squirrel@www.ohlmeier.com> <20090307183313.GA4364@x61s.janakj.ryngle.net>
In-Reply-To: <20090307183313.GA4364@x61s.janakj.ryngle.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "sip@ietf.org" <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: Sat, 07 Mar 2009 19:18:32 -0000

> -----Original Message-----
> From: sip-bounces@ietf.org [mailto:sip-bounces@ietf.org] On Behalf Of Jan
> Janak
> Sent: Saturday, March 07, 2009 1:33 PM
>
> So a requirement to make the attack possible is that the user agent
> responds
> to challenges generated for in-dialog requests.

Right, and that the attacked domain accepts INVITEs from its AoR's with non-registered Contacts; or accepts INVITEs from its static AoR's to come in from unknown locations.  That's pretty rare in my world, but ymmv.


> > I do not see a
> > big benefit in challeging in-dialog requests as these are hopefully
> > rejected by the remote side if no matching dialog exists.
>
> Yes, hopefully :-). But what if not? What if you deploy a poorly
> implemented
> PSTN gateway which would happily process an in-dialog request with no
> matching
> dialog?  Of course you can test the gateway before you deploy it if it is
> under your control.

At that point you're describing something that is fundamentally broken.  All bets are off, including any preventative security measures you could take, etc.  I mean at that point you could just say "what if the user/password is published on a web site?"


> There are other cases where you know nothing about the target UA
> implementation, such as when the users of your proxy call other users and
> you
> have no control over the UA implementation they use.

Then get yourself a box that enforces the protocol rules in the middle. :)


> > - I never unterstood why a proxy should pass through the authentication
> > request from a foreign domain.
>
> Because this is how it is specified in section 22.3 of RFC3261.

And it would have to continue to do so.  There are actual use-cases for this.  I think there's even a reasonable use-case for challenging in-dialog requests: connected-identity, for example.

But you don't even need to challenge in-dialog requests for this form of attack: if the victim calls you, then you can challenge the initial INVITE.

-hadriel