The wide adoption of IoT gadgets and Cyber-Physical Systems (CPS) makes embedded devices increasingly important. While some of these devices perform mission-critical tasks, they are usually implemented using Micro-Controller Units (MCUs) that lack security mechanisms on par with those available to general-purpose computers, making them more susceptible to remote exploits that could corrupt their software integrity. Motivated by this problem, prior work has proposed techniques to remotely assess the trustworthiness of embedded MCU software. Among them, Control Flow Attestation (CFA) enables remote detection of runtime abuses that illegally modify the program's control flow during execution. Despite these advances, current CFA methods share a fundamental limitation: they preclude interrupts during the execution of the software operation being attested. Simply put, existing CFA techniques are insecure unless interrupts are disabled on the MCU. On the other hand, we argue that the lack of interruptability can obscure CFA usefulness, as most embedded applications depend on interrupts to process asynchronous events in real-time. To address this limitation, we propose Interrupt-Safe Control Flow Attestation (ISC-FLAT): a CFA technique that is compatible with existing MCUs and enables interrupt handling without compromising the authenticity of CFA reports. Similar to other CFA techniques that do not require customized hardware modifications, ISC-FLAT leverages a Trusted Execution Environment (TEE) (in particular, our prototype is built on ARM TrustZone-M) to securely generate unforgeable CFA reports without precluding applications from processing interrupts. We implement a fully functional ISC-FLAT prototype on the ARM Cortex-M33 MCU and demonstrate that it incurs minimal runtime overhead when compared to existing TEE-based CFA methods that do not support interrupts.
翻译:广泛采用IOT Gardets 和 Cyber-physical Systems (CPS) 使嵌入装置变得日益重要。 虽然其中一些装置执行任务关键任务,但通常使用与一般用途计算机相比缺乏安全机制的微控制单位(MCUs)来实施,使其更容易受到远程开发,从而可能破坏软件的完整性。受这一问题的驱使,先前的工作提出了远程评估嵌入的 MCU 软件的可信任性的技术。其中,控制流 TUstation(CFA)能够远程发现运行时间滥用,从而非法修改程序控制流程。尽管取得了这些进步,但目前的CAFA方法也有了一个基本限制:在执行软件操作过程中,它们无法中断。简言说,现有的FAFA技术,除非在MCUC上中断,否则它们会模糊CUCF的最小用途,因为大部分嵌入应用程序取决于在实时处理不连续的 RICFA(CRATs),我们提议在不固定运行的IRC RDRDF Attroad报告上不进行不兼容性操作的技术。</s>