Internet DRAFT - draft-krecicki-dns-covert

draft-krecicki-dns-covert







DNSOP Working Group                                          W. Krecicki
Internet-Draft                                                   E. Hunt
Updates: 6195 (if approved)                                   D. Mahoney
Intended status: Standards Track                                     ISC
Expires: January 7, 2020                                    July 6, 2019


 Domain Name System (DNS) Resource Record types for transferring covert
                information from primary to secondaries
                      draft-krecicki-dns-covert-00

Abstract

   The Domain Name System (DNS) Resource Record TYPEs IANA registry
   reserves the range 128-255 for Q-TYPEs and Meta-TYPEs [RFC6895] -
   Resource Records that can only be queried for or contain transient
   data associated with a particular DNS message.

   This document reserves a range of RR TYPE numbers for Covert-TYPEs -
   types that are an integral part of the zone but cannot be accessed
   via a normal QUERY operation.

   Uses for such records could include zone comments that are
   transferrable with the zone, expiry times for dynamically updated
   records, or Zone Signing Keys for inline signing.  This document,
   however, does not define any specific Covert RR types.

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 7, 2020.








Krecicki, et al.         Expires January 7, 2020                [Page 1]

Internet-Draft                 dns-covert                      July 2019


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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Definitions . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Handling of Covert Resource Records . . . . . . . . . . . . .   3
     2.1.  The COVERT-OK option  . . . . . . . . . . . . . . . . . .   3
     2.2.  Protection of Zone Transfers  . . . . . . . . . . . . . .   3
     2.3.  Authoritative server behaviour  . . . . . . . . . . . . .   4
     2.4.  Recursive server behaviour  . . . . . . . . . . . . . . .   4
     2.5.  Interaction with DNSSEC . . . . . . . . . . . . . . . . .   4
     2.6.  Interaction with ZONEMD . . . . . . . . . . . . . . . . .   4
     2.7.  UPDATE behaviour  . . . . . . . . . . . . . . . . . . . .   4
   3.  Update to RRTYPE Allocation Template  . . . . . . . . . . . .   5
   4.  Security considerations . . . . . . . . . . . . . . . . . . .   5
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   6.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   5
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   The Domain Name System (DNS) has no mechanism for sending control
   information in-band when transferring zone data from primary to
   secondary servers.  This document specifies a range of Resource
   Record TYPEs that can be used for this purpose.  Covert Resource
   Records can be transferred with the zone during zone transfer, but
   are not accessible by a normal QUERY operation.  It also specifies a
   method for informing the primary server that the secondary
   understands Covert semantics, and can be relied upon not to disclose
   contents of Covert RRs to querying clients.






Krecicki, et al.         Expires January 7, 2020                [Page 2]

Internet-Draft                 dns-covert                      July 2019


1.1.  Definitions

   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
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  Handling of Covert Resource Records

   Covert Resource Records require special handling for both queries and
   zone transfers.  This document does not define any specific Covert
   Resource Record types.  When defined, those types may require
   additional handling on the server side as well; however, that is
   outside the scope of this document.

2.1.  The COVERT-OK option

   A client querying or a secondary transferring a zone from a primary
   server must explicitly signal its understanding of COVERT RR types.
   The mechanism for this is an EDNS option, with OPTION-CODE [TBD].
   OPTION-LENGTH MUST be zero and OPTION-DATA MUST be empty.

2.2.  Protection of Zone Transfers

   If a secondary server requesting a zone transfer does not understand
   the Covert semantics, then it will serve the Covert records to its
   clients.  Therefore a protection mechanism must be put in place so
   that secondary servers that do not understand Covert semantics do not
   receive Covert records.

   If a server requesting a zone transfer understands Covert semantics,
   it MUST send a COVERT-OK option in the transfer request.  If a
   primary server providing a zone transfer receives such a request, it
   then knows it can transfer the covert data and the secondary server
   will cooperate in protecting it.

   If the primary server receives a zone transfer request without the
   COVERT-OK option it MUST NOT transfer the zone with Covert RRs.  The
   default behaviour MUST be to refuse the transfer altogether, but an
   implementation MAY have a configuration option to allow transfer of
   the zone with Covert RRs stripped when transferring to a non-
   compliant secondary.








Krecicki, et al.         Expires January 7, 2020                [Page 3]

Internet-Draft                 dns-covert                      July 2019


