Embedded and Internet-of-Things (IoT) devices have seen an increase in adoption in many domains. The security of these devices is of great importance as they are often used to control critical infrastructure, medical devices, and vehicles. Existing solutions to isolate microcontroller (MCU) resources in order to increase their security face significant challenges such as specific hardware unavailability, Memory Protection Unit (MPU) limitations and a significant lack of Direct Memory Access (DMA) support. Nevertheless, DMA is fundamental for the power and performance requirements of embedded applications. In this paper, we present D-Box, a systematic approach to enable secure DMA operations for compartmentalization solutions of embedded applications using real-time operating systems (RTOS). D-Box defines a reference architecture and a workflow to protect DMA operations holistically. It provides practical methods to harden the kernel and define capability-based security policies for easy definition of DMA operations with strong security properties. We implemented a D-Box prototype for the Cortex-M3/M4 on top of the popular FreeRTOS-MPU (F-MPU). The D-Box procedures and a stricter security model enabled DMA operations, yet it exposed 41 times less ROP (return-orienting-programming) gadgets when compared with the standard F-MPU. D-Box adds only a 2% processor overhead while reducing the power consumption of peripheral operation benchmarks by 18.2%. The security properties and performance of D-Box were tested and confirmed on a real-world case study of a Programmable Logic Controller (PLC) application.
翻译:嵌入式设备和互联网操作装置在许多领域被采用的情况有所增加。这些装置的安全非常重要,因为这些装置常常被用来控制关键的基础设施、医疗装置和车辆。现有的分离微控制器(MCU)资源以增加其安全的解决方案面临重大挑战,例如具体的硬件缺乏、记忆保护股(MPU)的局限性以及严重缺乏直接内存访问(DMA)支持。然而,DMA对于嵌入应用程序的动力和性能要求至关重要。在本文中,我们介绍了D-Box,一种系统化的方法,用实时操作系统控制关键基础设施、医疗装置和车辆。D-Box定义了一种孤立微控制器(MCU)资源的现有解决办法,以提高其安全性能,例如具体的硬件缺乏、记忆保护股(MPU)的局限性和直接内存访问支持。我们为Cortex-M3/M4在流行的FreeRTOS-MPU(F-MPU)顶端上安装了DMA操作的D-Box原型操作。D-PRO-ROFROC 程序在降低安全性能标准程序时,D-MA 程序在更严格地的DROB-Slod-C-C-C-LOLOD-C-ROD-C-C-RODRVI 的操作中,在较慢的SAL-C-C-C-C-C-C-LODMU上,在较慢的操作中,在较慢的D-C-C-C-C-C-C-C-SLOD-ROD-SLOD-SAL-SD-ILMU 和较严格的操作程序和较慢化的操作程序中,在较严格的D-SLM-RODM-ROD-L-L-L-ROD-ROD-ROD-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-ROD-ROD-ROD-ROD-ROD-ROD-L-L-L-L-L-L-L-L-L-L-L-S-S-S-L-L-L-L-L-L-L-L-L-L-L-L-I-I-