利用状态数据感知模糊测试测试固态硬盘固件:在非确定性 I/O 环境中加速覆盖率
软件工程
2025-05-07 v1
摘要
固态硬盘(SSD)固件管理着复杂的内部状态,包括闪存维护。由于非确定性的 I/O 操作,传统的测试方法难以快速覆盖那些需要大量 I/O 累积的固件代码区域。为应对这一挑战,我们提出了一种状态数据感知的模糊测试方法,该方法利用 SSD 固件的内部状态,在非确定性 I/O 条件下引导输入生成,并加速覆盖率发现。我们使用一个开源的 SSD 固件仿真器进行的实验表明,所提出的方法在达到与最先进的基于覆盖率的模糊测试器(AFL++)相同的固件测试覆盖率时,所需的命令数量减少了约 67%,且未减少检测到的崩溃或挂起次数。此外,我们通过引入除基本写入/读取操作之外的各种 I/O 命令来扩展实验,以反映真实的用户场景,并证实我们的策略对于多种类型的 I/O 测试仍然有效。我们进一步验证了状态数据感知模糊测试在 I/O 环境下进行固件测试的有效性,并建议未来可将此方法扩展到其他存储固件或基于阈值的嵌入式系统。
引用
@article{arxiv.2505.03062,
title = {Testing SSD Firmware with State Data-Aware Fuzzing: Accelerating Coverage in Nondeterministic I/O Environments},
author = {Gangho Yoon and Eunseok Lee},
journal= {arXiv preprint arXiv:2505.03062},
year = {2025}
}
备注
6 pages, 3 figures. This paper has been accepted at the 29th International Conference on Evaluation and Assessment in Software Engineering (EASE 2025)