2021 · 会议论文
SoK:通过重托管实现嵌入式系统的安全分析
SoK: Enabling Security Analyses of Embedded Systems via Rehosting
系统化梳理“重托管”:把嵌入式固件从实体硬件迁移到虚拟环境中,该环境对硬件行为的建模足以支持模糊测试、符号执行等动态分析。作者以 2,574 个硬件配置衡量全系统仿真为何难以扩展,包括来自 Linux 5.11.4 的 1,956 个设备树二进制文件(DTB)和 618 个厂商提供的 ARM Cortex SVD 文件。他们将语料中的 CPU 型号与 QEMU 的支持情况对比,统计不同外设的数量,以驱动源码行数作为复杂度的近似指标,并以蒙特卡罗模拟逐个 SoC 添加外设模型。若要支持随机抽取的 10% SoC,Linux 语料约需 3,947 种外设,ARM Cortex 语料约需 1,730 种,而 QEMU 5.2 实现的外设为 1,083 种。论文随后按各系统在每一层采用仿真、替换、符号建模、透传至硬件或保持不变的方式对既有工作分类,描述含保真度评估的迭代式重托管流程,并列出开放问题。
研究范围与局限
这是一项结合测量研究的系统化综述,并非新的重托管工具。测量基于硬件描述而非固件镜像:设备树覆盖基于 Linux 的(Type-1)系统,SVD 文件只涵盖 ARM Cortex 硬件,且只统计样本数不少于十个的架构或厂商。驱动源码行数被明确作为外设建模工作量的粗略近似,闭源驱动则按所属架构的平均值计。“手工编写的硬件仿真器难以扩展”这一结论依赖于这些近似指标以及 2021 年初的 QEMU 5.2 与 OVPsim。作者指出,重托管保真度缺乏正式定义,也没有大规模保真度评估,因此分类法只对各方法作定性比较;同期的另一篇综述对保真度有更详细的讨论。
与本合集的关联
补充一篇界定固件重托管领域的综述,为合集中的 Firmadyne、FirmAE、HALucinator 等具体重托管系统提供共同的术语与分类框架。
发表与复核详情
- 发表载体
- ACM ASIA CCS 2021
- 发表状态
- 会议论文
- 出版/提交日期
- 2021 年 5 月 24 日
- 日期依据
- 采用 ACM 在 Crossref 登记的印刷出版日期;在线出版日期在元数据说明中单独记录。本条目不采用 6 月 7—11 日的会议日期。
- DOI
- 10.1145/3433210.3453093
ACM 元数据记载印刷出版于 2021-05-24,在线出版于 2021-06-04,页码为 687–701,十二位作者顺序如本条目所列。论文以 CC BY 4.0 许可发布。审阅期间 dl.acm.org 拒绝自动请求,因此 15 页 ACM PDF 依据 Wayback Machine 对其原地址的存档副本阅读。脚注 3 链接 igloo-re/rehosting_sok,现已重定向至 rehosting/rehosting_sok。所审阅的 2021-06-08 提交采用 MIT 许可,构建基于 Ubuntu 20.04、含 QEMU 5.2.0 的 Docker 镜像,生成 1,956 个 DTB,并输出表 1–3 与蒙特卡罗模拟结果所依据的数据。其 SVD 分析会克隆最新的 posborne/cmsis-svd 仓库,README 提醒结果会随该仓库更新而略有变化。该仓库用于复现上述测量,并非重托管工具。本次未构建或运行任何内容。
来源复核于
本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。
一手来源
- https://dl.acm.org/doi/10.1145/3433210.3453093
- https://api.crossref.org/works/10.1145/3433210.3453093
- https://web.archive.org/web/20250427221838/https://dl.acm.org/doi/pdf/10.1145/3433210.3453093
- README.md GitHub · rehosting/rehosting_sok · 修订 499b625
- LICENSE GitHub · rehosting/rehosting_sok · 修订 499b625
- Dockerfile GitHub · rehosting/rehosting_sok · 修订 499b625