动机好设计差:为什么ARM MPU成为嵌入式系统的弃儿
Good Motive but Bad Design: Why ARM MPU Has Become an Outcast in Embedded Systems
摘要:
随着越来越多的嵌入式设备连接到互联网,导致物联网(IoT)的出现,以前较少测试(和不安全)的设备暴露在不法分子面前。为了防止它们被破坏,存储器保护单元(MPU)在许多设备上都很容易获得,有可能成为防御者的免费午餐。令人惊讶的是,MPU很少被实际产品使用。原因是多方面的。虽然存在诸如兼容性问题等非技术原因,但更重要的是,我们发现MPU几乎没有带来任何安全增强,而是以降低性能和响应速度为代价。在这项工作中,我们调查了MPU采用主要的实时操作系统(RTOS),特别是FreeRTOS,并试图找出根本原因来解释为什么MPU不受青睐。我们希望我们的研究结果可以启发新的补救方案来改变这种情况。我们还回顾了最新的MPU设计,并提供技术建议,以建立更安全的嵌入式系统。
英文摘要:
As more and more embedded devices are connected to the Internet, leading to the emergence of Internet-of-Things (IoT), previously less tested (and insecure) devices are exposed to miscreants. To prevent them from being compromised, the memory protection unit (MPU), which is readily available on many devices, has the potential to become a free lunch for the defenders. To our surprise, the MPU is seldom used by real-world products. The reasons are multi-fold. While there are non-technical reasons such as compatibility issues, more importantly, we found that MPU brings virtually no security enhancement at the expense of decreased performance and responsiveness. In this work, we investigate the MPU adoption in major real-time operating systems (RTOSs), in particular, the FreeRTOS, and try to pinpoint the fundamental reasons to explain why MPU is not favored. We hope our findings can inspire new remedial solutions to change the situation. We also review the latest MPU design and provide technical suggestions to build more secure embedded systems.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。