Re: [hybi] Extensibility mechanisms?

Willy Tarreau <w@1wt.eu> Thu, 22 July 2010 09:23 UTC

Return-Path: <w@1wt.eu>
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 4E0413A69EB for <hybi@core3.amsl.com>; Thu, 22 Jul 2010 02:23:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.078
X-Spam-Level:
X-Spam-Status: No, score=-3.078 tagged_above=-999 required=5 tests=[AWL=-1.035, BAYES_00=-2.599, HELO_IS_SMALL6=0.556]
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 JJxMC2AgDRt6 for <hybi@core3.amsl.com>; Thu, 22 Jul 2010 02:23:10 -0700 (PDT)
Received: from 1wt.eu (1wt.eu [62.212.114.60]) by core3.amsl.com (Postfix) with ESMTP id E739A3A6A02 for <hybi@ietf.org>; Thu, 22 Jul 2010 02:23:09 -0700 (PDT)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id o6M9NM4N011117; Thu, 22 Jul 2010 11:23:22 +0200
Date: Thu, 22 Jul 2010 11:23:22 +0200
From: Willy Tarreau <w@1wt.eu>
To: Adam Barth <ietf@adambarth.com>
Message-ID: <20100722092322.GA11012@1wt.eu>
References: <4C479130.4020500@caucho.com> <AANLkTikLDjBP-Xs5t6TxmJuq4nG8jwThQ=n34B4cEmup@mail.gmail.com> <4C479CE4.6070805@caucho.com> <AANLkTims1er0Rbv0ysP4gRs1Kd0He8hapHeJ3nON=JQa@mail.gmail.com> <4C47C5B0.3030006@caucho.com> <AANLkTi=ND-FOH8OoD=TCbiyeSZ-h0LhxQBXN5w-2hfvj@mail.gmail.com> <20100722055452.GL7174@1wt.eu> <AANLkTik_rpxo=1OfzHkwpC5soQG_NxvGuZNXx7gdhVTh@mail.gmail.com> <20100722064945.GM7174@1wt.eu> <AANLkTim7AsQGSwLE51uktj=B1vB6roZChAtDoCrE6fFG@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <AANLkTim7AsQGSwLE51uktj=B1vB6roZChAtDoCrE6fFG@mail.gmail.com>
User-Agent: Mutt/1.4.2.3i
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] Extensibility mechanisms?
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: Thu, 22 Jul 2010 09:23:11 -0000

On Thu, Jul 22, 2010 at 12:08:02AM -0700, Adam Barth wrote:
> On Wed, Jul 21, 2010 at 11:49 PM, Willy Tarreau <w@1wt.eu> wrote:
> > My concern is also that we're becoming too much different from this
> > stylized subset, by introducing special features that nobody cares
> > to qualify possible negative impacts nor means of exploitation. I'd
> > rather stick to something well mastered which shares the same class
> > of possible vulnerabilities and attacks as the other ones targetting
> > the same agents, so that when we spot one and fix it, the issue is
> > fixed for all uses.
> 
> I didn't understand the concrete implications of this paragraph.

I was talking about the blind 8 bytes that must be forwarded. This
proposal was added to the draft without apparently anyone noticing
the impact on the HTTP protocol itself. Each time we try to divert
from working standards, we're risking to fall into traps that were
avoided by those standards.

(...)
> You're describing a defense which we've been calling rigidity.  By
> making the handshake rigid, it's harder to squeeze though some other
> protocol's state machine.  However, you can imagine protocols that are
> vulnerable to a perfectly rigid handshake.  As an example, imagine a
> protocol like gopher where the attacker might be able to control all
> the bytes returned by the server (e.g., because the server accepts
> uploads).

Is it possible to make a gopher server respond with a WS-compatible
handshake to a valid WS request ? I don't know what the gopher protocol
looks like, but that sounds scary since in my opinion, the WS handshake
request should be small and limited enough to limit the risk of such
protocol manipulations, if not prevent them.

> There's value to having other defenses against cross-protocol attacks
> in addition to rigidity.  Just as Greg's nonce isn't magic security
> pixie dust, neither is rigidity.

Yes, I agree. They can at least reduce the probability of success,
rendering them useless in practice.

> > Yes, but as Scott said it, it was a proposal to work on something with
> > a constructive approach. Not everyone is perverted enough to think how
> > a protocol can be abused, and that's why we need a variety of people to
> > work on the same protocol.
> 
> I'm take some offense at being called perverted.

Don't take offense for that, I see it more as a quality that only a few
people have to imagine how apparently reliable systems can be abused :-)

Regards,
Willy