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 Top Ten Project"
Craig Smith (talk | contribs) (→Manufacturer IoT Security Guidance) |
Craig Smith (talk | contribs) (→Developer IoT Security Guidance) |
||
| Line 224: | Line 224: | ||
| '''I1: Insecure Web Interface''' | | '''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 | ||
|- | |- | ||
| '''I2: Insufficient Authentication/Authorization''' | | '''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 | ||
|- | |- | ||
| '''I3: Insecure Network Services''' | | '''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''' | | '''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 |
|- | |- | ||
| '''I5: Privacy Concerns''' | | '''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 |
|- | |- | ||
| '''I6: Insecure Cloud Interface''' | | '''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 | ||
|- | |- | ||
| '''I7: Insecure Mobile Interface''' | | '''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 | ||
|- | |- | ||
| '''I8: Insufficient Security Configurability''' | | '''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) |
|- | |- | ||
| '''I9: Insecure Software/Firmware''' | | '''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''' | | '''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 |
|} | |} | ||
Revision as of 21:28, 6 February 2015
- Main
- OWASP Internet of Things Top 10 for 2014
- Talks
- Community
- Manufacturers
- Developers
- Consumers
- Project Details
OWASP Internet of Things Top 10Oxford 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 (IoT) Top 10 is a project 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 defines the top ten security surface areas presented by IoT systems, and provides information on threat agents, attack vectors, vulnerabilities, and impacts associated with each. In addition, the project aims to provide practical security recommendations for builders, breakers, and users of IoT systems. LicensingThe OWASP Internet of Things Top 10 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 Top 10?The OWASP Internet of Things Top 10 provides:
For each attack surface areas, the following sections are included:
For each role in Manufacturers, Developers, and Consumer, the following recommendations are included:
Project Leaders
Related Projects |
Quick DownloadEmail ListNews and EventsClassifications
| |||||||
The OWASP Internet of Things Top 10 - 2014 is as follows:
- I1 Insecure Web Interface
- I2 Insufficient Authentication/Authorization
- I3 Insecure Network Services
- I4 Lack of Transport Encryption
- I5 Privacy Concerns
- I6 Insecure Cloud Interface
- I7 Insecure Mobile Interface
- I8 Insufficient Security Configurability
- I9 Insecure Software/Firmware
- I10 Poor Physical Security
Introduction
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 (IoT) Top 10 is a project designed to help vendors who are interested in making common appliances and gadgets network/Internet accessible. The project walks through the top ten security problems that are seen with IoT devices, and how to prevent them.
Examples of IoT Devices: Cars, lighting systems, refrigerators, telephones, SCADA systems, traffic control systems, home security systems, TVs, DVRs, etc…
Feedback
Please let us know how your organization is using the Internet of Things Top 10. Include your name, organization's name, and brief description of how you use the list. Thanks for supporting OWASP!
We hope you find the information in the OWASP Internet of Things Top Ten useful. Please contribute back to the project by sending your comments, questions, and suggestions to [email protected] or [email protected] Thanks!
Project Sponsors
- HP Fortify on Demand
- Contribute and add your name here!
Manufacturer IoT Security Guidance
(DRAFT)
The goal of this page 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 |
|
| I2: Insufficient Authentication/Authorization |
|
| I3: Insecure Network Services |
|
| I4: Lack of Transport Encryption |
|
| I5: Privacy Concerns |
|
| I6: Insecure Cloud Interface |
|
| I7: Insecure Mobile Interface |
|
| I8: Insufficient Security Configurability |
|
| I9: Insecure Software/Firmware |
|
| I10: Poor Physical Security |
|
Developer IoT Security Guidance
(DRAFT)
The goal of this page 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 |
|
| I2: Insufficient Authentication/Authorization |
|
| I3: Insecure Network Services |
|
| I4: Lack of Transport Encryption |
|
| I5: Privacy Concerns |
|
| I6: Insecure Cloud Interface |
|
| I7: Insecure Mobile Interface |
|
| I8: Insufficient Security Configurability |
|
| I9: Insecure Software/Firmware |
|
| I10: Poor Physical Security |
|
If you are looking to develop for a device or system, 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
- Ensure user credentials are properly protected using recommended and accepted encryption or hashing practices
- Ensure sensitive data is properly protected both at rest and during transmission using recommended practices
- Provide the option for two-factor authentication
- Ensure user roles are properly segregated in multi-user environments
Consumer IoT Security Guidance
(DRAFT)
The goal of this page 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 |
|
| I2: Insufficient Authentication/Authorization |
|
| I3: Insecure Network Services |
|
| I4: Lack of Transport Encryption |
|
| I5: Privacy Concerns |
|
| I6: Insecure Cloud Interface |
|
| I7: Insecure Mobile Interface |
|
| I8: Insufficient Security Configurability |
|
| I9: Insecure Software/Firmware |
|
| I10: Poor Physical Security |
|
If you are looking to purchase a device or system, consider the following recommendations:
- Include security in feature considerations when evaluating a product
- Avoid using system defaults for usernames and passwords when possible and choose good passwords and two-factor authentication when possible
- Place Internet of Things devices on a separate wireless network if possible using a firewall
| PROJECT INFO What does this OWASP project offer you? |
RELEASE(S) INFO What releases are available for this project? | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||||||||||||||||||||||


