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

Tobias Gondrom <tobias.gondrom@gondrom.org> Sun, 10 August 2014 11:28 UTC

Return-Path: <tobias.gondrom@gondrom.org>
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 3B0FA1A06E0 for <websec@ietfa.amsl.com>; Sun, 10 Aug 2014 04:28:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.969
X-Spam-Level:
X-Spam-Status: No, score=-99.969 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-0.668, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] 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 F97fLoxPKZ9w for <websec@ietfa.amsl.com>; Sun, 10 Aug 2014 04:28:05 -0700 (PDT)
Received: from www.gondrom.org (www.gondrom.org [91.250.114.153]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 20EF01A06DD for <websec@ietf.org>; Sun, 10 Aug 2014 04:28:05 -0700 (PDT)
X-No-Relay: not in my network
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gondrom.org; b=dlQiQF8H0LA4MTp4fA78E1DfTMt4jSXtcVBqJerrvr+xGEzbPZhnbAv/mPLN8x2nNn7zjxYbpugVOIkaqnuL4eSo3LMeMkIgsrKSb4STLkG69XHQYwb8bk3y6SOfr7hG12OtblzfBi0tsUD6Qn5VzDAh7r04B9zaD6GH2x63l04=; h=X-No-Relay:X-No-Relay:X-No-Relay:X-No-Relay:X-No-Relay:X-No-Relay:X-No-Relay:X-No-Relay:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding;
X-No-Relay: not in my network
X-No-Relay: not in my network
X-No-Relay: not in my network
X-No-Relay: not in my network
X-No-Relay: not in my network
X-No-Relay: not in my network
X-No-Relay: not in my network
X-No-Relay: not in my network
Received: from [192.168.0.6] (46-64-103-184.zone15.bethere.co.uk [46.64.103.184]) by www.gondrom.org (Postfix) with ESMTPSA id D32EB1539004F; Sun, 10 Aug 2014 13:28:01 +0200 (CEST)
Message-ID: <53E75740.1060200@gondrom.org>
Date: Sun, 10 Aug 2014 12:28:00 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: ynir.ietf@gmail.com, e_lawrence@hotmail.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> <85006244-94CE-4AD8-9042-4C8CDF216C12@gmail.com>
In-Reply-To: <85006244-94CE-4AD8-9042-4C8CDF216C12@gmail.com>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/websec/03ScanZoCPQTKsK-nvDC4WBLcT8
Cc: barryleiba@computer.org, Jeff.Hodges@paypal.com, presnick@qti.qualcomm.com, websec@ietf.org, collin.jackson@sv.cmu.edu, 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: Sun, 10 Aug 2014 11:28:08 -0000

Thanks.

I agree, this is an "update" and not an "errata".

However, am not sure how to best retain this information:
Because this is a good point for a best practice.
And be it only in advising the best practice when using HSTS, like
simply including one link to the parent https://example.com to avoid
having unprotected parent-domains.

For errata we have this nice mechanism to keep errata proposals, while
for updates, I think we don't.

Best regards, Tobias


On 08/08/14 23:06, Yoav Nir wrote:
> 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
>>
>>