Network Working Group                                        K. Fujiwara
Internet-Draft                                                      JPRS
Intended status: Best Current Practice                     July 04, 2019
Expires: January 5, 2020


                     Avoid IP fragmentation in DNS
              draft-fujiwara-dnsop-avoid-fragmentation-00

Abstract

   Path MTU discovery is vulnerable and IP fragmentation may cause
   protocol weakness.  Currently, DNS is said to be the biggest user of
   IP fragmentation.  However, it is possible to avoid IP fragmentation
   in DNS because TCP transport and truncation work well.  This document
   proposes to avoid IP fragmentation in DNS.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   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 https://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 January 5, 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://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.



Fujiwara                 Expires January 5, 2020                [Page 1]


Internet-Draft             avoid-fragmentation                 July 2019


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Proposal to avoid IP fragmentation in DNS . . . . . . . . . .   3
   4.  Incremental deployment  . . . . . . . . . . . . . . . . . . .   3
   5.  Considerations  . . . . . . . . . . . . . . . . . . . . . . .   3
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   DNS has EDNS0 [RFC6891] mechanism.  It enables that DNS server can
   send large size response using UDP.  Now EDNS0 is widely deployed,
   then DNS is said to be the biggest user of IP fragmentation.

   However, "Fragmentation Considered Poisonous" [Herzberg2013] proposed
   effective off-path DNS cache poisoning attack vectors using IP
   fragmentation.  "IP fragmentation attack on DNS" [Hlavacek2013] and
   "Domain Validation++ For MitM-Resilient PKI" [Brandt2018] proposed
   that off-path attackers can intervene in path MTU discovery [RFC1191]
   to perform intentionally fragmented responses from authoritative
   servers.  [RFC7739] stated security implications of predictable
   fragment identification values.

   As a result, we cannot trust fragmented UDP packets and path MTU
   discovery.  By the way, TCP is considered resistant against IP
   fragmentation attacks because TCP has sequence number and
   acknowledgement number in each sequence.

   This document proposes to avoid IP fragmentation in DNS.

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   Many of the specialized terms used in this document are defined in
   DNS Terminology [RFC8499].





Fujiwara                 Expires January 5, 2020                [Page 2]


Internet-Draft             avoid-fragmentation                 July 2019


3.  Proposal to avoid IP fragmentation in DNS

   The methods to avoid IP fragmentation in DNS are described below:

   o  Full-service resolvers SHOULD set EDNS0 requestor's UDP payload
      size to 1220.  (defined in [RFC4035] as minimum payload size)

   o  Authoritative servers and full-service resolvers SHOULD choose
      EDNS0 responder's maximum payload size to 1220 (defined in
      [RFC4035] as minimum payload size)

   o  Special consideration in small MTU network: If authoritative
      servers and full-service resolvers are located across the link
      with the MTU value less than 1280, choose EDNS0 requestor's and
      responder's maximum payload size fit to the smallest link MTU
      value. (the smallest MTU value minus IPv4 header size and UDP
      header size.)

   o  Full-service resolvers MAY drop fragmented UDP responses derived
      from DNS before IP assembly.  (It is a countermeasure against DNS
      cache poisoning attacks using IP fragmentation.)

   o  And more, authoritative servers MAY send DNS responses with
      IP_DONTFRAG / IPV6_DONTFRAG options.

   When responses exceed specified EDNS0 size 1220 (or smaller value),
   servers return truncated responses, and clients retry by TCP.
   [RFC1035]

4.  Incremental deployment

   The proposed method supports incremental deployment.

   When a full-service resolver implements the proposed method, the
   full-service resolver becomes to avoid IP fragmentation in DNS.

   When an authoritative server implements the proposed method, the
   authoritative server becomes to avoid IP fragmentation in DNS.

5.  Considerations

   In past researches ([Fujiwara2018] / dns-operations mailing list
   discussions), there are some authoritative servers that ignore EDNS0
   requestor's UDP payload size, and return large UDP responses.

   And it is known that there are some authoritative servers that do not
   support TCP transport.




Fujiwara                 Expires January 5, 2020                [Page 3]


Internet-Draft             avoid-fragmentation                 July 2019


6.  IANA Considerations

   This document has no IANA actions.

7.  Security Considerations

8.  References

8.1.  Normative References

   [RFC1035]  Mockapetris, P., "Domain names - implementation and
              specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
              November 1987, <https://www.rfc-editor.org/info/rfc1035>.

   [RFC1191]  Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
              DOI 10.17487/RFC1191, November 1990,
              <https://www.rfc-editor.org/info/rfc1191>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC4035]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Protocol Modifications for the DNS Security
              Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005,
              <https://www.rfc-editor.org/info/rfc4035>.

   [RFC6891]  Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms
              for DNS (EDNS(0))", STD 75, RFC 6891,
              DOI 10.17487/RFC6891, April 2013,
              <https://www.rfc-editor.org/info/rfc6891>.

   [RFC7739]  Gont, F., "Security Implications of Predictable Fragment
              Identification Values", RFC 7739, DOI 10.17487/RFC7739,
              February 2016, <https://www.rfc-editor.org/info/rfc7739>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8499]  Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS
              Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499,
              January 2019, <https://www.rfc-editor.org/info/rfc8499>.







Fujiwara                 Expires January 5, 2020                [Page 4]


Internet-Draft             avoid-fragmentation                 July 2019


8.2.  Informative References

   [Brandt2018]
              Brandt, M., Dai, T., Klein, A., Shulman, H., and M.
              Waidner, "Domain Validation++ For MitM-Resilient PKI",
              Proceedings of the 2018 ACM SIGSAC Conference on Computer
              and Communications Security , 2018.

   [Fujiwara2018]
              Fujiwara, K., "Measures against cache poisoning attacks
              using IP fragmentation in DNS", OARC 30 Workshop , 2019.

   [Herzberg2013]
              Herzberg, A. and H. Shulman, "Fragmentation Considered
              Poisonous", IEEE Conference on Communications and Network
              Security , 2013.

   [Hlavacek2013]
              Hlavacek, T., "IP fragmentation attack on DNS", RIPE 67
              Meeting , 2013, <https://ripe67.ripe.net/
              presentations/240-ipfragattack.pdf>.

Author's Address

   Kazunori Fujiwara
   Japan Registry Services Co., Ltd.
   Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda
   Chiyoda-ku, Tokyo  101-0065
   Japan

   Phone: +81 3 5215 8451
   Email: fujiwara@jprs.co.jp



















Fujiwara                 Expires January 5, 2020                [Page 5]