Idols with Feet of Clay: On the Security of Bootloaders and Firmware Updaters for the IoT IoT devices are generally implemented with lowcost embedded solutions, and connectivity and communication capabilities are the raison dxe2x80x99etre of such devices. But this is a doubleedged sword, since connectivity also implies (1) to open the door to more attack possibilities, and (2) the targeted system, once breached, can be the support for attacks at a larger scale, possibly involving many connected systems. Our observation is that such devices lack proper hardware and software security protections. Bootloader and Firmware Update (BFU) mechanisms are critical components in the software stack of IoT devices. BFUs are a target of choice since they use the highest privileges and are executed before the systemu0027s security policy is set up. An attacker able to compromise the BFU can gain full control over the target system. Moreover, the update mechanism often supported by the BFU is essential to ensure devices can be upgraded and maintained for a long time. If not properly secured, the BFU allows an attacker to gain control over a system throughout its whole lifetime, including future upgrades. In this paper, we provide an overview of the threats targeting BFUs, and existing protections. We cover the hardware and software attacks that are known to the scientific literature. Also, we argue that vulnerabilities to physical attacks, in particular to fault injection attacks, are mostly left unattended.

Secure firmware update in embedded systems Great numbers of embedded devices are performing safety critical operations, which means it is very important to keep them operating without interference. Update is the weak point that could be exploited by potential attackers to gain access to the system, sabotage it or to simply steal someone elseu0027s intellectual property. This paper presents an implementation of secure update process for embedded systems which prevents maninthemiddle attacks. By using a combination of hash functions, symmetric and asymmetric encryption algorithms it demonstrates how to achieve integrity, authenticity and confidentiality of the update package that is sent to the target hardware. It covers implementation starting from key exchange, next explaining update package encryption process and then decryption on the target hardware. It does not go into a detail about specific encryption algorithms that could be used. It presents a generalized model for secure update that could be adjusted to specific needs.