Internet DRAFT - draft-etienne-ietf-secure-pmtud

draft-etienne-ietf-secure-pmtud





Network Working Group                                         J. Etienne
Internet-Draft                                                  Nov 2001
Expires: May 2, 2002


                  Secure Path MTU discovery: framework
                 draft-etienne-ietf-secure-pmtud-00.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on May 2, 2002.

Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Abstract

   This document presents a framework for a secure path MTU discovery
   which intend to improve the security compared to the current method.
   The rfc1191 [5] method relies on unauthenticated packets sent by
   routers on the path.  The lack of authentication allows an attacker
   to send fake packets and forces the host to instensively fragment all
   packets (see Appendix A).  It is an effective DoS because it
   significantly increases the packet loss, dramatically reduces the
   effective bandwidth and can be done from anywhere in the internet.
   The secure path mtu discovery requires a cookie exchange between the
   router and the host before accepting the suggested MTU.  Thus, it
   limits the scope of this attack to the adversaries on the path.  We
   think it is acceptable as attacker on the path can perform more



Etienne                    Expires May 2, 2002                  [Page 1]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


   efficient attacks(WORK: ref).

Table of Contents

   1.  Notes: . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Threat model . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Secure pmtu discovery overview . . . . . . . . . . . . . . . .  3
   4.1 Cookie definition  . . . . . . . . . . . . . . . . . . . . . .  3
   4.2 In a nutshell  . . . . . . . . . . . . . . . . . . . . . . . .  4
   5.  Cookie generation  . . . . . . . . . . . . . . . . . . . . . .  4
   6.  mark's location  . . . . . . . . . . . . . . . . . . . . . . .  5
   6.1 Relation with ICMP error packets . . . . . . . . . . . . . . .  5
   6.2 UDP header . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   6.3 IPv4 header  . . . . . . . . . . . . . . . . . . . . . . . . .  6
       Author's Address . . . . . . . . . . . . . . . . . . . . . . .  8
   A.  RFC1191 method and its security problems . . . . . . . . . . .  8
   A.1 Attack overview  . . . . . . . . . . . . . . . . . . . . . . .  8
       References . . . . . . . . . . . . . . . . . . . . . . . . . .  7
   B.  note about a 1RTT pmtu . . . . . . . . . . . . . . . . . . . .  8
       Full Copyright Statement . . . . . . . . . . . . . . . . . . .  9






























Etienne                    Expires May 2, 2002                  [Page 2]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


1. Notes:

   This document is really a draft.  read it at your own risk

2. Terminology

   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 rfc2119 [8].

   o  path: The sequence of routers and (sub-)networks that a packet
      traverses from a particular source to a particular destination
      host.  Note that a path is uni-directional; it is not unusual to
      have different paths in the two directions between a given host
      pair.  This definition is inspired from rfc1812.B [6].


