< draft-richardson-opsawg-mud-acceptable-urls-01.txt   draft-richardson-opsawg-mud-acceptable-urls-02.txt >
OPSAWG Working Group M. Richardson OPSAWG Working Group M. Richardson
Internet-Draft Sandelman Software Works Internet-Draft Sandelman Software Works
Updates: 8520 (if approved) W. Pan Updates: 8520 (if approved) J. Yang
Intended status: Best Current Practice Huawei Technologies Intended status: Best Current Practice Huawei Technologies Co., Ltd.
Expires: December 17, 2020 E. Lear Expires: March 26, 2021 E. Lear
Cisco Systems Cisco Systems
June 15, 2020 September 22, 2020
Authorized update to MUD URLs Authorized update to MUD URLs
draft-richardson-opsawg-mud-acceptable-urls-01 draft-richardson-opsawg-mud-acceptable-urls-02
Abstract Abstract
This document provides a way for an RFC8520 Manufacturer Usage This document provides a way for an RFC8520 Manufacturer Usage
Description (MUD) definitions to declare what are acceptable Description (MUD) definitions to declare what are acceptable
replacement URLs for a device. replacement URLs for a device.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 17, 2020. This Internet-Draft will expire on March 26, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 17 skipping to change at page 2, line 17
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Updating MUD URLs vs Updating MUD files . . . . . . . . . . . 3 2. Updating MUD URLs vs Updating MUD files . . . . . . . . . . . 3
2.1. Updating the MUD file in place . . . . . . . . . . . . . 3 2.1. Updating the MUD file in place . . . . . . . . . . . . . 3
2.1.1. Adding capabilities . . . . . . . . . . . . . . . . . 3 2.1.1. Adding capabilities . . . . . . . . . . . . . . . . . 3
2.1.2. Removing capabilities . . . . . . . . . . . . . . . . 4 2.1.2. Removing capabilities . . . . . . . . . . . . . . . . 4
2.1.3. Significant changes to protocols . . . . . . . . . . 4 2.1.3. Significant changes to protocols . . . . . . . . . . 4
2.2. Motivation for updating MUD URLs . . . . . . . . . . . . 5 2.2. Motivation for updating MUD URLs . . . . . . . . . . . . 5
3. Threat model for MUD URLs . . . . . . . . . . . . . . . . . . 5 3. Threat model for MUD URLs . . . . . . . . . . . . . . . . . . 5
3.1. leveraging the manufacturer signature . . . . . . . . . . 5 3.1. Trust on First Use (TOFU): leveraging the manufacturer
signature . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Concerns about same-signer mechanism . . . . . . . . . . 5 3.2. Concerns about same-signer mechanism . . . . . . . . . . 5
4. Changes to RFC8520 . . . . . . . . . . . . . . . . . . . . . 5 4. Outline of proposed mechanism . . . . . . . . . . . . . . . . 6
5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6 5. Changes to RFC8520 . . . . . . . . . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 8
Appendix A. Appendices . . . . . . . . . . . . . . . . . . . . . 8 8.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 Appendix A. Appendices . . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
[RFC8520] provides a standardized way to describe how a specific [RFC8520] provides a standardized way to describe how a specific
purpose device makes use of Internet resources. Access Control Lists purpose device makes use of Internet resources. Access Control Lists
(ACLs) can be defined in an RFC8520 Manufacturer Usage Description (ACLs) can be defined in an RFC8520 Manufacturer Usage Description
(MUD) file that permit a device to access Internet resources by DNS (MUD) file that permit a device to access Internet resources by DNS
name. name.
MUD URLs can come from a number of sources: MUD URLs can come from a number of sources:
skipping to change at page 4, line 13 skipping to change at page 4, line 15
controller only. controller only.
Useful and needed upgrades to the firmware could add credentials to Useful and needed upgrades to the firmware could add credentials to
that service, permitting it to be opened up for more general access. that service, permitting it to be opened up for more general access.
The new MUD file would provide for such access, but when combined The new MUD file would provide for such access, but when combined
with the weak security of the old firmware, results in a compromised with the weak security of the old firmware, results in a compromised
device. device.
While there is an argument that old firmware was insecure and should While there is an argument that old firmware was insecure and should
be replaced, it is often the case that the upgrade process involves be replaced, it is often the case that the upgrade process involves
downtown, or can introduce risks due to needed evaluations not having downttime, or can introduce risks due to needed evaluations not
been completed yet. As an example: moving vehicles (cars, airplanes, having been completed yet. As an example: moving vehicles (cars,
etc.) should not perform upgrades while in motion. It is probably airplanes, etc.) should not perform upgrades while in motion! It is
undesireable to perform any upgrade to an airplane outside of its probably undesireable to perform any upgrade to an airplane outside
service facility. The owner of a vehicle may desire to only perform of its service facility. The owner of a vehicle may desire to only
software upgrades when they are at home, and could make other perform software upgrades when they are at home, and could make other
arrangements for transporation, rather than when parked at a remote arrangements for transporation, rather than when parked at a remote
cabin. The situation for medical devices is even more complex. cabin. The situation for upgrades of medical devices has even more
considerations involving regulatory compliance.
2.1.2. Removing capabilities 2.1.2. Removing capabilities
For situations where existing capabilities prove to be a problem and For situations where existing capabilities prove to be a problem and
are to be turned off or removed in subsequent versions of the are to be turned off or removed in subsequent versions of the
firmware, the MUD file will be updated to disallow connections that firmware, the MUD file will be updated to disallow connections that
previously were allowed. previously were allowed.
In this case, the new MUD file will forbid some connection which the In this case, the new MUD file will forbid some connection which the
old firmware still expects to do. As explained in the previous old firmware still expects to do. As explained in the previous
section, upgrades may not always occur immediately upon release of section, upgrades may not always occur immediately upon release of
the new firmware. the new firmware.
In this case the old device will be performing unwanted connections, In this case the old device will be performing unwanted connections,
and the MUD controller when be alerting the device owner that the and the MUD controller when be alerting the device owner that the
device is mis-behaving. This causes a [boycrieswolf] situation, device is mis-behaving. This causes a false positive situation (see
leading to real security issues being ignored. This is a serious [boycrieswolf]), leading to real security issues being ignored. This
issue as documented also in [boywolfinfosec], and [falsemalware]. is a serious issue as documented also in [boywolfinfosec], and
[falsemalware].
2.1.3. Significant changes to protocols 2.1.3. Significant changes to protocols
[I-D.reddy-opsawg-mud-tls] suggests MUD definitions to allow [I-D.reddy-opsawg-mud-tls] suggests MUD definitions to allow
examination of TLS protocol details. Such a profile may be very examination of TLS protocol details. Such a profile may be very
specific to the TLS library which is shipped. Changes to the library specific to the TLS library which is shipped in a device. Changes to
(including bug fixes) may cause significant changes to the profile, the library (including bug fixes) may cause significant changes to
requiring changes to the profile described in the MUD file. Such the profile, requiring changes to the profile described in the MUD
changes are likely neither forward nor backward compatible with other file. Such changes are likely neither forward nor backward
versions, and in place updates to MUD files is not indicated. compatible with other versions, and in place updates to MUD files are
therefore not indicated.
2.2. Motivation for updating MUD URLs 2.2. Motivation for updating MUD URLs
While many small tweaks to a MUD file can be done in place, the While many small tweaks to a MUD file can be done in place, the
situation described above, particularly when it comes to removing situation described above, particularly when it comes to removing
capabilities will require updates to the MUD URL. A strategy is do capabilities will suggests that changes to the MUD URL. A strategy
this securely is needed, and the rest of this document provides a is do this securely is needed, and the rest of this document provides
mechanism to do this securely. a mechanism to do this securely.
3. Threat model for MUD URLs 3. Threat model for MUD URLs
Only the DHCP and LLDP MUD URL mechanisms are sufficiently close to Only the DHCP and LLDP MUD URL mechanisms are sufficiently close to
the firmware version that they can be easily updated when the the firmware version that they can be easily updated when the
firmware is updated. Because of that sensitivity, they are also firmware is updated. Because of that sensitivity, they may also be
easily changed by malware. easily changed by malware!
There are mitigating mechanisms which may be enough. The MUD files There are mitigating mechanisms which may be enough to deal with this
are signed by the manufacturer. [RFC8520] has not established a problem when MUD files are signed by the manufacturer.
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 It should be noted that [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 through supply
chain arrangements or other heuristics.
Many MUD controllers currently use a Trust on First Use mechanism 3.1. Trust on First Use (TOFU): leveraging the manufacturer signature
where the first time a signature from a device is verified, the
signatory is recorded. Subsequent updates to that MUD file MUST be Many MUD controllers currently use a Trust on First Use (TOFU)
signed by the same entity to be accepted. mechanism. The first time a signature from a particular device-type
is verified, the identity of the signing authority is recorded. It
is pinned. Subsequent updates to that MUD file must be signed by the
same entity in order to be accepted.
Based upon this process, an update to the MUD URL would be valid if 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 the new MUD file was signed by the same entity that signed the
previous entry. This mechanism permits a replacement URL to be any previous entry. This mechanism permits a replacement URL to be any
URL that the same manufacturer can provide. URL that the same manufacturer can provide.
3.2. Concerns about same-signer mechanism 3.2. Concerns about same-signer mechanism
There is still a potential threat: a manufacturer which has many There is still a potential threat: a manufacturer which has many
products may have a MUD definition for another product that has the products may have a MUD definition for another product that has the
privileges that the malware desires. privileges that the malware desires.
4. Changes to RFC8520 The malware could simply change the expressed MUD URL to that of the
other product, and it will be accepted by the MUD controller as
valid.
This works as long as manufacturers use a single key to sign all
products. Some manufacturers could sign each product with a
different key. Possibly, all the keys are collected into a single
PKI, signed by a common certification authority. In this case, the
question as to whether the MUD controller should pin the end-entity
(EE) certificate, or the CA certificate. Pinning the EE certificate
defends against malware that changes the product type, but keeps the
manufacturer from being able to cycle the validity of the End-Entity
Certificate for cryptographic hygiene reasons. Pinning the CA
certificate allows the EE certificate to change, but may not defend
against product type changes.
It is possible to invent policy mechanisms that would link the EE
certificate to a value that is in the MUD file. This could be a
policy OID, or could involve some content in a subjectAltName.
Future work could go in this direction. This document proposes a
simpler solution.
4. Outline of proposed mechanism
The document proposes to limit what MUD URLs are considered valid
from the device, limiting new MUD URLs to be variations of the
initial (presumed to be secure) URL.
5. Changes to RFC8520
The first MUD file which is defined for a device can come from an The first MUD file which is defined for a device can come from an
IDevID, or via Trust on First Use with DHCP or LLDP or another IDevID (which is considered more secure), or via Trust on First Use
mechanism. with DHCP or LLDP or another mechanism.
This first, initially trusted, MUD file will be called the "root" MUD This first, initially trusted, MUD file will be called the "root" MUD
file. file.
MUD files contain a self-referential MUD-URL attribute that point to MUD files contain a self-referential MUD-URL attribute that point to
a MUD file located on the vendor's web site. While the IDevID, DHCP a MUD file located on the vendor's web site. While the IDevID, DHCP
and LLDP mechanisms only transmit a URL, there are some newer, not and LLDP mechanisms only transmit a URL, there are some newer, not
yet standardized proposals that would transmit an entire MUD file. yet standardized proposals that would fetch an entire MUD file from
the device, such as [I-D.jimenez-t2trg-mud-coap].
The MUD-URL MUST always be an Absolute URI: see [RFC3986] section The MUD-URL MUST always be an Absolute URI: see [RFC3986] section
4.3. 4.3.
The URL found in the MUD-URL attribute is to be called the canonical The URL found in the MUD-URL attribute is to be called the canonical
MUD URL for the device. MUD URL for the device.
The MUD-SIGNATURE attribute in the MUD file SHOULD be a relative URI The MUD-SIGNATURE attribute in the MUD file SHOULD be a relative URI
(see [RFC3986] section 4.2) with the (hierarchical) base URL for this (see [RFC3986] section 4.2) with the (hierarchical) base URL for this
reference being the MUD-URL attribute. reference being the MUD-URL attribute.
Subsequent MUD files are considered valid if: Subsequent MUD files are considered valid if:
o have the same initial Base-URI as the MUD-URL, but may have a o have the same initial Base-URI as the MUD-URL, but may have a
different final part different final part
o they are signed by the same End Entity (same trusted CA and same o they are signed by the same End Entity (same trusted CA and same
SubjectAltName) as the "root" MUD file SubjectAltName) as the "root" MUD file.
Section 5.2 of [RFC3986] details many cases for calculating the Base- Section 5.2 of [RFC3986] details many cases for calculating the Base-
URI. The test is simplified to: remove everything to the right of URI. The test is simplified to: remove everything to the right of
the last (rightmost) "/" in the URL of "root" MUD file URL, and the the last (rightmost) "/" in the URL of "root" MUD file URL, and the
proposed new URL. The resulting two strings MUST be identical. proposed new URL. The resulting two strings MUST be identical.
For as a simple example, if the "root" mud-url is For as a simple example, if the "root" mud-url is
http://example.com/hello/there/file.json then any URL that starts http://example.com/hello/there/file.json then any URL that starts
with http://example.com/hello/there/ would be acceptable, such as with http://example.com/hello/there/ would be acceptable, such as
http://example.com/hello/there/revision2.json. http://example.com/hello/there/revision2.json.
Once the new MUD file is accepted, then it becomes the new "root" MUD Once the new MUD file is accepted, then it becomes the new "root" MUD
file, and any subsequent updates must be relative to the MUD-URL in file, and any subsequent updates must be relative to the MUD-URL in
that file. This process allows a manufacturer to rework their file the new file.
structure, to change web server hostnames (such as when there is an
acquisition or merger), etc. so long as they retain the old structure
long enough for all devices to upgrade at least once.
5. Privacy Considerations This process allows a manufacturer to rework their file structure, to
change web server hostnames (such as when there is an acquisition or
merger), etc. so long as they retain the old structure long enough
for all devices to upgrade at least once.
(XXX: how should the trust anchor for the signature be updated when
there is Merger&Acquisition)
6. Privacy Considerations
The MUD URL contains sensitive model and even firmware revision The MUD URL contains sensitive model and even firmware revision
numbers. Thus the MUD URL identifies the make, model and revision of numbers. Thus the MUD URL identifies the make, model and revision of
a device. [RFC8520] already identifies this privacy concern, and a device. [RFC8520] already identifies this privacy concern, and
suggests use of TLS so that the HTTP requests that retrieve the MUD suggests use of TLS so that the HTTP requests that retrieve the MUD
file do not divulge that level of detail. However, it is possible file do not divulge that level of detail. However, it is possible
that even observing the traffic to that manufacturer may be that even observing the traffic to that manufacturer may be
revealing, and [RFC8520] goes on to suggest use of a proxy as well. revealing, and [RFC8520] goes on to suggest use of a proxy as well.
6. Security Considerations 7. Security Considerations
Prior to the standardization of the process in this document, if a Prior to the standardization of the process in this document, if a
device was infiltrated by malware, and said malware wished to make device was infiltrated by malware, and said malware wished to make
accesses beyond what the current MUD file allowed, the the malware accesses beyond what the current MUD file allowed, the the malware
would have to: 1. arrange for an equivalent MUD file to be visible would have to: 1. arrange for an equivalent MUD file to be visible
somewhere on the Internet 2. depend upon the MUD-manager either not somewhere on the Internet 2. depend upon the MUD-manager either not
checking signatures, or 3. somehow get the manufacturer to sign the checking signatures, or 3. somehow get the manufacturer to sign the
alternate MUD 4. announce this new URL via DHCP or LLDP, updating the alternate MUD 4. announce this new URL via DHCP or LLDP, updating the
MUD-manager with the new permissions. MUD-manager with the new permissions.
skipping to change at page 7, line 44 skipping to change at page 8, line 42
A manufacturer which has not managed their MUD files in the the way A manufacturer which has not managed their MUD files in the the way
described here can deploy new directories of per-product MUD files, described here can deploy new directories of per-product MUD files,
and then can update the existing MUD files in place to point to the and then can update the existing MUD files in place to point to the
new URLs using the MUD-URL attribute. new URLs using the MUD-URL attribute.
There is therefore no significant flag day: MUD managers may There is therefore no significant flag day: MUD managers may
implement the new policy without significant concern about backwards implement the new policy without significant concern about backwards
compatibility. compatibility.
7. References 8. References
7.1. Normative References 8.1. Normative References
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005, RFC 3986, DOI 10.17487/RFC3986, January 2005,
<https://www.rfc-editor.org/info/rfc3986>. <https://www.rfc-editor.org/info/rfc3986>.
[RFC8520] Lear, E., Droms, R., and D. Romascanu, "Manufacturer Usage [RFC8520] Lear, E., Droms, R., and D. Romascanu, "Manufacturer Usage
Description Specification", RFC 8520, Description Specification", RFC 8520,
DOI 10.17487/RFC8520, March 2019, DOI 10.17487/RFC8520, March 2019,
<https://www.rfc-editor.org/info/rfc8520>. <https://www.rfc-editor.org/info/rfc8520>.
7.2. Informative References 8.2. Informative References
[boycrieswolf] [boycrieswolf]
"The Boy Who Cried Wolf", January 2020, "The Boy Who Cried Wolf", January 2020,
<https://fablesofaesop.com/the-boy-who-cried-wolf.html>. <https://fablesofaesop.com/the-boy-who-cried-wolf.html>.
[boywolfinfosec] [boywolfinfosec]
"Security Alerts - A Case of the Boy Who Cried Wolf?", "Security Alerts - A Case of the Boy Who Cried Wolf?",
January 2020, <https://www.infosecurity- January 2020, <https://www.infosecurity-
magazine.com/opinions/security-alerts-boy-cried-wolf/>. magazine.com/opinions/security-alerts-boy-cried-wolf/>.
[falsemalware] [falsemalware]
"False malware alerts cost organizations $1.27M annually, "False malware alerts cost organizations $1.27M annually,
report says", January 2020, report says", January 2020,
<https://www.scmagazine.com/home/security-news/false- <https://www.scmagazine.com/home/security-news/false-
malware-alerts-cost-organizations-1-27m-annually-report- malware-alerts-cost-organizations-1-27m-annually-report-
says/ and http://go.cyphort.com/Ponemon-Report-Page.html>. says/ and http://go.cyphort.com/Ponemon-Report-Page.html>.
[I-D.jimenez-t2trg-mud-coap]
Jimenez, J., "Using MUD on CoAP environments", draft-
jimenez-t2trg-mud-coap-00 (work in progress), March 2020.
[I-D.reddy-opsawg-mud-tls] [I-D.reddy-opsawg-mud-tls]
Reddy.K, T., Wing, D., and B. Anderson, "MUD (D)TLS Reddy.K, T., Wing, D., and B. Anderson, "MUD (D)TLS
profiles for IoT devices", draft-reddy-opsawg-mud-tls-03 profiles for IoT devices", draft-reddy-opsawg-mud-tls-05
(work in progress), January 2020. (work in progress), August 2020.
[I-D.richardson-opsawg-securehomegateway-mud] [I-D.richardson-opsawg-securehomegateway-mud]
Richardson, M., Latour, J., and H. Gharakheili, "Loading Richardson, M., Latour, J., and H. Gharakheili, "On
MUD URLs from QR codes", draft-richardson-opsawg- loading MUD URLs from QR codes", draft-richardson-opsawg-
securehomegateway-mud-03 (work in progress), March 2020. securehomegateway-mud-05 (work in progress), September
2020.
Appendix A. Appendices Appendix A. Appendices
Authors' Addresses Authors' Addresses
Michael Richardson Michael Richardson
Sandelman Software Works Sandelman Software Works
Email: mcr+ietf@sandelman.ca Email: mcr+ietf@sandelman.ca
Jie Yang
Huawei Technologies Co., Ltd.
Wei Pan Email: jay.yang@huawei.com
Huawei Technologies
Email: william.panwei@huawei.com
Eliot Lear Eliot Lear
Cisco Systems Cisco Systems
Email: lear@cisco.com Email: lear@cisco.com
 End of changes. 31 change blocks. 
67 lines changed or deleted 115 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/