震惊!Google的AI驱动的OSS-Fuzz工具在开源项目中发现大量漏洞!

谷歌宣布,他们使用AI增强的模糊测试工具OSS-Fuzz,在多个开源代码库中发现了26个漏洞,其中包括OpenSSL加密库中的一个中等严重程度的缺陷。

技术要点:

  • OSS-Fuzz:这是一个由Google开发的免费模糊测试平台,专门为开源社区服务。模糊测试是一种通过提供无效、 неожиданный 或随机数据作为输入,来测试软件的健壮性的方法,目的是发现潜在的漏洞和错误。

  • AI-Powered Fuzzing:谷歌在2023年8月开始使用大型语言模型(LLM)来改进OSS-Fuzz的模糊测试覆盖率。LLM通过生成更多的模糊测试目标(类似于单元测试,用于测试相关功能以查找漏洞)来工作,从而实现更深层次的漏洞检测。

  • CVE-2024-9143:这是OpenSSL中的一个漏洞编号,CVSS评分为4.3。该漏洞是一个越界内存写入错误,可能导致应用程序崩溃或远程代码执行。OpenSSL 3.3.3、3.2.4、3.1.8、3.0.16、1.1.1zb和1.0.2zl版本中已修复此问题。

实际应用例子:

假设你正在开发一个处理图像的开源软件。你可以使用OSS-Fuzz来测试你的代码,看它是否能正确处理各种格式错误的图像文件。如果OSS-Fuzz发现了一个导致程序崩溃的图像文件,那么你就找到了一个需要修复的漏洞。

Demo 代码 (Python 示例):

python 复制代码
import atheris
import sys

def TestOneInput(data):
  if len(data) < 5:
    return
  if data[0] == ord('f'):
    if data[1] == ord('u'):
      if data[2] == ord('z'):
        if data[3] == ord('z'):
          if data[4] == ord('!'):
            raise RuntimeError("Boom!")

def main():
  atheris.Setup(sys.argv, TestOneInput)
  atheris.Fuzz()

if __name__ == "__main__":
  main()

这段代码定义了一个简单的模糊测试目标,当输入数据的前五个字节是"fuzz!"时,程序会崩溃。你可以使用Atheris(一个用于Python的模糊测试工具)来运行这个测试。

AI 的作用:

AI能够模仿开发人员的模糊测试工作流程,从而实现更高的自动化。通过AI生成和增强的模糊测试目标,可以发现那些人工编写的测试目标难以发现的漏洞. 谷歌表示,使用AI生成模糊测试目标已经提高了272个C/C++项目的代码覆盖率,并增加了超过37万行的新代码。

传统方法的局限性:

谷歌指出,仅仅依靠代码覆盖率并不能保证一个函数没有漏洞。代码覆盖率作为一个指标,无法测量所有可能的代码路径和状态。不同的标志和配置可能会触发不同的行为,从而发现不同的错误.

其他安全措施:

谷歌一直在努力将其自身的代码库过渡到内存安全语言(如Rust),同时改进现有的C++项目,以解决空间内存安全漏洞。这包括迁移到安全缓冲区和启用强化的libc++,后者为标准C++数据结构添加了边界检查,以消除一类重要的空间安全错误。虽然C++不会完全变为内存安全,但这些改进降低了风险,从而使软件更加可靠和安全。

相关推荐
lypzcgf2 分钟前
Coze源码分析-资源库-删除插件-后端源码-错误处理与总结
人工智能·后端·go·coze·coze源码分析·ai应用平台·agent平台
掘我的金9 分钟前
mpc4j 在 macOS M3(Apple Silicon)上的部署实录:JDK 21(Preview)与 FourQ 缺失排错
github
文心快码BaiduComate10 分钟前
WAVE SUMMIT深度学习开发者大会2025举行 文心大模型X1.1发布
前端·后端·程序员
SamDeepThinking19 分钟前
在Windows 11上配置Cursor IDE进行Java开发
后端·ai编程·cursor
知其然亦知其所以然26 分钟前
面试官微笑发问:第100万页怎么查?我差点当场沉默…
后端·mysql·面试
文心快码BaiduComate1 小时前
文心快码升级至3.5S版本,强化多智能体自协同能力
前端·后端·程序员
九章云极AladdinEdu1 小时前
AI集群全链路监控:从GPU微架构指标到业务Metric关联
人工智能·pytorch·深度学习·架构·开源·gpu算力
蒋星熠1 小时前
深入 Kubernetes:从零到生产的工程实践与原理洞察
人工智能·spring boot·微服务·云原生·容器·架构·kubernetes
即兴小索奇1 小时前
Google AI Mode 颠覆传统搜索方式,它是有很大可能的
前端·后端·架构
LucianaiB2 小时前
我用LazyLLM做了一个打工人述职Agent,朋友直呼打工人的福利,太完美了
后端