谷歌推出免费模糊测试框架OSS-Fuzz,大大提升安全测试效率!

攻防
1月前

1709539033809525.jpg

模糊测试可以成为找出软件中零日漏洞的宝贵工具。为了鼓励开发人员和研究人员使用它,谷歌近日宣布现在提供对其模糊测试框架OSS-Fuzz的免费接入使用。

据谷歌称,通过使用该框架在大型语言模型(LLM)的帮助下自动化模糊测试的在手动设置、处理、分析方面的工作,获得切实的安全改进。谷歌开源安全团队成员Dongge Liu 和Oliver Chang以及机器语言安全团队成员Jan Nowakowski和Jan Keller在公司博客中写道:“我们使用大型语言模型(LLMs)来编写项目特定的代码,以提高模糊测试的覆盖率并发现更多的漏洞“。

他们指出,到目前为止,OSS-Fuzz及其由LLM生成的改进提供的扩展模糊测试覆盖范围已使Google能够发现cJSON和libplist中的两个新漏洞,尽管这两个广泛使用的项目已经进行模糊测试多年了。他们补充说,如果没有完全由LLM生成的代码,这两个漏洞可能会一直未被发现和修复。

模糊测试是一种自动化测试

Synopsys Software Integrity Group(一家针对 DevSecOps 优化的安全平台提供商)的高级安全产品经理John McShane表示:“模糊测试已经存在了几十年,并且因其成功地发现以前未知的或零日漏洞而越来越受欢迎。” “臭名昭著的 Heartbleed 漏洞是安全工程师使用商业模糊测试产品Defensics发现的。”

渗透测试公司Cobalt Labs的网络安全服务主管吉塞拉•伊诺霍萨 (Gisela Hinojosa) 补充道,模糊测试可以捕捉到许多“容易实现的目标”,但它也可能暴露一些影响较大的项目,例如缓冲区溢出。“由于模糊测试是一种自动化测试,因此它不需要保姆式的监督,”她说。“它只会做它该做的事,你实际上不必担心。这是查找漏洞的相对简单的方法。”

模糊测试不能替代基于设计的安全策略

Shane Miller警告说,对模糊测试等动态测试工具的投资不能替代像选择内存安全编程语言这样的基于设计的安全策略,但它们是提高软件安全性的有力工具。

米勒补充道:“模糊测试通过使用意想不到的输入来探索软件行为,从而扩大了测试范围,这些输入可以揭示诸如最近针对美国水处理厂、电网、石油和天然气管道以及交通枢纽的国家资助的网络攻击中所利用的漏洞。”

虽然模糊测试对开发人员有利,但其手动设置、处理、分析方面一直阻碍开源维护人员有效地对其项目进行模糊测试——谷歌希望通过提供对其模糊测试框架的免费接入来解决这个问题。“由于开源维护者通常是没有资金或资金有限的志愿者,因此花时间并支付运行资源密集型工具的成本并不总是可行的,”软件供应链安全公司Dark Sky Technology 的首席执行官 Michael J. Mehlberg 说。

即使如此,”Mehlberg 继续说,“模糊测试工具可能会使原本简单的构建环境变得复杂,可能会产生大量的误报,为已经紧张的团队带来审查和分析工作,并且可能由于网络安全技能或经验不足而无法采取行动。”

修补程序最重要的是安全性,并非自动化

谷歌还为开发人员和研究人员提供了使用大语言模型构建自动补丁管道的指南。谷歌安全团队成员在博客中写道:“这种AI驱动的补丁方法解决了15%的目标漏洞,为工程师节省了大量时间。”

虽然使用大语言模型实现补丁自动化是一个有趣的想法,但希诺霍萨指出,挑战在于让大语言模型拥有有效补丁所需的所有上下文知识,同时又不会破坏其他东西。“我认为让自动化系统提出修复建议是个好主意,但在实施之前,应该由人手动审查。”

普渡大学计算机科学助理教授 Dave (Jing) Tian 补充道:“总的来说,补丁最重要的部分不是自动化,而是安全性。”他说:“事实证明,要证明一个补丁完全做了它应该做的事情——不多也不少——并不是一件容易的事。”“所以,目前,只有有限数量的补丁可以自动注入。这些补丁是简单的,比如将变量的32位整数更改为64位整数。对于更复杂的补丁,我们仍然需要并应该在AI注入补丁后请领域专家对其进行审查。

* 本文为靳东东编译,图片均来源于网络,无法联系到版权持有者。如有侵权,请与后台联系,做删除处理。

— 【 THE END 】—