Re: MITM and proxy messages [was: Call for Adoption: draft-song-dns-wireformat-http]

Amos Jeffries <squid3@treenet.co.nz> Sun, 07 August 2016 17:40 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0D88C12B065 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 7 Aug 2016 10:40:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.168
X-Spam-Level:
X-Spam-Status: No, score=-8.168 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.247, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 KlOVshzqhcY0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 7 Aug 2016 10:40:51 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 070C412B006 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 7 Aug 2016 10:40:51 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bWS0K-00037c-On for ietf-http-wg-dist@listhub.w3.org; Sun, 07 Aug 2016 17:36:52 +0000
Resent-Date: Sun, 07 Aug 2016 17:36:52 +0000
Resent-Message-Id: <E1bWS0K-00037c-On@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <squid3@treenet.co.nz>) id 1bWS0E-00036S-Gg for ietf-http-wg@listhub.w3.org; Sun, 07 Aug 2016 17:36:46 +0000
Received: from [121.99.228.82] (helo=treenet.co.nz) by maggie.w3.org with esmtp (Exim 4.80) (envelope-from <squid3@treenet.co.nz>) id 1bWS09-00011y-Tu for ietf-http-wg@w3.org; Sun, 07 Aug 2016 17:36:45 +0000
Received: from [192.168.20.251] (unknown [121.98.40.111]) by treenet.co.nz (Postfix) with ESMTP id 68C54E6EB2 for <ietf-http-wg@w3.org>; Mon, 8 Aug 2016 03:39:46 +1200 (NZST)
To: ietf-http-wg@w3.org
References: <em03a0c1e8-8306-499e-8c9b-6197ae900781@bodybag>
From: Amos Jeffries <squid3@treenet.co.nz>
Message-ID: <bc3c4ddd-2650-5419-429e-68b921084436@treenet.co.nz>
Date: Mon, 08 Aug 2016 03:39:45 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <em03a0c1e8-8306-499e-8c9b-6197ae900781@bodybag>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=121.99.228.82; envelope-from=squid3@treenet.co.nz; helo=treenet.co.nz
X-W3C-Hub-Spam-Status: No, score=-4.4
X-W3C-Hub-Spam-Report: AWL=-1.247, BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1bWS09-00011y-Tu 6c6c077882abf78656924fb898bb6baf
X-Original-To: ietf-http-wg@w3.org
Subject: Re: MITM and proxy messages [was: Call for Adoption: draft-song-dns-wireformat-http]
Archived-At: <http://www.w3.org/mid/bc3c4ddd-2650-5419-429e-68b921084436@treenet.co.nz>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32206
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 7/08/2016 9:45 a.m., Adrien de Croy wrote:
> 
> Hi Mark
> 
> thanks for putting that together, it looks interesting.
> 
> My gut feel is that customers will continue to wish to present their own
> content/page to blocked users, containing things such as
> 
> * company and/or jurisdictional boilerplate / warnings etc
> * branding
> * organisation-specific links (e.g. to more info on policy, or request
> form to remove entry from block-list)

You can drop the first. Any variantions from the plain free-form text
paragraph offered by the template will invariably derive from branding
and PR marketing requirements.

You can drop the last. URL is already included. Variations might require
several (but wy when one can link to others?) or again tie back to some
branding PR marketing policy.

So, branding and marketing, branding, or marketing and branding. Take
your pick.

> 
> One other issue looming is that of the captive portal, which generally
> requires that the initial conversation use http/1.1 over port 80.  as
> more things move to https, this becomes more difficult.
> 
> So the ability to advertise a captive portal would be useful to add to
> this draft.
> 

I was just thinking 511 status needs adding to the list of recommended
responses to use the template with, to promote it a bit more.


> Then finally the issue around intercepted connections.  I really can't
> see these going away.
> 
> As far as the draft goes, I still don't really buy that browser vendors
> couldn't portray a block page in a way that is unambiguously NOT the
> target site - e.g. that cannot be made to look like or behave like the
> banking site (pop it in a dialog for example).  I think a little more
> commitment and imagination could have resolved this problem and not
> caused the large amount of pain that the chosen expedient path has ended
> up causing.
> 
> For a 30x response to CONNECT we need to decide whether such a thing
> makes any logical sense or even should be permitted.
> 

I can imagine it possibly being useful in the WebSockets CONNECT
responses. Based on prior Alt-Svc knowledge.

In HTTP it makes little sense. Even a 4xx with Alt-Svc does a bit better
logically.

I have been encouraging people to use 511 instead of any 30x they may be
tempted by. Last I heard there was no noticable browser support, so both
work equally badly there. But at least they will be ready when 511
arrives and is working for some other client tools already.


> You can't MitM from an unknown source without causing at least
> certificate warnings - with HSTS this is a show-stopper for an active
> network attacker, unless they intercept the very first request to that
> site.

I thought that too until last year. Without pinning and similar CA
restrictions HSTS can be blown away as easily as NAT'ing port 443. When
pinning is used, the flag which HSTS sets dynamically might as well be
part of the pinned data, not wasting space in each HTTP(S) message.


>  Sanctioned MitM in an organization can currently only be
> distinguished from end-to-end encryption by inspecting the certificate
> chain, and this is a crime against users, it should be simple to make it
> obvious to users when their https is being inspected.

This is the major reason I still like DANE. Anyone can check the domains
official CA certs tree and compare. Even if they have something saying
they have to trust this unexpected CA, clients can at least see that A != B.


>  E.g. tie the
> proxy configuration to the root of the cert tree - again this would only
> work for non-intercepted.

Hmm. Can you elaborate please about how that tie would work?

For some reason I think you mean something other than DNS WPAD with DANE
to verify the hostname from which to send a secret client-key (encoded
to that hosts DANE provided public host-key) and fetch a
Content-Encoded:aesgcm PAC-like file encoded to the secret client-key.


> 
> So I'm a little on the fence on this proposal for browsers, but for
> other agents, I think the machine-readable information could be very
> useful, so overall I'm in favour of such an approach. It could however
> alternatively be transported in a header, leaving the body for
> customization by the organization.

I expect that would lead to just as many complaints asking about why
their fancy body got ignored. If fancy body is possible, or even hinted
at being possible. It will be mandatory required somewhere for what turn
out to be marketing reasons.

> 
> One thing I would love to see more work done in is proxy discovery. 
> Many many of our users want to use interception, so they can avoid the
> deployment issues.  WPAD goes some of the way, but there are still
> problems with that.
> 
> If we continue to just wish that connection interception and MitM will
> just go away, we won't improve things for users.  There should be a way
> for a intercepting proxy to safely (from a client POV) impose itself
> with full knowledge and assent of the client.
> 

Aye. See above. The major parts are finally falling into place, but
there are still some holes to plug.

Amos