idnits 2.17.1 draft-ietf-websec-x-frame-options-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 23, 2012) is 4201 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'TBD' is mentioned on line 170, but not defined -- Obsolete informational reference (is this intentional?): RFC 822 (Obsoleted by RFC 2822) -- Obsolete informational reference (is this intentional?): RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 WEBSEC D. Ross 3 Internet-Draft Microsoft 4 Intended status: Informational T. Gondrom 5 Expires: April 26, 2013 October 23, 2012 7 HTTP Header X-Frame-Options 8 draft-ietf-websec-x-frame-options-01 10 Abstract 12 To improve the protection of web applications against Clickjacking 13 this standard defines an http response header that declares a policy 14 communicated from a host to the client browser on whether the browser 15 must not display the transmitted content in frames of other web 16 pages. This drafts serves to document the existing use and 17 specification of X-Frame-Options. 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on April 26, 2013. 36 Copyright Notice 38 Copyright (c) 2012 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3 55 2. X-Frame-Options Header . . . . . . . . . . . . . . . . . . . . 3 56 2.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 2.2. Backus-Naur Form (BNF) . . . . . . . . . . . . . . . . . . 4 58 2.3. Design Issues . . . . . . . . . . . . . . . . . . . . . . . 5 59 2.3.1. Enable HTML content from other domains . . . . . . . . 5 60 2.3.2. Browser Behaviour and Processing . . . . . . . . . . . 5 61 2.4. Examples of X-Frame-Options Headers . . . . . . . . . . . . 6 62 2.4.1. Example scenario for the ALLOW-FROM parameter . . . . . 6 63 3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 64 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 65 4.1. Registration Template . . . . . . . . . . . . . . . . . . . 7 66 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 67 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 68 6.1. Normative References . . . . . . . . . . . . . . . . . . . 7 69 6.2. Informative References . . . . . . . . . . . . . . . . . . 7 70 Appendix A. Description of a Clickjacking attack . . . . . . . . . 8 71 A.1. Shop . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 72 A.2. Confirm Purchase Page . . . . . . . . . . . . . . . . . . . 9 73 A.3. Flash Configuration . . . . . . . . . . . . . . . . . . . . 9 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 76 1. Introduction 78 In 2009 and 2010 many browser vendors ([Microsoft-X-Frame-Options], 79 [CLICK-DEFENSE-BLOG], [Mozilla-X-Frame-Options]) introduced the use 80 of a non-standard http header RFC 2616 [RFC2616] "X-Frame-Options" to 81 protect against Clickjacking [Clickjacking]. This draft is to 82 document the current use of X-Frame-Options header and shall in the 83 future be replaced by the Frame-Options [FRAME-OPTIONS] standard. 85 Existing anti-ClickJacking measures, e.g. Frame-breaking Javascript, 86 have weaknesses so that their protection can be circumvented as a 87 study [FRAME-BUSTING] demonstrated. 89 Short of configuring the browser to disable frames and script 90 entirely, which massively impairs browser utility, browser users are 91 vulnerable to this type of attack. 93 The "X-Frame-Options" allows a secure web page from host B to declare 94 that its content (for example a button, links, text, etc.) must not 95 be displayed in a frame ( or