Re: [websec] Coordinating Frame-Options and CSP UI Safety directives

Thomas Roessler <tlr@w3.org> Fri, 20 July 2012 11:54 UTC

Return-Path: <tlr@w3.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 16E7D21F8570 for <websec@ietfa.amsl.com>; Fri, 20 Jul 2012 04:54:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.223
X-Spam-Level:
X-Spam-Status: No, score=-10.223 tagged_above=-999 required=5 tests=[AWL=0.375, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qBXK4TNS+u3z for <websec@ietfa.amsl.com>; Fri, 20 Jul 2012 04:54:12 -0700 (PDT)
Received: from jay.w3.org (ssh.w3.org [128.30.52.60]) by ietfa.amsl.com (Postfix) with ESMTP id 954AE21F8569 for <websec@ietf.org>; Fri, 20 Jul 2012 04:54:12 -0700 (PDT)
Received: from [88.207.137.67] (helo=[192.168.2.106]) by jay.w3.org with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.69) (envelope-from <tlr@w3.org>) id 1SsBnP-00049B-GK; Fri, 20 Jul 2012 07:55:01 -0400
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: multipart/alternative; boundary="Apple-Mail=_2EB8AB60-D628-4EE4-A6B5-BFD556B5F2E0"
From: Thomas Roessler <tlr@w3.org>
In-Reply-To: <9B5348748B708948989B17CC0AEA3DD0027A848A@SN2PRD0310MB395.namprd03.prod.outlook.com>
Date: Fri, 20 Jul 2012 13:54:54 +0200
Message-Id: <043AA6DA-9D3F-4EC2-B5D4-E1FF2FD0F470@w3.org>
References: <370C9BEB4DD6154FA963E2F79ADC6F2E1799AD@DEN-EXDDA-S12.corp.ebay.com> <4FFB67EE.406@gondrom.org> <370C9BEB4DD6154FA963E2F79ADC6F2E17AE18@DEN-EXDDA-S12.corp.ebay.com> <68291699F5EA8848B0EAC2E78480571F053A3186@TK5EX14MBXC216.redmond.corp.microsoft.com> <CAJE5ia90hJ7EQDgn7Y3u2m1Lxe=fwkG65YE7YtiBNJfDtaE0rA@mail.gmail.com> <9B5348748B708948989B17CC0AEA3DD0027A848A@SN2PRD0310MB395.namprd03.prod.outlook.com>
To: David Ross <dross@microsoft.com>
X-Mailer: Apple Mail (2.1278)
Cc: "websec@ietf.org" <websec@ietf.org>
Subject: Re: [websec] Coordinating Frame-Options and CSP UI Safety directives
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
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, 20 Jul 2012 11:54:14 -0000

I wouldn't expect major obstacles from the W3C side to having Tobias participate there.
--
Thomas Roessler, W3C  <tlr@w3.org>  (@roessler)







On 2012-07-19, at 21:51 +0200, David Ross wrote:

> #1 – fair point
> #2 – I was worried that the current mechanism was multi-origin only, but it sounds like that’s not the case.  If so, this is good.
>  
> NIH doesn’t sound like a great reason at all.
>  
> Question for Tobias -- with a move to push this from the IETF to the W3C/CSP, given your IETF affiliation would you still be able to contribute time to this project?  (Sorry if that’s an exceedingly blunt question, I’m not trying to step on toes here.)  Your work here thus far has been absolutely invaluable and has allowed XFO/FO to make forward progress with very little overhead.  I really don’t want to lose the momentum.
>  
> Dave
>  
>  
> From: Adam Barth [mailto:ietf@adambarth.com] 
> Sent: Wednesday, July 18, 2012 4:17 PM
> To: David Ross
> Cc: Hill, Brad; Tobias Gondrom; websec@ietf.org
> Subject: Re: [websec] Coordinating Frame-Options and CSP UI Safety directives
>  
> Here are two reasons we should make Frame-Options into a Content-Security-Policy directive rather than yet-another-one-off-HTTP-header:
>  
> 1) By centralizing all the policy bits in one string, we gain network benefits.  For example, in the Chrome extension system, we have a field in the manifest for specifying a Content Security Policy:
>  
> http://code.google.com/chrome/extensions/contentSecurityPolicy.html
> 
> While we could add a new attribute for every different bit of policy, it's better for developers if there's just one place that contains the security policy.
>  
> 2) By moving Frame-Options into CSP, we can use the same origin-specifying machinery that already exists in CSP rather than inventing yet-another-way-of-specifying origins (e.g., in allow-from in the current Frame-Options draft).  By doing that, we make all these things work the same way rather than siloing each off depending on which browser vendor first decided this bit of policy was interesting.
>  
> As far as I can tell, the main reason for not making Frame-Options a CSP directive is that CSP was Not Invented Here.
>  
> Adam
>  
> 
> On Wed, Jul 11, 2012 at 5:22 PM, David Ross <dross@microsoft.com> wrote:
> Responding to a few of the points in Brad's original mail on this thread...
> 
> My concern is mostly around the degree to which a move to CSP might complicate or stall the process.  I'd also prefer not to see additional use cases pop up (eg: click fraud prevention) that just were never in scope before.
> 
> I think that w.r.t. header bloat, the most sensible approach is to only allow one origin to be specified.  CSP by-design facilitates the use of multiple origins.  As we've discussed w/Frame-Options, there is a design pattern to make the more basic single-origin approach functional.  I would hate to see hosts serving up source lists of hundreds of origins, just because they can.  I think that is exactly what will happen if we support multiple origins.
> 
> With regard to obsolescence of X-FRAME-OPTIONS, it's easy to specify exactly what happens in the FRAME-OPTIONS spec.  I don't see that CSP inherently improves on that but I may be missing something there.
> 
> The advantage I see of bringing FRAME-OPTIONS into CSP is that it makes CSP more comprehensive.  But I suspect there are plenty of other header-related security features that aren't defined by CSP (eg: the origin header, cookie security).
> 
> Finally, as Brad pointed out in the rosetta stone thread, Frame-Options provides the flexibility to perform only a top level origin check as opposed to a full ancestor check.  (Specified via the "AllAncestors" flag.)
> 
> David Ross
> dross@microsoft.com
> 
> 
> -----Original Message-----
> From: websec-bounces@ietf.org [mailto:websec-bounces@ietf.org] On Behalf Of Hill, Brad
> Sent: Monday, July 09, 2012 5:03 PM
> To: Tobias Gondrom; websec@ietf.org
> Cc: public-webappsec@w3.org
> Subject: Re: [websec] Coordinating Frame-Options and CSP UI Safety directives
> 
> Tobias,
> 
>  I'm happy to move the discussion primarily to websec, and I'll drop the cc: to webappsec after this email.  Thanks for the historical clarification, as well.
> 
> I'm not terribly concerned about which group does the work, as much as arriving at the engineering solution that works best for user agent and resource authors, some of whom have expressed preference for moving this functionality into CSP.  As both a chair and an individual, I don't have a strong preference, but I think there are reasons in favor of each option and it is worth re-opening the discussion now that the WebAppSec WG has a concrete deliverable under development to address the same general class of attacks.
> 
> I'll send out a summary shortly of the similarities and differences between the various options currently proposed for some additional context.
> 
> -Brad Hill
> 
> 
> 
> 
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
> 
> 
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>  
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec