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

Top 10 2014-I9 Insecure Software/Firmware

From OWASP
Revision as of 22:10, 4 February 2015 by Craig Smith (talk | contribs)

Jump to: navigation, search
Back To The Internet of Things Top 10
Threat Agents Attack Vectors Security Weakness Technical Impacts Business Impacts
Application Specific Exploitability
DIFFICULT
Prevalence
COMMON
Detectability
EASY
Impact
SEVERE
Application / Business Specific
Consider anyone who has access to the device and/or the network the device resides on. Attacker uses multiple vectors such as capturing update files via unencrypted connections, the update file itself is not encrypted or they are able to perform their own malicious update via DNS hijacking. Depending on method of update and device configuration, attack could come from the local network or the internet. The lack of ability for a device to be updated presents a security weakness on its own. Devices should have the ability to be updated when vulnerabilities are discovered and software/firmware updates can be insecure when the updated files themselves and the network connection they are delivered on are not protected. Software/Firmware can also be insecure if they contain hardcoded sensitive data such as credentials. Security issues with software/firmware are relatively easy to discover by simply inspecting the network traffic during the update to check for encryption or using a hex editor to inspect the update file itself for interesting information. Insecure software/firmware could lead to compromise of user data, control over the device and attacks against other devices. Consider the business impact if data can be stolen or modified and devices taken control of for the purpose of attacking other devices. Could your customers be harmed? Could other users be harmed?
Is My Software/Firmware Secure?
  • Note - It is very important that devices first and foremost have the ability to update and perform updates regularly.

The simplest way to check for insecure software/firmware updates is to review the update file itself and also the communication method used to transmit those updates. The update file should also be reviewed for exposure of any sensitive data in human readable format by someone using a hex edit tool.

How Do I Secure My Software/Firmware?

Securing software/firmware require:

  1. Ensure the device has the ability to update (very important)
  2. Ensuring the update file is encrypted using accepted encryption methods.
  3. Ensuring the update file is transmitted via an encrypted connection.
  4. Ensuring the update file does not contain sensitive data.
  5. Ensuring the update is signed and verified before allowing the update to be uploaded and applied.
Example Attack Scenarios

Scenario #1: Update file is transmitted via HTTP.

http://www.xyz.com/update.bin

Scenario #2: Update file is unencrypted and human readable data can be viewed.

�v�ñ]��Ü��Qw�û]��ˇ3DP�Ö�∂]��ˇ3DPadmin.htmadvanced.htmalarms.htm

In the cases above, the attacker is able to either capture the update file or capture the file and view it's contents.


References

OWASP

External