# OWASP IoT Top 10 2018 Mapping Project

The [OWASP IoT Mapping Project](https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project#tab=OWASP_IoT_Top_10_2018_Mapping_Project) is intended to provide a mapping of the OWASP IoT Top 10 2018 to industry publications and sister projects. The goal is to provide resources that enable practical uses for the OWASP IoT Top 10 . As with all Top 10 lists, they should be used as a first step and expanded upon according to the applicable IoT ecosystem.&#x20;

Mappings are structured with control categories, tests, or recommendations in the left column, descriptions in the middle column, and their mapping to the OWASP IoT Top 10 2018 list in the right column. Each mapping may not have a 1 to 1 relation; however, similar recommendations and/or controls are listed. For mappings that are not applicable to the IoT Top 10 2018 list, an "N/A" is provided as the mapping.

## OWASP IoT Top 10 2018

![](/files/-Lc3jDHHEdaF3M0mVJON)

| [OWASP IoT Top 10 2018](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf) | Description                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| I1 Weak, Guessable, or Hardcoded Passwords                                                 | Use of easily bruteforced, publicly available, or unchangeable credentials, including backdoors in firmware or client software that grants unauthorized access to deployed systems.                                                                                                               |
| I2 Insecure Network Services                                                               | Unneeded or insecure network services running on the device itself, especially those exposed to the internet, that compromise the confidentiality, integrity/authenticity, or availability of information or allow unauthorized remote control.                                                   |
| I3 Insecure Ecosystem Interfaces                                                           | Insecure web, backend API, cloud, or mobile interfaces in the ecosystem outside of the device that allows compromise of the device or its related components. Common issues include a lack of authentication/authorization, lacking or weak encryption, and a lack of input and output filtering. |
| I4 Lack of Secure Update Mechanism                                                         | Lack of ability to securely update the device. This includes lack of firmware validation on device, lack of secure delivery (un-encrypted in transit), lack of anti-rollback mechanisms, and lack of notifications of security changes due to updates.                                            |
| I5 Use of Insecure or Outdated Components                                                  | Use of deprecated or insecure software components/libraries that could allow the device to be compromised. This includes insecure customization of operating system platforms, and the use of third-party software or hardware components from a compromised supply chain                         |
| I6 Insufficient Privacy Protection                                                         | User’s personal information stored on the device or in the ecosystem that is used insecurely, improperly, or without permission.                                                                                                                                                                  |
| I7 Insecure Data Transfer and Storage                                                      | Lack of encryption or access control of sensitive data anywhere within the ecosystem, including at rest, in transit, or during processing                                                                                                                                                         |
| I8 Lack of Device Management                                                               | Lack of security support on devices deployed in production, including asset management, update management, secure decommissioning, systems monitoring, and response capabilities.                                                                                                                 |
| I9 Insecure Default Settings                                                               | Devices or systems shipped with insecure default settings or lack the ability to make the system more secure by restricting operators from modifying configurations.                                                                                                                              |
| I10 Lack of Physical Hardening                                                             | Lack of physical hardening measures, allowing potential attackers to gain sensitive information that can help in a future remote attack or take local control of the device.                                                                                                                      |

## Contributing

If a crucial mapping is missing or edits should be made, feel free to contribute by submitting a pull request, contact the project leaders, or join the [OWASP Slack Team](https://owasp.slack.com/) and look for us in the #iot-security channel.&#x20;


# Mappings

* [OWASP IoT Top 10 2014](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/owasp-iot-top-10-2014)
* [GSMA IoT Security Assessment Checklist](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/gsma-iot-security-assessment-checklist)
* [Code of Practice (UK Government)](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/code-of-practice)
* [ENISA Baseline Security Recommendations for IoT](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/enisa-baseline-security-recommendations-for-iot)
* [CTIA Cybersecurity Certification Test Plan](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/ctia-cybersecurity-certification-test-plan-for-iot-devices)

  [for IoT Devices](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/ctia-cybersecurity-certification-test-plan-for-iot-devices)&#x20;
* [CSA IoT Controls Framework](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/csa-iot-controls-framework)
* [ETSI Cyber Security for Consumer Internet of Things](https://scriptingxss.gitbook.io/owasp-iot-top-10-mapping-project/mappings/etsi-cyber-security-for-consumer-internet-of-things)


# OWASP IoT Top 10 2014

| [**OWASP IoT Top 10 2014**](https://www.owasp.org/index.php/Top_10_IoT_Vulnerabilities_\(2014\)) | [**OWASP IoT Top 10 2018 Mapping**](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf)                                                                                 |
| ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **I1 Insecure Web Interface**                                                                    | **I3 Insecure Ecosystem Interfaces**                                                                                                                                                   |
| **I2 Insufficient Authentication/Authorization**                                                 | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br></p><p><strong>I3 Insecure Ecosystem Interfaces</strong></p><p><br><strong>I9 Insecure Default Settings</strong></p> |
| **I3 Insecure Network Services**                                                                 | **I2 Insecure Network Services**                                                                                                                                                       |
| **I4 Lack of Transport Encryption/Integrity Verification**                                       | **I7 Insecure Data Transfer and Storage**                                                                                                                                              |
| **I5 Privacy Concerns**                                                                          | **I6 Insufficient Privacy Protection**                                                                                                                                                 |
| **I6 Insecure Cloud Interface**                                                                  | **I3 Insecure Ecosystem Interfaces**                                                                                                                                                   |
| **I7 Insecure Mobile Interface**                                                                 | **I3 Insecure Ecosystem Interfaces**                                                                                                                                                   |
| **I8 Insufficient Security Configurability**                                                     | **I9 Insecure Default Settings**                                                                                                                                                       |
| **I9 Insecure Software/Firmware**                                                                | <p><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong></p>                                                           |
| **I10 Poor Physical Security**                                                                   | **I10 Lack of Physical Hardening**                                                                                                                                                     |


# GSMA IoT Security Assessment Checklist

| [**GSMA IoT Security Assessment Checklist**](https://www.gsma.com/iot/iot-security-assessment/) | **Description**                                                                 | [**OWASP IoT Top 10 Mapping**](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf)                                                                              |
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **CLP11\_5**                                                                                    | 11.5 Risk Assessments                                                           | **N/A**                                                                                                                                                                        |
| **CLP11\_6**                                                                                    | 11.6 Privacy Considerations                                                     | **I6 Insufficient Privacy Protection**                                                                                                                                         |
| **CLP11\_7**                                                                                    | 11.7 Secure Development                                                         | **I5 Use of Insecure or Outdated Components**                                                                                                                                  |
| **CLP11\_7.2**                                                                                  | 11.7.2 Review the current product or service’s Security Model                   | **N/A**                                                                                                                                                                        |
| **CLP12\_5.1**                                                                                  | 5.1 Implement a Service Trusted Computing Base                                  | **I5 Use of Insecure or Outdated Components**                                                                                                                                  |
| **CLP12\_5.2**                                                                                  | 5.2 Define an Organizational Root of Trust                                      | **I7 Insecure Data Transfer and Storage**                                                                                                                                      |
| **CLP12\_5.3**                                                                                  | 5.3 Define a Bootstrap Method                                                   | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP12\_5.4**                                                                                  | 5.4 Define a Security Infrastructure for Systems Exposed to the Public Internet | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                                                             |
| **CLP12\_5.5**                                                                                  | 5.5 Define a Persistent Storage Model                                           | **I7 Insecure Data Transfer and Storage**                                                                                                                                      |
| **CLP12\_5.6**                                                                                  | 5.6 Define an Administration Model                                              | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                                                         |
| **CLP12\_5.7**                                                                                  | 5.7 Define a Systems Logging and Monitoring Approach                            | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP12\_5.8**                                                                                  | 5.8 Define an Incident Response Model                                           | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP12\_5.9**                                                                                  | 5.9 Define a Recovery Model                                                     | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP12\_5.10**                                                                                 | 5.10 Define a Sunsetting Model                                                  | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP12\_5.11**                                                                                 | 5.11 Define a Set of Security Classifications                                   | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP12\_5.12**                                                                                 | 5.12 Define Classifications for Sets of Data Types                              | **I6 Insufficient Privacy Protection**                                                                                                                                         |
| **CLP12\_6.1**                                                                                  | 6.1 Define a Clear Authorization Model                                          | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong></p>                                                    |
| **CLP12\_6.2**                                                                                  | 6.2 Manage the Cryptographic Architecture                                       | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                                                         |
| **CLP12\_6.3**                                                                                  | 6.3 Define a Communications Model                                               | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                                                             |
| **CLP12\_6.4**                                                                                  | 6.4 Use Network Authentication Services                                         | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                                                             |
| **CLP12\_6.5**                                                                                  | 6.5 Provision Servers Where Possible                                            | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP12\_6.6**                                                                                  | 6.6 Define an Update Model                                                      | **I4 Lack of Secure Update Mechanism**                                                                                                                                         |
| **CLP12\_6.7**                                                                                  | 6.7 Define a Breach Policy for Exposed Data                                     | **I6 Insufficient Privacy Protection**                                                                                                                                         |
| **CLP12\_6.8**                                                                                  | 6.8 Force Authentication Through the Service Ecosystem                          | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP12\_6.9**                                                                                  | 6.9 Implement Input Validation                                                  | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP12\_6.10**                                                                                 | 6.10 Implement Output Filtering                                                 | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP12\_6.11**                                                                                 | 6.11 Enforce Strong Password Policy                                             | **I1 Weak, Guessable, or Hardcoded Passwords**                                                                                                                                 |
| **CLP12\_6.12**                                                                                 | 6.12 Define Application Layer Authentication and Authorization                  | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP12\_6.13**                                                                                 | 6.13 Default-Open or Fail-Open Firewall Rules and System Hardening              | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I8 Lack of Device Management</strong></p>             |
| **CLP12\_6.14**                                                                                 | 6.14 Evaluate the Communications Privacy Model                                  | **I6 Insufficient Privacy Protection**                                                                                                                                         |
| **CLP12\_7.1**                                                                                  | 7.1 Define an Application Execution Environment                                 | **N/A**                                                                                                                                                                        |
| **CLP12\_7.2**                                                                                  | 7.2 Use Partner-Enhanced Monitoring Services                                    | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP12\_7.3**                                                                                  | 7.3 Use a Private APN for Cellular Connectivity                                 | **N/A**                                                                                                                                                                        |
| **CLP12\_7.4**                                                                                  | 7.4 Define a Third-Party Data Distribution Policy                               | <p><strong>I6 Insufficient Privacy Protection</strong><br><br><strong>I8 Lack of Device Management</strong></p>                                                                |
| **CLP12\_7.5**                                                                                  | 7.5 Build a Third-Party Data Filter                                             | **N/A**                                                                                                                                                                        |
| **CLP12\_8.1**                                                                                  | 8.1 Protect Against Rowhammer and Similar Attacks                               | **N/A**                                                                                                                                                                        |
| **CLP12\_8.2**                                                                                  | 8.2 Protect Against Virtual Machine Compromises                                 | **N/A**                                                                                                                                                                        |
| **CLP12\_8.3**                                                                                  | 8.3 Build an API for Users to Control Privacy Attributes                        | **I6 Insufficient Privacy Protection**                                                                                                                                         |
| **CLP12\_8.4**                                                                                  | 8.4 Define a False Negative/Positive Assessment Model                           | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_6.1**                                                                                  | 6.1 Implement an Endpoint Trusted Computing Base                                | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_6.2**                                                                                  | 6.2 Utilize a Trust Anchor                                                      | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_6.3**                                                                                  | 6.3 Use a Tamper Resistant Trust Anchor                                         | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_6.4**                                                                                  | 6.4 Utilise an API for the TCB                                                  | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                                      |
| **CLP13\_6.5**                                                                                  | 6.5 Defining an Organizational Root of Trust                                    | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p>                                                                |
| **CLP13\_6.6**                                                                                  | 6.6 Personalize Each Endpoint Device Prior to Fulfilment                        | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                        |
| **CLP13\_6.7**                                                                                  | 6.7 Minimum Viable execution Platform                                           | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP13\_6.8**                                                                                  | 6.8 Uniquely Provision Each Endpoint                                            | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                        |
| **CLP13\_6.9**                                                                                  | 6.9 Endpoint Password Management                                                | **I1 Weak, Guessable, or Hardcoded Passwords**                                                                                                                                 |
| **CLP13\_6.10**                                                                                 | 6.10 Use a Proven Random Number Generator                                       | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_6.11**                                                                                 | 6.11 Cryptographically Sign Application Images                                  | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_6.12**                                                                                 | 6.12 Remote Endpoint Administration                                             | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP13\_6.13**                                                                                 | 6.13 Logging and Diagnostics                                                    | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP13\_6.14**                                                                                 | 6.14 Enforce Memory Protection                                                  | **N/A**                                                                                                                                                                        |
| **CLP13\_6.15**                                                                                 | 6.15 Secure Bootloaders                                                         | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_6.16**                                                                                 | 6.16 Locking Critical Sections of Memory                                        | <p><strong>I7 Insecure Data Transfer and Storage</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                             |
| **CLP13\_6.18**                                                                                 | 6.18 Perfect Forward Secrecy                                                    | **I7 Insecure Data Transfer and Storage**                                                                                                                                      |
| **CLP13\_6.19**                                                                                 | 6.19 Endpoint Communications Security                                           | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>    |
| **CLP13\_6.20**                                                                                 | 6.20 Authenticating an Endpoint Identity                                        | **I1 Weak, Guessable, or Hardcoded Passwords**                                                                                                                                 |
| **CLP13\_7.1**                                                                                  | 7.1 Use Internal Memory for Secrets                                             | **I7 Insecure Data Transfer and Storage**                                                                                                                                      |
| **CLP13\_7.2**                                                                                  | 7.2 Anomaly Detection                                                           | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP13\_7.3**                                                                                  | 7.3 Use Tamper Resistant Product Casing                                         | **I10 Lack of Physical Hardening**                                                                                                                                             |
| **CLP13\_7.4**                                                                                  | 7.4 Enforce Confidentiality and Integrity to/from the Trust Anchor              | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_7.5**                                                                                  | 7.5 Over the Air Application Updates                                            | **I4 Lack of Secure Update Mechanism**                                                                                                                                         |
| **CLP13\_7.6**                                                                                  | 7.6 Improperly Engineered or Unimplemented Mutual Authentication                | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong></p>                                                    |
| **CLP13\_7.8**                                                                                  | 7.8 Privacy and Unique Endpoint Identities                                      | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I6 Insufficient Privacy Protection</strong></p>                                                            |
| **CLP13\_7.9**                                                                                  | 7.9 Run Applications with Appropriate Privilege Levels                          | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP13\_7.10**                                                                                 | 7.10 Enforce a Separation of Duties in the Application Architecture             | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP13\_7.11**                                                                                 | 7.11 Enforce Language Security                                                  | **I5 Use of Insecure or Outdated Components**                                                                                                                                  |
| **CLP13\_7.12**                                                                                 | 7.12 Implement Persistent Pentesting                                            | **N/A**                                                                                                                                                                        |
| **CLP13\_8.1**                                                                                  | 8.1 Enforce Operating System Level Security Enhancements                        | <p><strong>I5 Use of Insecure or Outdated Components</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                         |
| **CLP13\_8.2**                                                                                  | 8.2 Disable Debugging and Testing Technologies                                  | <p><strong>I9 Insecure Default Settings</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p>                                                                    |
| **CLP13\_8.3**                                                                                  | 8.3 Tainted Memory via Peripheral-Based Attacks                                 | <p><strong>I7 Insecure Data Transfer and Storage</strong> <br><br><strong>I9 Insecure Default Settings</strong><br><br><strong>I10 I10 Lack of Physical Hardening</strong></p> |
| **CLP13\_8.4**                                                                                  | 8.4 User Interface Security                                                     | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP13\_8.6**                                                                                  | 8.6 Utilize a Private APN                                                       | **I9 Insecure Default Settings**                                                                                                                                               |
| **CLP13\_8.7**                                                                                  | 8.7 Implement Environmental Lock-Out Thresholds                                 | **I3 Insecure Ecosystem Interfaces**                                                                                                                                           |
| **CLP13\_8.8**                                                                                  | 8.8 Enforce Power Warning Thresholds                                            | **I10 Lack of Physical Hardening**                                                                                                                                             |
| **CLP13\_8.9**                                                                                  | 8.9 Environments Without Back-End Connectivity                                  | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                                  |
| **CLP13\_8.10**                                                                                 | 8.10 Device Decommissioning and Sunsetting                                      | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP13\_8.11**                                                                                 | 8.11 Unauthorized Metadata Harvesting                                           | **I6 Insufficient Privacy Protection**                                                                                                                                         |
| **CLP13\_9.1**                                                                                  | 9.1 Intentional and Unintentional Denial of Service                             | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I9 Insecure Default Settings</strong></p>             |
| **CLP13\_9.2**                                                                                  | 9.2 Safety Critical Analysis                                                    | **I8 Lack of Device Management**                                                                                                                                               |
| **CLP13\_9.3**                                                                                  | 9.3 Defeating Shadowed Components and Untrusted Bridges                         | **I10 Lack of Physical Hardening**                                                                                                                                             |
| **CLP13\_9.4**                                                                                  | 9.4 Defeating a Cold Boot Attack                                                | **I10 Lack of Physical Hardening**                                                                                                                                             |
| **CLP13\_9.5**                                                                                  | 9.5 Non-Obvious Security Risks (Seeing Through Walls)                           | **N/A**                                                                                                                                                                        |
| **CLP13\_9.6**                                                                                  | 9.6 Combating Focused Ion Beams and X-Rays                                      | **N/A**                                                                                                                                                                        |
| **CLP13\_9.7**                                                                                  | 9.7 Consider Supply Chain Security                                              | <p><strong>I5 Use of Insecure or Outdated Components</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p>                                                       |


# Code of Practice for Consumer IoT Security

| [Code of Practice for Consumer IoT Security](https://www.gov.uk/government/publications/code-of-practice-for-consumer-iot-security) | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | [**OWASP IoT Top 10 Mapping**](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf)                                      |
| ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **1. No default passwords**                                                                                                         | All IoT device passwords shall be unique and not resettable to any universal factory default value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | **I1 Weak, Guessable, or Hardcoded Passwords**                                                                                         |
| **2. Implement a vulnerability disclosure policy**                                                                                  | All companies that provide internet-connected devices and services shall provide a public point of contact as part of a vulnerability disclosure policy in order that security researchers and others are able to report issues. Disclosed vulnerabilities should be acted on in a timely manner.                                                                                                                                                                                                                                                                                                                                                                                                                   | **N/A**                                                                                                                                |
| **3. Keep software updated**                                                                                                        | Software components in internet-connected devices should be securely updateable. Updates shall be timely and should not impact on the functioning of the device. An end-of-life policy shall be published for end-point devices which explicitly states the minimum length of time for which a device will receive software updates and the reasons for the length of the support period. The need for each update should be made clear to consumers and an update should be easy to implement. For constrained devices that cannot physically be updated, the product should be isolatable and replaceable.                                                                                                        | <p><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I8 Lack of Device Management</strong></p>                        |
| **4. Securely store credentials and security-sensitive data**                                                                       | Any credentials shall be stored securely within services and on devices. Hard-coded credentials in device software are not acceptable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong></p><p></p><p><strong>I7 Insecure Data Transfer and Storage</strong></p> |
| **5. Communicate securely**                                                                                                         | Security-sensitive data, including any remote management and control, should be encrypted in transit, appropriate to the properties of the technology and usage. All keys should be managed securely.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                 |
| **6. Minimise exposed attack surfaces**                                                                                             | All devices and services should operate on the ‘principle of least privilege’; unused ports should be closed, hardware should not unnecessarily expose access, services should not be available if they are not used and code should be minimised to the functionality necessary for the service to operate. Software should run with appropriate privileges, taking account of both security and functionality.                                                                                                                                                                                                                                                                                                    | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong></p>                 |
| **7. Ensure software integrity**                                                                                                    | Software on IoT devices should be verified using secure boot mechanisms. If an unauthorised change is detected, the device should alert the consumer/administrator to an issue and should not connect to wider networks than those necessary to perform the alerting function.                                                                                                                                                                                                                                                                                                                                                                                                                                      | <p><strong>I9 Insecure Default Settings</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p>                            |
| **8. Ensure that personal data is protected**                                                                                       | Where devices and/or services process personal data, they shall do so in accordance with applicable data protection law, such as the General Data Protection Regulation (GDPR) and the Data Protection Act 2018. Device manufacturers and IoT service providers shall provide consumers with clear and transparent information about how their data is being used, by whom, and for what purposes, for each device and service. This also applies to any third parties that may be involved (including advertisers). Where personal data is processed on the basis of consumers’ consent, this shall be validly and lawfully obtained, with those consumers being given the opportunity to withdraw it at any time. | **I6 Insufficient Privacy Protection**                                                                                                 |
| **9. Make systems resilient to outages**                                                                                            | Resilience should be built in to IoT devices and services where required by their usage or by other relying systems, taking into account the possibility of outages of data networks and power. As far as reasonably possible, IoT services should remain operating and locally functional in the case of a loss of network and should recover cleanly in the case of restoration of a loss of power. Devices should be able to return to a network in a sensible state and in an orderly fashion, rather than in a massive scale reconnect.                                                                                                                                                                        | <p><strong>I8 Lack of Device Management</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                              |
| **10. Monitor system telemetry data**                                                                                               | If telemetry data is collected from IoT devices and services, such as usage and measurement data, it should be monitored for security anomalies.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | **N/A**                                                                                                                                |
| **11. Make it easy for consumers to delete personal data**                                                                          | Devices and services should be configured such that personal data can easily be removed from them when there is a transfer of ownership, when the consumer wishes to delete it and/or when the consumer wishes to dispose of the device. Consumers should be given clear instructions on how to delete their personal data.                                                                                                                                                                                                                                                                                                                                                                                         | **I6 Insufficient Privacy Protection**                                                                                                 |
| **12. Make installation and maintenance of devices easy**                                                                           | Installation and maintenance of IoT devices should employ minimal steps and should follow security best practice on usability. Consumers should also be provided with guidance on how to securely set up their device.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | <p><strong>I8 Lack of Device Management</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                              |
| **13. Validate input data**                                                                                                         | Data input via user interfaces and transferred via application programming interfaces (APIs) or between networks in services and devices shall be validated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | **I3 Insecure Ecosystem Interfaces**                                                                                                   |


# ENISA Baseline Security Recommendations for IoT

| [**ENISA Baseline Security Recommendations for IoT**](https://www.enisa.europa.eu/publications/baseline-security-recommendations-for-iot/at_download/fullReport) | **Good Practices**                                      | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | [**OWASP IoT Top 10 Mapping**](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf)                                                                                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **4.1.1**                                                                                                                                                        | Security by Design                                      | <p>GP-PS-01: Consider the security of the whole IoT system from a consistent and holistic approach during its whole lifecycle across all levels of device/application design and development, integrating security throughout the development, manufacture, and deployment.<br>GP-PS-02: Ensure the ability to integrate different security policies and techniques.<br>GP-PS-03: Security must consider the risk posed to human safety.<br>GP-PS-04: Designing for power conservation should not compromise security.<br>GP-PS-05: Design architecture by compartments to encapsulate elements in case of attacks.<br>GP-PS-06: For IoT hardware manufacturers and IoT software developers it is necessary to implement test<br>plans to verify whether the product performs as it is expected. Penetration tests help to identify<br>malformed input handling, authentication bypass attempts and overall security posture.<br>GP-PS-07: For IoT software developers it is important to conduct code review during implementation as<br>it helps to reduce bugs in a final version of a product.</p>                                                                                                                                                                                                                                                                                                               | **N/A**                                                                                                                                                                                                                                       |
| **4.1.2**                                                                                                                                                        | Privacy by Design                                       | <p>GP-PS-08: Make privacy an integral part of the system.<br>GP-PS-09: Perform privacy impact assessments before any new applications are launched.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | **I6 Insufficient Privacy Protection**                                                                                                                                                                                                        |
| **4.1.3**                                                                                                                                                        | Asset Management                                        | GP-PS-10: Establish and maintain asset management procedures and configuration controls for key network and information systems.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | **I8 Lack of Device Management**                                                                                                                                                                                                              |
| **4.1.4**                                                                                                                                                        | Risk and Threat Identification and Assessment           | <p>GP-PS-11: Identify significant risks using a defence-in-depth approach.<br>GP-PS-12: Identify the intended use and environment of a given IoT device.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | **N/A**                                                                                                                                                                                                                                       |
| **4.2.1**                                                                                                                                                        | End-of-life Support                                     | <p>GP-OP-01: Develop an end-of-life strategy for IoT products.<br>GP-OP-02: Disclose the duration and end-of-life security and patch support (beyond product warranty).<br>GP-OP-03: Monitor the performance and patch known vulnerabilities up until the “end-of-support" period of a product’s lifecycle.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | **I8 Lack of Device Management**                                                                                                                                                                                                              |
| **4.2.2**                                                                                                                                                        | Proven Solutions                                        | <p>GP-OP-04: Use proven solutions, i.e. well known communications protocols and cryptographic algorithms, recognized by the scientific community, etc. Certain proprietary solutions, such as custom cryptographic algorithms, should be avoided.<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | **I5 Use of Insecure or Outdated Components**                                                                                                                                                                                                 |
| **4.2.3**                                                                                                                                                        | Management of Security Vulnerabilities and/or Incidents | <p>GP-OP-05: Establish procedures for analysing and handling security incidents.<br>GP-OP-06: Coordinated disclosure of vulnerabilities.<br>GP-OP-07: Participate in information-sharing platforms to report vulnerabilities and receive timely and critical information about current cyber threats and vulnerabilities from public and private partners.<br>GP-OP-08: Create a publicly disclosed mechanism for vulnerability reports, e.g. Bug Bounty programs.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | **N/A**                                                                                                                                                                                                                                       |
| **4.2.4**                                                                                                                                                        | Human Resources Security Training and Awareness         | <p>GP-OP-09: Ensure the personnel practices promote privacy and security – train employees in good privacy and security practices.<br>GP-OP-10: Document and monitor the privacy and security training activities.<br>GP-OP-11: Ensure that cybersecurity roles and responsibilities for all workforce are established and introduce personnel assignments in accordance with the specifics of the projects and security engineering needs.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | **N/A**                                                                                                                                                                                                                                       |
| **4.2.5**                                                                                                                                                        | Third-Party Relationships                               | <p>GP-OP-12: Data processed by a third-party must be protected by a data processing agreement.<br>GP-OP-13: Only share consumers’ personal data with third parties with express consent of the consumers, unless otherwise required and limited for the use of product features or service operations.<br>GP-OP-14: For IoT hardware manufacturers and IoT software developers it is necessary to adopt cyber supply chain risk management policies and to communicate cyber security requirements to its suppliers<br>and partners.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | **N/A**                                                                                                                                                                                                                                       |
| **4.3.1**                                                                                                                                                        | Hardware Security                                       | <p>GP-TM-01: Employ a hardware-based immutable root of trust.<br>GP-TM-02: Use hardware that incorporates security features to strengthen the protection and integrity<br>of the device – for example, specialised security chips / coprocessors that integrate security at the transistor level, embedded in the processor, providing, among other things, a trusted storage of device identity and authentication means, protection of keys at rest and in use, and preventing unprivileged from accessing to security sensitive code. Protection against local and physical attacks can be covered via functional security.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | **I10 Lack of Physical Hardening**                                                                                                                                                                                                            |
| **4.3.2**                                                                                                                                                        | Trust and Integrity Management                          | <p>GP-TM-03: Trust must be established in the boot environment before any trust in any other software or executable program can be claimed.<br>GP-TM-04: Sign code cryptographically to ensure it has not been tampered with after signing it as safe for the device, and implement run-time protection and secure execution monitoring to make sure malicious attacks do not overwrite code after it is loaded.<br>GP-TM-05: Control the installation of software in operating systems, to prevent unauthenticated software and files from being loaded onto it.<br>GP-TM-06: Enable a system to return to a state that was known to be secure, after a security breach has occured or if an upgrade has not been successful.<br>GP-TM-07: Use protocols and mechanisms able to represent and manage trust and trust relationships.<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | <p><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I8 Lack of Device Management</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                                          |
| **4.3.3**                                                                                                                                                        | Strong Default Security and Privacy                     | <p>GP-TM-08: Any applicable security features should be enabled by default, and any unused or insecure functionalities should be disabled by default.<br>GP-TM-09: Establish hard to crack, device-individual default passwords.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong> <br><br><strong>I9 Insecure Default Settings</strong></p>                                                                                                                      |
| **4.3.4**                                                                                                                                                        | Data Protection and Compliance                          | <p>GP-TM-10: Personal data must be collected and processed fairly and lawfully, it should never be collected and processed without the data subject’s consent.<br>GP-TM-11: Make sure that personal data is used for the specified purposes for which they were collected, and that any further processing of personal data is compatible and that the data subjects are well informed.<br>GP-TM-12: Minimise the data collected and retained.<br>GP-TM-13: IoT stakeholders must be compliant with the EU General Data Protection Regulation (GDPR).<br>GP-TM-14: Users of IoT products and services must be able to exercise their rights to information, access,<br>erasure, rectification, data portability, restriction of processing, objection to processing, and their right not to be evaluated on the basis of automated processing.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | **I6 Insufficient Privacy Protection**                                                                                                                                                                                                        |
| **4.3.5**                                                                                                                                                        | System Safety and Reliability                           | <p>GP-TM-15: Design with system and operational disruption in mind, preventing the system from causing an unacceptable risk of injury or physical damage.<br>GP-TM-16: Mechanisms for self-diagnosis and self-repair/healing to recover from failure, malfunction or a compromised state.<br>GP-TM-17: Ensure standalone operation - essential features should continue to work with a loss of communications and chronicle negative impacts from compromised devices or cloud-based systems.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | **I8 Lack of Device Management**                                                                                                                                                                                                              |
| **4.3.6**                                                                                                                                                        | Secure Software/ Firmware Updates                       | <p>GP-TM-18: Ensure that the device software/firmware, its configuration and its applications have the ability to update Over-The-Air (OTA), that the update server is secure, that the update file is transmitted via a secure connection, that it does not contain sensitive data (e.g. hardcoded credentials), that it is signed by an authorised trust entity and encrypted using accepted encryption methods, and that the update package has its digital signature, signing certificate and signing certificate chain, verified by the device before the update process begins.<br>GP-TM-19: Offer an automatic firmware update mechanism.<br>GP-TM-20: Backward compatibility of firmware updates. Automatic firmware updates should not modify<br>user-configured preferences, security, and/or privacy settings without user notification.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I8 Lack of Device Management</strong></p>                                                            |
| **4.3.7**                                                                                                                                                        | Authentication                                          | <p>GP-TM-21: Design the authentication and authorisation schemes (unique per device) based on the system-level threat models.<br>GP-TM-22: Ensure that default passwords and even default usernames are changed during the initial setup, and that weak, null or blank passwords are not allowed.<br>GP-TM-23: Authentication mechanisms must use strong passwords or personal identification numbers (PINs), and should consider using two-factor authentication (2FA) or multi-factor authentication (MFA) like Smartphones, Biometrics, etc., on top of certificates.<br>GP-TM-24: Authentication credentials shall be salted, hashed and/or encrypted.<br>GP-TM-25: Protect against ‘brute force’ and/or other abusive login attempts. This protection should also<br>consider keys stored in devices.<br>GP-TM-26: Ensure password recovery or reset mechanism is robust and does not supply an attacker with<br>information indicating a valid account. The same applies to key update and recovery mechanisms.<br></p>                                                                                                                                                                                                                                                                                                                                                                                        | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong></p>                                                                                                                   |
| **4.3.8**                                                                                                                                                        | Authorisation                                           | <p>GP-TM-27: Limit the actions allowed for a given system by Implementing fine-grained authorisation mechanisms and using the Principle of least privilege (POLP): applications must operate at the lowest privilege level possible.<br>GP-TM-28: Device firmware should be designed to isolate privileged code, processes and data from portions of the firmware that do not need access to them. Device hardware should provide isolation concepts to prevent unprivileged from accessing security sensitive code.<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I9 Insecure Default Settings</strong></p>                                                                                                                       |
| **4.3.9**                                                                                                                                                        | Access Control - Physical and Environmental Security    | <p>GP-TM-29: Data integrity and confidentiality must be enforced by access controls. When the subject requesting access has been authorised to access particular processes, it is necessary to enforce the defined security policy.<br>GP-TM-30: Ensure a context-based security and privacy that reflects different levels of importance.<br>GP-TM-31: Measures for tamper protection and detection. Detection and reaction to hardware tampering should not rely on network connectivity.<br>GP-TM-32: Ensure that the device cannot be easily disassembled and that the data storage medium is encrypted at rest and cannot be easily removed.<br>GP-TM-33: Ensure that devices only feature the essential physical external ports (such as USB) necessary for them to function and that the test/debug modes are secure, so they cannot be used to maliciously access the devices. In general, lock down physical ports to only trusted connections.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                         | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I6 Insufficient Privacy Protection</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p> |
| **4.3.10**                                                                                                                                                       | Cryptography                                            | <p>GP-TM-34: Ensure a proper and effective use of cryptography to protect the confidentiality, authenticity and/or integrity of data and information (including control messages), in transit and in rest. Ensure the proper selection of standard and strong encryption algorithms and strong keys, and disable insecure protocols. Verify the robustness of the implementation.<br>GP-TM-35: Cryptographic keys must be securely managed.<br>GP-TM-36: Build devices to be compatible with lightweight encryption and security techniques.<br>GP-TM-37: Support scalable key management schemes.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | **I7 Insecure Data Transfer and Storage**                                                                                                                                                                                                     |
| **4.3.11**                                                                                                                                                       | Secure and Trusted Communications                       | <p>GP-TM-38: Guarantee the different security aspects -confidentiality (privacy), integrity, availability and authenticity- of the information in transit on the networks or stored in the IoT application or in the Cloud.<br>GP-TM-39: Ensure that communication security is provided using state-of-the-art, standardised security protocols, such as TLS for encryption.<br>GP-TM-40: Ensure credentials are not exposed in internal or external network traffic.<br>GP-TM-41: Guarantee data authenticity to enable reliable exchanges from data emission to data reception. Data should always be signed whenever and wherever it is captured and stored.<br>GP-TM-42: Do not trust data received and always verify any interconnections. Discover, identify and verify/authenticate the devices connected to the network before trust can be established, and preserve their integrity for reliable solutions and services.<br>GP-TM-43: IoT devices should be restrictive rather than permissive in communicating.<br>GP-TM-44: Make intentional connections. Prevent unauthorised connections to it or other devices the product is connected to, at all levels of the protocols.<br>GP-TM-45: Disable specific ports and/or network connections for selective connectivity.<br>GP-TM-46: Rate limiting. Controlling the traffic sent or received by a network to reduce the risk of automated attacks.</p> | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                                                                   |
| **4.3.12**                                                                                                                                                       | Secure Interfaces and Network Services                  | <p>GP-TM-47: Risk Segmentation. Splitting network elements into separate components to help isolate security breaches and minimise the overall risk.<br>GP-TM-48: Protocols should be designed to ensure that, if a single device is compromised, it does not affect the whole set.<br>GP-TM-49: Avoid provisioning the same secret key in an entire product family, since compromising a single device would be enough to expose the rest of the product family.<br>GP-TM-50: Ensure only necessary ports are exposed and available.<br>GP-TM-51: Implement a DDoS-resistant and Load-Balancing infrastructure.<br>GP-TM-52: Ensure web interfaces fully encrypt the user session, from the device to the backend services,<br>and that they are not susceptible to XSS, CSRF, SQL injection, etc.<br>GP-TM-53: Avoid security issues when designing error messages.<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong></p>                                                                                                                                 |
| **4.3.13**                                                                                                                                                       | Secure Input and Output Handling                        | <p>GP-TM-54: Data input validation (ensuring that data is safe prior to use) and output filtering.<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | **I3 Insecure Ecosystem Interfaces**                                                                                                                                                                                                          |
| **4.3.14**                                                                                                                                                       | Logging                                                 | GP-TM-55: Implement a logging system that records events relating to user authentication, management of accounts and access rights, modifications to security rules, and the functioning of the system. Logs must be preserved on durable storage and retrievable via authenticated connections.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | **I8 Lack of Device Management**                                                                                                                                                                                                              |
| **4.3.15**                                                                                                                                                       | Monitoring and Auditing                                 | <p>GP-TM-56: Implement regular monitoring to verify the device behaviour, to detect malware and to discover integrity errors.<br>GP-TM-57: Conduct periodic audits and reviews of security controls to ensure that the controls are effective. Perform penetration tests at least biannually.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | **I8 Lack of Device Management**                                                                                                                                                                                                              |


# CTIA Cybersecurity Certification Test Plan for IoT Devices

| <p><a href="https://api.ctia.org/wp-content/uploads/2018/10/CTIA-IoT-Cybersecurity-Certification-Test-Plan-V1_0_1.pdf"><strong>CTIA Cybersecurity Certification Test Plan</strong><br><strong>for IoT Devices</strong> </a></p> | **Description (Purpose)**                                                                                                                                     | [**OWASP IoT Top 10 Mappping**](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf)                                                                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1 Terms of Service and Privacy Policies Test**                                                                                                                                                                                | <p>Device Terms of Service and privacy policy are readily<br>available. The Terms of Service cover “end of life” for the device.</p>                          | **I6 Insufficient Privacy Protection**                                                                                                                                           |
| **2 Password Management Test**                                                                                                                                                                                                  | Device supports local password management.                                                                                                                    | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I9 Insecure Default Settings</strong></p> |
| **3 Authentication Tests.**                                                                                                                                                                                                     | Device supports user authentication.                                                                                                                          | **I3 Insecure Ecosystem Interfaces**                                                                                                                                             |
| **4 Access Controls**                                                                                                                                                                                                           | Device enforces role-based access control.                                                                                                                    | **I1 Weak, Guessable, or Hardcoded Passwords**                                                                                                                                   |
| **5 Patch Management**                                                                                                                                                                                                          | <p>Device supports automatic and manual installation of patches from an<br>authorized source.</p>                                                             | <p><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong></p>                                                     |
| **6 Software Upgrades**                                                                                                                                                                                                         | <p>Device supports manual installation software upgrades from an authorized<br>source.</p>                                                                    | <p><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong></p>                                                     |
| **7 Audit Log**                                                                                                                                                                                                                 | <p>Device supports the gathering audit log events and reporting them to an EMS using<br>IPsec, SSH, TLS, or DTLS for encryption and integrity protection.</p> | **I8 Lack of Device Management**                                                                                                                                                 |
| **8 Encryption of Data in Transit**                                                                                                                                                                                             | Device supports encrypted communications using IPsec, SSH, TLS or DTLS.                                                                                       | **I7 Insecure Data Transfer and Storage**                                                                                                                                        |
| **9 Multi-Factor Authentication**                                                                                                                                                                                               | Device supports multiple authentication factors.                                                                                                              | **N/A**                                                                                                                                                                          |
| **10 Remote Deactivation**                                                                                                                                                                                                      | Device can be remotely deactivated by the EMS.                                                                                                                | **N/A**                                                                                                                                                                          |
| **11 Secure Boot**                                                                                                                                                                                                              | Device supports a secure boot process to protect its hardware (e.g., UEFI).                                                                                   | **I9 Insecure Default Settings**                                                                                                                                                 |
| **12 Threat Monitoring**                                                                                                                                                                                                        | <p>Device supports logging of anomalous or malicious activity based on<br>configured polices and rules.</p>                                                   | **I8 Lack of Device Management**                                                                                                                                                 |
| **13 IoT Device Identity**                                                                                                                                                                                                      | Device provides an IoT Device Type and a globally unique IoT Device Identity.                                                                                 | **I8 Lack of Device Management**                                                                                                                                                 |
| **14 Digital Signature Generation and Validation**                                                                                                                                                                              | <p>Device supports generation and validation of digital<br>signatures</p>                                                                                     | **I7 Insecure Data Transfer and Storage**                                                                                                                                        |
| **15 Encryption of Data at Rest**                                                                                                                                                                                               | <p>Device supports an effective mechanism for encrypting data stored on<br>the device.</p>                                                                    | **I7 Insecure Data Transfer and Storage**                                                                                                                                        |
| **16 Tamper Evidence**                                                                                                                                                                                                          | Device has the ability to alert a monitoring system when it is physically opened.                                                                             | **I10 Lack of Physical Hardening**                                                                                                                                               |
| **17 Design-In Features**                                                                                                                                                                                                       | Device includes features to fail secure, provide boundary security, and ensure function isolation.                                                            | <p><strong>I2 Insecure Network Services</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I9 Insecure Default Settings</strong></p>               |


# CSA IoT Controls Framework

| [**CSA IoT Controls Framework**](https://cloudsecurityalliance.org/download/artifacts/iot-security-controls-framework/)                                                                                                                                                                                                                                                                                                                                                                                   | **Description (Control Specification)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | [**OWASP IoT Top 10 Mapping**](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf)                                                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong>RSM-01</strong><br><strong>RSM-02</strong></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                 | <p>Adopt a standardized industry recognized risk management approach. Baseline security requirements should be established for developed or acquired IoT components to comply with applicable legal, statutory, and regulatory compliance obligations. Deviations from standard baseline configurations should be authorized following change management policies and procedures prior to deployment, provisioning, or use. Compliance with security baseline requirements should be reassessed based on business needs.<br><br>"Perform a risk assessment.  Analyze sources, storage and transmissions of sensitive data across devices, gateways, applications, data stores, mobile applications, cloud services, fog computing services and network infrastructure.  Analyze data classification mechanisms and data security capabilities to protect sensitive data from unauthorized use, access, loss, destruction, and falsification.  Analyze the potential for trusted insiders to misuse their privileged access to data.  Analyze data retention periods and end-of-life disposal requirements.  Identify safety risks.  Prioritize risks based on impact and likelihood.  Decide on risk migitations for each risk - mitigate, defer or accept the risk.  <br>Perform a risk assessment as follows: <br>•Analyze potential risk if the security of each of the following components would be compromised: sources, storage and transmissions of sensitive data across devices, gateways, applications, data stores, mobile applications, cloud services, fog computing services and network infrastructure. <br>•Analyze data classification mechanisms and data security capabilities in order to protect sensitive data from unauthorized use, access, loss, destruction or falsification. <br>•Analyze the potential for trusted insiders to misuse their privileged access to data. <br>•Analyze data retention periods and end-of-life disposal requirements. <br>•Based on these analyses, identify your organization’s safety risks. Prioritize these risks based on potential impact and likelihood of occurrence. <br>•Choose and implement risk mitigations for each potential security threat: actively mitigate, defer or accept the risk."</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | **N/A**                                                                                                                                                                                                                                            |
| <p><strong>TSP-01</strong><br><strong>TSP-02</strong><br><strong>TSP-03</strong><br><strong>TSP-04</strong><br><strong>TSP-05</strong><br><strong>TSP-06</strong><br><strong>TSP-07</strong><br><strong>TSP-08</strong></p>                                                                                                                                                                                                                                                                               | <p>Document an enterprise IoT cyber security policy. Require all IoT implementations to comply with this policy or apply for an exception. Your enterprise IoT cyber security policy should include, at minimum, encryption, monitoring, auditing, authentication and access control, as well as physical security controls that must be applied to each component of your IoT system. Monitor frequently to identify out-of-compliance implementations.<br><br>Monitor and validate the update (patch/version) status of each IoT device in your inventory. Flag devices that are out of policy or are unreachable due to disconnection. If the issue cannot be resolved (connection and update) through the IoT system, then an email, call or personal visit may be required, depending on the criticality of update and device use.<br><br>Monitor for duplicate or compromised IoT devices. Establish rules to identify devices authenticating with the same identity credentials, which may indicate a security compromise. Investigate and remediate issues upon detection.<br><br>Document a minimum cryptographic policy for TLS, DTLS and other cryptographic protocols. The policy should define acceptable algorithms, key lengths and modes of operation. Align the policy with guidance from the latest revision of NIST SP 800-131A.<br><br>Document password policies that define minimum complexity requirements for IoT system users, administrators and service accounts. Define aging requirements for passwords. Define lock-out policies for all components of the IoT system.<br><br>Document a data security policy for the IoT system. Define the organizational data classification levels and map minimum data security requirements to those classification levels.<br><br>Document an identity management policy for the IoT system. Define appropriate uses for symmetric keys, passwords and certificates. Restrict the provision of duplicate identity credentials (keys, certificates, passwords) to no more than one device, user or service.<br><br>Document a device security management policy for the IoT system. Define the minimum frequency for performing updates to firmware and software. Define minimum safeguards against malicious code that could compromise IoT devices. Define minimum frequency for applying patches to third party libraries.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br></p><p><strong>I8 Lack of Device Management</strong></p>                                                                                                                         |
|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                                                                                                                                                                                    |
|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                                                                                                                                                                                    |
| <p><strong>GVN-01</strong><br><strong>GVN-02</strong><br><strong>GVN-03</strong><br><strong>GVN-04</strong><br><strong>GVN-05</strong></p>                                                                                                                                                                                                                                                                                                                                                                | <p>Create a governance framework for the IoT system. Define who is accountable for the security of distributed systems and their interconnection to cloud and other data services. Identify executive leaders responsible for each individual system, and define the specific responsibilities for securing those systems. Identify and document the roles and responsibilities of employees and third party users for protecting data and assets within your IoT systems.<br><br>Document all standards, as well as regulatory, legal and statutory requirements relevant to your IoT system. Communicate the impact of these requirements to individual IoT system owners.<br><br>Perform independent security assessments of IoT inventory at least annually to ensure the organization addresses nonconformities of established policies, standards, procedures, and compliance obligations.<br><br>Audit user, administrator, service and device accounts within the IoT system at least annually. Take action to disable any accounts that are determined to be unnecessary, unauthorized and expired.<br><br>Establish procedures to cleanse data as it moves from the Production environment to the DEV/QA environment in order to reduce the risk of replicating sensitive operational information to the DEV/QA environment when debugging is required.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | **N/A**                                                                                                                                                                                                                                            |
| <p><strong>PRV-01</strong><br><strong>PRV-02</strong><br><strong>PRV-03</strong><br><strong>PRV-04</strong><br><strong>PRV-05</strong></p>                                                                                                                                                                                                                                                                                                                                                                | <p>Implement and enforce technical and policy mechanisms to restrict administrator ability to track location or other sensitive attributes of system users. Implement access controls and logging procedures to prevent insiders from disabling these controls without the system logging the event.<br><br>Perform a privacy assessment of the Public Key Infrastructure (PKI) that issues credentials to IoT devices and services. Analyze the potential for tracking of user locations and activities based on correlation to the issued PKI certificates. If determined that a privacy concern exists, implement anonymity mechanisms within the PKI such as Location <br>Obscurer Proxies and Pseudonym Certificate Authorities.<br><br>Perform an analysis to document metadata generated by the IoT system. Classify metadata based on sensitivity level. Monitor for leaked metadata classified as sensitive, and define actions for remediating leaks when discovered.<br><br>Perform a privacy impact assessment (PIA) at the onset of new device development. Subjects covered during the PIA will include at a minimum: deletion of data from a device; mechanism used to inform users of the data collected; obtaining and storing consent from users authorizing the use of data; the means for providing users access to review and edit personal data before it is transferred; and notice concerning the timing and frequency of data collection; as well as the ability for users to opt-in to data sharing.<br><br>Update privacy impact assessment (PIA) annually. Communicate key findings of the PIA to all system administrators. Track compliance with PIA results on a continuous basis.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | **I6 Insufficient Privacy Protection**                                                                                                                                                                                                             |
| <p><strong>SCN-01</strong><br><strong>SCN-02</strong><br><strong>SCN-03</strong><br><strong>SCN-04</strong><br><strong>SCN-05</strong><br><strong>SCN-06</strong><br><strong>SCN-07</strong><br><strong>SCN-08</strong><br><strong>SCN-09</strong><br><strong>SCN-10</strong><br><strong>SCN-11</strong></p>                                                                                                                                                                                              | <p>Whenever passwords are used within an IoT system, evaluate whether certificates can be used instead. When possible, update systems to require certificates for authentication instead of passwords.<br><br>Authentication credentials can be bound to the specific application authorized to make use of those credentials when using IEEE 1609.2 certificates for IoT devices. If using IEEE 1609.2 certificates, designate an application-unique identifier and use within the IEEE 1609.2 SSP/PSID bits. Validate the SSP/PSID fields when making authorization decisions.<br><br>Document all IoT device configuration files. Digitally sign those files and store them in a secure repository. Use these digitally signed files to restore devices. Validate the digital signature of the file after provisioning to the device.<br><br>Restrict access to IoT device configuration files. Require pseudo access to modify configuration files on IoT devices.<br><br>Log all changes to configuration files. Log all access attempts to modify configuration files. Monitor continuously and audit on a regular basis.<br><br>Minimize privileged operations that run as root and do not run network services (e.g., web servers) as root.<br>Implement IoT system role-based access control (RBAC). Include standard roles for users, services and devices (e.g.  device, local user, system operator, auditor, application, gateway).<br><br>Identify privileged operations within the IoT system. Establish elevated roles mapped to those privileged operations. Roles may include trusted device, privileged local user, system administrator, trusted application, and trusted gateway.<br><br>Implement an audit user group responsible for managing audit log data, including reviewing and rotating data off of devices. Restrict read access of security logs to this audit group. Provision audit group members with read access, but do not provide write privileges to any audit logs.<br><br>Implement additional authorization procedures when warranted, such as geofencing systems and time-of-day restrictions.<br><br>Implement authenticated discovery services. Authenticate all service discovery queries and drop requests that fail authentication.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong></p>                                                                                                                        |
| <p><strong>SDV-01</strong><br><strong>SDV-02</strong><br><strong>SDV-03</strong><br><strong>SDV-04</strong><br><strong>SDV-05</strong><br><strong>SDV-06</strong><br><strong>SDV-07</strong><br><strong>SDV-08</strong><br><strong>SDV-09</strong><br><strong>SDV-10</strong><br><strong>SDV-11</strong><br><strong>SDV-12</strong><br><strong>SDV-13</strong><br><strong>SDV-14</strong><br><strong>SDV-15</strong><br><strong>SDV-16</strong><br><strong>SDV-17</strong><br><strong>SDV-18</strong></p> | <p>Adopt a software assurance maturity model (SAMM) to establish a secure development lifecycle for all developed IoT devices and components (e.g. OpenSAMM).<br><br>Select an IoT integration framework to standardize secure on-boarding, configuration management, asset management, discovery and secure connectivity across newly developed IoT devices.<br><br>Enforce the concept of least privilege. Limit applications and services that run as root and require authentication for all access. Do not run network services (e.g. web servers) as root.<br><br>Establish good password processes. Do not hardcode passwords into the device and do not provision duplicate identities or passwords across multiple devices. Require password changes on a regular basis.<br><br>Establish responsible disclosure policies and procedures and implement feedback loops to update product backlogs when a security vulnerability is identified or reported. Work with independent testers that report vulnerabilities to ensure the vulnerability is closed.<br>Integrate chip-to-cloud capabilities that leverage microcontrollers (MCUs) with pre-provisioned cloud trust anchors to support more secure bootstrap and zero-touch provisioning of IoT devices. Use secure MCU hardware features to protect sensitive material and cryptographic primitives and to perform trusted bootloading by validating software prior to booting.<br><br>Use cryptographic coprocessors to offload CPU-intensive cryptographic operations. Design IoT products with cryptographic agility to support updates to algorithms and key sizes as existing approaches become obsolete. Make use of well-tested cryptographic modules (ideally FIPS (140-2 <a href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf"><https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf></a>)  validated). Use good sources of entropy for random number generation associated with key material. Ensure cryptographic modules perform power-up tests to include cryptographic algorithm tests, software/firmware integrity tests, and critical function tests.<br><br>Eliminate or lock-down unnecessary hardware features of IoT devices (e.g. un-needed radios or USB interfaces). Disable or password-restrict any test interfaces (JTAG, UART, GPIO).<br><br>Apply tamper protection for security-critical components of the IoT device ranging from simple seals and/or locked covers to piezo-electric circuits depending on the threat environment.<br><br>Select a device real-time operating system (RTOS) that provides enhanced security features, such as application sandboxing, secure boot, access controls, trusted execution environment, kernel separation, and a (minimized) microkernel.<br><br>Do not store API keys and other credentials in public-facing source control systems (e.g. gitlab/github). Publish procedures for the secure handling of API keys. Do not hardcode API keys into firmware, mobile applications, or any client-based application. Monitor at least quarterly to verify that API keys and other credentials are not stored in public-facing source control systems.<br><br>Integrate MCUs with hardware-based separation architectures for higher assurance requirements. Label and operate security sensitive applications to run in the trusted side of the hardware only. Implement limited command interfaces between the trusted and untrusted components of the MCU. Configure the device to perform attestation of software (measure the security state of the software) prior to entering into trusted modes and use controlled execution to prevent timing delays from revealing sensitive information.<br><br>Implement tamper-response mechanisms such as zeroization of key material and other sensitive data when warranted by the threat landscape.<br><br>Select a device RTOS that is certified for use in specific industries, such as air travel and other transportation systems, industrial control systems, medical devices.<br>Establish supply chain practices. For example, subscribe to security alerts from all third party components and frameworks. Review updates immediately for proposed deployment.<br><br>Use static and dynamic analysis tools to validate the security of all third party libraries.<br><br>Validate the authenticity and integrity of all third party libraries and software components within an IoT system.<br><br>Develop web services in accordance with OWASP (<a href="https://www.owasp.org/index.php/Main_Page"><https://www.owasp.org/index.php/Main_Page></a>) security guidance.</p> | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p>                                                                 |
| <p><strong>SNT-01</strong><br><strong>SNT-02</strong><br><strong>SNT-03</strong><br><strong>SNT-04</strong><br><strong>SNT-05</strong><br><strong>SNT-06</strong><br><strong>SNT-07</strong><br><strong>SNT-08</strong><br><strong>SNT-09</strong><br><strong>SNT-10</strong><br><strong>SNT-11</strong><br><strong>SNT-12</strong><br><strong>SNT-13</strong><br><strong>SNT-14</strong><br><strong>SNT-15</strong><br><strong>SNT-16</strong><br><strong>SNT-17</strong><br><strong>SNT-18</strong></p> | <p>Disable non-authenticated Bluetooth pairing procedures (e.g., JustWorks). <br><br>Audit the security of bluetooth implementations using the bluetooth security checklist found in Section 4.4 of the NIST SP.800-121r2 (<a href="https://www.nist.gov/publications/guide-bluetooth-security-1"><https://www.nist.gov/publications/guide-bluetooth-security-1></a>) document.  Remediate any deficiencies. <br><br>Task network security tools to search for new botnet activity, and immediately remove infected IoT devices upon detection. Keep up to date on botnet characteristics using the CSA IoTWG botnet tracker (<a href="https://gitlab.com/brianr/CloudSA_IoT_WG/wikis/iot_botnets"><https://gitlab.com/brianr/CloudSA_IoT_WG/wikis/iot_botnets></a>).<br><br>Securely configure all supporting software and infrastructure (e.g., web servers, mobile applications, cloud services) supporting the IoT system. Refer to specific secure configuration guidance for your system implementation. <br><br>Configure whitelists between IoT devices, gateways and servers. Provision certificates to enable TLS or DTLS-based authentication for all MQTT and HTTP interactions with backend computing devices.  <br><br>Establish procedures for monitoring misbehavior and revoking credentials when a server/gateway is suspected of being compromised.<br><br>Establish a security plan for mobile applications. Ensure mobile devices receive updates from approved/trusted repositories. Require the use of only approved mobile devices for managing IoT devices. Ensure that mobile devices store identity/key material in hardware-backed secure storage locations (e.g. Android KeyChain/KeyStore and iOS KeyChain).<br><br>Install Near Field Communication (NFC) technology devices in locations that do not lend themselves to installation of sniffers in close proximity. Establish physical security protection measures (e.g. cameras/guards) to monitor access to these devices.<br><br>Configure a Software-Defined Perimeter (SDP) that authenticates IoT devices prior to connection to a network, and restricts activities based on pre-approved roles and privileges.<br><br>Use a network visualization tool to monitor the operating state and health status of IoT devices, gateways and services. Use simple heartbeat monitoring to monitor device connectivity or SNMPv3 traps for monitoring CPU utilization, memory, and other abnormal behaviors.<br><br>Define physical boundaries for WSNs and limit the power rating of ZigBee and ZWave devices to minimize signal leakage.<br><br>Set up Wireless Sensor Networks (WSN), such as ZigBee, ZWave and Bluetooth, to be disconnected from the Internet with only authorized gateways exposing internet connectivity.<br><br>At least quarterly, scan the physical environment to look for anomalies, such as radiofrequency (RF) attacks and rogue device insertion.<br><br>Require all communications with an IoT device to be initiated by the device. Log and alert about unauthorized connection requests<br><br>Disable the default ZigBee Trust Center (TC) key and generate/use a non-default key for  protecting the confidentiality of keys in transport.<br><br>Distribute ZigBee Master Keys out of band. Never pass master keys over the network. Master keys are used to establish additional key material.<br><br>Rotate ZigBee Network Keys at least annually, and disable prior keys upon distribution/establishment of the new network key.<br><br>Supplement Z-Wave networks with AES 128 cryptographic keys for authentication. Use these keys in addition to the standard 4-byte Home ID to access a Z-Wave network.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | **I7 Insecure Data Transfer and Storage**                                                                                                                                                                                                          |
| <p><strong>OPA-01</strong><br><strong>OPA-02</strong><br><strong>OPA-03</strong><br><strong>OPA-04</strong><br><strong>OPA-05</strong><br><strong>OPA-06</strong><br><strong>OPA-07</strong><br><strong>OPA-08</strong><br><strong>OPA-09</strong><br><strong>OPA-10</strong><br><strong>OPA-11</strong><br><strong>OPA-12</strong></p>                                                                                                                                                                   | <p>Create maintenance plans to routinely inspect and maintain IoT hardware. Keep parts in inventory for repairing and replacing IoT devices immediately upon detection of a problem.<br><br>Use predictive maintenance analysis to calculate expected performance issues or breakdowns in IoT systems. Implement preventive solutions based on this analysis.<br><br>Set up cloud services to support regional failover of nodes and gateways. Test annually to ensure that failover is automatic in the event that a single region goes offline.<br><br>Set up monitoring procedures to identify and alert on abnormally heavy traffic transmitted from IoT devices, which may indicate a security compromise. Configure cloud services to automatically rate limit connections from clients upon detection to guard against potential DDoS attacks.<br><br>Work with Cloud Service Providers (CSPs) to define Service Level Agreements (SLAs) for uptime percentages and response timing (for incidents/patches). Hold CSPs accountable for any breaches of a SLA.<br><br>Store configurations of IoT devices in the cloud. Configure digital twins, device shadows, etc. in order to support interfacing to device logic even when the physical device is disconnected. At least annually, test that you can update device configurations while IoT hardware is offline by taking the device offline, transmitting a configuration change command, and then bringing the device back online.<br><br>Set up Wireless Sensor Network (WSN) gateways in a cluster formation to better handle heavy load and support failover in the event a single gateway goes offline. Configure IoT nodes to contact backup gateways when a primary gateway fails. At least annually, test failover capabilities and load shedding/distribution capabilities.<br><br>Set up metropolitan-scale Wireless Sensor Network deployments using clusters of nodes deployed to geographic regions in order to minimize points of interconnection and reduce long-haul traffic.<br><br>Deploy network monitoring tools and monitor IoT networks for congestion. Establish prioritized traffic flows (e.g. differentiated services) and execute dynamic rerouting (e.g. WSN/SDN) upon detection of congested communications.<br><br>Cache messaging at gateways for at least 1 day (or more, depending on your environment) to ensure availability of messaging should IoT nodes be offline.<br><br>Scan geographic areas for jammers attempting to suppress Radio Frequency (RF) communications. Execute incident response plans when detecting such an event.<br><br>Monitor IoT node power levels by configuring nodes to alert on battery drainage. This may help combat attacks aimed at draining the energy from critical routing nodes in <br>WSN architectures. Investigate any discovered incidents associated with excess battery drainage.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I8 Lack of Device Management</strong></p>                                                                                                                                      |
| <p><strong>ACT-01</strong><br><strong>ACT-02</strong><br><strong>ACT-03</strong><br><strong>ACT-04</strong><br><strong>ACT-05</strong></p>                                                                                                                                                                                                                                                                                                                                                                | <p>Deploy an inventory management system and record details about each IoT device in inventory. Use this inventory management system to track the version of each IoT device, including firmware and patch status; RTOS version/image version; application/library versions; lost or decommissioned status; to whom devices are assigned; and location of devices.<br><br>Monitor devices to identify those out of compliance with organizational policy and require updates or patches.<br><br>If possible, implement an online database to automatically update changes to your IoT asset/inventory database. If automation of this process is not possible, schedule the task at a minimum quarterly.<br><br>Establish naming conventions for your IoT devices, and configure unique identifiers to each device. Identifiers should be unique across the enterprise and designed in a manner that will allow further incorporation of large quantities of additional devices at a later time without naming conflicts (e.g. during mergers/acquisitions). <br><br>Use unique identifiers to track devices across their lifecycles and as the basis for provisioning cryptographic identities/certificates.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | **I8 Lack of Device Management**                                                                                                                                                                                                                   |
| <p><strong>CMP-01</strong><br><strong>CMP-02</strong><br><strong>CMP-03</strong><br><strong>CMP-04</strong><br><strong>CMP-05</strong></p>                                                                                                                                                                                                                                                                                                                                                                | <p>Acquire IoT devices that integrate hardware security mechanisms and use hardware roots of trust for storage of cryptographic material and to secure operation of cryptographic functions, including secure boot and firmware signature validation.<br><br>For devices not capable of implementing hardware-based security, use software security mechanisms to protect key material and cryptographic functions.<br><br>Evaluate legacy IoT devices annually for technology upgrades. Legacy devices that do not support hardware security roots-of-trust should be replaced as soon as possible. In the interim, use gateway security mechanisms to extend the security boundary and to mitigate risks exposed by these legacy devices.<br><br>Require that all gateways use a FIPS 140-2-validated (<a href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf"><https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf></a>) hardware root of trust.<br><br>Acquire IoT products that have undergone testing and received a device security certification that is applicable to your legal, statutory, and regulatory compliance obligations. Device certification can vary by industry, environment, usage, and other critical applications.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | **N/A**                                                                                                                                                                                                                                            |
| **LBT-01**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Evaluate liability potential of an IoT system where the system interfaces physically with the public or workers. Define safety restrictions and post warning notices.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | **N/A**                                                                                                                                                                                                                                            |
| **BCN-01**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Create a continuity plan that details the contact information of system owners. Create a system for alerting these contacts, and when an IoT system is compromised or made unavailable, alert these contacts.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | **N/A**                                                                                                                                                                                                                                            |
| <p><strong>TMM-01</strong><br><strong>TMM-02</strong><br><strong>TMM-03</strong><br><strong>TMM-04</strong><br><strong>TMM-05</strong></p>                                                                                                                                                                                                                                                                                                                                                                | <p>Conduct threat modeling at the onset of any device or system development. Use a standardized approach to threat modeling that includes identifying components, data flows, and high-value code. Define the threats, prioritize (e.g. rate) the threats, and identify mitigations. Communicate the outputs of your threat model into the system requirements backlog, and track these requirements to completion across the lifecycle of the product or system.<br><br>Validate security requirements by creating security tests and performing those tests on each product or system release.<br><br>Identify threat intelligence feeds applicable to your specific industry. Maintain an understanding of the types of attackers that typically target your systems, and their motivations.<br><br>Monitor for newly identified vulnerabilities in your products, including in product dependencies. Monitor for newly released patches from your suppliers.<br><br>Monitor for new botnets targeting IoT devices, and communicate relevant characteristics (ports/services) to network security teams immediately so they may take action.<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong></p>                                                                                                                         |
| **VLN-01**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Establish a vulnerability management program for IoT systems. Perform periodic or continuous vulnerability assessments (annually, at a minimum) on IoT devices. Track updates to IoT protocol specifications in order to identify upcoming security/privacy updates in libraries. Maintain a risk register that is updated based on vulnerability information associated with deployed IoT devices/systems.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | **N/A**                                                                                                                                                                                                                                            |
| <p><strong>IMT-01</strong><br><strong>IMT-02</strong></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                 | <p>Document all audit mechanisms. Verify that only assigned audit group members are able to read audit logs and that no user is able to write to these logs. Ensure offloading of audit log data (e.g. from device to cloud or gateway) is integrity-protected (e.g. HMAC or digital signature) and that the integrity protection is maintained with the log during long-term storage. In all cases, validate the integrity of log files prior to review.<br><br>Establish an IoT Incident Management Plan. Identify business and technical Points of Contact (PoCs) for each IoT system and inform them of what their roles and responsibilities are in the event of a security incident. Define the roles of third party organizations in incident responses (e.g. vendors and service providers). Define a chain-of-custody for log/audit data captured from devices. Define and establish escalation procedures and forensics activities that must be performed on devices. Consider acquiring automated forensics capabilities in real-time from networked devices.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | **N/A**                                                                                                                                                                                                                                            |
| **PHY-01**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Establish physical security processes that restrict physical access to IoT edge devices and alert on physical access attempts.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | <p><strong>I8 Lack of Device Management</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p>                                                                                                                                        |
| <p><strong>MSU-01</strong><br><strong>MSU-02</strong><br><strong>MSU-03</strong><br><strong>MSU-04</strong><br><strong>MSU-05</strong><br><strong>MSU-06</strong></p>                                                                                                                                                                                                                                                                                                                                     | <p>Define misuse patterns and establish policies for revoking credentials. Implement procedures for reporting and adjudicating misbehavior. Establish and implement procedures for revoking credentials within one day of de-authorization.<br><br>Employ analytics tools that in near-real-time gather and analyze device use and data streams about device misuse.<br><br>Define all security-relevant events, including elevation of privilege attempts; successful/unsuccessful firmware update events; configuration changes to IoT devices and service software; account modifications; and tamper events. Monitor for these and other relevant security events across your entire IoT system, including any devices; cloud services; mobile or network services; and storage systems. Define thresholds for each type of security event and trigger investigations when thresholds are exceeded.<br><br>Log every failed remote access attempt (SSH, Web, etc.). Create a process that automatically alerts a security administrator upon detection of five sequential invalid attempts in a 30-minute period.<br><br>Automatically transmit security event data to the cloud for storage and analysis. Record at minimum the initiator, receiver, timestamp, data and event type.<br><br>Establish an enterprise IoT wireless detection capability. Actively search for rogue wireless devices operating within your locations. Actively search for network communications to well-known botnet C2C addresses/ports. Actively search for unauthorized communications to vendor IP addresses. Immediately disable any identified devices/communications and investigate the cause of the infraction. Implement a system that will alert users when unintended violations occur.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | **I8 Lack of Device Management**                                                                                                                                                                                                                   |
| <p><strong>SOP-01</strong><br><strong>SOP-02</strong><br><strong>SOP-03</strong></p>                                                                                                                                                                                                                                                                                                                                                                                                                      | <p>Evaluate the safety impacts of an IoT system, log all safety risks, prioritize these risks, and implement mitigations for each risk. Incorporate device and environmental controls to enforce safety requirements.<br><br>Conduct fault tree analysis (FTA) to identify and prioritize safety risks associated with your IoT system.<br><br>Design and implement an enterprise logging capability. Protect the integrity of all logs from generation to storage in order to enable a chain of custody.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | **I8 Lack of Device Management**                                                                                                                                                                                                                   |
| <p><strong>CLS-01</strong><br><strong>CLS-02</strong><br><strong>CLS-03</strong><br><strong>CLS-04</strong><br><strong>CLS-05</strong><br><strong>CLS-06</strong><br><strong>CLS-07</strong><br><strong>CLS-08</strong><br><strong>CLS-09</strong><br><strong>CLS-10</strong><br><strong>CLS-11</strong><br><strong>CLS-12</strong><br><strong>CLS-13</strong><br><strong>CLS-14</strong><br><strong>CLS-15</strong></p>                                                                                  | <p>Provision unique identities to all cloud servers. Require servers to authenticate to each other and to all gateways.<br><br>Configure cloud gateways to accept communications from only trusted devices and to require encrypted communications. Document authorized ports and protocols on cloud gateways, and disable non-authorized ports/protocols. Blacklist any unauthorized device that attempts to communicate with your system, and log and report the action to an administrator.<br><br>Configure gateways to close connection to the cloud upon completion of communications and to initiate new connection when they need to send data again.<br>Work with Cloud Service Providers (CSPs) to ensure the data processed within their cloud meets privacy guidelines that are applicable to your legal, statutory, and regulatory compliance obligations. Consider implementing privacy by design principles before migrating data to the CSP allowing data owners to recover and retain data control (in case of SLA breach by Cloud Provider).<br><br>Configure cloud services securely. Follow the guidance from applicable CSP security guidance protocols for your specific CSP.<br><br>Keep all cloud infrastructure updated and patched.<br><br>Monitor all API calls and alert about any potential API misuse.<br><br>Authenticate IoT devices to cloud services. Deny access to any device that fails authentication, and log that access attempt. Set thresholds for the number of failures in a time period that trigger an alert to security administrators, and detail how the alert will be delivered. For example, if a device fails authentication more than five times in 30 minutes, then flag the sequence as a security event and alert a security administrator.<br><br>Require authentication to IoT service management consoles. Provision unique identities for each operator and administrator with access to the management console.<br><br>Provision unique identity for each system with access to the management system's API.<br><br>Use authentication best practices for management console and API login.<br><br>Limit network access to the management console and APIs by source IP addresses and/or device authentication.<br><br>Log and check all administrative activities through the management console and APIs.<br><br>Protect the computers used to remotely access your management console or APIs from malware and other threats.<br><br>Implement a secure staging system for Over-The-Air (OTA) updates in order to protect from intrusion and malicious logic. Apply integrity controls to files prior to transmitting them to edge devices.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | <p><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong><br><br><strong>I8 Lack of Device Management</strong><br><br><br></p> |
| <p><strong>COM-01</strong><br><strong>COM-02</strong><br><strong>COM-03</strong><br><strong>COM-04</strong><br><strong>COM-05</strong><br><strong>COM-06</strong><br><strong>COM-07</strong><br><strong>COM-08</strong><br><strong>COM-09</strong><br><strong>COM-10</strong></p>                                                                                                                                                                                                                         | <p>Define authorized MQTT topics. Create and enforce an access control list within the broker to restrict IoT devices from publishing content or subscribing to unauthorized message topics.<br><br>Ensure all MQTT messages that include a password in the password field are encrypted using TLS. <br><br>Use certificates to authenticate MQTT transactions instead of the native username/password capability.<br><br>Consider throttling traffic to MQTT server on both global and per-client basis.<br><br>Route MQTT traffic through a firewall.<br><br>Reduce the maximum MQTT message size to limit an attacker’s ability to overload the system by sending large messages.<br><br>Install MQTT brokers only on hardened OS with secure access.<br><br>Encrypt all TCP-based communications (e.g. REST, MQTT, AMQP) between system components using X.509-authenticated (<a href="https://tools.ietf.org/html/rfc7525"><https://tools.ietf.org/html/rfc7525></a>) Transport Layer Security (TLS).<br><br>Encrypt all UDP-based communications (e.g. Constrained Application Protocol,CoAP) between system components using the Datagram Transport Layer Security (DTLS) protocol specified in IETF RFC 7525 or newer standards.<br><br>Encrypt all wireless communications in your IoT system.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | **I7 Insecure Data Transfer and Storage**                                                                                                                                                                                                          |
| <p><strong>DAT-01</strong><br><strong>DAT-02</strong><br><strong>DAT-03</strong><br><strong>DAT-04</strong></p>                                                                                                                                                                                                                                                                                                                                                                                           | <p>Document data collected, processed, and stored within your IoT system. Classify that data based on data type and value (criticality to the organization and sensitivity). Tag data with metadata that can be used to identify types of data in your system.<br><br>Implement data security controls based on the classification of each data type.<br><br>Catalog internal and third party data sources. Enforce authentication on all data hosted within the IoT system. Track the lineage of data throughout the system as data is cleaned, reduced, modified, and aggregated. When creating these procedures, test and demonstrate the ability of your security protocols to effectively pinpoint the source of data and any users or processes that have acted upon any data used within an automated IoT decision process.<br><br>After cataloging data in an IoT system, identify any locations and systems that store the data, and apply Data-at-Rest encryption controls to those locations and systems. Monitor to ensure new systems and components are not implemented without having been evaluated for their security when storing sensitive information.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | **I7 Insecure Data Transfer and Storage**                                                                                                                                                                                                          |
| <p><strong>RMT-01</strong><br><strong>RMT-02</strong></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                 | <p>Establish service level agreements with suppliers. These agreements should include incident management support (including support during forensic investigations) and a timeline for both minimum vulnerability disclosure and patch updates. <br><br>Establish policies and procedures for third party access and management of any leased IoT devices. This includes data that can be transmitted out of the organization (e.g. instrumentation data),authorized roles, and minimum access security requirements for management of the devices within your organization’s networks. Enforce these controls and monitor for abuse.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | **N/A**                                                                                                                                                                                                                                            |
| <p><strong>CRD-01</strong><br><strong>CRD-02</strong><br><strong>CRD-03</strong><br><strong>CRD-04</strong><br><strong>CRD-05</strong><br><strong>CRD-06</strong><br><strong>CRD-07</strong><br><strong>CRD-08</strong><br><strong>CRD-09</strong><br><strong>CRD-10</strong><br><strong>CRD-11</strong></p>                                                                                                                                                                                              | <p>Establish secure key management processes for IoT systems that include, at a minimum, key generation; key derivation; key establishment/transport; key storage; key lifetimes; and key zeroization/destruction. Keys should be generated on devices whenever possible, assuming those devices have a sufficiently random source of entropy. Central key generation and distribution is acceptable if secure transport mechanisms are used to deliver key material (including out-of-band provisioning).<br><br>Establish policy to ensure private keys are never shared across multiple devices or groups. Incorporate forward-secrecy whenever possible for key derivations (e.g. do not use static mechanisms). Keys should always be stored in a secure element (software or hardware) capable of restricting access to keys by unauthorized actors. Keys should be limited in lifetime when possible to no more than three years and ideally only one year. Use automated mechanisms for key updates (e.g. rotation or derivation).<br><br>Establish a specialized key management user group to configure key management securely for your IoT devices and services.<br><br>Establish a process for securely bootstrapping IoT devices onto your networks. Give preference to IoT devices capable of zero-touch provisioning, as these devices are pre-loaded with manufacturer credentials embedded in the hardware. Zero-touch provisioning requires a trusted, out-of-band process for loading serial numbers and public keys of devices to be provisioned. If zero-touch provisioning is unavailable, set up a trusted facility to register device serial numbers and preload identities/keys/certificates into the device prior to fielding on the network. In all cases, encrypt all account registration and update commands.<br><br>Audit and identify devices that contain default passwords and change those passwords immediately upon deploying (preferably before connecting to a network). Identify devices that share passwords with other devices and change those passwords immediately. Identify devices that share remote access keys and update those devices immediately with unique credentials per device<br><br>Whenever possible, given the amount of IoT devices that populate networks, it is preferable to use certificates instead of passwords for remote access of IoT devices. as passwords become difficult to manage as quantities of devices increase. If passwords are used to access IoT devices remotely, then update those passwords at least once a year. When possible, implement mechanisms to update those passwords automatically. <br><br>Establish a process and acquire technology to manage the secure update of device certificates and trust anchors. Opt for automated update capabililities when possible. Restrict access for updating device trust anchors to authorized administrators.<br><br>Establish certificate management policies. Define minimum requirements for validation of device identities (enrollment) prior to certificate provisioning. Device identify validation should be based on (a) in-person review, or (b) automated provisioning based on established key material (e.g. by manufacturer).<br><br>Establish operational certificate lifetimes of no more than three years. Manufacturers may embed device identity certificates with no expiration, but these certificates should only be used to establish short-term operational certificates.<br><br>Establish automated certificate processes to include renewing certificates.<br><br>Establish a process for certificate revocation that includes required reporting channels, investigation methods, and authorities who can approve/disapprove placement on the revocation list.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I8 Lack of Device Management</strong></p>                                                                                                                            |
| **EOL-01**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Define end-of-life procedures for IoT system hardware. For any hardware storing sensitive information, the procedure should be to dispose of the hardware securely and to maintain an audit log of the disposal process, including any individual that participates in the process.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | **I8 Lack of Device Management**                                                                                                                                                                                                                   |
| <p><strong>UPD-01</strong><br><strong>UPD-02</strong><br><strong>UPD-03</strong><br><strong>UPD-04</strong><br><strong>UPD-05</strong><br><strong>UPD-06</strong></p>                                                                                                                                                                                                                                                                                                                                     | <p>Establish a configuration control board (CCB) to vet modifications/changes to IoT systems. The CCB should define processes for updates, which should include testing (functional, security, interoperability) of all updates prior to fielding.<br>Implement a test network that closely mirrors your IoT production environment. Test all updates/patches on the test network prior to fielding in production.<br>Define and follow a quality change control and testing process (e.g. ITIL Service Management) with established baselines, testing, and release standards that focus on system availability, confidentiality, and integrity of systems and services.<br>Perform static and dynamic security analysis scans on all third party code. Use software composition analysis tools to identify components with known vulnerabilities (e.g. OWASP dependency check).<br>Store integrity-protected firmware images of all IoT devices. Establish processes to restore IoT devices that are confirmed or suspected to have been compromised or corrupted. Test update processes at least annually across your different device types.<br>Configure all IoT devices to validate the software signature on firmware prior to updating. Monitor device audit logs to identify signature validation failures.Investigate all failures to identify root causes.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | <p><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong></p>                                                                                                                       |
| <p><strong>TRN-01</strong><br><strong>TRN-02</strong></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                 | <p>"Establish a security training program for IoT administrators. Include information on all of the following: allowable use policies, IoT assets used within the organization, procedures for bootstrapping trust in IoT devices, monitoring the security posture of IoT systems, approved processes for securely administrating IoT devices, and incident response procedures.<br><br>Require that IoT system administrators take this training annually."<br>"Establish a user security training program. The training program should focus on making all personnel aware of their roles and responsibilities in maintaining awareness and compliance with established policies and procedures. This includes applicable legal, statutory, and regulatory compliance obligations. Training should also focus on maintaining a safe and secure working environment, including policies and procedures related to the use of employee-owned IoT devices on the corporate network (e.g., smart TVs, wearables, etc.). Training should include information about the risks and privacy impact associated with IoT devices. If applicable, provide information on procedures for interfacing with corporate IoT devices.<br><br>Require that all users of IoT systems take this training annually."</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | **N/A**                                                                                                                                                                                                                                            |


# ETSI Cyber Security for Consumer Internet of Things

| [**ETSI Cyber Security for Consumer Internet of Things** ](https://www.etsi.org/deliver/etsi_ts/103600_103699/103645/01.01.01_60/ts_103645v010101p.pdf) | **Description**                                        | [**OWASP IoT Top 10 Mapping**](https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf)                                                                                                                                                                                                                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **4.1**                                                                                                                                                 | No universal default passwords                         | **I1 Weak, Guessable, or Hardcoded Passwords**                                                                                                                                                                                                                                                                                                                 |
| **4.2**                                                                                                                                                 | Implement a means to manage reports of vulnerabilities | **N/A**                                                                                                                                                                                                                                                                                                                                                        |
| **4.3**                                                                                                                                                 | Keep software updated                                  | <p><strong>I4 Lack of Secure Update Mechanism</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong></p>                                                                                                                                                                                                                                   |
| **4.4**                                                                                                                                                 | Securely store credentials and security-sensitive data | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I7 Insecure Data Transfer and Storage</strong></p>                                                                                                                                                                                                                               |
| **4.5**                                                                                                                                                 | Communicate securely                                   | **I7 Insecure Data Transfer and Storage**                                                                                                                                                                                                                                                                                                                      |
| **4.6**                                                                                                                                                 | Minimize exposed attack surfaces                       | <p><strong>I1 Weak, Guessable, or Hardcoded Passwords</strong><br><br><strong>I2 Insecure Network Services</strong><br><br><strong>I3 Insecure Ecosystem Interfaces</strong><br><br><strong>I5 Use of Insecure or Outdated Components</strong><br><br><strong>I9 Insecure Default Settings</strong><br><br><strong>I10 Lack of Physical Hardening</strong></p> |
| **4.7**                                                                                                                                                 | Ensure software integrity                              | **I4 Lack of Secure Update Mechanism**                                                                                                                                                                                                                                                                                                                         |
| **4.8**                                                                                                                                                 | Ensure that personal data is protected                 | **I6 Insufficient Privacy Protection**                                                                                                                                                                                                                                                                                                                         |
| **4.9**                                                                                                                                                 | Make systems resilient to outages                      | **N/A**                                                                                                                                                                                                                                                                                                                                                        |
| **4.10**                                                                                                                                                | Examine system telemetry data                          | **I8 Lack of Device Management**                                                                                                                                                                                                                                                                                                                               |
| **4.11**                                                                                                                                                | Make it easy for consumers to delete personal data     | **I6 Insufficient Privacy Protection**                                                                                                                                                                                                                                                                                                                         |
| **4.12**                                                                                                                                                | Make installation and maintenance of devices easy      | **I9 Insecure Default Settings**                                                                                                                                                                                                                                                                                                                               |
| **4.13**                                                                                                                                                | Validate input data                                    | **I3 Insecure Ecosystem Interfaces**                                                                                                                                                                                                                                                                                                                           |


# Acknowledgments

**Project Leaders:**

Aaron Guzman

**Contributors:**

José Alejandro Rivas Vidal


