Re: [rtcweb] Please require user consent for data channels
Justin Uberti <juberti@google.com> Fri, 17 July 2015 21:41 UTC
Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 798441A88C0 for <rtcweb@ietfa.amsl.com>; Fri, 17 Jul 2015 14:41:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level:
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 RIEWbZK_SwFp for <rtcweb@ietfa.amsl.com>; Fri, 17 Jul 2015 14:41:56 -0700 (PDT)
Received: from mail-ig0-x22b.google.com (mail-ig0-x22b.google.com [IPv6:2607:f8b0:4001:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 738531A8954 for <rtcweb@ietf.org>; Fri, 17 Jul 2015 14:41:54 -0700 (PDT)
Received: by iggf3 with SMTP id f3so46321059igg.1 for <rtcweb@ietf.org>; Fri, 17 Jul 2015 14:41:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=fbb+2dUIDMjAU2ucLcEJ8LDcT+g7i5G925wRwtV7X7U=; b=cSOcuIxeD+OxvB4kAcYiZpiDlxvXkgvcf/RLz6v4F+AzIK6NMvmmKPyLnYoQUjHqOj JOZr/cTJH0KAPB5jbLtDz5sJRlp/YIGCgRL9ynuOQ2tnD88uvOq/FaBB9ltRa1QhgE1y t4oj1s9RnxagaRgoD8SGByFWjGKr1e91jxbLXLILI86sA8IloOddP1g6KU4/5t6EgOxU rZH5uupXLQQQyu+XKPS7eSrdV7XZgYHpzZmxv/tPggTN/07Jz8Pjc70tnRXimlc/eJDu jnwGWfQOJH+Jnf7HN+yaYbg0rg/d6h+jAjls22VCja/iW+vVd+KdwI6S61zW18dyBmrW o7Vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=fbb+2dUIDMjAU2ucLcEJ8LDcT+g7i5G925wRwtV7X7U=; b=ODnuFZinpdrKAJ/idTsrg4ao5z6FSzI5LZ/eVvDlVbOOr86DDdWzKVvhGXFv6iVE/p lPjzjGf9uhaylO9FlB0MvC/cpsK3t5BnFKEYfcqnLcW3Ul4vYjuu/39C7zgWYYRBqiCe ElPE9g1hzjbGoRUA2wZnRkIOnkdbVeHuTRj65v8fUVf1pXqoRoKxULln9XMxBhNvbMWW 0FJCIPbPQdzSJml+YDqIOqVzAxwbvdGojChUL6BdwDpJlmcKB4iI6YNktVH27qpgUqvA y0iwGdEcZNLvqJEnRukbcT/WsMBLjYCZL2iV/Xzno1ncl/IojzN4r3QTuzfuh0y2x9nT 0L5Q==
X-Gm-Message-State: ALoCoQkqjg+R3QldRI8CYrsZvUow+gs4GvS81ZiFeKBaE/0oZ3OLLoLzwlsU+mOCxsGZesA3RTve
X-Received: by 10.107.16.223 with SMTP id 92mr23786617ioq.14.1437169313846; Fri, 17 Jul 2015 14:41:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.32.233 with HTTP; Fri, 17 Jul 2015 14:41:34 -0700 (PDT)
In-Reply-To: <55A96DA3.1040907@gmail.com>
References: <CA+65OspMD_PVjk0BXh7t4LtjmFDcDatoeNjFQOO_OVtC-Br+OA@mail.gmail.com> <CAOJ7v-0UBGtP0-atxP7X4OTj-H6Lost5o42aAS65mA6CEqcQsw@mail.gmail.com> <CA+65OsrhXHK+cRAFLCZFt+34vr8eRhj+CN3DgznUBfSwmWYggw@mail.gmail.com> <CAOJ7v-24VCW6kkn7LOLkqZzhYEU0r=nmd_F7Zns1rnyqKN6xAg@mail.gmail.com> <55A95364.2070806@gmail.com> <CAOJ7v-3t9BQabR2e4EHs4G0Sec4sU9DFC2aiSXXYrat+an+RYg@mail.gmail.com> <55A96DA3.1040907@gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Fri, 17 Jul 2015 14:41:34 -0700
Message-ID: <CAOJ7v-1ui7349NzK6NZNRHPbnHWZajctk4cDgMKqRZSv47EYdA@mail.gmail.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Content-Type: multipart/alternative; boundary="001a113ec94e6f5133051b190e9c"
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/jkxiNMW8AHuVfXlARW2L49SpMTk>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Please require user consent for data channels
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Jul 2015 21:41:58 -0000
On Fri, Jul 17, 2015 at 2:03 PM, Sergio Garcia Murillo < sergio.garcia.murillo@gmail.com> wrote: > Hi Justin, > > Thanks for pointing that out, can you point me were in RFC5245 is that > behavior described? I fail to find it. > > The only references I found about multihoming are about HOST candidates, > performing connectivity checks and priorization of candidates, but I cannot > find a reference on sending STUN request to the TURN/STUN server via all > the available interfaces in order to retrieve the server reflexive > candidates that is where the leak is originating. Please correct me again > if I am wrong. > Section 2.1, paragraphs 2 and 3 talks about getting all interfaces, and then getting STUN and TURN candidates from said interfaces. > > Anyway, this raises another attack vector, as the IP may be leaked not > directly via the ICE reflexive candidates, but via the connectivity checks. > That is, the "malicious" server may just not get the IP via the server > reflexive candidates, but doing an SDP O/A with remote ice candidates of a > fake ICE server, that correlates the STUN connectivity checks with the web > visit (via ice username for example). They don't even need a STUN/TURN > server deployed. > > Best regards > Sergio > > > On 17/07/2015 22:25, Justin Uberti wrote: > > What you describe is the proper operation of RFC5245, so this isn't a > Chrome implementation decision (Firefox behaves the same way, and I assume > Edge will as well). > > However, we have been thinking about whether refinements to the > behaviors specified in RFC5245 are warranted in the web context. > > On Fri, Jul 17, 2015 at 12:11 PM, Sergio Garcia Murillo < > <sergio.garcia.murillo@gmail.com>sergio.garcia.murillo@gmail.com> wrote: > >> If I have understood the looong thread correctly, the issue is that >> Chrome overrides the OS default route and sends the STUN requests via all >> available interfaces, therefore leaking the IP addresses on the process. >> >> AFAIK, that behavior is a Chrome implementation decision (wrong in my >> opinion, but understandable) and it is not specified on WebRTC, so while >> acknowledging the importance of the issue, this is not something that we >> should discuss in this mailing list, except if we decide that we should >> decide to explicitly forbid this behavior and add it to the security draft. >> >> I will send a reply to discuss-webrtc to continue the discussion from a >> Chrome point of view. >> >> Best regards >> Sergio >> >> >> On 17/07/2015 20:36, Justin Uberti wrote: >> >> The title is somewhat inaccurate, but >> https://code.google.com/p/chromium/issues/detail?id=457492 is the >> current bug for this. >> See also https://code.google.com/p/chromium/issues/detail?id=333752, >> from which the above bug was spun out. >> >> On Fri, Jul 17, 2015 at 11:22 AM, Daniel Roesler < <diafygi@gmail.com> >> diafygi@gmail.com> wrote: >> >>> On Fri, Jul 17, 2015 at 11:04 AM, Justin Uberti <juberti@google.com> >>> wrote: >>> > >>> > This is already possible using non-WebRTC technologies, e.g. web >>> sockets. As >>> > such, I don't think that permission should be needed to create a data >>> > channel, or receive (but not send) media. >>> > >>> >>> The big difference is that Web Sockets starts off with an HTTP >>> request, so it can be filtered by various plugins (PrivacyBadger, >>> uBlock, Ghostery, etc.). WebRTC is invisible to those services since >>> it does not have any HTTP requests at all. In fact, is WebRTC the only >>> browser standard (i.e. not flash) that can fire off a DNS request >>> that's not (at least at first) for an HTTP address[1]? Lacking an >>> initial HTTP request makes it impossible for plugins to selectively >>> filter these requests, so they have to fall back to an all-or-nothing >>> config setting approach (which hurts WebRTC adoption in >>> general)[2][3]. >>> >>> > That said, I agree that WebRTC should not allow drive-by harvesting of >>> IP >>> > addresses, and we intend to make changes to Chrome to prevent this. >>> >>> Great to hear! Thanks! Is there a bug that is tracking this? >>> >>> >>> [1]: >>> https://www.w3.org/wiki/Privacy/IPAddresses#Using_wildcard_DNS_entries_as_persistent_identifiers >>> [2]: https://github.com/EFForg/privacybadgerfirefox/issues/394 >>> [3]: https://github.com/gorhill/uBlock/releases/tag/0.9.9.3 >>> >>> Daniel >>> >> >> >> >> _______________________________________________ >> rtcweb mailing listrtcweb@ietf.orghttps://www.ietf.org/mailman/listinfo/rtcweb >> >> >> >> _______________________________________________ >> rtcweb mailing list >> rtcweb@ietf.org >> https://www.ietf.org/mailman/listinfo/rtcweb >> >> > >
- [rtcweb] Please require user consent for data cha… Daniel Roesler
- Re: [rtcweb] Please require user consent for data… Matthew Kaufman
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Daniel Roesler
- Re: [rtcweb] Please require user consent for data… Lorenzo Miniero
- Re: [rtcweb] Please require user consent for data… Michael Tuexen
- Re: [rtcweb] Please require user consent for data… tim panton
- Re: [rtcweb] Please require user consent for data… Bernard Aboba
- Re: [rtcweb] Please require user consent for data… Matthew Kaufman
- Re: [rtcweb] Please require user consent for data… Timothy B. Terriberry
- Re: [rtcweb] Please require user consent for data… Victor Pascual Avila
- Re: [rtcweb] Please require user consent for data… Daniel Roesler
- Re: [rtcweb] Please require user consent for data… Eric Rescorla
- Re: [rtcweb] Please require user consent for data… Justin Uberti
- Re: [rtcweb] Please require user consent for data… Daniel Roesler
- Re: [rtcweb] Please require user consent for data… Justin Uberti
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Daniel Roesler
- Re: [rtcweb] Please require user consent for data… Justin Uberti
- Re: [rtcweb] Please require user consent for data… Stephen Farrell
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Justin Uberti
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Justin Uberti
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Martin Thomson
- Re: [rtcweb] Please require user consent for data… Martin Thomson
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Justin Uberti
- Re: [rtcweb] Please require user consent for data… Martin Thomson
- Re: [rtcweb] Please require user consent for data… Harald Alvestrand
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Roman Shpount
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Simon Perreault
- Re: [rtcweb] Please require user consent for data… Tirumaleswar Reddy (tireddy)
- Re: [rtcweb] Please require user consent for data… Harald Alvestrand
- Re: [rtcweb] Please require user consent for data… Sergio Garcia Murillo
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Tim Panton
- Re: [rtcweb] Please require user consent for data… Simon Perreault
- Re: [rtcweb] Please require user consent for data… Tim Panton
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Simon Perreault
- Re: [rtcweb] Please require user consent for data… Simon Perreault
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Tim Panton
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Simon Perreault
- Re: [rtcweb] Please require user consent for data… Daniel Roesler
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Simon Perreault
- Re: [rtcweb] Please require user consent for data… Roman Shpount
- Re: [rtcweb] Please require user consent for data… Jonathan Lennox
- Re: [rtcweb] Please require user consent for data… Roman Shpount
- Re: [rtcweb] Please require user consent for data… Roman Shpount
- Re: [rtcweb] Please require user consent for data… Iñaki Baz Castillo
- Re: [rtcweb] Please require user consent for data… Tim Panton
- Re: [rtcweb] Please require user consent for data… Ted Hardie
- Re: [rtcweb] Please require user consent for data… Roman Shpount
- Re: [rtcweb] Please require user consent for data… Ted Hardie
- Re: [rtcweb] Please require user consent for data… Randell Jesup
- Re: [rtcweb] Please require user consent for data… Roman Shpount