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 Embedded Application Security"

From OWASP
Jump to: navigation, search
(Embedded Secure Coding Best Practices)
(Embedded Secure Coding Best Practices)
Line 25: Line 25:
 
Google Group - https://groups.google.com/a/owasp.org/forum/?hl=en#!forum/embedded-appsec
 
Google Group - https://groups.google.com/a/owasp.org/forum/?hl=en#!forum/embedded-appsec
  
=== Embedded Secure Coding Best Practices ===
+
=== Embedded Device Secure Coding Best Practices ===
  
 
# Prevent the use of dangerous functions and APIs in efforts to protect against memory-corruption vulnerabilities inside firmware functions.
 
# Prevent the use of dangerous functions and APIs in efforts to protect against memory-corruption vulnerabilities inside firmware functions.

Revision as of 22:06, 18 July 2016

PROJECT INFO
What does this OWASP project offer you?
RELEASE(S) INFO
What releases are available for this project?
what is this project?
Name: OWASP Embedded Application Security
Purpose: Each year, the number of enterprise and consumer devices with embedded software are on the rise. Given the publicity with IoT and more devices becoming network connected, it is essential to create secure coding guidelines for embedded software. Embedded Application Security is not often a high priority for embedded devices such as Routers, Managed Switches, IoT devices, and even ATM Kiosks. There are many challenges in the embedded field including ODM supply chain, limited memory, a small stack, and the challenge of pushing firmware updates securely to an endpoint.

The goal of this project is to identify the risks in embedded applications on a generalized list of devices, create a list of best practices, draw on the resources that OWASP already has, and bring OWASP expertise to the embedded world.

License: N/A
who is working on this project?
Project Leader(s):
  • Aaron Guzman @
how can you learn more?
Project Pamphlet: Not Yet Created
Project Presentation:
Mailing list: [Mailing List Mailing List Archives]
Project Roadmap: Not Yet Created
Key Contacts
  • Contact Aaron Guzman @ to contribute to this project
  • Contact Aaron Guzman @ to review or sponsor this project
current release
Not Yet Published
last reviewed release
Not Yet Reviewed


other releases

Google Group - https://groups.google.com/a/owasp.org/forum/?hl=en#!forum/embedded-appsec

Embedded Device Secure Coding Best Practices

  1. Prevent the use of dangerous functions and APIs in efforts to protect against memory-corruption vulnerabilities inside firmware functions.
  2. Ensure secure compiler flags or switches are utilized upon each firmware build. (i.e For GCC -fPIE, -fstack-protector-all, -Wl,-z,noexecstack, -Wl,-z,noexecheap etc..)
  3. Ensure robust update mechanisms utilize cryptographically signed firmware images for updating functions.
  4. Do not hard code secrets such as passwords, usernames, tokens or similar variants into firmware images.
  5. Dispose and securely wipe sensitive information stored in buffers or temporary files during runtime after they are no longer needed (e.g. Wipe buffers from locations where personal identifiable information is stored before releasing the buffers)
  6. Modify Busybox and embedded frameworks alike to only libraries and functions that are being used. (e.g. Remove unused languages like perl and services such as Telnet, FTP etc)
  7. Validate all debugging and pre-production code have been removed prior to firmware deployment.
  8. Ensure all methods of communication are utilizing industry standard encryption configurations for TLS.
  9. Limit collection, storage, and sharing of personal identifiable information (PII) to items that are only required for operation.
  10. Ensure kernel and software packages on embedded images are updated to prevent from known publicly available exploits.

Related Projects