从 MMU 到 MPU:Pip 内核面向受限设备的适配
操作系统
2023-01-12 v1
摘要
本文提出了一种面向受限设备的基于硬件的内存隔离方案。现有方案要么面向高端嵌入式系统(通常是带有内存管理单元 MMU 的 ARM Cortex-A,如 seL4 或 Pip(形式化验证内核)),要么面向低端设备如 ACES、MINION、TrustLite、EwoK,但仅提供单级隔离因而灵活性有限。我们的方法在于适配 Pip 以继承其灵活性(多级隔离),但使用内存保护单元(MPU)而非 MMU,因为 MPU 在受限嵌入式系统(通常是 ARMv7 Cortex-M4 或 ARMv8 Cortex-M33 及类似设备)上普遍可用。本文描述了我们基于 MPU 的 Pip 变体 Pip-MPU 的设计以及我们选型背后的依据。我们通过在 nRF52840 开发套件上的实现验证了我们的方案,并进行了内存占用、CPU 周期和能耗等多种评估。我们证明,尽管我们原型化的 Pip-MPU 在性能和能耗上带来了 16% 的开销,但它能将可访问应用内存的攻击面从 100% 降低到 2%,并将特权操作减少 99%。Pip-MPU 占用少于 10 kB 的 Flash(其核心组件为 6 kB)和 550 B 的 RAM。
引用
@article{arxiv.2301.04546,
title = {From MMU to MPU: adaptation of the Pip kernel to constrained devices},
author = {Nicolas Dejon and Chrystel Gaber and Gilles Grimaud},
journal= {arXiv preprint arXiv:2301.04546},
year = {2023}
}
备注
3rd International Conference on Internet of Things & Embedded Systems (IoTE 2022), 23-23 December 2022, Sydney (Australia)