Subject: Re: [hybi] Insight you need to know: Browsers are at fault when servers crash

From: "Shelby Moore" <[email-masked]>
Date: Thu, 19 Aug 2010 04:57:02 -0400

> Well one optimization is why are allowing these WebSockets to connect to
> ports that are assigned to other legacy protocols by the IANA?  What
> benefit does that give WebSockets?  Seems an optimization would be to
> not do that.

http://www6.ietf.org/mail-archive/web/hybi/current/msg03355.html

"and TCP ports are not in fact protocol identifiers, despite some
traditions that conflate the two concepts"

> The server must anticipate the entire state-machine of its inputs.  The
> only way the browser can give the server bugs is when the server is not
> prepared for every possibility in its state-machine. The big caveat is
> that due to being a Turing machine means we will never be prepared for
> every possibility.

Yes browsers can be at fault when servers fail, even with the perfect
implementation server-side.  Example follows.

Filed a proposal:

https://bugzilla.mozilla.org/show_bug.cgi?id=588704

Referenced Adam's research paper on CSRF.

The above is much more coherently written, and removes my erroneous
attacks on Adam's research. Turing machine complete, Liskov Substition
Principle, Coase's Theorem, Linksky Substitution Principle, and Godel's
Theorem insure that we can't have absolute certainty that we can isolate
all attack vectors at the server.[1]

However, we can access probabilities, and thus prioritize where we apply
security so as to reduce conflation errors that accumulate as brittle
complexity inertia. I still assert that I believe the priority should be
that protocols should be responsible for their user authorization, not
conflating the intermediary software (e.g. browser) that sits between the
(potentially malicious) user and the poorly designed (incorrect or no
authorization) protocol. Conflating responsibility leads to that brittle
complexity inertia, that ultimately dead ends in total disconnection
(whitelist) from the network. Conflation is an evil (failure directed)
result of being surety for another entity. If I make a promise for
another, I have bound the other and so on in domino effect towards
eventual gridlock.

I am still unsubscribed from this list, but I thought it was helpful to
post these clarifications.

[1] http://www.ietf.org/mail-archive/web/hybi/current/msg03233.html
(contains my one line layman's summaries of each of those fundamental
theorems)