IPv6 maintenance Working Group (6man) F. Gont Internet-Draft SI6 Networks / UTN-FRH Updates: 2460, 4443 (if approved) W. Liu Intended status: Standards Track Huawei Technologies Expires: September 22, 2013 March 21, 2013 Security Implications of IPv6 Options of Type 10xxxxxx draft-gont-6man-ipv6-smurf-amplifier-03 Abstract When an IPv6 node processing an IPv6 packet does not support an IPv6 option whose two-highest-order bits of the Option Type are '10', it is required to respond with an ICMPv6 Parameter Problem error message, even if the Destination Address of the packet was a multicast address. This feature provides an amplification vector, opening the door to an IPv6 version of the 'Smurf' Denial-of-Service (DoS) attack found in IPv4 networks. This document discusses the security implications of the aforementioned options, and formally updates RFC 2460 and RFC 4443 such that this attack vector is eliminated. Additionally, it describes a number of operational mitigations that could be deployed against this attack vector. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may not be modified, and derivative works of it may not be created, and it may not be published except as an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on September 22, 2013. Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. Gont & Liu Expires September 22, 2013 [Page 1] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Updating RFC 2460 and RFC 4443 . . . . . . . . . . . . . . . . 5 3. Operational mitigations . . . . . . . . . . . . . . . . . . . 7 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.1. Normative References . . . . . . . . . . . . . . . . . . . 11 7.2. Informative References . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 Gont & Liu Expires September 22, 2013 [Page 2] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 1. Introduction IPv6 has eliminated most of the amplification vectors that were available in IPv4 to perform 'Smurf'-like Denial of Service (DoS) attacks [CERT1998]. However, an amplification vector has been left in the core IPv6 and ICMPv6 specifications ([RFC2460] and [RFC4443]) that would allow for an IPv6 version of the 'Smurf' Denial-of-Service (DoS) attacks [CERT1998] [RFC6274] found in IPv4 networks. The aforementioned vector is based on the use of unsupported IPv6 options, used in combination with multicast destinations. [RFC2460] specifies, in Section 4.2, that when a node processing an IPv6 packet does not support an IPv6 option whose two-highest-order bits of the Option Type are '10', it should respond with an ICMPv6 Parameter Problem error message, even if the Destination Address of the packet was a multicast address. [RFC4443] specifies, in Section 2.4 (page 6), that packets destined to an IPv6 multicast address should not elicit ICMPv6 error messages, with the exception of ICMPv6 Packet Too Big messages (such that Path-MTU Discovery works for IPv6 multicast) and the Parameter Problem Message, Code 2 for reporting an unrecognized IPv6 option that has the Option Type highest-order two bits set to 10. This feature provides an amplification vector, opening the door to an IPv6 version of the 'Smurf' Denial-of-Service (DoS) attack [CERT1998] [RFC6274] found in IPv4 networks. An attacker could exploit the aforementioned amplification vector by sending forged IPv6 packets with the IPv6 address of the victim system as the Source Address of his packets, a multicast address as the Destination Address, and an unsupported option (with an Option Type of '10xxxxxx') in a Destination Options Header. Upon receipt of the forged packet, each receiving host would respond with an ICMPv6 Parameter Problem, code 2, error message, pointing to the unsupported option type. Thus, the systems belonging to the multicast group specified by the multicast address contained in the Destination Address field would serve as an 'amplifier network'. It should be noted that if the multicast RPF check is used (e.g. to prevent routing loops), this would prevent an attacker from forging the Source Address of a packet to an arbitrary value, thus preventing an attacker from launching this attack against a remote network. Chapter 5 of [Juniper2010] discusses multicast RPF configuration for Juniper routers. Section 2 updates RFC 2460 [RFC2460] and RFC 4443 [RFC4443], such Gont & Liu Expires September 22, 2013 [Page 3] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 that the aforementioned attack vector is eliminated. Section 3 describes a number of operational mitigations for the aforementioned attack vector. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. Gont & Liu Expires September 22, 2013 [Page 4] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 2. Updating RFC 2460 and RFC 4443 Considering the security implications discussed in Section 1, and since there are no known legitimate uses of IPv6 options of type '10xxxxxx', this document updates the corresponding specifications to eliminate these issues. The following text in Section 4.2 (page 9) of [RFC2460]: 10 - discard the packet and, regardless of whether or not the packet's Destination Address was a multicast address, send an ICMP Parameter Problem, Code 2, message to the packet's Source Address, pointing to the unrecognized Option Type. is replaced with: 10 - discard the packet and send an ICMP Parameter Problem, Code 2, message to the packet's Source Address (pointing to the unrecognized Option Type), only if (1) the packet's Destination Address was not a multicast address, or (2) the packet's Destination Address was a multicast address, but the node sending the Parameter Problem error message can assert that the Source Address of the packet eliciting the error message has not been forged. Additionally, the following text in Section 2.4 (page 6) of [RFC4443]: (e.3) A packet destined to an IPv6 multicast address. (There are two exceptions to this rule: (1) the Packet Too Big Message (Section 3.2) to allow Path MTU discovery to work for IPv6 multicast, and (2) the Parameter Problem Message, Code 2 (Section 3.4) reporting an unrecognized IPv6 option (see Section 4.2 of [IPv6]) that has the Option Type highest- order two bits set to 10). is replaced with: Gont & Liu Expires September 22, 2013 [Page 5] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 (e.3) A packet destined to an IPv6 multicast address. (There is one exception to this rule: the Packet Too Big Message (Section 3.2) to allow Path MTU discovery to work for IPv6 multicast). (e.3) A packet destined to an IPv6 multicast address. (There are two exceptions to this rule: (1) the Packet Too Big Message (Section 3.2) to allow Path MTU discovery to work for IPv6 multicast, and (2) the Parameter Problem Message, Code 2 (Section 3.4) reporting an unrecognized IPv6 option that has the Option Type highest-order two bits set to 10, *provided* the node sending the Parameter Problem message can assert that the Source Address of the packet eliciting the error message has not been forged.). Gont & Liu Expires September 22, 2013 [Page 6] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 3. Operational mitigations This section describes a number of operational mitigations that could be implemented for the aforementioned attack vector: o Firstly, IPv6 nodes should limit their ICMPv6 traffic. This is a general mitigation technique for any bandwidth-exhaustion attack that relies on ICMPv6 traffic. This could be enforced at the hosts themselves, or at any router connecting such hosts to the public network. o Secondly, as noted in Section 1 of this document, the multicast RPF check could be enabled such that an attacker cannot forge the Source Address of a packet to an arbitrary value, thus preventing an attacker from launching this attack against a remote network. Gont & Liu Expires September 22, 2013 [Page 7] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 4. IANA Considerations There are no IANA registries within this document. The RFC-Editor can remove this section before publication of this document as an RFC. Gont & Liu Expires September 22, 2013 [Page 8] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 5. Security Considerations This document describes how IPv6 options whose two-highest-order bits of the Option Type are '10' could be exploited to perform an IPv6 version of the 'Smurf' Denial-of-Service (DoS) attack [CERT1998] [RFC6274] found in IPv4 networks. It formally updates RFC 2460 [RFC2460] such that this attack vector is eliminated, and also describes a number of operational mitigations that could be deployed against this attack vector. Gont & Liu Expires September 22, 2013 [Page 9] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 6. Acknowledgements The authors would like to thank (in alphabetical order) Francis Dupont, Joel Halpern, Suresh Krishnan, Simon Perreault, Dave Thaler, and Ole Troan, for providing valuable comments on earlier versions of this document. This document is based on the technical report "Security Assessment of the Internet Protocol version 6 (IPv6)" [CPNI-IPv6] authored by Fernando Gont on behalf of the UK Centre for the Protection of National Infrastructure (CPNI). Fernando Gont would like to thank CPNI (http://www.cpni.gov.uk) for their continued support. Gont & Liu Expires September 22, 2013 [Page 10] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 4443, March 2006. 7.2. Informative References [RFC6274] Gont, F., "Security Assessment of the Internet Protocol Version 4", RFC 6274, July 2011. [CPNI-IPv6] Gont, F., "Security Assessment of the Internet Protocol version 6 (IPv6)", UK Centre for the Protection of National Infrastructure, (available on request). [CERT1998] CERT, "CERT Advisory CA-1998-01: Smurf IP Denial-of- Service Attacks", 1998, . [Juniper2010] Juniper, "JunosE Software for E Series Broadband Services Routers Multicast Routing Configuration Guide", 2010, . Gont & Liu Expires September 22, 2013 [Page 11] Internet-Draft IPv6 options of Type 10xxxxxx March 2013 Authors' Addresses Fernando Gont SI6 Networks / UTN-FRH Evaristo Carriego 2644 Haedo, Provincia de Buenos Aires 1706 Argentina Phone: +54 11 4650 8472 Email: fgont@si6networks.com URI: http://www.si6networks.com Will (Shucheng) Liu Huawei Technologies Bantian, Longgang District Shenzhen 518129 P.R. China Email: liushucheng@huawei.com Gont & Liu Expires September 22, 2013 [Page 12]