Re: [websec] [Technical Errata Reported] RFC6797 (4075)

Yoav Nir <ynir.ietf@gmail.com> Fri, 08 August 2014 22:06 UTC

Return-Path: <ynir.ietf@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 84F1D1A00FC for <websec@ietfa.amsl.com>; Fri, 8 Aug 2014 15:06:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, SPF_PASS=-0.001] autolearn=ham
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 M0l_RXLG0pOv for <websec@ietfa.amsl.com>; Fri, 8 Aug 2014 15:06:27 -0700 (PDT)
Received: from mail-wi0-x22d.google.com (mail-wi0-x22d.google.com [IPv6:2a00:1450:400c:c05::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A7E511A00EB for <websec@ietf.org>; Fri, 8 Aug 2014 15:06:26 -0700 (PDT)
Received: by mail-wi0-f173.google.com with SMTP id f8so1705385wiw.0 for <websec@ietf.org>; Fri, 08 Aug 2014 15:06:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=6i0cx3v35nGul4Pvyzag95poOaOFZPftL75SVkRQwq8=; b=BcBuwzJC3qciaHdk+ZLyGh3LCT7cLmEl4mKDnPoj1hh51fWMVLccdx3sX7M9+Ew/Wr Kz50fPbNOJ/nlROnwtsxF/ZAxV/VuamKk5rJ/dBJrI+/6b4ZdzSQe9zkNR3ubiGVJ3+X Cm8CAP1BYn5Z1IYmXesoyoQAGrZmKjF+jzAtazn5NkNUWvTAmvxxMI4TEcyaeY+F3aFb cjeL4WhW15b/NkG/kB6QRHpGhTMUdmZYmL+Y9QxiSJqBRFg+B332VlM0K2ZRStNAkqiA nO0XglxgMVmp/FgQbY8v9+cKhqJlYxs6uxMXzYauvQr3j8nNNhDDqNDxeCBnS0MwEUWO Hm4Q==
X-Received: by 10.180.73.139 with SMTP id l11mr6990617wiv.30.1407535585213; Fri, 08 Aug 2014 15:06:25 -0700 (PDT)
Received: from [192.168.1.100] (bzq-84-109-50-18.red.bezeqint.net. [84.109.50.18]) by mx.google.com with ESMTPSA id h13sm20190790wjs.2.2014.08.08.15.06.22 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 08 Aug 2014 15:06:24 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
Content-Type: text/plain; charset="windows-1252"
From: Yoav Nir <ynir.ietf@gmail.com>
X-Priority: 3
In-Reply-To: <COL131-DS10F844603100882CC36852F0EE0@phx.gbl>
Date: Sat, 09 Aug 2014 01:06:23 +0300
Content-Transfer-Encoding: quoted-printable
Message-Id: <85006244-94CE-4AD8-9042-4C8CDF216C12@gmail.com>
References: <20140808190533.56A431801A4@rfc-editor.org> <CALaySJJB=g_gD9rFVoLU7JW7SkVvq9bK_H71TdPq3-em0JLFfQ@mail.gmail.com> <COL131-DS14E7BAAD30061ECA07D1D5F0EE0@phx.gbl> <CALaySJJe6v7JwceN+TucqtdJWA9dh3+oj6-awYXHJwY6iZEvzA@mail.gmail.com> <151DC1A6-B162-4EF7-A78B-3723A64F7D84@gmail.com> <COL131-DS10F844603100882CC36852F0EE0@phx.gbl>
To: Eric Lawrence <e_lawrence@hotmail.com>
X-Mailer: Apple Mail (2.1878.6)
Archived-At: http://mailarchive.ietf.org/arch/msg/websec/6SNqZ6BHg7XpO16SRL6wJ_OSGKM
Cc: Barry Leiba <barryleiba@computer.org>, Jeff Hodges <Jeff.Hodges@paypal.com>, Pete Resnick <presnick@qti.qualcomm.com>, websec@ietf.org, Collin Jackson <collin.jackson@sv.cmu.edu>, RFC Errata System <rfc-editor@rfc-editor.org>
Subject: Re: [websec] [Technical Errata Reported] RFC6797 (4075)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec/>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Aug 2014 22:06:29 -0000

Thanks, Eric

This does look to me like content for an update RFC (with a name like “secure practices of using HSTS in the presence of subdomains”).

I’m not sure how high in the DNS hierarchy you would wish to go.

For secure.tools.ietf.org, it makes sense to check tools.ietf.org and ietf.org.  That also works for .com sites. But in some countries they have their national TLS plus another for commercial/organization. So the top company/organizational domain would be something like somecorp.co.uk or someorg.org.il.  There would be no point in checking for HSTS at co.uk.  Maybe there are rules for this.

Yoav

On Aug 9, 2014, at 12:52 AM, Eric Lawrence <e_lawrence@hotmail.com> wrote:

> Hi, Yoav--
> 
> Ivan Ristic's new "Bulletproof SSL and TLS" covers "Cookie Manipulation Attacks" quite nicely.  As he explains well, a serious limitation with HTTP cookies is that they do not carry their metadata when resent to the server, so a secure cookie set by "secure.tools.ietf.org" is, upon receipt by the server in a request's Cookie header, indistinguishable from a insecure cookie of the same name set by "tools.ietf.org". The cookie does not convey the origin from which it was set.
> 
> RFC6797 Section 14 notes that HSTS's includeSubdomains feature blocks a similar problem (namely, an insecure cookie set by http://sub.secure.tools.ietf.org could be set against its parent secure.tools.ietf.org). However, because includeSubdomains only applies to sub-domains, rather than parent-domains, this protection is insufficient to address cookie injection attacks against a parent domain.
> 
> It's hard to argue that this limitation is a flaw in HSTS (because the alternative would be to permit a subdomain to define a HSTS policy for its parent). However, because it is a threat against a site that is otherwise protected via HSTS, I would suggest that there should be implementation guidance of the form: "Any page secured by HSTS that is at a third-level-effective-domain (www.privatedomain.etld) or lower in the DNS hierarchy should include a resource reference to the parent privatedomain (e.g. https://privatedomain.etld/1x1.gif) such that the dereferencing of that resource will provide the UA the opportunity to store a HSTS policy that will protect the entire privatedomain tree."
> 
> -Eric
> 
> -----Original Message----- From: Yoav Nir
> Sent: Friday, August 8, 2014 4:16 PM
> To: Eric Lawrence ; Barry Leiba
> Cc: RFC Errata System ; Jeff Hodges ; Collin Jackson ; Adam Barth ; Pete Resnick ; Tobias Gondrom ; websec@ietf.org
> Subject: Re: [Technical Errata Reported] RFC6797 (4075)
> 
> 
> On Aug 8, 2014, at 10:54 PM, Barry Leiba <barryleiba@computer.org> wrote:
> 
>>> I'm afraid I'm only a consumer of RFCs and thus I'm not sure I understand
>>> the distinction here. To me, it seems that the RFC's threat model is
>>> incomplete.
>> 
>> Perhaps it is, but the distinction is about whether an error was made
>> in writing the document, or whether there's a flaw in the protocol, an
>> issue that wasn't considered in the discussion, or the like.
>> 
>> The sentence you're addressing is entirely consistent with the rest of
>> Section 14.4, and doesn't look like "errata" to me.  It's quite
>> possible that the working group blew it and should have thought about
>> things differently.  It's possible that someone should write an update
>> to RFC 6797 to correct it, and that your input would be useful.
>> 
>> But you're asking the websec working group to consider an update, not
>> making an errata report, as I see it.
>> 
>> Does anyone from websec have a comment on this?
> 
> Hi Barry.
> 
> Reading this, it doesn’t look like an error in the document, but as an attack that the group may not have considered, which HSTS may not protect. If this is indeed valid, and if this had been caught in IETF last call or IESG review, this would probably have been sent back to the working group to complete.
> 
> Eric: I’m trying to understand the issue, so please see the below and tell me if I understood it correctly.
> 
> Suppose we set up secure.tools.ietf.org and a sub-domain of tools.ietf.org and set HSTS on that domain (but not on tools.ietf.org, which is available in HTTP)
> I browse http://tools.ietf.org. Because I’m not using HTTPS, an attacker intercepts the connection and injects a cookie for all subdomain (Path=/; Domain=tools.ietf.org).
> My next connection to https://secure.tools.ietf.org will send this cookie.
> 
> Did I get this correctly?
> 
> So my first reaction was “No way. You can’t set a Secure cookie over an HTTP connection, can you?  Just like you can’t set HSTS over an HTTP connection.” So I went to find where in RFC 6265 it says that. So of course it doesn’t. Googling it shows that I’m not the first to wonder about that. In anyone has some insight about this, I’d be glad to know. Is it just that cookies have always worked like this, so we’re not changing it now?
> 
> Unless I’m missing something, this could be a real problem, and there are several ways to mitigate it. Any of them requires a new document that either replaces 6797 or updates it ( I can see this solved with a 2-page + boilerplate document). But I don’t think an errata report is the way to go on this.
> 
> Yoav
> 
>