# 面向基于 Linux 的嵌入式固件的自动化动态分析

> Firmadyne 对路由器、IP 摄像头等联网商用设备中基于 Linux 的固件进行爬取、提取与仿真。它以预先构建并插桩的小端 ARM 及小端、大端 MIPS 内核替换厂商内核，在 QEMU 全系统仿真中配合用户态 NVRAM 库启动提取出的文件系统，推断网络配置，再运行自动化分析，包括 60 个已知漏洞利用和 14 个新发现的漏洞利用。作者从 42 家厂商的 23,035 个固件映像中提取出 9,486 个，并报告在 1,971 个网络可达映像中有 887 个至少受一个所选漏洞利用影响。

- 作者：Daming D. Chen; Manuel Egele; Maverick Woo; David Brumley
- 原标题：Towards Automated Dynamic Analysis for Linux-based Embedded Firmware
- 发表载体：NDSS 2016
- 发表状态：会议论文
- 出版／提交日期：2016 年（具体日期未核实）
- 日期依据：Internet Society 向 Crossref 提交的元数据仅给出出版年份 2016；出版方 PDF 另列研讨会日期为 2016 年 2 月 21—24 日，本条目不据此推定出版月份或日期。
- DOI：10.14722/ndss.2016.23415
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始论文：<https://doi.org/10.14722/ndss.2016.23415>
- PDF：<https://www.ndss-symposium.org/wp-content/uploads/2017/09/towards-automated-dynamic-analysis-linux-based-embedded-firmware.pdf>
- 代码：<https://github.com/firmadyne/firmadyne>
- BibTeX：<https://awesomerea.org/papers/citations/paper-firmadyne.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-firmadyne/>
- 记录 JSON：<https://awesomerea.org/papers/paper-firmadyne/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-firmadyne/index.md)

## 研究范围与局限

该工作面向小端 ARM 及小端、大端 MIPS 上基于 Linux 的固件，这些平台占数据集的 90.8%；x86、VxWorks 及其他实时操作系统不在系统支持范围内。其预构建内核不加载厂商的树外内核模块，因此无法检查厂商内核及模块，插桩仿真也不等同于设备原有行为。仿真流程逐级大幅收窄：在初始仿真成功的 8,591 个映像中，2,797 个推断出网络配置，1,971 个能响应 ping。论文列出的原因包括 NVRAM 语义、网络接口命名，以及 ARM 平台仅仿真一个以太网设备等。系统不区分 WAN 与 LAN 端口，因此不能确认可否远程利用；结果按固件映像而非独立产品计数，并受厂商构成偏差影响。FirmAE 扩展了 Firmadyne 以解决此类仿真失败；这些 2016 年的比率并非当前的仿真数据。

## 与本合集的关联

补充采用内核替换与用户态 NVRAM 的全系统固件仿真框架，FirmAE 等后续重托管研究在其基础上展开。

## 发表与复核说明

Crossref 仅给出年份而无页码；PDF 页脚标明 NDSS ’16 于 2016 年 2 月 21—24 日在圣迭戈举行，并载有 ISBN 1-891562-41-X 与 DOI。该 DOI 直接解析至 NDSS PDF。各来源的数字存在差异：论文附录按厂商列出的表格合计 8,893 个已提取映像，而摘要与正文为 9,486 个；仓库 README 报告 1,971 个映像中有 846 个（43%）存在漏洞，论文则为 887 个（45%）。firmadyne/firmadyne 的 2024-07-21 快照采用 MIT 许可，自称是尚不适合生产环境的研究工具，并说明论文结果使用了预发布版本的工具链、内核及组件，按版本或提交逐项列出。当前 Dockerfile 使用 Ubuntu 22.04 并以特权模式运行，download.sh 从 GitHub 发布页下载预构建的内核、console 与 libnvram 二进制。厂商固件映像与 Metasploit 漏洞利用适用各自条款。

## 一手来源

1. <https://doi.org/10.14722/ndss.2016.23415>
2. <https://api.crossref.org/works/10.14722/ndss.2016.23415>
3. <https://www.ndss-symposium.org/wp-content/uploads/2017/09/towards-automated-dynamic-analysis-linux-based-embedded-firmware.pdf>
4. <https://github.com/firmadyne/firmadyne/blob/11cb574cda0a5540ab7e36aa9b43679dc02c5788/README.md>
5. <https://github.com/firmadyne/firmadyne/blob/11cb574cda0a5540ab7e36aa9b43679dc02c5788/LICENSE.txt>
6. <https://github.com/firmadyne/firmadyne/blob/11cb574cda0a5540ab7e36aa9b43679dc02c5788/Dockerfile>
7. <https://github.com/firmadyne/firmadyne/blob/11cb574cda0a5540ab7e36aa9b43679dc02c5788/download.sh>

## 关于此条目

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