#software-testing

共收录 2 条相关安全情报。

← 返回所有主题
👥 作者: Baihong Chen, Hua Ming, Weifeng Pan, Tian Xie, Haipeng Cai, Wen Li

本文是一项关于多驱动模糊测试(multi-driver fuzzing)的实证研究。许多软件通过命令行选项、子命令和配置标志暴露多种执行模式。对于这类程序,模糊测试同时依赖于变异的输入和所调用的模式,但现有评估主要关注覆盖率和 bug 数量,尚未清楚执行模式如何划分、重叠和遗漏软件结构,以及这些差异如何影响模糊测试的有效性。为此,作者提出了一种结构抽象方法:以静态调用图作为共享骨干,将驱动特定的动态覆盖率投影到骨干上,从而派生出驱动诱导子图。基于该抽象,他们开发了四阶段方法论:骨干构建、模糊测试与剖析、基于图的分析、以及由研究问题驱动的评估。作者将该方法应用于从 OSS-Fuzz 派生的 27 个 C/C++ 项目,涵盖 43 个可执行文件和 854 个驱动配置。实验结果表明,在相同的总预算下,多驱动模糊测试优于最佳单驱动基线:覆盖的调用图节点增加了 27.9%,CFG 边覆盖增加了 73.5%,并发现了 11 个主要由单驱动模糊测试遗漏的独特 bug 和异常行为。然而,驱动贡献并不均匀:子图在凝聚力、碎片化、模块性、重叠等方面差异显著,残余的未探索区域遵循重复出现的模式而非均匀尾部。这些结果说明,多驱动模糊测试从根本上是一个结构探索问题。该研究为理解多驱动模糊测试的结构特性提供了深入见解,并为优化驱动配置和模糊测试策略提供了指导。

💡 推荐理由: 该研究揭示了多驱动模糊测试在软件结构覆盖上的显著优势,能够帮助安全团队更有效地配置多模式软件的模糊测试,提高漏洞发现效率。其结构化分析方法可迁移到其他模糊测试评估和优化场景。

🎯 建议动作: 研究跟进

排序因子: 影响边界/网络设备 (+5) | 来自 arXiv 其他板块 (+2) | 命中热门研究主题 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
推荐 9.5
Conf: 50%
👥 作者: Jingxuan He, Gishor Sivanrupan, Petar Tsankov, Martin T. Vechev

符号执行是一种强大的测试生成技术,能够自动探索程序路径并发现漏洞。然而,其可扩展性受限于路径爆炸问题:随着执行深入,需要探索的符号状态数量急剧增加,导致计算资源耗尽。现有符号执行引擎通常依赖手工设计的启发式策略(如随机选择、最近未覆盖分支优先等)来选择下一个要探索的符号状态,但这些策略往往不够高效,难以适应不同程序的结构。本文提出了一种基于学习的方法来自动优化路径探索策略。具体而言,作者将路径选择建模为序列决策问题,利用强化学习或监督学习(摘要未明确,但通常为学习算法)训练一个模型,根据当前程序状态和已探索路径的历史,预测最有希望到达目标分支的符号状态。该方法能够动态调整探索优先级,从而更有效地覆盖关键代码区域。实验在标准基准集(如Coreutils)上进行,结果表明,与传统的启发式策略(如DFS、随机)相比,该方法在相同时间内能覆盖更多的分支,并生成更高的代码覆盖率。此外,该方法还减少了探索过程中内存和时间的消耗。主要贡献包括:1) 形式化了符号执行中的路径选择问题为一个可学习任务;2) 提出了一种基于学习的探索算法;3) 在多个真实程序上验证了其有效性。本文适合安全研究人员和软件测试工程师阅读,有助于理解如何将机器学习与经典符号执行结合以提升自动化漏洞发现效率。

💡 推荐理由: 符号执行是自动化漏洞发现的核心技术,路径爆炸是其实际应用中的主要障碍。本文通过机器学习优化路径选择,有望显著提升符号执行的可扩展性和实用性,进而提高软件安全测试的效率。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)