论文标题
对骰子证明的Toctou攻击
A TOCTOU Attack on DICE Attestation
论文作者
论文摘要
现代物联网(IoT)部署的主要安全挑战是确保设备没有恶意软件运行合法固件。可以通过称为证明的安全原始性来解决这一挑战,该证明允许远程后端验证其管理设备的固件完整性。为了加速物联网域中的广泛认证,受信任的计算组(TCG)引入了设备标识符组成引擎(DICE)系列规格。 DICE是用于约束的硬件软件体系结构,例如基于微控制器的IoT设备,将固件分为连续执行的层。 在本文中,我们演示了对基于骰子的证明的远程检查时间(TOCTOU)攻击。我们证明,可以将持久性恶意软件安装在受约束的微控制器的闪存中,该微控制器无法通过基于骰子的证明来检测。我们攻击的主要思想是在顶部固件层的应用程序逻辑运行时安装恶意软件。恶意软件读取有效的证明密钥,并将其存储在设备的闪存上。重新启动后,恶意软件使用先前存储的密钥,用于后端的所有后续证明。我们通过以返回为导向的编程(ROP)进行了恶意软件的安装并复制密钥。作为演示的平台,我们使用基于Cortex-M的NRF52840微控制器。我们对几种可能的对策进行了讨论,可以减轻骰子规格的缺点。
A major security challenge for modern Internet of Things (IoT) deployments is to ensure that the devices run legitimate firmware free from malware. This challenge can be addressed through a security primitive called attestation which allows a remote backend to verify the firmware integrity of the devices it manages. In order to accelerate broad attestation adoption in the IoT domain the Trusted Computing Group (TCG) has introduced the Device Identifier Composition Engine (DICE) series of specifications. DICE is a hardware-software architecture for constrained, e.g., microcontroller-based IoT devices where the firmware is divided into successively executed layers. In this paper, we demonstrate a remote Time-Of-Check Time-Of-Use (TOCTOU) attack on DICE-based attestation. We demonstrate that it is possible to install persistent malware in the flash memory of a constrained microcontroller that cannot be detected through DICE-based attestation. The main idea of our attack is to install malware during runtime of application logic in the top firmware layer. The malware reads the valid attestation key and stores it on the device's flash memory. After reboot, the malware uses the previously stored key for all subsequent attestations to the backend. We conduct the installation of malware and copying of the key through Return-Oriented Programming (ROP). As a platform for our demonstration, we use the Cortex-M-based nRF52840 microcontroller. We provide a discussion of several possible countermeasures which can mitigate the shortcomings of the DICE specifications.