RFC 7304

A Method for Mitigating Namespace Collisions

๐Ÿ“… published July 2014, from ietf

A Method for Mitigating Namespace Collisions ๐Ÿ’–

okay bestie, the title block is giving independent submission ๐Ÿฆ‹. Warren Kumari from Google wrote this, it's an Informational RFC (so not a Standards Track thing), and it's dated July 2014. It's RFC 7304 with ISSN 2070-1721, and the header doesn't list anything it obsoletes or updates.


Abstract โœจ

This document outlines a possible, but not recommended, method to mitigate the effect of collisions in the DNS namespace by providing a means for end users to disambiguate the conflict.

Status of This Memo ๐Ÿ“œ

This document is not an Internet Standards Track specification; it is published for informational purposes.

This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7304.

Copyright (c) 2014 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 (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.

Table of Contents ๐Ÿ—‚๏ธ

1.  Introduction/Background . . . . . . . . . . . . . . . . . . .   2
2.  Mitigation  . . . . . . . . . . . . . . . . . . . . . . . . .   2
3.  Implementation/Disclaimers  . . . . . . . . . . . . . . . . .   3
4.  Security Considerations . . . . . . . . . . . . . . . . . . .   3
5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   4

1. Introduction/Background ๐ŸŒธ

okay so collisions in the DNS happen in a few different ways ๐Ÿ‘€. One super common one: an organization uses a subdomain (foo) of its main domain (example.com) for its corporate stuff, and then the string foo gets delegated as a Top-Level Domain (TLD). ๐Ÿ’€ Now when an employee types www.foo, is the goal the machine in the internal namespace (www.foo.example.com) or the hostname www in the foo TLD? Chaotic, ngl.

This document describes a way to disambiguate this case and other similar ones ๐Ÿงš.

Implementation of this method is not recommended; it is documented here to explain some of the pitfalls with such an approach. ๐Ÿšฉ

2. Mitigation ๐Ÿ’…

The mitigation here is basically presenting multiple options to the user and letting them pick which name they were actually trying to reach ๐ŸŽ€.

The mitigation would look up the name in multiple namespaces. If a conflict is detected, it would then provide a means for the user to indicate which one of the colliding names they wish to connect to, and return the disambiguated answer to the application. An additional feature of mitigation could be to cache the user's choice and/or provide a means to set priorities. ๐Ÿ“

This could be accomplished in a number of ways, including:

  • Intercepting the resolution requests from the application in a "shim" type library
  • Replacing the resolver library entirely
  • Integrating this type of mitigation into applications (some web browsers already do something similar to this)
  • Proxying the request to a server that provides an interstitial page that allows the user to indicate the intended name (for applications such as HTTP)

There are a bunch of issues with this solution, including but not limited to: ๐Ÿ˜ญ

  • There may not be a human available to disambiguate the answer (unattended machines, mail servers, etc.).
  • The human/user may have no idea which is the correct choice, especially in the case of a phishing attack or other malicious intent.
  • The additional latency introduced may cause the originating application to time out.
  • The experience would be time consuming for users as they must select each site and subsite intended (e.g., www.intranet, images.intranet, etc.).
  • Caching the responses could lead to problems when the user changes location (internal sites would fail when offsite or otherwise lead to incorrect sites being loaded).

For these and other reasons, implementation of this technique is not recommended. ๐Ÿ™ˆ

3. Implementation/Disclaimers ๐Ÿ”ฅ

This document does not reference an implementation. Due to the numerous issues described above, we do not recommend that this solution be implemented. This is a very slight mitigation, and we do not recommend that it be viewed as a solution to the namespace collision problem. ๐Ÿซถ

4. Security Considerations ๐Ÿ”

โš ๏ธ Full seriousness on this one, bestie! ๐Ÿ”

While this method may make some users more aware of which version of a name they are going to use (and so careful users may avoid some phishing attacks), the security risks described above outweigh this potential benefit.

There are numerous security implications in this approach, including leaking internal names (e.g., secret-project.corp.example.com), users being tricked into selecting the incorrect choice when trying to disambiguate answers, etc.

For these reasons, it is not recommended that this solution be deployed. ๐Ÿ’€

5. Acknowledgements ๐Ÿซถ

The author wishes to thank the following individuals: Fred Baker, Bob Braden, Carsten Bormann, Nevil Brownlee, Eric Burger, Brian Carpenter, Benoit Claise, Keith Drage, Martin J. Duerst, David Harrington, Paul Hoffamn, John Levine, and Ted Lemon. ๐ŸŒˆ

Author's Address ๐Ÿ“ฎ

Warren Kumari
Google
1600 Amphitheatre Parkway
Mountain View, CA  94043
US

EMail: warren@kumari.net

๐Ÿ“ฆ where this page comes from