谷歌开源人工智能(AI)辅助模糊测试框架

随着开源软件在技术生态系统中扮演着越来越重要的角色,其安全问题也日益凸显。幸运的是,Google近期开源的人工智能(AI)辅助模糊测试(Fuzzing)框架,为解决这一挑战提供了新的安全解决方案。

前言

近年来,网络安全漏洞频发,给个人和企业带来巨大损失。为了帮助开发者和研究人员更快地发现漏洞,谷歌开源了其AI辅助模糊测试框架。该框架利用大型语言模型 (LLM) 为现实世界的C和C++项目生成模糊测试用例,并利用谷歌的OSS-Fuzz服务对其进行基准测试。OSS-Fuzz服务长期以来一直是自动发现开源软件漏洞的主要资源。

AI赋能模糊测试,显著提升漏洞发现效率

为了自动化手动模糊测试的某些方面,谷歌在2023年8月开始使用LLM “编写特定项目的代码以提高模糊测试覆盖率并发现更多漏洞”,这使得超过300个OSS-Fuzz C/C++项目的代码覆盖率增加了30%。

谷歌表示:“到目前为止,LLM生成的改进所提供的扩展模糊测试覆盖率使OSS-Fuzz发现了cJSON和libplist(两个已经模糊测试多年的广泛使用的项目)中的两个新漏洞。”

开源框架带来广阔应用前景

该开源工具支持Vertex AI code-bison、Vertex AI code-bison-32k、Gemini Pro、OpenAI GPT-3.5-turbo和OpenAI GPT-4。此外,谷歌表示,该工具使用来自生产环境的最新数据根据四个指标评估生成的模糊测试目标,这些指标包括可编译性、运行时崩溃、运行时覆盖率以及与OSS-Fuzz中现有人工编写的模糊测试目标的运行时行覆盖率差异。

谷歌指出:“总而言之,该框架成功地利用LLM为160个C/C++项目生成了有效的模糊测试目标(产生非零覆盖率增加)。最大行覆盖率增加量比现有的人工编写的目标高29%。”

该开源框架允许研究人员和开发人员使用自己的提示来测试生成的模糊测试目标的有效性,并根据OSS-Fuzz C/C++项目测量结果。

不止于漏洞发现,AI助力漏洞修复

除了用于漏洞发现的模糊测试之外,谷歌还在研究如何将LLM用于漏洞修补,并已经提出了一个项目,用于构建LLM生成和测试修复程序的自动化管道。

谷歌表示:“这种AI驱动的修补方法解决了15%的目标漏洞,为工程师节省了大量时间。这种技术的潜力应该适用于软件开发过程中的大部分或所有类别。”

传统模糊测试利器OSS-Fuzz

介绍了谷歌开源的另一款著名模糊测试工具OSS-Fuzz。OSS-Fuzz是一个持续集成/持续交付 (CI/CD) 管道,可自动将模糊测试集成到开源软件项目的开发过程中。它利用各种模糊测试引擎和内存错误检测工具来发现安全漏洞和稳定性问题。

谷歌开源人工智能(AI)辅助模糊测试框架

截至2023年8月,OSS-Fuzz已帮助在1000个项目中识别和修复了超过10,000个漏洞和36,000个bug。

总结与参考

Google开源的AI辅助Fuzzing框架是软件开发安全领域的一次重大创新,OSS-Fuzz代表了模糊测试领域的最新进展,为提高开源软件的安全性提供了强有力的工具此举不仅能够提升现有Fuzzing方法的效率,还能够通过自动生成的Fuzz目标加速漏洞发现和修复过程。随着AI技术在软件开发过程中的应用不断深化,我们有理由相信随着AI技术的不断发展,模糊测试将会变得更加智能和高效,助力构建更安全的网络空间。

项目:https://github.com/google/oss-fuzz

原创文章,作者:batsom,如若转载,请注明出处:https://www.cncso.com/google-open-sources-ai-aided-fuzzing-framework.html

(0)
上一篇 2024年2月3日 下午6:44
下一篇 2024年2月5日 下午7:29

发表回复

登录后才能评论