Skip to main content

Authorized update to MUD URLs
draft-richardson-opsawg-mud-acceptable-urls-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Author Michael Richardson
Last updated 2020-01-21
Replaced by draft-ietf-opsawg-mud-acceptable-urls
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-richardson-opsawg-mud-acceptable-urls-00
OPSAWG Working Group                                       M. Richardson
Internet-Draft                                  Sandelman Software Works
Intended status: Best Current Practice                  January 21, 2020
Expires: July 24, 2020

                     Authorized update to MUD URLs
             draft-richardson-opsawg-mud-acceptable-urls-00

Abstract

   This document provides a way for an RFC8520 Manufacturer Usage
   Description (MUD) definitions to declare what are acceptable
   replacement URLs for a device.

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

Copyright Notice

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

Richardson                Expires July 24, 2020                 [Page 1]
Internet-Draft             mud-acceptable-urls              January 2020

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Updating MUD URLs vs Updating MUD files . . . . . . . . . . .   3
     2.1.  Updating the MUD file in place  . . . . . . . . . . . . .   3
       2.1.1.  Adding capabilities . . . . . . . . . . . . . . . . .   3
       2.1.2.  Removing capabilities . . . . . . . . . . . . . . . .   4
       2.1.3.  Significant changes to protocols  . . . . . . . . . .   4
     2.2.  Motivation for updating MUD URLs  . . . . . . . . . . . .   5
   3.  Threat model for MUD URLs . . . . . . . . . . . . . . . . . .   5
     3.1.  leveraging the manufacturer signature . . . . . . . . . .   5
     3.2.  Concerns about same-signer mechanism  . . . . . . . . . .   5
   4.  Proposed possible Extension . . . . . . . . . . . . . . . . .   5
     4.1.  Semantic changes only . . . . . . . . . . . . . . . . . .   6
     4.2.  Add an extension  . . . . . . . . . . . . . . . . . . . .   6
   5.  Privacy Considerations  . . . . . . . . . . . . . . . . . . .   6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Appendix A.  Appendices . . . . . . . . . . . . . . . . . . . . .   7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   [RFC8520] provides a standardized way to describe how a specific
   purpose device makes use of Internet resources.  Access Control Lists
   (ACLs) can be defined in an RFC8520 Manufacturer Usage Description
   (MUD) file that permit a device to access Internet resources by DNS
   name.

   MUD URLs can come from a number of sources:

   o  IDevID Extensions

   o  DHCP

   o  LLDP

   o  [I-D.richardson-opsawg-securehomegateway-mud] proposes to scan
      them from QRcodes.

   The IDevID mechanism provides a URL that is asserted
   cryptographically by a manufacturer.  However, it is difficult for
   manufacturers to update the IDevID of a device which is already in a
   box.

Richardson                Expires July 24, 2020                 [Page 2]
Internet-Draft             mud-acceptable-urls              January 2020

   The DHCP and LLDP mechanisms are not signed, but are asserted by the
   device.  A firmware update may update what MUD URL is emitted.
   Sufficiently well targetted malware could also change the MUD URL.

   The QRcode mechanism is usually done via paper/stickers, and is
   typically not under the control of the device itself at all.

   While MUD files may include signatures, it is not mandatory to check
   them, and there is not a clear way to connect the entity which signed
   the MUD file to the device itself.  A malicious device does not need
   to make up a MUD file if there is already an available, and already
   trusted MUD file which it can use to impersonate the device.

   One defense against this is to not trust MUD URLs which are different
   from the one that was placed in an IDevID.  Or if the initial MUD URL
   was not taken from an IDevID, it could be trusted on first use.  But,
   if the MUD controller has locked down the URL, then updates to the
   URL are difficult to do.

2.  Updating MUD URLs vs Updating MUD files

2.1.  Updating the MUD file in place

   One option is for the manufacturer to never change the MUD URL due to
   firmware updates.  The published description is updated whenever the
   behaviour of the firmware changes.

2.1.1.  Adding capabilities

   For situations where new capabilities are added to the firmware, the
   MUD file will detail the new access that the new firmware requires.
   This may involve new incoming or outgoing connections that should be
   authorized.  Devices which have been upgraded to the new firmware
   will make use of the new features.  Devices which have not been
   upgraded to the new firmware may have new connections that are
   authorized, but which the device does not use (outgoing connections),
   or for which the device is not prepared to respond to (new incoming
   connections).

   It is possible that older versions of the firmware have
   vulnerabilities which were not easily exploitable due to the MUD file
   preventing particular kinds of access.  As an example, an older
   firmware could have a no credentials required (or default
   credentials) access via telnet on port 23 or HTTP on port 80.  The
   MUD file protected the device such that it could either not be
   accessed at all, or access was restricted to connections from a
   controller only.

Richardson                Expires July 24, 2020                 [Page 3]
Internet-Draft             mud-acceptable-urls              January 2020

   Useful and needed upgrades to the firmware could add credentials to
   that service, permitting it to be opened up for more general access.
   The new MUD file would provide for such access, but when combined
   with the weak security of the old firmware, results in a compromised
   device.

   While there is an argument that old firmware was insecure and should
   be replaced, it is often the case that the upgrade process involves
   downtown, or can introduce risks due to needed evaluations not having
   been completed yet.  As an example: moving vehicles (cars, airplanes,
   etc.) should not perform upgrades while in motion.  It is probably
   undesireable to perform any upgrade to an airplane outside of its
   service facility.  The owner of a vehicle may desire to only perform
   software upgrades when they are at home, and could make other
   arrangements for transporation, rather than when parked at a remote
   cabin.  The situation for medical devices is even more complex.

