Re: [MMUSIC] WGLC on draft-ietf-mmusic-sdp-uks-03

"Martin Thomson" <mt@lowentropy.net> Mon, 08 April 2019 02:18 UTC

Return-Path: <mt@lowentropy.net>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 32C51120279; Sun, 7 Apr 2019 19:18:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=nFQ77Azg; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=kAEnPlHF
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hW_i_L61-R4e; Sun, 7 Apr 2019 19:17:59 -0700 (PDT)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5DD9D12027B; Sun, 7 Apr 2019 19:17:59 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 5D4D420BBE; Sun, 7 Apr 2019 22:17:58 -0400 (EDT)
Received: from imap2 ([10.202.2.52]) by compute1.internal (MEProxy); Sun, 07 Apr 2019 22:17:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :cc:subject:content-type:content-transfer-encoding; s=fm1; bh=W2 DCoIcJd5BGZdTB3YODU5hS6RUQrbK6OlO2OjIS2eQ=; b=nFQ77AzgntsXGZF1a0 jyqrWFrSo00TLbNwqlLwjpOzNePHs3JOE2FO8PeXhnajBpekP22mdvx4/HSB4qnS Z7k8hpT8elAFNIYkVrX6IFprVVjH0Q0OES+f7CzeFJfbeM2BEMBs3/BGqzNP8hlH 0pTWjw3LAY8Mc2VGwYda9/Uvamecne2exK/84L58xnBRRgBNkPOfiip02G+3Rbpg 958j9d7V0H49GxwZwDzCVmThetv/58RgYFOXMP+9k5z++2RWcmdC3hVxzy/tBRra Hip48es9CQs/htajZVLAsncym6bYPQ7aQGX8WOd9HwyY9HShP0VlU6EL7eapcJns Ayjg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=W2DCoIcJd5BGZdTB3YODU5hS6RUQrbK6OlO2OjIS2 eQ=; b=kAEnPlHFipY8tXlAbGqOqUvYMpVl9ZMa2iUM2QzeOWFEDU3+x+8LiQ+aH U4UfEBdGSohWBYTNsgVqmmakLeCAR/iw/khKRDI6HXUKLY03/rCbyesMfh1DbAex S/hFk9Xd5UI8goRoxhIqgOfhSP7KKB4EAHxrbL1g1vUyzgWN4mJBWJRhVsO/7SNa V6d8OblmYMx5RcIV2byWjziOwIJHPl75m7GNuDVVWV1IgXkXrFrb7TfU6Iu4oR3y IGzqZmB2ubxxdZRxN9A1QR7t8cRBGfRon1xHZuJzu/Z/+TIfIIjvFZZBNckISfVi /7aD59mB9eC+yUjG6yvSuO4Nawrbw==
X-ME-Sender: <xms:Va-qXKr9OMh3oGklvFzcrfkBzoicIR96TS8UO0em7UAEvYIOZabesA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddruddvgdehkeculddtuddrgedutddrtddtmd cutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefofgggkfgjfhffhffvufgtgfesthhqredtreer jeenucfhrhhomhepfdforghrthhinhcuvfhhohhmshhonhdfuceomhhtsehlohifvghnth hrohhphidrnhgvtheqnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofigvnhht rhhophihrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:Va-qXCHzI2YJXEK-OUmiHagJCqVuZ4KablAOXhBK0qUtNJO_GWvd0g> <xmx:Va-qXOx4wNiOWeRwmlyQ4OHCa53zmYeYhgZn_pjPzdkXQzRTCSJxFQ> <xmx:Va-qXPqXEuBlrOz3My0nvjJa8Um2KJlXFun4qEV80BqdngkIhyvTNQ> <xmx:Vq-qXJdyn3dBW6TQ4S_IScI7hGW8lqga21HDbk3sY6xvMgSYuwy94g>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 5C6F77C1B9; Sun, 7 Apr 2019 22:17:57 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.6-329-gf4aae99-fmstable-20190329v1
Mime-Version: 1.0
X-Me-Personality: 92534000
Message-Id: <ea80d50b-9463-4bb4-ac89-862987a94585@www.fastmail.com>
In-Reply-To: <HE1PR07MB32592AA35C2183A0F1EB34BC8D550@HE1PR07MB3259.eurprd07.prod.outlook.com>
References: <ec74675d-c576-f728-0481-c9488fb13beb@cisco.com> <ea61540a-20c7-0c3d-1f7d-4d702d9a5332@cisco.com> <e17042ae-af33-4b86-8a99-086290a1e8c0@www.fastmail.com> <f28a5698-d7bd-b39a-b307-fc8ced708ad3@cisco.com> <69e1ed84-7bae-4258-897b-a6d36716c261@www.fastmail.com> <718ce899-166c-b793-c7d4-84bb5fcceea5@cisco.com> <HE1PR07MB32592AA35C2183A0F1EB34BC8D550@HE1PR07MB3259.eurprd07.prod.outlook.com>
Date: Sun, 07 Apr 2019 22:18:00 -0400
From: "Martin Thomson" <mt@lowentropy.net>
To: "Bo Burman" <bo.burman@ericsson.com>, "Flemming Andreasen" <fandreas@cisco.com>, mmusic <mmusic@ietf.org>
Cc: "draft-ietf-mmusic-sdp-uks@ietf.org" <draft-ietf-mmusic-sdp-uks@ietf.org>
Content-Type: text/plain;charset=utf-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/WCIsVPlmtA0icAl4fvn2rkOT3yA>
Subject: Re: [MMUSIC] WGLC on draft-ietf-mmusic-sdp-uks-03
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Apr 2019 02:18:01 -0000

