RE: Is "Version Greasing" a new benfit or a new obstacle?

Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com> Wed, 10 April 2019 17:25 UTC

Return-Path: <mikkelfj@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BE26F120086 for <quic@ietfa.amsl.com>; Wed, 10 Apr 2019 10:25:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 wu7z6yIBtUpo for <quic@ietfa.amsl.com>; Wed, 10 Apr 2019 10:25:26 -0700 (PDT)
Received: from mail-it1-x12d.google.com (mail-it1-x12d.google.com [IPv6:2607:f8b0:4864:20::12d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CD4611205D0 for <quic@ietf.org>; Wed, 10 Apr 2019 10:25:25 -0700 (PDT)
Received: by mail-it1-x12d.google.com with SMTP id w15so4776033itc.0 for <quic@ietf.org>; Wed, 10 Apr 2019 10:25:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to; bh=ub0lQYmoUXJuLw9H6y+q/Xvak/P1G51i17GhzJ/meS0=; b=lnWSSYqQ8t43wiYrXJ0UGrT4HR3bFU8LYIfNLfZ+eqw/dxHFC38x68krKtrIATm5uG Hv2qifbaNUzvWroIsvMn/+phhUeuYMeIRYJR0ftx+5GRBiImOR3IJwIr2+N20Y3qZc8x C+f8d3g4RO/TAQ22/XdKngnmQuqaKlyw/EhX3R50Vl+ROHz/FqbW6xLyGSx3qxQzqjjK WRNSag+AbL9Jn/Cf80UMRnsNSlOZZik1j7A+H4DnHWLQjHrGbBOnJaVUgIiX0C27pW1Q NnMYsoXq7fQMbfgVzHts3LTY0SUuWixKmTNocrnn2yd6PY7UeylABe4iCS/9a/SgDIUl +yIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to; bh=ub0lQYmoUXJuLw9H6y+q/Xvak/P1G51i17GhzJ/meS0=; b=IIiuzyWhmubaH96g7GOCZwtlpfm5YAccJsZdrROC03hkFnT4NYPGd4WyCcZIHijei9 t2qaP6oVQZwYCV6UYMMYmPjr+3YUQzSrjw+hffOY2oJ3bIk1IRGMCkJF9JF73JlcPh7p gkTqNsr9JqaXcLFXOUdaXPHxf4hnlykjvyIO9nfsJMhgGdWej5srgwKftWsCXNhCsUqz CvWMaFQs1KrwudOoBSFcFKX0PPHPjTTKxEPpENNacj8mWdznHk9BRLyv5CqQr5NHaBF8 GqLIM+WJGK25uTR5JewrfOepW47l+WjMJn5A4qQxK12fWX7joZ2IuE2a8voPVyWt836Y Z0AQ==
X-Gm-Message-State: APjAAAVjgNjWie7Jq8X5g6oKSbKFCAL+MJelZo1seNejEVWobizKthvc lEdEJjQYsJ9/UfVCpFgq2tHVOF75h7nG7Es+Aco=
X-Google-Smtp-Source: APXvYqz8zm8tJ+GH0xD1ucuH51/5y96h+2aHXHKGNti4rPximg0ipNdo3B4MfdYpKXR5JyK3qzqxvHbday6AQq/KS+c=
X-Received: by 2002:a02:ab90:: with SMTP id t16mr32243584jan.119.1554917124597; Wed, 10 Apr 2019 10:25:24 -0700 (PDT)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Wed, 10 Apr 2019 10:25:23 -0700
From: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
In-Reply-To: <BL0PR11MB3394294313F8F54A3D0CF4A3902E0@BL0PR11MB3394.namprd11.prod.outlook.com>
References: <5CADADDD.7010005@erg.abdn.ac.uk> <EBF1BF30-62A5-4659-8AEC-0D5B3F2D65C6@fb.com> <BL0PR11MB3394294313F8F54A3D0CF4A3902E0@BL0PR11MB3394.namprd11.prod.outlook.com>
X-Mailer: Airmail (420)
MIME-Version: 1.0
Date: Wed, 10 Apr 2019 10:25:23 -0700
Message-ID: <CAN1APdcm0hnT_Mu7D7x5QM6pApOQw1RdWCBkgY16bd5YWNtFkA@mail.gmail.com>
Subject: RE: Is "Version Greasing" a new benfit or a new obstacle?
To: G Fairhurst <gorry@erg.abdn.ac.uk>, "Border, John" <john.border@hughes.com>, Roberto Peon <fenix@fb.com>, "quic@ietf.org" <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ddec270586305a0f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/XV2cw82PyXpGvFszNKlUXgwvjuE>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Apr 2019 17:25:30 -0000

China blocks as a rule.
Russia is running an experiment to block the rest of the internet.
USA blocks net neutrality.
EU blocks cookies.
GB blocks itself.

So blocking is not limited to what an operator considers best for business.


On 10 April 2019 at 18.59.15, Border, John (john.border@hughes.com) wrote:


I understand why people want to come down on the side of preventing
ossification. But, things have changed. There are a lot of more negative
consequences now when people unnecessarily block things. I think operators
would put a lot of pressure on vendors to not do it now and to fix it if
they did "by accident". Of course, I am only one operator. It would be nice
to hear from others...



John


-----Original Message-----
From: QUIC <quic-bounces@ietf.org> On Behalf Of Roberto Peon
Sent: Wednesday, April 10, 2019 12:52 PM
To: G Fairhurst <gorry@erg.abdn.ac.uk>; quic@ietf.org
Subject: Re: Is "Version Greasing" a new benfit or a new obstacle?

WARNING: The sender of this email could not be validated and may not match
the person in the "From" field.

CAUTION: This email originated from outside of the organization. Do not
click links or open attachments unless you recognize the sender and know
the content is safe.


You're kinda between a rock-and-a-hard-place either way:

- We've seen how much fun ossification is in TCP and HTTP. If the thing is
observable, it will be ossified seems to be the lesson. A lot of the reason
why QUIC was started in the first place was because of the inability to
improve TCP due to this ossification.
- OTOH, there is the fear of unknown/unobservable which might cause
operators to block things, whether predictably or not.

My opinion is that it is better to start with preventing ossification, and
then if that results in too large a percentage of operators blocking
things, to re-evaluate.

My guesses:
IP+port tuples and traffic patterns are still observable (for better and
worse), which implies operators will still have significant tools for
managing traffic. I believe that these are acted on/matched (ML or not)
regardless of any other data presented. In other words, I have a doubt that
stating the version in an observable way will prevent the use of such
tools.

Most problems I've seen associated with implementations rather than
protocol versions (though when the latter happens it is pretty severe). If
you believe this assertion, then acting on protocol version is less
interesting than attempting to act based on implementation fingerprints.
-=R


On 4/10/19, 1:48 AM, "QUIC on behalf of G Fairhurst" <quic-bounces@ietf.org
on behalf of gorry@erg.abdn.ac.uk> wrote:

Obscuring the version of a protocol seems like a major design design
decision for wider use cases. So, I'm trying to understand the
motivation for version greasing.

(1) I know there were instances where some early versions of QUIC were
blocked due to an uninitentional matching of the header. Is there
evidence of intentional attempts to block updates to protocols?

(2) Thinking about operating a network that cares about user support and
protection from unwanted traffic, I would expect that there would be
cases where traffic pattern anomolies are found and the appropriate
thing would be to try to determine if a new protocol had been deployed
and monitor it, if not, then the next most obvious thing could be to
block all unexpected traffic, that seems like a decision to hide the
version could increase ossification for new versions in these cases.

(3) Similarly, if a threat is known to impact only a specific (older)
version, it would seem to motivate a drop of that traffic that seeks to
use that version, while still permitting other traffic. Forcing version
detection to use pattern matching/ML will lead to less predictable
outcomes, or blocking based on address, etc.

(4) This obfusticates the most basic piece of reporting information used
for support. It hides the extent of deployment of the current protocol
version and prevlance of old implementations.

(5) On the support, if a problem only emerges when a particular version
is used with a particular address, then this helps pinpoint the issues.
Matching client versions to servers is much more of an issue if the user
community uses a wide range of servers (less so, I expect for major
providers: google, facebook, etc, etc), but significant when there is a
use of a diverse set of external sites and sites with their own load
balancers, etc and a need to manage interactions with L2 services.

I am intersted in knowing if this is likely to benefit or be a new
obstacle?

Gorry