Top 10 2014-I9 Insecure Software/Firmware

Back To The Internet of Things Top 10

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.

Insecure software/firmware are present 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?

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.
 * Note - It is very important that devices first and foremost have the ability to update and perform updates regularly.

Securing software/firmware require:
 * 1) Ensure the device has the ability to update (very important)
 * 2) Ensuring the update file is encrypted.
 * 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.

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.