Google希望进行“模糊测试(fuzz testing,fuzzing)”,为程序提供随机数据输入,作为开源开发的标准部分。
为此,它刚刚在GitHub上推出了一个用于OSS-Fuzz的测试计划的项目,其目的在于推动现代模糊技术标准化,并将它们与可以根据需要扩展的分布式执行模型相结合,以确保重要开源项目的安全性。
根据维基百科的解释:“模糊测试是一种软件测试技术,通常是自动或半自动的,涉及向计算机程序的输入提供无效、意外或随机数据。然后,监视程序是否有异常,例如崩溃、内置代码断言失败或查找潜在的内存泄漏。”
Google表示,这种技术可以用来确保流行的开源组件(特别是被认为是全球IT基础设施的关键部分)是稳定、安全和可靠的。
“最近的安全故事证实,缓冲区溢出和释放后使用的错误会在关键的开源软件中导致严重的后果”,该公司在最近的一篇博客中说。“这些错误不仅严重,而且通过常规代码审计很难发现,即使对于有经验的开发人员也是如此。这就让模糊测试应运而生。通过生成给定程序的随机输入,模糊触发并帮助快速彻底地发现错误。”
OSS-Fuzz将利用ClusterFuzz项目在可扩展的分布式执行环境中将不同的模糊引擎(从libFuzzer开始)和其他组件组合在一起。
该公司表示,该项目迄今已在流行的开源项目中发现了150个错误。
目前,OSS-Fuzz只对有大量用户群或者对全球IT基础架构至关重要的开源软件提供服务。这暗示着,尽管没有直截了当地说明,这一切仍会变化。“通过你的帮助,我们可以将模糊测试作为开源发展中的一个标准规范,并和广大开发者、安全测试人员一道,确保那些重要开源应用、库以及API中的程序错误都能被发现和修复。”
时间:2016-12-14 08:53
来源:开源中国社区
作者:刘志勇
原文链接