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
Line 169: | Line 169: | ||
Other contexts can be found in the org.owasp.Encode class methods, including CSS strings, CSS urls, XML contexts, URIs and URI components. | Other contexts can be found in the org.owasp.Encode class methods, including CSS strings, CSS urls, XML contexts, URIs and URI components. | ||
− | = | + | = 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. |
− | 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..) | + | * 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..) |
− | Ensure robust update mechanisms utilize cryptographically signed firmware images for updating functions. | + | * Ensure robust update mechanisms utilize cryptographically signed firmware images for updating functions. |
− | Do not hard code secrets such as passwords, usernames, tokens or similar variants into firmware images. | + | * Do not hard code secrets such as passwords, usernames, tokens or similar variants into firmware images. |
− | 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) | + | * 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) |
− | 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) | + | * 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) |
− | Validate all debugging and pre-production code have been removed prior to firmware deployment. | + | * Validate all debugging and pre-production code have been removed prior to firmware deployment. |
− | Ensure all methods of communication are utilizing industry standard encryption configurations for TLS. | + | * Ensure all methods of communication are utilizing industry standard encryption configurations for TLS. |
− | Limit collection, storage, and sharing of personal identifiable information (PII) to items that are only required for operation. | + | * Limit collection, storage, and sharing of personal identifiable information (PII) to items that are only required for operation. |
− | Ensure kernel and software packages on embedded images are updated to prevent from known publicly available exploits. | + | * Ensure kernel and software packages on embedded images are updated to prevent from known publicly available exploits. |
= Roadmap = | = Roadmap = |