用户友好的模糊测试工具Sienna Locomotive发布

Trail of Bits团队发布开源Windows模糊测试工具Sienna Locomotive,通过简化配置流程、智能函数定位和崩溃分类三大特性,降低安全测试门槛,帮助开发者更高效地发现软件漏洞。

用户友好的模糊测试工具Sienna Locomotive

模糊测试是发现软件缺陷的有效方法,但许多开发者并未采用。我们希望通过发布Sienna Locomotive改变这一现状——这款面向Windows的开源模糊测试工具特别强调易用性,旨在让安全经验有限的开发者也能轻松使用。

被低估的模糊测试

在Trail of Bits,我们虽然每天使用最先进的程序分析工具,但随机模糊测试的缺陷发现能力仍不可替代。

过去开源开发者曾相信"众目睽睽"假说,认为开源项目更不易出现安全问题。但近年事实证明,这种情况仅适用于高价值目标。以OpenSSL为例,2014年它在至少2/3的Web服务器上运行,但研究人员仍花费两年多才发现Heartbleed漏洞。正如Google在发布OSS-Fuzz时强调:“开源基础必须稳定、安全、可靠,因为它的裂缝会影响所有构建者。”

使用门槛过高

模糊测试工具使用率低的主要原因在于其复杂性,特别是Windows平台。主流工具WinAFL对目标函数有严格限制,且多数模糊测试工具针对Unix设计——尽管Windows占据75%以上的市场份额。开发者往往因此放弃为Windows软件配置模糊测试。

解决方案

我们认为安全工具只有被实际使用才有价值。与其追求更高的代码覆盖率或执行速度,我们选择降低使用门槛,开发了Sienna Locomotive。

Sienna Locomotive三大特性

简易配置

开发者只需提供可执行文件路径和命令行参数即可配置新目标。除需要设置超时的特殊情况外,几乎无需其他配置。

智能函数定位

开发者无需精心选择目标函数或修改二进制文件。工具会扫描获取用户输入的函数(如ReadFile或fread),让开发者选择特定调用进行测试。这对增量读取程序特别有用,可精准测试文件特定部分。

崩溃智能分类

结合Breakpad、!exploitable的启发式算法,以及Winchecksec和自定义污点追踪器的信息,工具能评估每个崩溃的严重程度,帮助开发者确定调试优先级。

适用场景

如果您是Windows开发者而非安全专家,Sienna Locomotive可能是理想选择。它能让您用最小投入测试远超单元测试覆盖范围的输入组合。在开发过程中,还可通过仅测试新功能提高效率。

需要注意的是,本工具为易用性牺牲了部分性能。如果您追求测试案例吞吐量,或需要每秒数千次迭代测试Chrome等大型软件,本工具可能不适合。

立即体验

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计