Google 提供基于AI的模糊测试框架

人工智能驱动的 OSS-Fuzz 工具可以帮助发现漏洞,并与自动修补管道相结合。

图片

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

       根据谷歌的说法,通过使用该框架在大型语言模型(LLM)的帮助下自动执行模糊测试方面,可以获得切实的安全提升。“我们使用LLM来编写特定于项目的代码,以提高模糊测试覆盖率并发现更多漏洞,”谷歌开源安全团队成员Dongge Liu和Oliver Chang以及机器语言安全团队成员Jan Nowakowski和Jan Keller在公司博客中写道。

       他们指出,到目前为止,OSS-Fuzz 及其由 LLM 生成的改进模糊测试策略已经让 Google 在 cJSON 和 libplist 中发现了两个新漏洞,尽管这两个广泛使用的项目已经被模糊测试了多年。他们补充说,如果没有完全由LLM生成的代码,这两个漏洞可能会很难被发现和修复。

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

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

       模糊测试可以捕获很多“唾手可得的果实”,但它也可能暴露一些高影响的项目,例如缓冲区溢出,渗透测试公司 Cobalt Labs 的网络安全服务主管 Gisela Hinojosa 补充道。“由于模糊测试是一项自动化测试,因此不需要额外的人员参与,”她说。“它只会做它的事情,你真的不必担心它。这是一种相对容易发现漏洞的方法。

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

       然而,Rust基金会的顾问、华盛顿特区国际事务和经济智库大西洋理事会的高级研究员Shane Miller警告说,“对模糊测试等动态测试工具的投资并不能替代设计安全策略,比如选择内存安全的编程语言,但它们是提高软件安全性的有力工具。

       Miller 补充道:“模糊测试通过探索具有意外输入的软件行为来扩大测试范围,这些输入可以发现漏洞,例如最近针对美国水处理厂、电网、石油和天然气管道以及交通枢纽的国家支持的网络攻击中利用的漏洞。

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

       “即使是这样,”Mehlberg 继续说道,“模糊测试工具也会使原本简单的构建环境复杂化,可能会产生大量误报,从而为已经捉襟见肘的团队带来审查和分析工作,并可能产生由于网络安全技能或经验不足而无法采取的行动。

安全是漏洞修复中最重要的一环

       谷歌还为开发人员和研究人员提供了使用LLM构建自动修补管道的指导。“这种人工智能驱动的补丁方法解决了15%的目标错误,为工程师节省了大量时间,”谷歌安全团队成员在他们的博客中写道。

       虽然使用 LLM 自动打补丁是一个有趣的想法,但 Hinojosa 指出,挑战在于 LLM 是否拥有在不破坏事物的情况下有效打补丁所需的所有上下文知识。“我认为自动化系统提出修复建议是一个好主意,但人类在实施之前手动审查它。

       “总的来说,打补丁最重要的部分不是自动化,而是安全,”普渡大学计算机科学助理教授Dave (Jing) Tian补充道。“事实证明,证明一个补丁完全符合其应有的作用并非易事,”他说。“因此,就目前而言,只能自动修复有限数量的漏洞类别。这些补丁很简单,例如将变量的 32 位整数更改为 64 位整数。对于更复杂的补丁,我们仍然需要并且应该要求领域专家在AI自动注入补丁后对其进行审查。

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

文章来源:csoonline

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149684.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

初学51单片机之I2C总线与E2PROM

首先先推荐B站的I2C相关的视频I2C入门第一节-I2C的基本工作原理_哔哩哔哩_bilibili 看完视频估计就大概知道怎么操作I2C了,他的LCD1602讲的也很不错,把数据建立tsp和数据保持thd,比喻成拍照时候的摆pose和按快门两个过程,感觉还是…

什么是SSL证书?它能保护你的网络安全!

相信大家在浏览网页时经常会看到一些网址前面有个“小锁”图标,它代表的网站是安全的,而这背后的秘密就是SSL证书。那SSL证书到底是什么?它有什么用呢? 什么是SSL证书? SSL证书的全称是Secure Sockets Layer证书&…

C/C++指针的前世今生

前言 老早之前就想写这个内容了,打了草稿后闲置了两个月,因为其他事就没再动过这个东西了,今天翻草稿箱的时候发现了它,就把它完善出来,顺便我也学习学习。 正文 指针的前世今生 前面先说一下,故事是随…

Linux文件IO(十一)-复制文件描述符与截断文件

1.复制文件描述符 在 Linux 系统中,open 返回得到的文件描述符 fd 可以进行复制,复制成功之后可以得到一个新的文件描述符,使用新的文件描述符和旧的文件描述符都可以对文件进行 IO 操作,复制得到的文件描述符和旧的文件描述符拥…

想转行AI大模型开发但不知如何下手?看这篇就够了!

原创 最近有很多小伙伴问我,之前从事的其他领域的编程,现在想要学习AI大模型开发的相关技能,不知道从哪下手,应该学习些什么,下面四个是我认为从事大模型开发,必须掌握的四个开源工具,大家可以…

2024年模式识别与图像分析国际学术会议(PRIA 2024)

