Internet DRAFT - draft-richardson-shg-un-quarantine
draft-richardson-shg-un-quarantine
RIPE IoT Working Group M. Richardson
Internet-Draft Sandelman Software Works
Intended status: Best Current Practice J. Latour
Expires: 6 May 2021 CIRA Labs
2 November 2020
A standard process to quarantine and restore IoT Devices
draft-richardson-shg-un-quarantine-03
Abstract
The Manufacturer Usage Description (MUD) is a tool to describe the
limited access that a single function device such as an Internet of
Things device might need. The enforcement of the access control
lists described protects the device from attacks from the Internet,
and protects the Internets from compromised devices.
This document details a process which occurs when a device is
detected to have violated the stated policy. The goal of these steps
is to ensure that the device is correctly removed from operation,
fixed, and if possible, restored to safe operation. This document
does not define any new protocols, but provides context in which a
number of existing protocols are to be used together.
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 6 May 2021.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
Richardson & Latour Expires 6 May 2021 [Page 1]
Internet-Draft MUD-Quaranatine November 2020
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 . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. An overview of the stages of activity . . . . . . . . . . 4
2. Detailed description of states . . . . . . . . . . . . . . . 5
2.1. New device . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Nominal . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1. Use of Captive Portal API . . . . . . . . . . . . . . 6
2.3. Suspicious . . . . . . . . . . . . . . . . . . . . . . . 6
2.4. Suspect . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5. Device of Interest . . . . . . . . . . . . . . . . . . . 7
2.6. Quarantined . . . . . . . . . . . . . . . . . . . . . . . 8
2.7. Disabled . . . . . . . . . . . . . . . . . . . . . . . . 8
2.8. Returning to Service . . . . . . . . . . . . . . . . . . 8
2.9. Owned by malicious entity ("p0wned") . . . . . . . . . . 9
3. Detailed description of transitions . . . . . . . . . . . . . 9
3.1. Initial Enrollment . . . . . . . . . . . . . . . . . . . 9
3.2. Re-enrollment . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1. factory-default re-enrollment . . . . . . . . . . . . 9
3.2.2. simple re-enrollment . . . . . . . . . . . . . . . . 10
3.2.3. other kinds? . . . . . . . . . . . . . . . . . . . . 10
3.3. Initial suspicion . . . . . . . . . . . . . . . . . . . . 10
3.4. Confirmed suspicion . . . . . . . . . . . . . . . . . . . 10
3.5. Device identified as attack target . . . . . . . . . . . 10
3.6. Suspension of connectivity . . . . . . . . . . . . . . . 10
3.7. Re-Installation of valid firmware . . . . . . . . . . . . 10
4. An example process . . . . . . . . . . . . . . . . . . . . . 10
5. Human Rights Considerations . . . . . . . . . . . . . . . . . 11
6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 11
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
8.1. Captive Portal API JSON keys . . . . . . . . . . . . . . 11
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
10.1. Normative References . . . . . . . . . . . . . . . . . . 11
10.2. Informative References . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
Richardson & Latour Expires 6 May 2021 [Page 2]
Internet-Draft MUD-Quaranatine November 2020
1. Introduction
[RFC8520] describes the format of the Manufacturer Usage Description
(MUD) files. MUD files provide a set of network Access Control Lists
(ACL, pronounced [ak-uhl]) that describes the expected traffic from a
device, such as an Internet of Things (IoT) device.
MUD files are used in a number of projects, including the CIRALabs'
[SecureHomeGateway] (SHG) project. In this project a home gateway
("router") is enhanced to be able to use MUD files to describe the
traffic expected from all connected devices. If a device does not
have a MUD format description, then the project can provide a broad
set of traffic expectations based upon categorization of the device
by the home owner.
This document is about the process to be followed when a device is
observed to be violating the ACLs applied to it. While this document
will identify network protocols (and gaps where no protocol exists)
as appropriate, the goal of this document is more about the human
processes that need to be driven by available data. Specifically,
who gets called, and in what order. Who makes each call, and how are
they identified.
In addition, what kind of data needs to be shared among the parties
and what are the privacy and human rights implications of sharing the
required data.
Finally, in the security considerations section of this document some
concerns about prevention of so-called "SWAT"ing ([swatting]), where
an attempt might be made to take a location or network offline
through phony reports.
1.1. Terminology
This document is not a protocol specification, but rather a Best
Current Practices in the area of human operations. While this is
sometimes called a "Standard Operating Proceedure" (SOP), this
document should not be considered the actual SOP for an organization,
but rather be referenced. Each organization (ISPs, Manufacturers,
Cyber-security response entities, Law Enforcement) will need to
define how they interact with the protocols outlined in this
document.
Richardson & Latour Expires 6 May 2021 [Page 3]
Internet-Draft MUD-Quaranatine November 2020
Although this document is a BCP, the terminology [RFC2119] the key
words such as "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to
be interpreted as described in BCP 14, RFC 2119. In the context of
this human protocol, they do not describe network protocol
interoperability requirements, but rather constraints upon how the
humans need to operate in order to avoid unsafe situations.
The following terms are used in this document:
* owner's network: the network belonging to the owner of the device.
In residentical situations, this is typically the home owner. In
commercial environments, this may be the owner of the building, or
the commercial tenant in the building.
* tenant: one or more people who occupy a space in which a network
of devices exists which do not belong directly to them.
1.2. An overview of the stages of activity
This section provides a brief overview of the states that a device
may be in. The following section provides a detailed description of
the state. This document is primarily about how a device transitions
from one state to another, which is covered in {#transitions}.
.--------. .---------.<---------.------------.
| new |-------->| nominal | | suspicious |
| device |\ .----->| | -------->| |
'--------' \| '---------' '------------'
\ | |
|\ | |
| \ | |
| \ v v
| \ .------------. .------------.
.------------.| v| p0owned | | device-of |
| returning || | | | interest |
| to service | '------------' '------------'
'------------' | |
^ | |
| v v
.------------. .------------. .-----------.
| upgrading | | quarantine | | suspect |
| |<-----| |<------| |
'------------' '------------' '-----------'
Figure 1: Device Connectivity States
new device: a device that has just been "connected" to the network
Richardson & Latour Expires 6 May 2021 [Page 4]
Internet-Draft MUD-Quaranatine November 2020
nominal: a device which is operating correctly
suspicious: a device which has once gone out of it's MUD profile
suspect: a device which has repeatedly gone out of it's MUD profile
device-of-interest: a device that is part of a class of devices
which is considered suspect
quarantined: a device which has been isolated into a network
"segment", it may stil be operating locally.
disabled: a device which has been disconnected from the network, and
has also had mains power removed. The device is believed to be
off.
upgrading: a device which is active for the purpose of having new
firmware installed
returning-to-service: a device which has new firmware, and is going
through a re-enrollment process. It may still lack critical
configuration, and may be unable to yet perform critical
functions.
p0wned: a device which is known to have malicious routines running,
but is still connected to the network. It may continue to provide
the services the device was designed to do, in additional to
performing functions controlled by an unauthorized entity.
2. Detailed description of states
A device is considered to be on one of the above states. The device
is not considered to be aware of it's state, rather this is a
characteristic that the network assigns to the device.
2.1. New device
A device newly installed will have no initial network connectivity.
It will be awaiting some kind of enrollment or onboarding process.
Examples of enrollment processes include
[I-D.ietf-anima-bootstrapping-keyinfra], [dpp], processes defined by
The Thread Group and Apple Homekit, as well as a great number of
custom and proprietary methods.
In many cases the device may provide limited network connectivity to
itself (such as by running as an Access Point itself), and can be
reached by attackers even before it has been onboarded. The owner of
the device may in fact in unaware that the device is "smart", and it
Richardson & Latour Expires 6 May 2021 [Page 5]
Internet-Draft MUD-Quaranatine November 2020
may be possible for a device to become compromised without ever
having joined a network. As an example, a smart clothing washer may
have been installed and may function perfectly fine without any
smart-features, but which may be, in its default configuration
vulnerable to any attacker that is within WiFi distance. This case
is particularly difficult, as having never joined a network, the
device will not emit signals on the owner's network that can be
detected to notice that the device has been attacked. Also, having
never been connected, the device is more likely to have old firmware.
A key concern for many users that cause them to decline to upgrade
their devices is that they are afraid that they device will lose
their customizations. A new device is one that has no such
customizations; users should be more willing to upgrade it at this
point.
2.2. Nominal
The device is operating normally and is not suspected to be corrupted
or under attack.
2.2.1. Use of Captive Portal API
In preperation for possible quarantine, the DHCP and RA options
defined in [RFC7710] and referenced by
[I-D.ietf-capport-architecture] (section 2.2.1) SHOULD be recorded if
present for later use.
An additional captive portal API key "quarantine", if having the true
value indicates that the device is not connected to the Internet for
security reasons. The existing key "captive" ([I-D.ietf-capport-api]
section 4.2) SHOULD also be checked, as the device MAY be subject to
a captive portal.
Based upon policy, it is appropriate for a MUD controller to put a
new device into a captive portal state until such time as inclusion
into the operational part of the network has been approved by a human
operator. The state should be "captive", but not "quarantined".
2.3. Suspicious
The device and/or the Internet has attempted a connection which is
forbidden by the MUD file. This activity is notable, but
particularly in the case where a MUD file was generated by a third
party (such as by a period of observation), it may signal that the
MUD file is inaccurate rather than that the device is compromised.
Richardson & Latour Expires 6 May 2021 [Page 6]
Internet-Draft MUD-Quaranatine November 2020
In the case of connections that originate from the Internet to the
device which are forbidden, this may indicate that device is being
scanned for, but that the security features of the router are
resisting the attack.
It is unclear how a device is returned from suspicious state to
nominal. A reasonable process might be that after a period of time
in which no new unwanted activity occurs it is returned. A clear
indication that it should return to nomimal is if a new MUD file is
applied to the device.
2.4. Suspect
The device is repeatedly attempting to connect to core infrastructure
which it has reasonably no reason to connect to. Examples of this
would include connecting to many IP addresses in a sequential or
high-frequency rate, connecting to well-known ports not intended to
for end devices (for instance TCP port 22, 23, 25). There might
still be a reasonable explanation for this behaviour, including that
the "inside" IP address has been reassigned to a different device
(such as desktop computer).
[RFC7011] is a candidate protocol for a MUD controller to inform an
ISP about the traffic patterns of the device.
[RFC7970] is a candidate protocol by which the ISP or other security
service provider might exchange information about the incident. It
is unclear if [RFC7970] should be extended to the CPE device or not.
2.5. Device of Interest
A device has become interesting based upon two possible situations:
an internal signal that a device has become suspected, and based upon
external indications that there are active threats against the
device. A device in this state SHOULD go into quarantine upon the
next observed attack.
If it can be observed that there are DNS spoofing attempts against
the device manufacturer's firmware repository, or it's command/
control channel (for devices which have cloud connections), then it
would be reasonable to become interested in the device: an attack may
be coming.
A device under interest would continue to be able to perform it's
normal functions. For instance, a furnace would continue to heat the
house, and would continue to report it's statistics to it's
manufacturer/service-entity, and would continue to respond to
thermostat changes.
Richardson & Latour Expires 6 May 2021 [Page 7]
Internet-Draft MUD-Quaranatine November 2020
2.6. Quarantined
A device in quarantine gets no Internet access.
Devices in quarantine MAY use the API defined by
[I-D.ietf-capport-architecture] to determine if the device has been
quarantined. Devices which can display this information visually
SHOULD do so, such as on a status LCD display, or by a unique color
scheme for status LEDs.
A device in quarantine MAY do DNS requests to the local recursive DNS
resolvers for the IP address of it's firmware repository. This
address would be present in the device's MUD file using the
[I-D.richardson-shg-mud-quarantined-access]. Access to the firmware
repository is important to permit the device to apply new firmware
and/or reset itself to factory default.
A device in quarantine that performs other functions might continue
to be perform those functions. For instance, a fridge would remain
cold, but it would not respond to thermostat changes, or communicate
with a grocery store.
2.7. Disabled
A device that is disabled gets no network connectivity at all,
including no local network connectivity.
A device that is directly mains powered would be disconnected by a
human. A device that is powered by Power-over-Ethernet could be
disconnected by administratively turning power off on that port.
A device that is battery powered or scavanges power would remain on
as long as it had power.
2.8. Returning to Service
A device that is attempting to return to service has installed some
"fix" for the issue that lead it to be quarantined. It could also be
the case that the device did not need to anything, and that the
quarantine was a false positive, and a new MUD file is loaded with
the additionally accepted patterns.
A device returning to service MAY have erased all it's network
settings, and will have to go through some form of network enrollment
again.
Richardson & Latour Expires 6 May 2021 [Page 8]
Internet-Draft MUD-Quaranatine November 2020
2.9. Owned by malicious entity ("p0wned")
A device which is known to be controlled by a malicious entity. It
may be impossible to quarantine the device if it performs some
critical function and the imposition of quarantine would prevent
that.
3. Detailed description of transitions
This section deals with the transitions between states. These
transitions occur as a result of network and/or human signaling. The
occurance of these transitions will in most cases cause a signal to
be sent.
3.1. Initial Enrollment
The process of enrollment is out of scope for this document.
3.2. Re-enrollment
The process of re-enrollment is out of scope for this document. This
document does specify when this re-enrollment can take place, and how
a human can indicate to a device and to the network infrastructure
that re-enrollment can take place.
Re-enrollment can occur a number of different ways.
3.2.1. factory-default re-enrollment
A device can re-enroll in a factory-default state. This means that
all settings are lost and any private keys that might have been
visible to malicious code/coders who may have had access to the
device have are regenerated.
Devices that store private keys in Trusted Platform Modules (TPM), or
in Trusted Execution Environments (see [I-D.ietf-teep-architecture])
could reasonably assume that private keys may be retained. From an
802.1AR perspective, the IDevID may be assumed to be intact, but the
integrity of the LDevID may be suspect.
As the device is in a factory-default state it will have no user/
owner-specific configuration, and any authorization lists will need
to be re-established!
Richardson & Latour Expires 6 May 2021 [Page 9]
Internet-Draft MUD-Quaranatine November 2020
3.2.2. simple re-enrollment
The device does not return to a factory-default state, and has
existing network, owner credentials and configuration intact. A
network onboarding will need to be repeated to establish new per-
device network keys.
An audit of the device authorizations SHOULD be done, as an attacker
may have inserted additional authorizations in order to return.
3.2.3. other kinds?
Are there states in between these two extremes?
3.3. Initial suspicion
The transition from nomimal to initial suspicion occurs when the MUD
firewall detects (and blocks) network not described in the device
MUD. There are a number of non-critical reasons why this could
occur.
The mostly likely situation is that the MUD describes access rules
using DNS names, while the firewall is implemented in terms of IP
addresses. The name to IP mapping may well have changed, and the
firewall has not yet caught up to the new mapping.
3.4. Confirmed suspicion
TBD
3.5. Device identified as attack target
TBD
3.6. Suspension of connectivity
TBD
3.7. Re-Installation of valid firmware
TBD
4. An example process
Here will be somes examples of a device.
Richardson & Latour Expires 6 May 2021 [Page 10]
Internet-Draft MUD-Quaranatine November 2020
5. Human Rights Considerations
TBD
6. Privacy Considerations
TBD
7. Security Considerations
TBD
8. IANA Considerations
8.1. Captive Portal API JSON keys
A new JSON key for [I-D.ietf-capport-api]'s "Captive Portal API Keys"
is to be registred with the following values:
key: "quarantine"
type: "boolean"
description: [THISDOCUMENT] specifies that the quarantine key should be
marked true if the device has had its Internet access
revoked due to violation of an RFF8520 (MUD) profile.
9. Acknowledgements
10. References
10.1. Normative References
[I-D.ietf-capport-api]
Pauly, T. and D. Thakore, "Captive Portal API", Work in
Progress, Internet-Draft, draft-ietf-capport-api-08, 18
June 2020, <http://www.ietf.org/internet-drafts/draft-
ietf-capport-api-08.txt>.
[I-D.ietf-capport-architecture]
Larose, K., Dolson, D., and H. Liu, "Captive Portal
Architecture", Work in Progress, Internet-Draft, draft-
ietf-capport-architecture-10, 23 September 2020,
<http://www.ietf.org/internet-drafts/draft-ietf-capport-
architecture-10.txt>.
[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>.
Richardson & Latour Expires 6 May 2021 [Page 11]
Internet-Draft MUD-Quaranatine November 2020
[RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
"Specification of the IP Flow Information Export (IPFIX)
Protocol for the Exchange of Flow Information", STD 77,
RFC 7011, DOI 10.17487/RFC7011, September 2013,
<https://www.rfc-editor.org/info/rfc7011>.
[RFC7710] Kumari, W., Gudmundsson, O., Ebersman, P., and S. Sheng,
"Captive-Portal Identification Using DHCP or Router
Advertisements (RAs)", RFC 7710, DOI 10.17487/RFC7710,
December 2015, <https://www.rfc-editor.org/info/rfc7710>.
[RFC7970] Danyliw, R., "The Incident Object Description Exchange
Format Version 2", RFC 7970, DOI 10.17487/RFC7970,
November 2016, <https://www.rfc-editor.org/info/rfc7970>.
[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>.
10.2. Informative References
[dpp] "Device Provisioning Protocol Specification", n.d.,
<https://www.wi-fi.org/downloads-registered-guest/Device_P
rovisioning_Protocol_Draft_Technical_Specification_Package
_v0_0_23_0.zip/31255>.
[I-D.ietf-anima-bootstrapping-keyinfra]
Pritikin, M., Richardson, M., Eckert, T., Behringer, M.,
and K. Watsen, "Bootstrapping Remote Secure Key
Infrastructures (BRSKI)", Work in Progress, Internet-
Draft, draft-ietf-anima-bootstrapping-keyinfra-44, 21
September 2020, <http://www.ietf.org/internet-drafts/
draft-ietf-anima-bootstrapping-keyinfra-44.txt>.
[I-D.ietf-teep-architecture]
Pei, M., Tschofenig, H., Thaler, D., and D. Wheeler,
"Trusted Execution Environment Provisioning (TEEP)
Architecture", Work in Progress, Internet-Draft, draft-
ietf-teep-architecture-12, 13 July 2020,
<http://www.ietf.org/internet-drafts/draft-ietf-teep-
architecture-12.txt>.
Richardson & Latour Expires 6 May 2021 [Page 12]
Internet-Draft MUD-Quaranatine November 2020
[I-D.richardson-shg-mud-quarantined-access]
Richardson, M. and M. Ranganathan, "Manufacturer Usuage
Description for quarantined access to firmware", Work in
Progress, Internet-Draft, draft-richardson-shg-mud-
quarantined-access-01, 8 July 2019, <http://www.ietf.org/
internet-drafts/draft-richardson-shg-mud-quarantined-
access-01.txt>.
[looneytunes]
"List of Looney Tunes Cartoons", n.d.,
<https://en.wikipedia.org/wiki/
List_of_Looney_Tunes_and_Merrie_Melodies_characters>.
[SecureHomeGateway]
"CIRALabs Secure Home Gateway", n.d.,
<https://github.com/CIRALabs/>.
[swatting] "Cambridge English Dictionary: swatting", January 2019,
<https://dictionary.cambridge.org/dictionary/english/
swatting>.
Authors' Addresses
Michael Richardson
Sandelman Software Works
Email: mcr+ietf@sandelman.ca
Jacques Latour
CIRA Labs
Email: Jacques.Latour@cira.ca
Richardson & Latour Expires 6 May 2021 [Page 13]