2.3.  Authoritative server behaviour

   Covert Resource Records might contain sensitive data; therefore, they
   MUST NOT be served to regular clients.  An authoritative server
   queried for a Covert RR MUST return an answer as if the RRset the
   client client requested does not exist: NODATA if there are non-
   Covert Resource Records with the the same owner name or the node is
   an empty non-terminal, or NXDOMAIN otherwise.

   The server MAY provide a mechanism allowing clients to query for
   Resource Records in the Covert range, but it MUST be protected by a
   mechanism disallowing access from general public (e.g. an ACL or TSIG
   authentication) and access MUST NOT be enabled by default.  The
   server MUST verify that the query has the COVERT-OK option, and MUST
   NOT return COVERT records otherwise.

2.4.  Recursive server behaviour

   Recursive servers MUST NOT send the COVERT-OK option when iterating.
   If a COVERT record is received in response to an iterative query, it
   MUST NOT be cached, and it MUST NOT be returned to the client.  If a
   recursive server receives a request for a COVERT record, it MAY
   iterate to verify whether the answer should be an NXDOMAIN or NODATA,
   or it MAY simply return a NODATA response immediately.

2.5.  Interaction with DNSSEC

   Covert Resource Records are not available for regular querying and
   are used only internally.  Their presence in a zone should not, in
   any way, change the behaviour of that zone for ordinary clients.
   Therefore, when signing the zone, Covert Resource Records MUST be
   treated as if they do not exist: - Covert Records MUST NOT be signed.
   - Nodes that contain only Covert RRs and are not empty non-terminals
   MUST be ommited from NSEC [RFC4034] and NSEC3 [RFC5155] RR chains.  -
   Any Covert RR types MUST NOT be included in the Type Bit Map field of
   an NSEC or NSEC3 RR.

2.6.  Interaction with ZONEMD

   TBD

2.7.  UPDATE behaviour

   Covert Resource Records MAY be submitted via UPDATE [RFC2136].
   Servers SHOULD ignore prerequisites that specify Covert RR types, in
   order to conceal from untrusted clients the presence or absence of
   Covert RRs.




Krecicki, et al.         Expires January 7, 2020                [Page 4]

Internet-Draft                 dns-covert                      July 2019


3.  Update to RRTYPE Allocation Template

   The RRTYPE Allocation Template from [RFC6895] is updated to contain a
   checkbox for Covert-RR:


         B.2 Kind of RR:  [ ] Data RR  [ ] Meta-RR  [ ] Covert-RR


4.  Security considerations

   Since Zone Transfers are unencrypted, the contents of Covert RRs
   might still be snooped by an on-path attacker.  Protection against
   this kind of attack is outside the scope of this document, but it
   could be achieved by using, for example, a secure tunnel, a private
   network, or XFR over TLS transport.

5.  IANA Considerations

   IANA is requested to reserve range 61440-61695 (0xF000-0xF0FF) in the
   Resource Record TYPEs registry for Covert types.  The procedure for
   registering RR types from [RFC6895] should be used.

   IANA is requested to assign an EDNS option code to the COVERT-OK
   option.

6.  Acknowledgments

   TBD

7.  Normative References

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

   [RFC2136]  Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound,
              "Dynamic Updates in the Domain Name System (DNS UPDATE)",
              RFC 2136, DOI 10.17487/RFC2136, April 1997,
              <https://www.rfc-editor.org/info/rfc2136>.

   [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Resource Records for the DNS Security Extensions",
              RFC 4034, DOI 10.17487/RFC4034, March 2005,
              <https://www.rfc-editor.org/info/rfc4034>.





Krecicki, et al.         Expires January 7, 2020                [Page 5]

Internet-Draft                 dns-covert                      July 2019


   [RFC6895]  Eastlake 3rd, D., "Domain Name System (DNS) IANA
              Considerations", BCP 42, RFC 6895, DOI 10.17487/RFC6895,
              April 2013, <https://www.rfc-editor.org/info/rfc6895>.

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

Authors' Addresses

   Witold Krecicki
   ISC
   950 Charter St
   Redwood City, CA  94063
   US

   Email: wpk@isc.org


   Evan Hunt
   ISC
   950 Charter St
   Redwood City, CA  94063
   US

   Email: each@isc.org


   Dan Mahoney
   ISC
   950 Charter St
   Redwood City, CA  94063
   US

   Email: dmahoney@isc.org
















Krecicki, et al.         Expires January 7, 2020                [Page 6]