2.1.2.  Removing capabilities

   For situations where existing capabilities prove to be a problem and
   are to be turned off or removed in subsequent versions of the
   firmware, the MUD file will be updated to disallow connections that
   previously were allowed.

   In this case, the new MUD file will forbid some connection which the
   old firmware still expects to do.  As explained in the previous
   section, upgrades may not always occur immediately upon release of
   the new firmware.

   In this case the old device will be performing unwanted connections,
   and the MUD controller when be alerting the device owner that the
   device is mis-behaving.  This causes a [boycrieswolf] situation,
   leading to real security issues being ignored.  This is a serious
   issue as documented also in [boywolfinfosec], and [falsemalware].

2.1.3.  Significant changes to protocols

   [I-D.reddy-opsawg-mud-tls] suggests MUD definitions to allow
   examination of TLS protocol details.  Such a profile may be very
   specific to the TLS library which is shipped.  Changes to the library
   (including bug fixes) may cause significant changes to the profile,
   requiring changes to the profile described in the MUD file.  Such
   changes are likely neither forward nor backward compatible with other
   versions, and in place updates to MUD files is not indicated.

Richardson                Expires July 24, 2020                 [Page 4]
Internet-Draft             mud-acceptable-urls              January 2020

2.2.  Motivation for updating MUD URLs

   While many small tweaks to a MUD file can be done in place, the
   situation described above, particularly when it comes to removing
   capabilities will require updates to the MUD URL.  A strategy is do
   this securely is needed, and the rest of this document provides a
   mechanism to do this securely.

3.  Threat model for MUD URLs

   Only the DHCP and LLDP MUD URL mechanisms are sufficiently close to
   the firmware version that they can be easily updated when the
   firmware is updated.  Because of that sensitivity, they are also
   easily changed by malware.

   There are mitigating mechanisms which may be enough.  The MUD files
   are signed by the manufacturer.
   [RFC8520] has not established a trust model for MUD controllers to
   determine whether a signature from a specific entity is legitimate as
   a signature for a particular device.  [RFC8520] leaves this to the
   industry to work out.

3.1.  leveraging the manufacturer signature

   Many MUD controllers currently use a Trust on First Use mechanism
   where the first time a signature from a device is verified, the
   signatory is recorded.  Subsequent updates to that MUD file MUST be
   signed by the same entity to be accepted.

   Based upon this process, an update to the MUD URL would be valid if
   the new MUD file was signed by the same entity that signed the
   previous entry.  This mechanism permits a replacement URL to be any
   URL that the same manufacturer can provide.

3.2.  Concerns about same-signer mechanism

   There is still a potential threat: a manufacturer which has many
   products may have a MUD definition for another product that has the
   privileges that the malware desires.

4.  Proposed possible Extension

   The first MUD file which is defined for a device can come from an
   IDevID, or via Trust on First Use with DHCP.
   This initial, initially trusted, MUD file will be called the "root"
   file.

   MUD files start with a self-referential MUD-URL attribute.

Richardson                Expires July 24, 2020                 [Page 5]
Internet-Draft             mud-acceptable-urls              January 2020

4.1.  Semantic changes only

   Proposal 1 involves no changes to the definition.  It is instead a
   semantic change: updates to the MUD URL for a device must come from a
   URL that is identical to the mud-URL in the root file, but may have a
   different basename component.

   That is, if the mud-url is http://example.com/hello/there/file.json
   then any URL that starts with http://example.com/hello/there/ would
   be acceptable.  Note: the new URLs are not relative.

4.2.  Add an extension

   Proposal 2 involves an extension to the MUD definition.  A new
   extension, _mud-base-url_ would be created that would contain the
   value http://example.com/hello/there/ rather than being implied from
   the mud-url.

5.  Privacy Considerations

   TBD

6.  Security Considerations

   TBD

7.  References

7.1.  Normative References

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

   [RFC8520]  Lear, E., Droms, R., and D. Romascanu, "Manufacturer Usage
              Description Specification", RFC 8520,
              DOI 10.17487/RFC8520, March 2019,
              <https://www.rfc-editor.org/info/rfc8520>.

7.2.  Informative References

   [boycrieswolf]
              "The Boy Who Cried Wolf", January 2020,
              <https://fablesofaesop.com/the-boy-who-cried-wolf.html>.

Richardson                Expires July 24, 2020                 [Page 6]
Internet-Draft             mud-acceptable-urls              January 2020

   [boywolfinfosec]
              "Security Alerts - A Case of the Boy Who Cried Wolf?",
              January 2020, <https://www.infosecurity-
              magazine.com/opinions/security-alerts-boy-cried-wolf/>.

   [falsemalware]
              "False malware alerts cost organizations $1.27M annually,
              report says", January 2020,
              <https://www.scmagazine.com/home/security-news/false-
              malware-alerts-cost-organizations-1-27m-annually-report-
              says/ and http://go.cyphort.com/Ponemon-Report-Page.html>.

   [I-D.reddy-opsawg-mud-tls]
              Reddy.K, T., Wing, D., and B. Anderson, "MUD (D)TLS
              profiles for IoT devices", draft-reddy-opsawg-mud-tls-02
              (work in progress), January 2020.

   [I-D.richardson-opsawg-securehomegateway-mud]
              Richardson, M. and J. Latour, "Loading MUD URLs from QR
              codes", draft-richardson-opsawg-securehomegateway-mud-02
              (work in progress), December 2019.

Appendix A.  Appendices

Author's Address

   Michael Richardson
   Sandelman Software Works

   Email: mcr+ietf@sandelman.ca

Richardson                Expires July 24, 2020                 [Page 7]