idnits 2.17.1 draft-gont-6man-ipv6-smurf-amplifier-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- -- The document has an IETF Trust Provisions (28 Dec 2009) Section 6.c(ii) Publication Limitation clause. If this document is intended for submission to the IESG for publication, this constitutes an error. 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 doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. (Using the creation date from RFC2460, updated by this document, for RFC5378 checks: 1997-07-30) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (March 21, 2013) is 4053 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'IPv6' is mentioned on line 161, but not defined ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IPv6 maintenance Working Group (6man) F. Gont 3 Internet-Draft SI6 Networks / UTN-FRH 4 Updates: 2460, 4443 (if approved) W. Liu 5 Intended status: Standards Track Huawei Technologies 6 Expires: September 22, 2013 March 21, 2013 8 Security Implications of IPv6 Options of Type 10xxxxxx 9 draft-gont-6man-ipv6-smurf-amplifier-03 11 Abstract 13 When an IPv6 node processing an IPv6 packet does not support an IPv6 14 option whose two-highest-order bits of the Option Type are '10', it 15 is required to respond with an ICMPv6 Parameter Problem error 16 message, even if the Destination Address of the packet was a 17 multicast address. This feature provides an amplification vector, 18 opening the door to an IPv6 version of the 'Smurf' Denial-of-Service 19 (DoS) attack found in IPv4 networks. This document discusses the 20 security implications of the aforementioned options, and formally 21 updates RFC 2460 and RFC 4443 such that this attack vector is 22 eliminated. Additionally, it describes a number of operational 23 mitigations that could be deployed against this attack vector. 25 Status of this Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. This document may not be modified, 29 and derivative works of it may not be created, and it may not be 30 published except as an Internet-Draft. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at http://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on September 22, 2013. 44 Copyright Notice 46 Copyright (c) 2013 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 2. Updating RFC 2460 and RFC 4443 . . . . . . . . . . . . . . . . 5 63 3. Operational mitigations . . . . . . . . . . . . . . . . . . . 7 64 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 65 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 66 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 67 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 68 7.1. Normative References . . . . . . . . . . . . . . . . . . . 11 69 7.2. Informative References . . . . . . . . . . . . . . . . . . 11 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 72 1. Introduction 74 IPv6 has eliminated most of the amplification vectors that were 75 available in IPv4 to perform 'Smurf'-like Denial of Service (DoS) 76 attacks [CERT1998]. However, an amplification vector has been left 77 in the core IPv6 and ICMPv6 specifications ([RFC2460] and [RFC4443]) 78 that would allow for an IPv6 version of the 'Smurf' Denial-of-Service 79 (DoS) attacks [CERT1998] [RFC6274] found in IPv4 networks. The 80 aforementioned vector is based on the use of unsupported IPv6 81 options, used in combination with multicast destinations. 83 [RFC2460] specifies, in Section 4.2, that when a node processing an 84 IPv6 packet does not support an IPv6 option whose two-highest-order 85 bits of the Option Type are '10', it should respond with an ICMPv6 86 Parameter Problem error message, even if the Destination Address of 87 the packet was a multicast address. [RFC4443] specifies, in Section 88 2.4 (page 6), that packets destined to an IPv6 multicast address 89 should not elicit ICMPv6 error messages, with the exception of ICMPv6 90 Packet Too Big messages (such that Path-MTU Discovery works for IPv6 91 multicast) and the Parameter Problem Message, Code 2 for reporting an 92 unrecognized IPv6 option that has the Option Type highest-order two 93 bits set to 10. 95 This feature provides an amplification vector, opening the door to an 96 IPv6 version of the 'Smurf' Denial-of-Service (DoS) attack [CERT1998] 97 [RFC6274] found in IPv4 networks. 99 An attacker could exploit the aforementioned amplification vector by 100 sending forged IPv6 packets with the IPv6 address of the victim 101 system as the Source Address of his packets, a multicast address as 102 the Destination Address, and an unsupported option (with an Option 103 Type of '10xxxxxx') in a Destination Options Header. Upon receipt of 104 the forged packet, each receiving host would respond with an ICMPv6 105 Parameter Problem, code 2, error message, pointing to the unsupported 106 option type. Thus, the systems belonging to the multicast group 107 specified by the multicast address contained in the Destination 108 Address field would serve as an 'amplifier network'. 110 It should be noted that if the multicast RPF check is used (e.g. 111 to prevent routing loops), this would prevent an attacker from 112 forging the Source Address of a packet to an arbitrary value, thus 113 preventing an attacker from launching this attack against a remote 114 network. 116 Chapter 5 of [Juniper2010] discusses multicast RPF configuration 117 for Juniper routers. 119 Section 2 updates RFC 2460 [RFC2460] and RFC 4443 [RFC4443], such 120 that the aforementioned attack vector is eliminated. Section 3 121 describes a number of operational mitigations for the aforementioned 122 attack vector. 124 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 125 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 126 document are to be interpreted as described in RFC 2119 [RFC2119]. 128 2. Updating RFC 2460 and RFC 4443 130 Considering the security implications discussed in Section 1, and 131 since there are no known legitimate uses of IPv6 options of type 132 '10xxxxxx', this document updates the corresponding specifications to 133 eliminate these issues. 135 The following text in Section 4.2 (page 9) of [RFC2460]: 137 10 - discard the packet and, regardless of whether or not the 138 packet's Destination Address was a multicast address, send an 139 ICMP Parameter Problem, Code 2, message to the packet's 140 Source Address, pointing to the unrecognized Option Type. 142 is replaced with: 144 10 - discard the packet and send an ICMP Parameter Problem, Code 2, 145 message to the packet's Source Address (pointing to the 146 unrecognized Option Type), only if (1) the packet's Destination 147 Address was not a multicast address, or (2) the packet's 148 Destination Address was a multicast address, but the node 149 sending the Parameter Problem error message can assert that 150 the Source Address of the packet eliciting the error message 151 has not been forged. 153 Additionally, the following text in Section 2.4 (page 6) of 154 [RFC4443]: 156 (e.3) A packet destined to an IPv6 multicast address. (There are 157 two exceptions to this rule: (1) the Packet Too Big Message 158 (Section 3.2) to allow Path MTU discovery to work for IPv6 159 multicast, and (2) the Parameter Problem Message, Code 2 160 (Section 3.4) reporting an unrecognized IPv6 option (see 161 Section 4.2 of [IPv6]) that has the Option Type highest- 162 order two bits set to 10). 164 is replaced with: 166 (e.3) A packet destined to an IPv6 multicast address. (There is 167 one exception to this rule: the Packet Too Big Message 168 (Section 3.2) to allow Path MTU discovery to work for IPv6 169 multicast). 171 (e.3) A packet destined to an IPv6 multicast address. (There are 172 two exceptions to this rule: (1) the Packet Too Big Message 173 (Section 3.2) to allow Path MTU discovery to work for IPv6 174 multicast, and (2) the Parameter Problem Message, Code 2 175 (Section 3.4) reporting an unrecognized IPv6 option that has 176 the Option Type highest-order two bits set to 10, *provided* 177 the node sending the Parameter Problem message can assert 178 that the Source Address of the packet eliciting the error 179 message has not been forged.). 181 3. Operational mitigations 183 This section describes a number of operational mitigations that could 184 be implemented for the aforementioned attack vector: 186 o Firstly, IPv6 nodes should limit their ICMPv6 traffic. This is a 187 general mitigation technique for any bandwidth-exhaustion attack 188 that relies on ICMPv6 traffic. This could be enforced at the 189 hosts themselves, or at any router connecting such hosts to the 190 public network. 192 o Secondly, as noted in Section 1 of this document, the multicast 193 RPF check could be enabled such that an attacker cannot forge the 194 Source Address of a packet to an arbitrary value, thus preventing 195 an attacker from launching this attack against a remote network. 197 4. IANA Considerations 199 There are no IANA registries within this document. The RFC-Editor 200 can remove this section before publication of this document as an 201 RFC. 203 5. Security Considerations 205 This document describes how IPv6 options whose two-highest-order bits 206 of the Option Type are '10' could be exploited to perform an IPv6 207 version of the 'Smurf' Denial-of-Service (DoS) attack [CERT1998] 208 [RFC6274] found in IPv4 networks. It formally updates RFC 2460 209 [RFC2460] such that this attack vector is eliminated, and also 210 describes a number of operational mitigations that could be deployed 211 against this attack vector. 213 6. Acknowledgements 215 The authors would like to thank (in alphabetical order) Francis 216 Dupont, Joel Halpern, Suresh Krishnan, Simon Perreault, Dave Thaler, 217 and Ole Troan, for providing valuable comments on earlier versions of 218 this document. 220 This document is based on the technical report "Security Assessment 221 of the Internet Protocol version 6 (IPv6)" [CPNI-IPv6] authored by 222 Fernando Gont on behalf of the UK Centre for the Protection of 223 National Infrastructure (CPNI). 225 Fernando Gont would like to thank CPNI (http://www.cpni.gov.uk) for 226 their continued support. 228 7. References 230 7.1. Normative References 232 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 233 Requirement Levels", BCP 14, RFC 2119, March 1997. 235 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 236 (IPv6) Specification", RFC 2460, December 1998. 238 [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control 239 Message Protocol (ICMPv6) for the Internet Protocol 240 Version 6 (IPv6) Specification", RFC 4443, March 2006. 242 7.2. Informative References 244 [RFC6274] Gont, F., "Security Assessment of the Internet Protocol 245 Version 4", RFC 6274, July 2011. 247 [CPNI-IPv6] 248 Gont, F., "Security Assessment of the Internet Protocol 249 version 6 (IPv6)", UK Centre for the Protection of 250 National Infrastructure, (available on request). 252 [CERT1998] 253 CERT, "CERT Advisory CA-1998-01: Smurf IP Denial-of- 254 Service Attacks", 1998, 255 . 257 [Juniper2010] 258 Juniper, "JunosE Software for E Series Broadband Services 259 Routers Multicast Routing Configuration Guide", 2010, . 264 Authors' Addresses 266 Fernando Gont 267 SI6 Networks / UTN-FRH 268 Evaristo Carriego 2644 269 Haedo, Provincia de Buenos Aires 1706 270 Argentina 272 Phone: +54 11 4650 8472 273 Email: fgont@si6networks.com 274 URI: http://www.si6networks.com 276 Will (Shucheng) Liu 277 Huawei Technologies 278 Bantian, Longgang District 279 Shenzhen 518129 280 P.R. China 282 Email: liushucheng@huawei.com