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

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

- 作者：Jonas Zaddach; Luca Bruno; Aurélien Francillon; Davide Balzarotti
- 原标题：Avatar: A Framework to Support Dynamic Security Analysis of Embedded Systems’ Firmwares
- 发表载体：NDSS 2014
- 发表状态：会议论文
- 出版／提交日期：2014 年（具体日期未核实）
- 日期依据：Internet Society 向 Crossref 提交的元数据仅给出出版年份 2014；出版方 PDF 另列研讨会日期为 2014 年 2 月 23—26 日，本条目不据此推定出版月份或日期。
- DOI：10.14722/ndss.2014.23229
- 来源复核于：2026-10-19
- 收录于：2026-10-28
- 原始论文：<https://www.ndss-symposium.org/ndss2014/ndss-2014-programme/avatar-framework-support-dynamic-security-analysis-embedded-systems-firmwares/>
- PDF：<https://www.ndss-symposium.org/wp-content/uploads/2017/09/02_3_1.pdf>
- 代码：<https://github.com/avatarone/avatar-python>
- 项目：<https://s3.eurecom.fr/tools/avatar/>
- BibTeX：<https://awesomerea.org/papers/citations/paper-avatar.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-avatar/>
- 记录 JSON：<https://awesomerea.org/papers/paper-avatar/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-avatar/index.md)

## 研究范围与局限

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

## 与本合集的关联

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

## 发表与复核说明

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 仓库。

## 一手来源

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. <https://github.com/avatarone/avatar-python/blob/c6d74f85f63333e3031e1f5e208d3f90e316a9e4/README.rst>
6. <https://github.com/avatarone/avatar-python/blob/c6d74f85f63333e3031e1f5e208d3f90e316a9e4/COPYRIGHT>

## 关于此条目

已依据论文及一手来源复核。请通过原始论文或 BibTeX 引用原作者。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
