Re: [rtcweb] Request for New Security Review of WebRTC based on observed vulnerabilities

Justin Uberti <juberti@google.com> Thu, 25 May 2017 20:05 UTC

Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B7A48129AC5 for <rtcweb@ietfa.amsl.com>; Thu, 25 May 2017 13:05:19 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 iP3nlMO_sJMq for <rtcweb@ietfa.amsl.com>; Thu, 25 May 2017 13:05:11 -0700 (PDT)
Received: from mail-io0-x22a.google.com (mail-io0-x22a.google.com [IPv6:2607:f8b0:4001:c06::22a]) (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 A74A912EAB8 for <rtcweb@ietf.org>; Thu, 25 May 2017 13:05:11 -0700 (PDT)
Received: by mail-io0-x22a.google.com with SMTP id o12so143819195iod.3 for <rtcweb@ietf.org>; Thu, 25 May 2017 13:05:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=4yTavUdE56vyRQKEp8JfZUk2dm1APdBQ3kcdfQsznRw=; b=mZCMMNh9ajIAw5sv+F78iurJH7LTq3xheJQbVBsohMmwEh6jLWzXb6qQdbTiWJ/dDH eO1RcIT78Mhin81OPeyg4ov/X6zxkGtg9xkbxpK7I0kNTQGzUPmsxj6HKjoMYwcXWcyu 2r0m0i49IrdeDYGNqL3Bk8WyucUMPgFfeSCk7BDnIdS1y8v43C41Ukf0OO3qaicoInwx pKt5uxTHUWTu4n3T+QnMJpHSTUJi5rTlxiBt50q66ASB/LYcwSfp8e7HDrLl7nA8kpvb 5iO8x1NjDrcTjDtVFPMAOiJfL92sLOA4nCdXRu5p1jR57gSeg/E3k8intNoTrFCCE/HF B87g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=4yTavUdE56vyRQKEp8JfZUk2dm1APdBQ3kcdfQsznRw=; b=sSMY/9XJKc10oPEa78bBxHloAarYMDj/WvGMb60GP+sAkalEistH+AHHAKebQQwc36 lwXZvOZLSziuTawLqMD96rndiEvfL6PJYcSySrzA1ARiZI7rWq+ma0IOCGrhk8K54Qpt 71g72Wfe+7NuYYlIm1dtISU3iIqqagIJd4yGzCm1iIMTHa6A69eXIG/UO6ylIL8Cae3I dhXAnJ6Y24mc/v/0wNwDA13s0Ok123JWuXAtOvlvUWedXOB2EIdFJueejFucgsf986Td afGWsjrweBBl5A5g7NFlhhXIn/kOX2BniCklkCaqgTWNtZlq10L2dBZR6lmO857etNwg IBPg==
X-Gm-Message-State: AODbwcCXF/XHzAsiG6w1G63v+DXmCo57deDew6KEQBll7h15jTLObpfv cIoc0nnOQoYnV0cpLIesHLwn/iwDZtIptWw=
X-Received: by 10.107.133.106 with SMTP id h103mr38652211iod.230.1495742710841; Thu, 25 May 2017 13:05:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.11.149 with HTTP; Thu, 25 May 2017 13:04:50 -0700 (PDT)
In-Reply-To: <CABghAMiVwwDY0jE72XZRv2WhaEF53WnnFgjQu953eGqtR07vUQ@mail.gmail.com>
References: <CABghAMiVwwDY0jE72XZRv2WhaEF53WnnFgjQu953eGqtR07vUQ@mail.gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Thu, 25 May 2017 13:04:50 -0700
Message-ID: <CAOJ7v-1Jk7Vqi1j_L7JFp4046AfzwTAwvbWF9hKWQwkZuJWnrA@mail.gmail.com>
To: Colin Gallagher <colingallagher.rpcv@gmail.com>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="001a113ff9a6f5112b05505ebc94"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/L-jS5u3oAJbth5M2zw4MTZymoDQ>
Subject: Re: [rtcweb] Request for New Security Review of WebRTC based on observed vulnerabilities
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 25 May 2017 20:05:20 -0000

Colin,

This is an important topic, and the group has reviewed this situation in
detail. The results have been written up in this document
<https://tools.ietf.org/html/draft-ietf-rtcweb-ip-handling-03>, and to my
knowledge most browsers that support WebRTC currently conform to its
recommendations.

However, I'm not totally clear on your specific technical concern. You
linked to an (now outdated) stackexchange page, but could you provide more
detail about the specific situation you are concerned about?

Justin

On Wed, May 24, 2017 at 5:35 PM, Colin Gallagher <
colingallagher.rpcv@gmail.com> wrote:

> To:  IETF RTCWeb WG
>
> From:  Colin Gallagher
>            https://www.linkedin.com/in/colingallagher
>            https://lifeboat.com/ex/bios.colin.gallagher
>
> Request for New Security Review of WebRTC based on observed
> vulnerabilities in certain examples
>
> Dear IETF RTCWeb WG,
>
> This request relates to WebRTC.  The WebRTC is in draft at
> https://w3c.github.io/webrtc-pc/ and is described also at
> https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API#
> WebRTC_interfaces
>
> There are certain examples where the use of WebRTC has presented security
> vulnerabilities.  While not exhaustive, there are two I wanted to mention
> that I had been exposed to recently.
>
> 1) The use of a video conferencing service which relies upon WebRTC (that
> is a well established service)
> 2) The examination of a browser based WebRTC version of a decentralized
> exchange (that is currently under development)
>
> In both cases the security vulnerability which is described below was the
> result of the use of WebRTC.
>
> The problem under consideration is as follows:
>
> As per the first example (the video conferencing service), recently I came
> upon a vendor who shall remain unnamed who uses WebRTC as the backbone for
> their video conferencing service.  As a result, I found I was unable to
> access the service in question without disabling some security settings
> which I would have preferred to leave intact.
>
> My system is (based on what the aforementioned service detects)
> Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101
> Firefox/53.0.  This is Ubuntu 16.10 64-bit with Firefox 53.0.2.
>
> However, quite some *long* while back I disabled WebRTC because of the
> security vulnerability (described in part here on information security
> stack exchange
> <https://security.stackexchange.com/questions/82129/what-is-webrtc-and-how-can-i-protect-myself-against-leaking-information-that-doe>).
> So as to mitigate this vulnerability, I changed settings in Firefox as
> follows:
>
>
>    1. I typed *about:config* in the address bar
>    2. I found the setting *media.peerconnection.enabled*
>    3. I set it to *false*
>
> Unfortunately, this setting does not allow Firefox to work with the video
> conferencing service in question, which relies entirely on WebRTC.
>
> So I had to go back in and change the media.peerconnection.enabled setting
> to *true* in Firefox in order to get it to work with the service in
> question. While this enabled me to conference with teams that desire to use
> the video conferencing service that rely wholly upon WebRTC, it concerns me
> because of the security vulnerability.
>
> One suggested mitigation was having NoScript, but using NoScript was not
> helpful (you generally need to disable it for the site you are viewing that
> relies upon WebRTC, in order to obtain any functionality, and whether
> NoScript is off or on, WebRTC still causes the vulnerability of leaking
> information as previously described).
>
> Furthermore, upon reload of the browser, even after setting
> media.peerconnection.enabled to *true*, the video conferencing service
> wouldn't work until I installed the WebRTC 0.1.3 extension for Firefox and
> set it to expose my real IP address as well as allowing the following:
>
> a. navigator.getUserMedia
> b. window.MediaStreamTrack
> c. window.RTCPeerConnection
> d. window.RTCSessionDescription
>
> That seemed to me to be a direct consequence of the persistent and ongoing
> security vulnerability in WebRTC.
>
> I contacted the video conferencing service provider and their solution was
> simply to state that "If the peer to peer connection is of concern, you can
> utilize our premium version which will route traffic through a forwarding
> server with in our environment that handles the processing of the video and
> sound of all users in the conference and send it to each user individually
> rather than using a peer to peer connection."  In other words, they expect
> that people should have to pay in order to mitigate this WebRTC security
> vulnerability
> <https://security.stackexchange.com/questions/82129/what-is-webrtc-and-how-can-i-protect-myself-against-leaking-information-that-doe>,
> because they are unwilling to design to protect all users from it.
>
> In a similar fashion, in the second example of the browser based WebRTC
> version of a decentralized exchange, the user's financial information is
> periodically exposed as a result of the information leakage which is
> presently caused by WebRTC.  (Fortunately, this browser based WebRTC
> decentralized exchange is under development and is not currently open to
> actual usage.)
>
> Although undoubtedly this has been discussed here before, I am asking that
> WebRTC security issues be reconsidered and that a new security review be
> done to ameliorate or eliminate this problem in terms of WebRTC leaking
> this information.  It is my view that WebRTC should be further designed and
> developed with an eye to mitigating this serious problem, so that users of
> services which might rely partially or wholly upon WebRTC would not have to
> be concerned about such information leakage.
>
> Respectfully,
> Colin Gallagher
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>