> The text is clearer, but I still don't follow. If I understand RFC 8224 
> correctly, authenticated identity is only defined for SIP requests, 
> however all four 3PCC flows in RFC 3725 have the controller generate 
> the SIP INVITE, so how do the endpoints exchange authenticated identity 
> information ? 

Flows 2 and 3 show the Controller creating an offer, but in all cases it is an offer with no media.  The endpoints are still responsible for creating the offer that contains media.  Therefore I assume that they can create offers with identity assertions.

> >>  The text reads well, but I'm still left with the same question:  Section 3.1, second paragraph says there are two separate sessions (I take that to mean SIP sessions). It then goes on to say   "In the first session, Patsy is presented with the option to communicate with Norma "  If I understand correctly, this means there is a SIP INVITE sent by Mallory to Patsy, however Mallory somehow asserts Norma's identity to Patsy. How is Mallory able to do that if we are using SIP Authenticated Identity ? I'm not sure if the above would be cleare if the flow was expanded to show INVITE and 200-OK.  Yeah, I really want to avoid adding all the SIP stuff here.  There would be lots of irrelevant messages involved and it distracts from the message. The key insight here is that SIP identity only certifies a small number of fields and that the rest of the session is open to be modified by the signaling server.  RFC 8225 only covers the identity (sip:norma@example or tel:+12345556789) and the a=fingerprint values, everything else is open to attack.  So if we allow Mallory the ability to modify signaling, there is a lot she can do.  In practice however, this doesn't require much of an attack on the session, other than (maybe) to substitute transport parameters. >From the perspective of SIP and SIP identity, these are largely legitimate sessions.  The attack on signaling is necessary only to the extent that the attack also depends on  I've added more text here, realizing that it was a little light.  This is the updated section in full: "The attack requires that Mallory obtain an identity binding for her own identitywith the fingerprints presented by Patsy (P).  This false binding is thenpresented to Norma (Signaling1 in the figure).
> You mean Signaling2 in the figure (below), right ? 
> 
> 
>  Norma Mallory Patsy
>  (fp=N) ----- (fp=P)
>  | | |
>  | |<---- Signaling1 ------>|
>  | | Norma=N Patsy=P |
>  |<---- Signaling2 ------>| |
>  | Norma=N Mallory=P | |
>  | |
>  |<=================DTLS (fp=N,P)=================>|
>  | |
>  (peer = Mallory!) (peer = Norma)
> 
>  Figure 1: Example Attack on Identity Bindings

I swapped the two flows in the figure so that it more closely matches the text.

> >   "Patsy could be similarly duped, but in this example, a correct binding betweenNorma's identity and fingerprint (N) is faithfully presented by Mallory.  Thissession (Signaling2 in the figure) can be entirely legitimate.
> Signaling1 ? 
> 
> 
> 
> >  "A DTLS session is established directly between Norma and Patsy.  In 
> order forthis to happen Mallory can substitute transport-level 
> information in bothsessions to facilitate this, though this is not 
> necessary if Mallory is on thenetwork path between Norma and Patsy. "As 
> a result, Patsy correctly believes that she is communicating with Norma.
>
> I don't follow the above sentence (just like I don't follow the 
> sentence I referenced originally, i.e. "In the first session, Patsy is 
> presented with the option to communicate with Norma".
> 
> If we double-click on "Signaling1", then I believe we start with:
> 
>  INVITE(From: Mallory, To: Patsy, Fingerprint:Norma, 
> Identity:{From:Mallory, Fingerprint:Norma})
> 
> Implicit in the sentence above is an assumption that *Mallory* is 
> somehow able to generate an INVITE to Patsy with an Identity header 
> that authenticates *Norma* as the originator, i.e.:
> 
>  INVITE(From: Norma, To: Patsy, Fingerprint:Norma, 
> Identity:{From:Norma, Fingerprint:Norma})
> 
> How is that possible ? What am I missing here ? 

The section starts with "it is assumed that the attacker also controls the signaling channel."  We allow this possibility because the use of an identity assertion assumes a more capable attacker.  More likely, this assumes that we are defending against the signaling service itself.

Once you get into that state, it's trivial for Mallory to construct the above messages.  Note that Norma will provide Mallory with an identity assertion that binds the identity "Norma" to Norma's fingerprints as part of the Norma<->Patsy session.  So all that Mallory needs to do is fit that into a plausible INVITE.