中文

利用处理器异常实现裸机嵌入式设备的通用二进制插桩

密码学与安全 2024-04-25 v2

摘要

鉴于闭源驱动与库在供应链中的基础作用,分析嵌入式系统中此类组件的安全性具有重要意义。与x86不同,嵌入式平台缺乏完备的二进制操控工具,使研究人员与开发者难以有效检测并修补此类闭源组件中的安全问题。现有工作要么依赖成熟的操作系统特性,要么受困于繁琐的边界情况,限制了其在嵌入式环境中普遍存在的裸机固件上的应用。本文提出PIFER(Practical Instrumenting Framework for Embedded fiRmware,嵌入式固件实用插桩框架),可实现面向嵌入式裸机固件的通用细粒度静态二进制插桩。通过滥用嵌入式处理器内置的硬件异常处理机制,PIFER能够对任意目标地址进行插桩。此外,我们提出一种基于指令转换的方案,以保证打补丁后原始固件的正确执行。我们在真实世界复杂固件上评估PIFER,包括Zephyr RTOS、CoreMark基准测试以及一款闭源商业产品。结果表明,PIFER正确插桩了98.9%的指令。进一步的全面性能评估证明了我们工作的实用性与高效性。

关键词

引用

@article{arxiv.2311.16532,
  title  = {Abusing Processor Exception for General Binary Instrumentation on Bare-metal Embedded Devices},
  author = {Shipei Qu and Xiaolin Zhang and Chi Zhang and Dawu Gu},
  journal= {arXiv preprint arXiv:2311.16532},
  year   = {2024}
}

备注

This paper has been accepted by the 61st ACM/IEEE Design Automation Conference (DAC '24), June 23--27, 2024, San Francisco, CA, USA