2024年模式识别与图像分析国际学术会议(PRIA 2024) 2024 International Conference on Pattern Recognition and Image Analysis 2024年10月18-20日 南京 三轮截稿日期:10月10日 2024年模式识别与图像分析国际学术会议(PRIA 2…

流水线部署失败排查指南

在现代软件开发中,CI/CD(持续集成/持续交付)流水线是确保代码质量和快速交付的重要工具。然而,部署失败时,排查问题的能力至关重要。以下是一些常见的故障排查步骤和技巧。 ## 1. 检查流水线日志 首先,查看…

【JAVA-数据结构】时间空间复杂度计算案例

接着上一篇文章&#xff0c;对应举一些例子。 1.时间复杂度 【实例1】 // 计算func2的时间复杂度&#xff1f; void func2(int N) {int count 0;for (int k 0; k < 2 * N ; k) {count;} int M 10;while ((M--) > 0) {count;} System.out.println(count); } 基本操作…

什么是远程过程调用(RPC)

进程间通信(IPC) 进程间通信(Inter-Process Communication)是指两个进程或者线程之间传送数据或者信号的一些技术或者方法。进程是计算机进行资源分配的最小的单位。每个进程都有自己独立的系统资源,而且彼此之间是相对隔离的。为了使得不同的进程之间能够互相访问,相互协…

简单的mybatis batch插入批处理

简单的mybatis batch插入批处理 1.需求 公司的权限管理功能有一个岗位关联资源的分配操作&#xff0c;如果新增一个岗位&#xff0c;有时候需要将资源全部挂上去&#xff0c;原有的是for循环插入资源信息&#xff0c;发现有时候执行速度过慢&#xff0c;所以此处想修改为批处…

基于TCP协议的网络通信

TCP即传输控制协议&#xff0c;基于TCP协议的网络通信总是面向连接的&#xff0c;在通信过程中需要进行“三次握手&#xff0c;四次挥手”&#xff0c;这是众所周知的&#xff0c;所以这里不过多赘述。我们都知道TCP协议传输数据比较稳定&#xff0c;那么为什么稳定&#xff0c…

pip的安装和使用

pip的安装和使用 1、 pip 是一个现代的&#xff0c;通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。便于我们对Python的资源包进行管理。 2、注&#xff1a;pip 已内置于 Python 3.4 和 2.7 及以上版本&#xff0c;其他版本需另行安装。 3、在安…

RAG高级优化:一文看尽query的转换之路

准确地找到与用户查询最相关的信息是RAG系统成功的关键&#xff0c;如何帮助检索系统提升召回的效果是RAG系统研究的热门方向。本文将介绍三种query理解的方法&#xff0c;以增强检索增强生成(RAG)系统中的检索过程&#xff1a; 查询重写&#xff1a; 重新定义查询&#xff0c;…

[Python学习日记-29] 开发基础练习2——三级菜单与用户登录

[Python学习日记-29] 开发基础练习2——三级菜单与用户登录 简介 三级菜单 用户登录 简介 该练习使用了列表、字典、字符串等之前学到的数据类型&#xff0c;用于巩固实践之前学习的内容。 三级菜单 一、题目 数据结构&#xff1a; menu { 北京: { 海淀: { …

什么是unix中的fork函数?

一、前言 在本专栏之前的文档中已经介绍过unix进程环境相关的概念了&#xff0c;本文将开始介绍unix中一个进程如何创建出新进程&#xff0c;主要是通过fork函数来实现此功能。本文将包含如下内容&#xff1a; 1.fork函数简介 2.父进程与子进程的特征 3.如何使用fork创建新进程…

基于单片机的指纹打卡系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52RC&#xff0c;采用两个按键替代指纹&#xff0c;一个按键按下&#xff0c;LCD12864显示比对成功&#xff0c;则 采用ULN2003驱动步进电机转动&#xff0c;表示开门&#xff0c;另一个…

通俗讲解javascript的实例对象、原型对象和构造函数以及它们之间的关系

今天通俗讲解一下js的对象&#xff0c;因为要通俗&#xff0c;所以可能描述不甚准确。 在js中&#xff0c;想要创建一个对象&#xff0c;首先要写出构造函数&#xff08;跟其它的语言不太一样哦&#xff0c;其它语言一般都会先写一个class 类名&#xff09;。 构造函数写法如…

Transformer-LSTM网络的轴承寿命预测,保姆级教程终于来了!

概要 关于轴承寿命预测&#xff0c;网络上的文章、代码层出不穷&#xff0c;但是质量却是令人堪忧&#xff0c;有很多文章甚至存在误导嫌疑。本期代码是在小淘怒肝好几个夜晚整理出来的&#xff0c;本期代码可以帮你迅速掌握一个轴承寿命预测的全过程。 为了不误导我的读者朋…

YOLOv5独家改进:严重遮挡和重叠目标场景解决方案 | 一种新的自适应算法轻量级通道分割和变换(ALSS)模块,自适应特征提取优化策略

💡💡💡本文解决什么问题:红外检测场景存在严重遮挡和重叠目标时的局限性的问题点。 💡💡💡提出了一种新的自适应算法轻量级通道分割和变换(ALSS)模块。该模块采用自适应信道分裂策略优化特征提取,并集成信道变换机制增强信道间的信息交换。这改善了模糊特征的提…