Re: [hybi] Extensibility mechanisms?

Greg Wilkins <gregw@webtide.com> Sun, 25 July 2010 23:58 UTC

Return-Path: <gregw@webtide.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 555603A67D7 for <hybi@core3.amsl.com>; Sun, 25 Jul 2010 16:58:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.539
X-Spam-Level:
X-Spam-Status: No, score=-0.539 tagged_above=-999 required=5 tests=[AWL=-1.163, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=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 N9CAblC5ZDvS for <hybi@core3.amsl.com>; Sun, 25 Jul 2010 16:58:04 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id E8EAE3A67B8 for <hybi@ietf.org>; Sun, 25 Jul 2010 16:58:03 -0700 (PDT)
Received: by fxm1 with SMTP id 1so6461405fxm.31 for <hybi@ietf.org>; Sun, 25 Jul 2010 16:58:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.122.194 with SMTP id m2mr5601604far.85.1280102303858; Sun, 25 Jul 2010 16:58:23 -0700 (PDT)
Received: by 10.223.112.129 with HTTP; Sun, 25 Jul 2010 16:58:23 -0700 (PDT)
In-Reply-To: <AANLkTikbpbB4zsMtFs1j5i_Y2+w=g2QZKe1QUdU8XJU6@mail.gmail.com>
References: <AANLkTikkfdlUxQ0MGNvVQKa5gfovkGHWdCgyN9juKSQJ@mail.gmail.com> <4C462F9E.9030207@caucho.com> <Pine.LNX.4.64.1007212153110.7242@ps20323.dreamhostps.com> <AANLkTiku76oSucTNDFdwgsFBNFa_cCpC-YktTnMfX47-@mail.gmail.com> <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> <F412C956-038F-400D-A431-C42B4C7B829C@apple.com> <AANLkTingCdW6aXjw2xVEuZ9L4RkT5dD2ncJtvrytQFbH@mail.gmail.com> <AANLkTikbpbB4zsMtFs1j5i_Y2+w=g2QZKe1QUdU8XJU6@mail.gmail.com>
Date: Mon, 26 Jul 2010 09:58:23 +1000
Message-ID: <AANLkTimpXH7CQD3tfMszSGx8=_r3kZxU1Z84W4XUuOu5@mail.gmail.com>
From: Greg Wilkins <gregw@webtide.com>
To: Adam Barth <ietf@adambarth.com>
Content-Type: multipart/alternative; boundary="001636eefdbc18ffd7048c3f0bee"
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: Sun, 25 Jul 2010 23:58:05 -0000

Adam,

your analysis of the cross protocol security issues continue to be very
informative.

But why does it have to be in the tone of "the WHATWG guys are the only ones
that understand anything and there is no need to change anything"?   Perhaps
you are reacting against the harsh tone that is sometimes directed towards
the WHATWG guys in this WG and feeling like you need to defend them.  Well
I'm sorry about that tone, but there has been significant stonewalling from
that quarter and there is a lot of frustration here that many other concerns
raised are being rejected.

So thanks for expanding on some of the details of the cross protocol
attacks, and you have rightly drawn attention to deficiencies in some of the
simplistic counter proposals.
However, the bit that is missing is how your analysis relates to the current
proposed solution with it's rigid content, space counting, random bytes
without frames etc.   Surely that cannot be the only solution that addresses
these issues?   Can't we try to find a solution that both reduces the cross
protocol issues, but is also less objectional to most here in the WG?

To harden a websocket server against attacks from other protocols, there are
many things that framing can help with.  For example, we could shutdown
connections after any bad frames (we are on reliable transports so no need
to forgive bad frames) and/or have a simple frame checksum.

To ensure that websocket clients are themselves not tools to attack other
protocols we could also have less minimalistic framing. Lengths and
checksums are going to be more of an obstacle to attackers than simple
sentinel framing.

I have yet to see a good description of an attack vector that is cut off by
the rigid handshake, the space counting or the unframed bytes that could not
be addressed by far simpler and less objectional means.

regards