This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP Internet of Things Project"

From OWASP
Jump to: navigation, search
(Updated community pages, added IIC, AllSeen, and Smart Cities, removed IFTTT)
Line 798: Line 798:
 
* Home Electronics
 
* Home Electronics
 
* Public Infrastructure
 
* Public Infrastructure
== ==
 
[https://ifttt.com/ If This Then That (IFTTT)]
 
 
A service that lets you create powerful connections with one simple statement.
 
 
Channels are the basic building blocks of IFTTT. Channels include:
 
* Triggers - The ''this'' part of a Recipe
 
* Actions - The ''that'' part of a Recipe
 
 
== ==
 
== ==
 
[http://builditsecure.ly BuildItSecure.ly]
 
[http://builditsecure.ly BuildItSecure.ly]
Line 820: Line 812:
 
[https://otalliance.org Online Trust Alliance]
 
[https://otalliance.org Online Trust Alliance]
  
Informal industry working group supported by over 100 organizations.
+
Formed as an informal industry working group in 2005, today OTA is an Internal Revenue Service (IRS) approved 501c3 charitable organization with the mission to enhance online trust and empower users, while promoting innovation and the vitality of the internet.  OTA is global organization supported by over 100 organizations headquartered in Bellevue, Washington with offices in Washington DC.
 +
 
 +
Addressing the mounting concerns, in January 2015 the Online Trust Alliance, established the [https://otalliance.org/initiatives/internet-things IoT Trustworthy Working Group (ITWG)], a multi-stakeholder initiative.  The group recognizes “security and privacy by design” must be a priority from the onset of product development and be addressed holistically. The framework focuses on privacy, security sustainability. The sustainability pillar is critical as it looks at the life-cycle issues related to long- term supportability and transfers of ownership of devices and the data collected.
 +
== ==
 +
[https://allseenalliance.org/framework AllSeen Alliance]
 +
 
 +
The AllSeen Alliance is a Linux Foundation collaborative project.  They're a cross-industry consortium dedicated to enabling the interoperability of billions of devices, services and apps that comprise the Internet of Things.  The Alliance supports the AllJoyn Framework, an open source software framework that makes it easy for devices and apps to discover and communicate with each other. Developers can write applications for interoperability regardless of transport layer, manufacturer, and without the need for Internet access. The software has been and will continue to be openly available for developers to download, and runs on popular platforms such as Linux and Linux-based Android, iOS, and Windows, including many other lightweight real-time operating systems.
 +
== ==
 +
[http://www.iiconsortium.org/ The Industrial Internet Consortium (IIC)]
  
Their goals include:
+
The Industrial Internet Consortium is the open membership, international not-for-profit consortium that is setting the architectural framework and direction for the Industrial Internet. Founded by AT&T, Cisco, GE, IBM and Intel in March 2014, the consortium’s mission is to coordinate vast ecosystem initiatives to connect and integrate objects with people, processes and data using common architectures, interoperability and open standards.
* Lead - Leadership and a commitment to stewardship are keys to consumer trust and differentiation.
+
== ==
* Innovate - Innovation and the long-term vitality of the internet and online services are essential for society and our economy.
+
[http://securingsmartcities.org/ Securing Smart Cities]
* Collaboration - OTA and our members facilitate multi-stakeholder efforts across the ecosystem, developing best practices promoting innovation, brand protection and enhancing confidence of online services.
+
 
 +
Securing Smart Cities is a not-for-profit global initiative that aims to solve the existing and future cybersecurity problems of smart cities through collaboration between companies, governments, media outlets, other not-for-profit initiatives and individuals across the world.
  
 
= IoT Conferences =
 
= IoT Conferences =

Revision as of 17:33, 23 October 2015

OWASP Project Header.jpg

OWASP Internet of Things (IoT) Project

Oxford defines the Internet of Things as: “A proposed development of the Internet in which everyday objects have network connectivity, allowing them to send and receive data.”

The OWASP Internet of Things Project is designed to help manufacturers, developers, and consumers better understand the security issues associated with the Internet of Things, and to enable users in any context to make better security decisions when building, deploying, or assessing IoT technologies.

The project looks to define a structure for various IoT sub-projects such as Attack Surface Areas, Testing Guides and Top Vulnerabilities.

Iot-project.png

Licensing

The OWASP Internet of Things Project is free to use. It is licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.


What is the OWASP Internet of Things Project?

The OWASP Internet of Things Project provides:

  • IoT Attack Surface Areas
  • IoT Testing Guides
  • Top IoT Vulnerabilities
  • IoT Security Guidance
  • Community Groups
  • Curated IoT Reading List

Project Leaders

  • Daniel Miessler
  • Craig Smith

Major Contributors

  • Justin Klein Keane

Related Projects

Email List

Subscribe to the Top Ten list

Quick Download

IoT Attack Surface Mapping DEFCON 23

IoT Testing Guidance Handout

OWASP IoT Top Ten PDF

OWASP IoT Top Ten Infographic

OWASP IoT Top Ten PPT

OWASP IoT Top Ten-RSA 2015

News and Events

  • Daniel Miessler gave his IoT talk at DEFCON 23
  • Migrating the IoT Top Ten to be under the IoT Project

Classifications

Owasp-incubator-trans-85.png Owasp-builders-small.png
Owasp-defenders-small.png
Cc-button-y-sa-small.png
Project Type Files DOC.jpg

The OWASP IoT Attack Surface Areas (DRAFT) are as follows:

Attack Surface Vulnerability
Ecosystem Access Control
  • Implicit trust between components
  • Enrollment security
  • Decommissioning system
  • Lost access procedures
Device Memory
  • Cleartext usernames
  • Cleartext passwords
  • Third-party credentials
  • Encryption keys
Device Physical Interfaces
  • Firmware extraction
  • User CLI
  • Admin CLI
  • Privilege escalation
  • Reset to insecure state
  • Removal of storage media
Device Web Interface
  • SQL injection
  • Cross-site scripting
  • Cross-site Request Forgery
  • Username enumeration
  • Weak passwords
  • Account lockout
  • Known default credentials
Device Firmware
  • Hardcoded credentials
  • Sensitive information disclosure
  • Sensitive URL disclosure
  • Encryption keys
  • Firmware version display and/or last update date
Device Network Services
  • Information disclosure
  • User CLI
  • Administrative CLI
  • Injection
  • Denial of Service
  • Unencrypted Services
  • Poorly implemented encryption
  • Test/Development Services
  • Buffer Overflow
  • UPnP
  • Vulnerable UDP Services
  • DoS
Administrative Interface
  • SQL injection
  • Cross-site scripting
  • Cross-site Request Forgery
  • Username enumeration
  • Weak passwords
  • Account lockout
  • Known default credentials
  • Security/encryption options
  • Logging options
  • Two-factor authentication
  • Inability to wipe device
Local Data Storage
  • Unencrypted data
  • Data encrypted with discovered keys
  • Lack of data integrity checks
Cloud Web Interface
  • SQL injection
  • Cross-site scripting
  • Cross-site Request Forgery
  • Username enumeration
  • Weak passwords
  • Account lockout
  • Known default credentials
  • Transport encryption
  • Insecure password recovery mechanism
  • Two-factor authentication
Third-party Backend APIs
  • Unencrypted PII sent
  • Encrypted PII sent
  • Device information leaked
  • Location leaked
Update Mechanism
  • Update sent without encryption
  • Updates not signed
  • Update location writable
  • Update verification
  • Malicious update
  • Missing update mechanism
  • No manual update mechanism
Mobile Application
  • Implicitly trusted by device or cloud
  • Username enumeration
  • Account lockout
  • Known default credentials
  • Weak passwords
  • Insecure data storage
  • Transport encryption
  • Insecure password recovery mechanism
  • Two-factor authentication
Vendor Backend APIs
  • Inherent trust of cloud or mobile application
  • Weak authentication
  • Weak access controls
  • Injection attacks
Ecosystem Communication
  • Health checks
  • Heartbeats
  • Ecosystem commands
  • Deprovisioning
  • Pushing updates
Network Traffic
  • LAN
  • LAN to Internet
  • Short range
  • Non-standard

The top IoT vulnerabilities (DRAFT) are as follow:

Vulnerability Attack Surface Summary
Username Enumeration
  • Administrative Interface
  • Device Web Interface
  • Cloud Interface
  • Mobile Application
  • Ability to collect a set of valid usernames by interacting with the authentication mechanism
Weak Passwords
  • Administrative Interface
  • Device Web Interface
  • Cloud Interface
  • Mobile Application
  • Ability to set account passwords to '1234' or '123456' for example.
Account Lockout
  • Administrative Interface
  • Device Web Interface
  • Cloud Interface
  • Mobile Application
  • Ability to continue sending authentication attempts after 3 - 5 failed login attempts
Unencrypted Services
  • Device Network Services
  • Network services are not properly encrypted to prevent eavesdropping by attackers
Two-factor Authentication
  • Administrative Interface
  • Cloud Web Interface
  • Mobile Application
  • Lack of two-factor authentication mechanisms such as a security token or fingerprint scanner
Poorly Implemented Encryption
  • Device Network Services
  • Encryption is implemented however it is improperly configured or is not being properly updated, e.g. using SSL v2
Update Sent Without Encryption
  • Update Mechanism
  • Updates are transmitted over the network without using TLS or encrypting the update file itself
Update Location Writable
  • Update Mechanism
  • Storage location for update files is world writable potentially allowing firmware to be modified and distributed to all users
Denial of Service
  • Device Network Services
  • Service can be attacked in a way that denies service to that service or the entire device
Removal of Storage Media
  • Device Physical Interfaces
  • Ability to physically remove the storage media from the device
No Manual Update Mechanism
  • Update Mechanism
  • No ability to manually force an update check for the device
Missing Update Mechanism
  • Update Mechanism
  • No ability to update device
Firmware Version Display and/or Last Update Date
  • Device Firmware
  • Current firmware version is not displayed and/or the last update date is not displayed

For each attack surface areas, the following sections are included:

  • A description of the attack surface
  • Threat agents
  • Attack vectors
  • Security weaknesses
  • Technical impacts
  • Business impacts
  • Example vulnerabilities
  • Example attacks
  • Guidance on how to avoid the issue
  • References to OWASP and other related resources


Tester IoT Security Guidance

(DRAFT)

The goal of this page is to help testers assess IoT devices and applications in the Internet of Things space. The guidance below is at a basic level, giving testers of devices and applications a basic set of guidelines to consider from their perspective. This is not a comprehensive list of considerations, and should not be treated as such, but ensuring that these fundamentals are covered will greatly improve the security of any IoT product.

Category IoT Security Consideration
I1: Insecure Web Interface
  • Assess any web interface to determine if weak passwords are allowed
  • Assess the account lockout mechanism
  • Assess the web interface for XSS, SQLi and CSRF vulnerabilities and other web application vulnerabilities
  • Assess the use of HTTPS to protect transmitted information
  • Assess the ability to change the username and password
  • Determine if web application firewalls are used to protect web interfaces
I2: Insufficient Authentication/Authorization
  • Assess the solution for the use of strong passwords where authentication is needed
  • Assess the solution for multi-user environments and ensure it includes functionality for role separation
  • Assess the solution for Implementation two-factor authentication where possible
  • Assess password recovery mechanisms
  • Assess the solution for the option to require strong passwords
  • Assess the solution for the option to force password expiration after a specific period
  • Assess the solution for the option to change the default username and password
I3: Insecure Network Services
  • Assess the solution to ensure network services don't respond poorly to buffer overflow, fuzzing or denial of service attacks
  • Assess the solution to ensure test ports are are not present
I4: Lack of Transport Encryption
  • Assess the solution to determine the use of encrypted communication between devices and between devices and the internet
  • Assess the solution to determine if accepted encryption practices are used and if proprietary protocols are avoided
  • Assess the solution to determine if a firewall option available is available
I5: Privacy Concerns
  • Assess the solution to determine the amount of personal information collected
  • Assess the solution to determine if collected personal data is properly protected using encryption at rest and in transit
  • Assess the solution to determine if Ensuring data is de-identified or anonymized
  • Assess the solution to ensure end-users are given a choice for data collected beyond what is needed for proper operation of the device
I6: Insecure Cloud Interface
  • Assess the cloud interfaces for security vulnerabilities (e.g. API interfaces and cloud-based web interfaces)
  • Assess the cloud-based web interface to ensure it disallows weak passwords
  • Assess the cloud-based web interface to ensure it includes an account lockout mechanism
  • Assess the cloud-based web interface to determine if two-factor authentication is used
  • Assess any cloud interfaces for XSS, SQLi and CSRF vulnerabilities and other vulnerabilities
  • Assess all cloud interfaces to ensure transport encryption is used
  • Assess the cloud interfaces to determine if the option to require strong passwords is available
  • Assess the cloud interfaces to determine if the option to force password expiration after a specific period is available
  • Assess the cloud interfaces to determine if the option to change the default username and password is available
I7: Insecure Mobile Interface
  • Assess the mobile interface to ensure it disallows weak passwords
  • Assess the mobile interface to ensure it includes an account lockout mechanism
  • Assess the mobile interface to determine if it Implements two-factor authentication (e.g Apple's Touch ID)
  • Assess the mobile interface to determine if it uses transport encryption
  • Assess the mobile interface to determine if the option to require strong passwords is available
  • Assess the mobile interface to determine if the option to force password expiration after a specific period is available
  • Assess the mobile interface to determine if the option to change the default username and password is available
  • Assess the mobile interface to determine the amount of personal information collected
I8: Insufficient Security Configurability
  • Assess the solution to determine if password security options (e.g. Enabling 20 character passwords or enabling two-factor authentication) are available
  • Assess the solution to determine if encryption options (e.g. Enabling AES-256 where AES-128 is the default setting) are available
  • Assess the solution to determine if logging for security events is available
  • Assess the solution to determine if alerts and notifications to the user for security events are available
I9: Insecure Software/Firmware
  • Assess the device to ensure it includes update capability and can be updated quickly when vulnerabilities are discovered
  • Assess the device to ensure it uses encrypted update files and that the files are transmitted using encryption
  • Assess the device to ensure is uses signed files and then validates that file before installation
I10: Poor Physical Security
  • Assess the device to ensure it utilizes a minimal number of physical external ports (e.g. USB ports) on the device
  • Assess the device to determine if it can be accessed via unintended methods such as through an unnecessary USB port
  • Assess the device to determine if it allows for disabling of unused physical ports such as USB
  • Assess the device to determine if it includes the ability to limit administrative capabilities to a local interface only

General Recommendations

Consider the following recommendations for all user interfaces (local device, cloud-based and mobile):

  • Avoid potential Account Harvesting issues by:
    • Ensuring valid user accounts can't be identified by interface error messages
    • Ensuring strong passwords are required by users
    • Implementing account lockout after 3 - 5 failed login attempts

Manufacturer IoT Security Guidance

(DRAFT)


The goal of this section is help manufacturers build more secure products in the Internet of Things space. The guidance below is at a basic level, giving builders of products a basic set of guidelines to consider from their perspective. This is not a comprehensive list of considerations, and should not be treated as such, but ensuring that these fundamentals are covered will greatly improve the security of any IoT product.

Category IoT Security Consideration
I1: Insecure Web Interface
  • Ensure that any web interface in the product disallows weak passwords
  • Ensure that any web interface in the product has an account lockout mechanism
  • Ensure that any web interface in the product has been tested for XSS, SQLi and CSRF vulnerabilities
  • Ensure that any web interface has the ability to use HTTPS to protect transmitted information
  • Include web application firewalls to protect any web interfaces
  • Ensure that any web interface allows the owner to change the default username and password
I2: Insufficient Authentication/Authorization
  • Ensure that any access requiring authentication requires strong passwords
  • Ensure that user roles can be properly segregated in multi-user environments
  • Implement two-factor authentication where possible
  • Ensure password recovery mechanisms are secure
  • Ensure that users have the option to require strong passwords
  • Ensure that users have the option to force password expiration after a specific period
  • Ensure that users have the option to change the default username and password
I3: Insecure Network Services
  • Ensure all devices operate with a minimal number of network ports active
  • Ensure all devices do not make network ports and/or services available to the internet via UPnP for example
  • Review all required network services for vulnerabilities such as buffer overflows or denial of service
I4: Lack of Transport Encryption
  • Ensure all communication between system components is encrypted as well as encrypting traffic between the system or device and the internet
  • Use recommended and accepted encryption practices and avoid proprietary protocols
  • Ensure SSL/TLS implementations are up to date and properly configured
  • Consider making a firewall option available for the product
I5: Privacy Concerns
  • Ensure only the minimal amount of personal information is collected from consumers
  • Ensure all collected personal data is properly protected using encryption at rest and in transit
  • Ensure only authorized individuals have access to collected personal information
  • Ensure only less sensitive data is collected
  • Ensuring data is de-identified or anonymized
  • Ensuring a data retention policy is in place
  • Ensuring end-users are given a choice for data collected beyond what is needed for proper operation of the device
I6: Insecure Cloud Interface
  • Ensure all cloud interfaces are reviewed for security vulnerabilities (e.g. API interfaces and cloud-based web interfaces)
  • Ensure that any cloud-based web interface disallows weak passwords
  • Ensure that any cloud-based web interface has an account lockout mechanism
  • Implement two-factor authentication for cloud-based web interfaces
  • Ensure that all cloud interfaces use transport encryption
  • Ensure that any cloud-based web interface has been tested for XSS, SQLi and CSRF vulnerabilities
  • Ensure that users have the option to require strong passwords
  • Ensure that users have the option to force password expiration after a specific period
  • Ensure that users have the option to change the default username and password
I7: Insecure Mobile Interface
  • Ensure that any mobile application disallows weak passwords
  • Ensure that any mobile application has an account lockout mechanism
  • Implement two-factor authentication for mobile applications (e.g Apple's Touch ID)
  • Ensure that any mobile application uses transport encryption
  • Ensure that users have the option to require strong passwords
  • Ensure that users have the option to force password expiration after a specific period
  • Ensure that users have the option to change the default username and password
I8: Insufficient Security Configurability
  • Ensure password security options are made available (e.g. Enabling 20 character passwords or enabling two-factor authentication)
  • Ensure encryption options are made available (e.g. Enabling AES-256 where AES-128 is the default setting)
  • Ensure secure logging is available for security events
  • Ensure alerts and notifications are available to the user for security events
I9: Insecure Software/Firmware
  • Ensure all system devices have update capability and can be updated quickly when vulnerabilities are discovered
  • Ensure update files are encrypted and that the files are also transmitted using encryption
  • Ensure that update files are signed and then validated by the device before installing
  • Ensure update servers are secure
  • Ensure the product has the ability to implement scheduled updates
I10: Poor Physical Security
  • Ensure the device is produced with a minimal number of physical external ports (e.g. USB ports)
  • Ensure the firmware of Operating System can not be accessed via unintended methods such as through an unnecessary USB port
  • Ensure the product is tamper resistant
  • Ensure the product has the ability to limit administrative capabilities in some fashion, possibly by only connecting locally for admin functions
  • Ensure the product has the ability to disable external ports such as USB

General Recommendations

Consider the following recommendation for all Internet of Things products:

  • Avoid the potential for persistent vulnerabilities in devices that have no update capability by ensuring that all devices and systems are built with the ability to be updated when vulnerabilities are discovered
  • Rebranded devices used as part of a system should be properly configured so that unnecessary or unintended services do not remain active after the rebranding

[ NOTE: Given the fact that each deployment and every environment is different, it is important to weigh the pros and cons of implementing the advice above before taking each step. ]


Developer IoT Security Guidance

(DRAFT)

The goal of this section is help developers build more secure applications in the Internet of Things space. The guidance below is at a basic level, giving developers of applications a basic set of guidelines to consider from their perspective. This is not a comprehensive list of considerations, and should not be treated as such, but ensuring that these fundamentals are covered will greatly improve the security of any IoT product.

Category IoT Security Consideration
I1: Insecure Web Interface
  • Ensure that any web interface coding is written to prevent the use of weak passwords
  • Ensure that any web interface coding is written to include an account lockout mechanism
  • Ensure that any web interface coding has been tested for XSS, SQLi and CSRF vulnerabilities
  • Ensure that any web interface has the ability to use HTTPS to protect transmitted information
  • Ensure that any web interface coding is written to allow the owner to change the username and password
  • Consider the use of web application firewalls to protect any web interfaces
I2: Insufficient Authentication/Authorization
  • Ensure that applications are written to require strong passwords where authentication is needed
  • Ensure the application takes into account multi-user environments and includes functionality for role separation
  • Implement two-factor authentication where possible
  • Ensure password recovery mechanisms are written to function in a secure manner
  • Ensure that applications are written to include the option to require strong passwords
  • Ensure that applications are written to include the option to force password expiration after a specific period
  • Ensure that applications are written to include the option to change the default username and password
I3: Insecure Network Services
  • Ensure applications that use network services don't respond poorly to buffer overflow, fuzzing or denial of service attacks
  • Ensure applications test ports are taken out of service before going to production
I4: Lack of Transport Encryption
  • Ensure all applications are written to make use of encrypted communication between devices and between devices and the internet
  • Use recommended and accepted encryption practices and avoid proprietary protocols
  • Consider making a firewall option available for the application
I5: Privacy Concerns
  • Ensure only the minimal amount of personal information is collected from consumers
  • Ensure all collected personal data is properly protected using encryption at rest and in transit
  • Ensuring data is de-identified or anonymized
  • Ensuring end-users are given a choice for data collected beyond what is needed for proper operation of the device
I6: Insecure Cloud Interface
  • Ensure all cloud interfaces are reviewed for security vulnerabilities (e.g. API interfaces and cloud-based web interfaces)
  • Ensure that any cloud-based web interface coding is written to disallows weak passwords
  • Ensure that any cloud-based web interface coding is written to include an account lockout mechanism
  • Implement two-factor authentication for cloud-based web interfaces
  • Ensure that any cloud interface coding has been tested for XSS, SQLi and CSRF vulnerabilities
  • Ensure that all cloud interfaces use transport encryption
  • Ensure that cloud interfaces are written to include the option to require strong passwords
  • Ensure that cloud interfaces are written to include the option to force password expiration after a specific period
  • Ensure that cloud interfaces are written to include the option to change the default username and password
I7: Insecure Mobile Interface
  • Ensure that any mobile application coding is written to disallows weak passwords
  • Ensure that any mobile application coding is written to include an account lockout mechanism
  • Implement two-factor authentication for mobile applications (e.g Apple's Touch ID)
  • Ensure that any mobile application uses transport encryption
  • Ensure that mobile interfaces are written to include the option to require strong passwords
  • Ensure that mobile interfaces are written to include the option to force password expiration after a specific period
  • Ensure that mobile interfaces are written to include the option to change the default username and password
  • Ensure that mobile interfaces only collect the minimum amount of personal information needed
I8: Insufficient Security Configurability
  • Ensure applications are written to include password security options (e.g. Enabling 20 character passwords or enabling two-factor authentication)
  • Ensure applications are written to include encryption options (e.g. Enabling AES-256 where AES-128 is the default setting)
  • Ensure all applications are written to produce logs for security events
  • Ensure all applications are written to produce alerts and notifications to the user for security events
I9: Insecure Software/Firmware
  • Ensure all applications are written to include update capability and can be updated quickly when vulnerabilities are discovered
  • Ensure all applications are written to process encrypted update files and that the files are transmitted using encryption
  • Ensure all applications are written to process signed files and then validate that file before installation
I10: Poor Physical Security
  • Ensure applications are written to utilize a minimal number of physical external ports (e.g. USB ports) on the device
  • Ensure all applications can not be accessed via unintended methods such as through an unnecessary USB port
  • Ensure all applications are written to allow for disabling of unused physical ports such as USB
  • Consider writing applications to limit administrative capabilities to a local interface only

General Recommendations

Consider the following recommendations for all user interfaces (local device, cloud-based and mobile):

  • Avoid potential Account Harvesting issues by:
    • Ensuring valid user accounts can't be identified by interface error messages
    • Ensuring strong passwords are required by users
    • Implementing account lockout after 3 - 5 failed login attempts

[ NOTE: Given the fact that each deployment and every environment is different, it is important to weigh the pros and cons of implementing the advice above before taking each step. ]


Consumer IoT Security Guidance

(DRAFT)

The goal of this section is help consumers purchase secure products in the Internet of Things space. The guidance below is at a basic level, giving consumers a basic set of guidelines to consider from their perspective. This is not a comprehensive list of considerations, and should not be treated as such, but ensuring that these fundamentals are covered will greatly aid the consumer in purchasing a secure IoT product.

Category IoT Security Consideration
I1: Insecure Web Interface
  • If your system has the option to use HTTPS, ensure it is enabled
  • If your system has a two factor authentication option, ensure that it is enabled
  • If your system has web application firewall option, ensure that it is enabled
  • If your system has a local or cloud-based web application, ensure that you change the default password to a strong one and if possible change the default username as well
  • If the system has account lockout functionality, ensure that it is enabled
  • Consider employing network segmentation technologies such as firewalls to isolate IoT systems from critical IT systems
I2: Insufficient Authentication/Authorization
  • If your system has a local or cloud-based web application, ensure that you change the default password to a strong one and if possible change the default username as well
  • If the system has account lockout functionality, ensure that it is enabled
  • If the system has the option to require strong passwords, ensure that is enabled
  • If the system has the option to require new passwords after 90 days for example, ensure that is enabled
  • If your system has a two factor authentication option, ensure that it is enabled
  • If your system has the option to set user privileges, consider setting user privileges to the minimal needed for operation
  • Consider employing network segmentation technologies such as firewalls to isolate IoT systems from critical IT systems
I3: Insecure Network Services
  • If your system has a firewall option available, enable it and ensure that it can only be accessed from your client systems
  • Consider employing network segmentation technologies such as firewalls to isolate IoT systems from critical IT systems
I4: Lack of Transport Encryption
  • If your system has the option to use HTTPS, ensure it is enabled
I5: Privacy Concerns
  • Do not enter sensitive information into the system that is not absolutely required, e.g. address, DOB, CC, etc.
  • Deny data collection if it appears to be beyond what is needed for proper operation of the device (If provided the choice)
I6: Insecure Cloud Interface
  • If your system has the option to use HTTPS, ensure it is enabled
  • If your system has a two factor authentication option, ensure that it is enabled
  • If your system has web application firewall option, ensure that it is enabled
  • If your system has a local or cloud-based web application, ensure that you change the default password to a strong one and if possible change the default username as well
  • If the system has account lockout functionality, ensure that it is enabled
  • If the system has the option to require strong passwords, ensure that is enabled
  • If the system has the option to require new passwords after 90 days for example, ensure that is enabled
I7: Insecure Mobile Interface
  • If the mobile application has the option to require a PIN or password, consider using it for extra security (on client and server)
  • If the mobile application has the option to use two factory authentication such as Apple's Touch ID, ensure it is enabled
  • If the system has account lockout functionality, ensure that it is enabled
  • If the system has the option to require strong passwords, ensure that is enabled
  • If the system has the option to require new passwords after 90 days for example, ensure that is enabled
  • Do not enter sensitive information into the mobile application that is not absolutely required, e.g. address, DOB, CC, etc.
I8: Insufficient Security Configurability
  • If your system has the option, enable any logging functionality for security-related events
  • If your system has the option, enable any alert and notification functionality for security-related events
  • If your system has security options for passwords, ensure they are enabled for strong passwords
  • If your system has security options for encryption, ensure they are set for an accepted standard such as AES-256
I9: Insecure Software/Firmware
  • If your system has the option to verify updates, ensure it is enabled
  • If your system has the option to download updates securely, ensure it is enabled
  • If your system has the ability to schedule updates on a regular cadence, consider enabling it
I10: Poor Physical Security
  • If your system has the ability to limit administrative capabilities possible by connecting locally, consider enabling that feature
  • Disable any unused physical ports through the administrative interface

General Recommendations

If you are looking to purchase a device or system, consider the following recommendations:

  • Include security in feature considerations when evaluating a product
  • Place Internet of Things devices on a separate network if possible using a firewall

[ NOTE: Given the fact that each deployment and every environment is different, it is important to weigh the pros and cons of implementing the advice above before taking each step. ]


RSA Conference San Francisco
Securing the Internet of Things: Mapping IoT Attack Surface Areas with the OWASP IoT Top 10 Project
Daniel Miessler, Practice Principal
April 21, 2015
---
Defcon 23
IoT Attack Surface Mapping
Daniel Miessler
August 6-9, 2015

I Am The Cavalry

A global grassroots organization that is focused on issues where computer security intersects public safety and human life.

Their areas of focus include:

  • Medical devices
  • Automobiles
  • Home Electronics
  • Public Infrastructure

BuildItSecure.ly

A project focused on helping small business connect with security researchers to aid in securing their IoT-based products before going market.

Their goals include:

  • Focus effort towards small business
  • Build partnerships
  • Coordinate efforts
  • Curate informational resources
  • Present research

Online Trust Alliance

Formed as an informal industry working group in 2005, today OTA is an Internal Revenue Service (IRS) approved 501c3 charitable organization with the mission to enhance online trust and empower users, while promoting innovation and the vitality of the internet. OTA is global organization supported by over 100 organizations headquartered in Bellevue, Washington with offices in Washington DC.

Addressing the mounting concerns, in January 2015 the Online Trust Alliance, established the IoT Trustworthy Working Group (ITWG), a multi-stakeholder initiative. The group recognizes “security and privacy by design” must be a priority from the onset of product development and be addressed holistically. The framework focuses on privacy, security sustainability. The sustainability pillar is critical as it looks at the life-cycle issues related to long- term supportability and transfers of ownership of devices and the data collected.

AllSeen Alliance

The AllSeen Alliance is a Linux Foundation collaborative project. They're a cross-industry consortium dedicated to enabling the interoperability of billions of devices, services and apps that comprise the Internet of Things. The Alliance supports the AllJoyn Framework, an open source software framework that makes it easy for devices and apps to discover and communicate with each other. Developers can write applications for interoperability regardless of transport layer, manufacturer, and without the need for Internet access. The software has been and will continue to be openly available for developers to download, and runs on popular platforms such as Linux and Linux-based Android, iOS, and Windows, including many other lightweight real-time operating systems.

The Industrial Internet Consortium (IIC)

The Industrial Internet Consortium is the open membership, international not-for-profit consortium that is setting the architectural framework and direction for the Industrial Internet. Founded by AT&T, Cisco, GE, IBM and Intel in March 2014, the consortium’s mission is to coordinate vast ecosystem initiatives to connect and integrate objects with people, processes and data using common architectures, interoperability and open standards.

Securing Smart Cities

Securing Smart Cities is a not-for-profit global initiative that aims to solve the existing and future cybersecurity problems of smart cities through collaboration between companies, governments, media outlets, other not-for-profit initiatives and individuals across the world.