3. Threat model

   The secure path MTU discovery assumes the attacker isn't on the path.
   An attacker on the path can perform at least as efficient attacks
   than the pmtu ones (WORK: include ip in appendix).  It doesn't seem
   usefull to design a method able to resist to this kind of attacker as
   it will very likely be significantly more complex and won't increase
   the effective security.

   The attacker is assumed to know any informations which haven't been
   explicitly designed to be unpredictable by attackers out of the path
   (e.g IP address, TCP/UDP ports, IPsec SPI, TCP sequence number when
   RFC1948 [7] isn't applied).

4. Secure pmtu discovery overview

   The secure pmtu discovery is an application of the cookie (invented
   by Phil Karn and William Allen Simpson RFC2522.3.3 [12]) to the
   pmtud.  very briefly, the suggested MTU is accepted only if the ICMP
   'DF set and fragmentation needed' contains a valid cookie.

4.1 Cookie definition

   A cookie is an unpredictable value sent in clear by a server to a
   claimed client.  The client replies it to prove it received the
   cookie.  This process ensures the communication between the server
   and the client is bidirectionnal.  As the cookie generation is
   stateless and fast (see Section 5), the server doesn't consume
   significant resources during the cookie exchange.  An attacker not on
   the path can't know the cookie value, it can't consume server's
   rescources as a DoS.  It dramatically reduce the DoS based on forged



Etienne                    Expires May 2, 2002                  [Page 3]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


   source address (ala TCPsyn flood) because the attacker is now forced
   to be on the path.

4.2 In a nutshell

   When a host receives an ICMP 'DF set and fragmentation needed', it
   checks if it contains a valid cookie (WORK:ref).  If so, the
   suggested MTU is accepted.  If not, the host sends a probe (WORK:
   ref) which is larger than the suggested MTU and which contains a
   cookie.  This probe is supposed to trigger an ICMP which would
   contain the cookie.  When the host receives it, the suggested MTU is
   finally accepted.

   It requires an additionnaly round time trip between the router and
   the host compared to the RFC1191 [5] method but the frequency of pmtu
   changes is quite low (WORK: give numbers) and we believe the
   additionnal security overweights the additionnal delay.

   Cookies are generated and checked by the same host, any others simply
   ignoring their presence.  So the local secret, the cookie's location
   and computation are purely a local matter and can be changed without
   notification.

5. Cookie generation

   The cookie is the output of a MAC with a local secret (e.g.  HMAC-
   SHA1).  The fields covers by the MAC depends on local configuration.

   o  To check the cookie, the informations must be the same in the
      original IP header and in the ICMP error.  They must be immutable
      in transit (RFC2402.3.3.3.1.1.1 [9]).

   o  The fields used for the computation can't be used to store the
      cookie.  This constraint may be removed by using a local secret
      directly instead of a MAC (WORK: ref ).

   o  The mac SHOULD be statically unique for a given path, or attacker
      on one path could send fake ICMP to interrupt other paths with the
      same cookie.  It isn't allowed by the threat model (Section 3).

   o  To rely solely on IP addresses isn't sufficient as modern routing
      may use upper layer information.  The connection information
      contained in the IPv4 header (RFC0791.3.1 [2]) are the source and
      destination addresses, the Type of Service (TOS), and the ip
      protocol.  For UDP (RFC0768.p1 [1]) and TCP (RFC0793.3.1 [4]), the
      source and destination port are appended to the IP's connection
      information.




Etienne                    Expires May 2, 2002                  [Page 4]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


6. mark's location

   A probe is a packet dedicated to probe the path MTU.  It is sent
   rather unfrequently, it doesnt need to be accepted by the other peer,
   or even to reach it.  Its real destination is the router on the path
   which sent a ICMP triggered by a non-probe packet.

   o  In this section, the mark means an value unpredictable by
      attackers not on the path.  If may be a cookie (see Section 5) or
      an ephemeral random value (see WORK ref ).

   o  In order to be verifiable, the mark MUST be included in fields
      immutable in transit (RFC2402.3.3.3.1.1.1 [9]).  If the mark
      stored in the originated IP packet is modified in transit (from
      the originator to the router triggering the ICMP or from the
      router back to the originator), the spmtu discovery will fail and
      the connectivity will be lost.

   o  spmtud uses a dedicated probe because it leaves more freedom in
      include the mark.

   o  Note about the probe and the cookie localtion: it MUST be able to
      reach the end destination, it MAY be unacceptable by the end
      destination, it MUST NOT cause damage to the end destination, it
      SHOULD be legal, It SHOULD be 'usual' not to trigger bugs in the
      intermediary routers (WORK: can be estimated by experimentation
      with other ICMP errors such as TTL expired, aka traceroute)

   o  Note about using UDP/TCP fields: UDP (RFC0768 [1]) and TCP
      (RFC0793 [4]) are theorically end to end protocols so only the
      source and the final destination should read them.  Nevetheless
      firewall, proxy or other end2end brokers may read it and discard
      the packets if they considere them invalid.


6.1 Relation with ICMP error packets

   The sender of the ICMP is a router on the path.  We assume it isn't
   under our control and we can't modify its behaviour.  Concequently
   the ICMP authentication must rely on the part of the original
   datagram included with the ICMP packet.

   In the IPv4 case, ICMPv4 includes the IPv4 header + 64bits of the
   payload (RFC0792.p5 [3]).  RFC1812.4.3.2.3 [6] specifies an ICMP
   error SHOULD include as much of the original datagram as possible up
   to 576 byte.  Unfortunatly an informal statistic shows that XX % of
   the routers don't follow this requirement so we can't rely on it
   without loosing connectivity.  (WORK: todo.  tcpdump -e icmp and



Etienne                    Expires May 2, 2002                  [Page 5]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


   traceroute all around the world find a list of host- top 50 site from
   phil)

   In the IPv6 case, ICMPv6 (RFC2463.2.4.c [11]) includes as much of the
   triggering packet and up to 1280 byte, the minimum IPv6 MTU
   (RFC2460.5 [10]).  WORK: more likely to be actually done as IPv6
   doesnt have the history of IPv4 but need to be checked.

   In any case, as the packet is never completly included, it is
   required to authenticate only part of the packets.  It isn't
   considered as an issue as ICMP error are made to be associated to a
   given connection, so they contains the necessary informations.

6.2 UDP header

   As UDP is an end-to-end protocol and as the probe doesn't have to be
   acceptable by the destination, all header's fields may theorically be
   usable.

   Nevertheless, in practice, the packet may reach the destination and
   cause trouble to unauthenticated connections (e.g.  by changing the
   ports) or end2end brokers may discard packet they considere invalid.

   The unused UDP fields (RFC0768.p1 [1]) are:

   o  The udp length (16bit): to set it to a random value will create a
      invalid UDP packet.

   o  The udp checksum (16bit): The packet is still valid as the probe
      payload may be adapated to make the checksum valid (see xref="UDP
      checksum to a random value"/>).  WORK: what about the udp checksum
      inside the ICMP when it comes back to the NAT box, is it updated ?

   o  The udp ports (32bits): The packet may reach the destination and
      cause trouble to unauthenticated connections.  WORK: list trouble
      with end2end brokers.


6.3 IPv4 header

   The unused IPv4 fields are:

   o  TOS (8bit) may be used for routing and "some routers are known to
      change the value of this field, even though the IP specification
      does not consider TOS to be a mutable header field"
      (RFC2402.3.3.3.1.1.1 [9]).

   o  ID (16bit) is used only for reassemble the packet and in pmtud's



Etienne                    Expires May 2, 2002                  [Page 6]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


      case the packet has DF set, so this field is considered unused.

   o  the fragment offset (13bit), some routers (e.g.  linux) don't
      generate ICMP error for fragments.

   o  options:

References

   [1]   Postel, J., "User Datagram Protocol", STD 6, RFC 768, 28 August
         1980.

   [2]   Postel, J., "Internet Protocol", STD 5, RFC 791, Sep 1981.

   [3]   Postel, J., "Internet Control Message Protocol", STD 5, RFC
         792, Sep 1981.

   [4]   Postel, J., "Transmission Control Protocol", STD 7, RFC 793,
         Sep 1981.

   [5]   Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, Nov
         1990.

   [6]   Baker, F., "Requirements for IP Version 4 Routers", RFC 1812,
         June 1995.

   [7]   Bellovin, S., "Defending Against Sequence Number Attacks", RFC
         1948, May 1996.

   [8]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", BCP 14, RFC 2119, March 1997.

   [9]   Kent, S. and R. Atkinson, "IP Authentication Header", RFC 2402,
         November 1998.

   [10]  Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6)
         Specification", RFC 2460, December 1998.

   [11]  Conta, A. and S. Deering, "Internet Control Message Protocol
         (ICMPv6) for the Internet Protocol Version 6 (IPv6)
         Specification", RFC 2463, December 1998.

   [12]  Karn, P. and W. Simpson, "Photuris: Session-Key Management
         Protocol", RFC 2522, March 1999.







Etienne                    Expires May 2, 2002                  [Page 7]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


Author's Address

   Jerome Etienne

   EMail: jme@off.net
   URI:   http://www.off.net/~jme

Appendix A. RFC1191 method and its security problems

   On internet, the IPv4 pmtu discovery is based on RFC1191 [5].  In
   short, the algorithm is when a router receives a packet too large to
   be forwarded, it checks the 'Dont fragment' bit (DF RFC0791.p25 [2]).
   If it isn't set, the packet is fragmented and forwarded, else the
   router replies to the source an ICMP 'Fragmentation needed but DF
   set' (RFC0791.p5 [2]).  The ICMP packet includes the largest
   acceptable size (RFC1191.4 [5]).  The source uses this information to
   reduce its estimation of the path MTU.  This process is applied as
   long as the packet doesn't reach its final destination (see RFC1191.2
   [5] for a longer overview).

A.1 Attack overview

   As the ICMP packets aren't authenticated, an attacker, anywhere on
   the internet, can send fake ones (RFC1191.8 [5]).  The receiver sets
   the path MTU to the one suggested in the ICMP (RFC1191.2 [5]), in our
   case, chosen by the attacker.  As the minimal IPv4 MTU is 68 byte
   (RFC0791.p25 [2]), the attacker can reduce the MTU to 68 byte and so
   produce a lot of fragmentation (WORK: ref on fragmentation considered
   harmfull).  It is an effective DoS because it significantly increases
   the packet loss and dramatically reduce the effective bandwidth.

Appendix B. note about a 1RTT pmtu

   This section explains an alternative to increase the security of the
   RFC1191 [5] method without increase the delay.  Nevertheless it has
   significant disadvantages which motivated the 2RTT proposition.

   WORK: to write













Etienne                    Expires May 2, 2002                  [Page 8]

Internet-Draft    Secure Path MTU discovery: framework          Nov 2001


Full Copyright Statement

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.



















Etienne                    Expires May 2, 2002                  [Page 9]