2014 · 会议论文

Avatar:支持嵌入式系统固件动态安全分析的框架

Avatar: A Framework to Support Dynamic Security Analysis of Embedded Systems’ Firmwares

Avatar 在插桩模拟器(基于 QEMU 的 S²E)中运行嵌入式固件,同时把内存映射 I/O 转发给真实设备,并将设备产生的中断注入回模拟器,使依赖无文档外设的固件仍可接受动态分析。框架经由 OpenOCD 通过 JTAG 访问设备,或通过串口上的小型调试桩访问。由于经 38400 波特串口转发每次访问非常缓慢(作者的一次测量中约为每秒五条指令),Avatar 还会把从不表现为 I/O 的内存保留在模拟器本地,将选定代码迁移到设备上原生运行,并在两者之间切换状态。结合 S²E 的选择性符号执行,作者检查了硬盘掩膜 ROM 引导程序中的隐藏命令、一个 IEEE 802.15.4 传感器节点中人为注入的溢出,以及一部 GSM 功能手机的短信解码例程。

研究范围与局限

Avatar 需要实体设备以及可用的调试通道或可注入的调试桩;它不对外设建模,因此不是独立的固件重托管。三个案例均为 ARM 设备(采用 ARM966 内核的硬盘、Redwire Econotag 与 Motorola C118 手机),每个案例都需人工选择挂钩点与代码区域。完全分离模式过慢,无法处理 DRAM 初始化等时间敏感代码;作者也指出,由 DMA 或迁移到设备上运行的代码修改的内存,难以与模拟器保持同步。传感器节点中的漏洞是人为插入演示程序的,引导程序研究确认的是已有文档的命令,而非发现后门;手机的 GSM 协议栈对符号执行而言过于复杂,在状态爆炸前探索了 42 个子程序,未发现可利用条件。这些是 2014 年的结果,所用 S²E 由作者扩展了 ARM 支持。

与本合集的关联

补充将模拟器 I/O 转发至真实设备的硬件在环固件分析方法,与合集中基于仿真的固件重托管研究互为补充。

发表与复核详情

发表载体
NDSS 2014
发表状态
会议论文
出版/提交日期
2014 年(具体日期未核实)
日期依据
Internet Society 向 Crossref 提交的元数据仅给出出版年份 2014;出版方 PDF 另列研讨会日期为 2014 年 2 月 23—26 日,本条目不据此推定出版月份或日期。
DOI
10.14722/ndss.2014.23229

Crossref 给出标题、四位作者顺序及年份 2014,未列页码。DOI 登记的目标地址是一个以编码撇号结尾的 /ndss2014/programme/ 链接,2026-10-19 访问时返回 HTTP 404,因此本条目使用可访问的 NDSS 会议议程页面,该页面链接 16 页 PDF 与幻灯片。PDF 页脚标明 NDSS ’14 于 2014 年 2 月 23—26 日在圣迭戈举行,载有 ISBN 1-891562-35-5,但 DOI 一行为占位符“http://dx.doi.org/OETT”;本条目记录的是 Crossref DOI。论文指明框架位于 EURECOM 项目页面,该页面现已注明项目停止维护,并指向后续项目 Avatar²(avatartwo/avatar2);后者是较晚的独立项目,不在本条目范围内。该页面链接 Python 核心库,其 eurecom-s3 地址重定向至 avatarone/avatar-python;所审阅的 2016-10-18 提交采用 Apache-2.0 许可(版权归 Institut Eurecom 2013–2014),并指向另行存放的 NDSS’14 示例、修改版 S²E 与 OpenOCD 仓库。本次未安装或运行代码,也未使用任何设备。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

报告条目过时 建议修正翻译

一手来源

  1. https://www.ndss-symposium.org/ndss2014/ndss-2014-programme/avatar-framework-support-dynamic-security-analysis-embedded-systems-firmwares/
  2. https://api.crossref.org/works/10.14722/ndss.2014.23229
  3. https://www.ndss-symposium.org/wp-content/uploads/2017/09/02_3_1.pdf
  4. https://s3.eurecom.fr/tools/avatar/
  5. README.rst GitHub · avatarone/avatar-python · 修订 c6d74f8
  6. COPYRIGHT GitHub · avatarone/avatar-python · 修订 c6d74f8