Re: [hybi] workability (or otherwise) of HTTP upgrade

Eric Rescorla <ekr@rtfm.com> Wed, 01 December 2010 19:44 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 079323A6CF4 for <hybi@core3.amsl.com>; Wed, 1 Dec 2010 11:44:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.659
X-Spam-Level:
X-Spam-Status: No, score=-101.659 tagged_above=-999 required=5 tests=[AWL=0.116, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_37=0.6, J_CHICKENPOX_44=0.6, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100, WEIRD_PORT=0.001]
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 g+NSR18cqUMC for <hybi@core3.amsl.com>; Wed, 1 Dec 2010 11:44:54 -0800 (PST)
Received: from mail-gw0-f44.google.com (mail-gw0-f44.google.com [74.125.83.44]) by core3.amsl.com (Postfix) with ESMTP id A061A3A6CF2 for <hybi@ietf.org>; Wed, 1 Dec 2010 11:44:54 -0800 (PST)
Received: by gwj17 with SMTP id 17so4096382gwj.31 for <hybi@ietf.org>; Wed, 01 Dec 2010 11:46:08 -0800 (PST)
MIME-Version: 1.0
Received: by 10.91.83.18 with SMTP id k18mr2123250agl.79.1291232767660; Wed, 01 Dec 2010 11:46:07 -0800 (PST)
Received: by 10.90.154.19 with HTTP; Wed, 1 Dec 2010 11:46:07 -0800 (PST)
In-Reply-To: <20101201194222.GK19021@1wt.eu>
References: <AANLkTimzQyG4hugOvHqoNrBrZFA4fGbGXQ7MZ2i+68dO@mail.gmail.com> <4CF615B2.9010304@rowe-clan.net> <F96E5CE9-CA7D-4B70-8260-F05456D021FB@gbiv.com> <AANLkTimi5HL56PD9gLHUWs=mcbV3Eaz=GOsK38sxPevb@mail.gmail.com> <AANLkTimydOwRiVkrZn0zmxmvWP_V6yAmNbipOF73NBWD@mail.gmail.com> <AANLkTin_k_s7yOSP1QUXyy66p=gweeepySFG+C=kGYJ+@mail.gmail.com> <AANLkTim9jj0pZzNjrJ+rTXd6ZYnp284ugcKXALcj-Wt6@mail.gmail.com> <AANLkTinb4pDS25HJwnM36NK9ajyEt8MztWriR5ECEgZR@mail.gmail.com> <20101201185759.GI19021@1wt.eu> <AANLkTi=Jx867QjSHNJkwo_ryYML-X9HWjjCTCS=-Cbmd@mail.gmail.com> <20101201194222.GK19021@1wt.eu>
Date: Wed, 01 Dec 2010 11:46:07 -0800
Message-ID: <AANLkTi=x8dJkm+yvNOrt5bnj_06bA0HfKTqr3-4QLaAm@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
To: Willy Tarreau <w@1wt.eu>
Content-Type: multipart/alternative; boundary="0016e6407c6470510204965e8eb2"
Cc: "William A. Rowe Jr." <wrowe@rowe-clan.net>, "Roy T. Fielding" <fielding@gbiv.com>, Hybi HTTP <hybi@ietf.org>
Subject: Re: [hybi] workability (or otherwise) of HTTP upgrade
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Dec 2010 19:44:56 -0000

On Wed, Dec 1, 2010 at 11:42 AM, Willy Tarreau <w@1wt.eu> wrote:

> On Wed, Dec 01, 2010 at 11:04:21AM -0800, Eric Rescorla wrote:
> > On Wed, Dec 1, 2010 at 10:57 AM, Willy Tarreau <w@1wt.eu> wrote:
> >
> > > On Wed, Dec 01, 2010 at 01:52:14PM -0500, John Tamplin wrote:
> > > > On Wed, Dec 1, 2010 at 1:47 PM, Greg Wilkins <gregw@webtide.com>
> wrote:
> > > > > If 6543 is the websocket port, then it would not matter in an
> > > > > intermediary intercepted and interpreted
> > > > >
> > > > >  CONNECT some.host.com:6543 HTTP/1.1
> > > > >
> > > > > as the implementation of that is likely to be exactly the semantics
> > > > > that we want.
> > > > >
> > > > >
> > > > > An intermediary that incepts and interpets
> > > > >
> > > > >  CONNECT some.special.token HTTP/1.1
> > > > >
> > > > > is going to break.
> > > >
> > > > Breaking in a way that doesn't expose a vulnerability is fine (but
> > > > obviously we would prefer to avoid it), as those will eventually be
> > > > upgraded to be WebSocket-aware -- what we definitely can't afford is
> > > > an intermediary that breaks in such a way as to expose
> > > > vulnerabilities, which is what Adam's work on GET+Upgrade appears to
> > > > show.
> > >
> > > That's why I'm insisting that we ensure that what we put there either
> > > always breaks or that we put the real name+port, but not some randomly
> > > defined entity that we decide must not be resolved until someone finds
> > > it useful to resolve it.
> >
> >
> > It's not "randomly defined". It's a specifically reserved domain.
> >
> > I realize you have concerns that people will choose to do so in any
> > case--concerns
> > which I don't share--but I don't think you're characterizing the
> situation
> > very
> > accurately above.
>
> Maybe, but this domain *can* be resolved. Something that can be resolved
> while its goal is not to be is obviously an issue, especially if it was
> choosen precisely for that purpose.
>
> I can predict that if some ISPs are fed up with getting tons of requests
> for the .invalid TLD, they will simply announce it with a wildcard in their
> servers, just as verisign did with the .com and suddenly all their
> customers
> will be able to resolve it.
>

Which would actually be OK, as long as it didn't go somewhere under the
attacker's control.



> The fact that .invalid is reserved for invalid domains does not technically
> imply that it will never resolve. Either the handshake does not care
> whether
> the host resolves or not, then we can safely put the correct one, or it
> relies
> on the fact that it must never ever resolve and we must use something that
> cannot be resolved.
>

This is incorrect. The threat is that the attacker can *control* the target.

-Ekr