震惊!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++不会完全变为内存安全,但这些改进降低了风险,从而使软件更加可靠和安全。

相关推荐
Hommy882 小时前
【开源剪映小助手】API 接口文档
开源·github·aigc·视频剪辑自动化·剪映api
IT枫斗者2 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
小码哥_常3 小时前
解锁AI编程密码:程序员常用的10个AI提示词
后端
laowangpython3 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
直奔標竿3 小时前
Java开发者AI转型第二十七课!Spring AI 个人知识库实战(六)——全栈闭环收官,解锁前端流式渲染终极技巧
java·开发语言·前端·人工智能·后端·spring
金銀銅鐵4 小时前
[java] 编译之后的记录类(Record Classes)长什么样子(上)
java·jvm·后端
uzong5 小时前
我研读了 500 个 Spring Boot 生产级代码库,90% 都犯了这 7 个致命错误
后端
AI自动化工坊6 小时前
Late框架技术深度解析:5GB VRAM实现10倍AI编码效率的工程架构
人工智能·5g·架构·ai编程·late
空中海6 小时前
第六篇:架构篇 — 微服务、部署、高并发与专家级能力
微服务·云原生·架构
xiaobaoyu6 小时前
ssm知识点梳理
后端