信息网络安全 ›› 2025, Vol. 25 ›› Issue (4): 654-663.doi: 10.3969/j.issn.1671-1122.2025.04.013

• 理论研究 • 上一篇    下一篇

一种面向固件网络应用的高效灰盒模糊测试方法

常振轩, 郑之涵, 梅傲寒, 谭毓安()   

  1. 北京理工大学网络空间安全学院,北京 100081
  • 收稿日期:2024-09-29 出版日期:2025-04-10 发布日期:2025-04-25
  • 通讯作者: 谭毓安 tan2008@bit.edu.cn
  • 作者简介:常振轩(2003—),男,河北,博士研究生,主要研究方向为固件安全、模糊测试|郑之涵(2000—),男,山西,博士研究生,主要研究方向为固件安全、UEFI安全、模糊测试|梅傲寒(2002—),男,湖北,硕士研究生,主要研究方向为固件安全、系统安全|谭毓安(1972—),男,重庆,教授,博士,主要研究方向为固件安全、数据安全。
  • 基金资助:
    国家自然科学基金(U2336201)

An Efficient Gray-Box Fuzzing Approach for Firmware Network Applications

CHANG Zhenxuan, ZHENG Zhihan, MEI Aohan, TAN Yu’an()   

  1. School of Cyberspace Science and Technology, Beijing Institute of Technology, Beijing 100081, China
  • Received:2024-09-29 Online:2025-04-10 Published:2025-04-25

摘要:

灰盒模糊测试是针对通用软件程序进行脆弱性分析和漏洞挖掘的有效方式,但无法直接应用于固件设备。文章首先从功能性、有效性和持续性三个方面对灰盒模糊测试的基本技术要求进行系统梳理,指出现有的固件灰盒模糊测试方法存在配置复杂、通用性差、虚拟机内省系统开销大等不足之处。随后提出一种面向固件网络应用的高效灰盒模糊测试方法,通过对客户机网络相关的系统调用进行监测,利用页目录地址来标识目标进程进而收集代码覆盖信息。该方法不需要复杂的虚拟机内省系统支持即可满足灰盒模糊测试的三项基本技术要求。基于该方法,作者开发出支持多种网络协议的原型系统FAN(FirmAFLNet),并使用该系统对两种固件网络应用进行测试。相较于使用虚拟机内省系统,该方法引入的时间开销从12%下降到4%左右,实验结果证明了该方法的有效性。

关键词: 固件安全, 脆弱性分析, 灰盒模糊测试

Abstract:

Gray-box fuzzing is an effective way to conduct vulnerability analysis and exploit discovery on general software programs, but it cannot be directly applied to firmware devices. This paper first systematically summarized the basic technical requirements of gray-box fuzzing from the perspectives of functionality, effectiveness, and sustainability. Then it pointed out that existing firmware gray-box fuzzing methods for firmware suffer from complex configuration, poor generality, and significant overhead from the virtual machine introspection system. Subsequently, an efficient gray-box fuzzing approach for firmware network applications was proposed, which monitored the guest machine’s network-related system calls and leveraged the page directory address to identify the target process and collect code coverage information. The approach could meet the three basic technical requirements of gray-box fuzzing without the support of any complex virtual machine introspection system. Based on the proposed approach, the author developed a prototype system called FAN (FirmAFLNet), which supported various network protocols and was used to test two firmware network applications. Compared to using a virtual machine introspection system, the time overhead introduced by the approach has decreased from 12% to about 4%. The experimental results fully demonstrate the effectiveness of the approach.

Key words: firmware security, vulnerability analysis, gray-box fuzzing

中图分类号: