【论文速读】| 大语言模型引导的协议模糊测试

图片

本次分享论文为:Large Language Model guided Protocol Fuzzing

基本信息

原文作者:Ruijie Meng, Martin Mirchev, Marcel Böhme, Abhik Roychoudhury

作者单位:新加坡国立大学,MPI-SP,莫纳什大学

关键词:大语言模型,协议模糊测试,网络安全

原文链接:

https://dx.doi.org/10.14722/ndss.2024.24556

开源代码:

https://github.com/ChatAFLndss/ChatAFL

论文要点

论文简介:研究团队提出了一种由大语言模型(LLM)引导的协议模糊测试的新颖方法,旨在提升网络协议安全测试的效率和成效。这种方法通过使用预先训练好的大语言模型来提取协议的机器可读信息,以指导模糊测试的过程。这不仅显著增加了状态和代码的覆盖率,而且还发现了多个之前未被发现的漏洞。

图片

研究背景:作为互联网核心枢纽的网络协议,对于维护整个网络体系的安全性发挥着至关重要的作用。但是,网络协议的自然语言非正式定义限制了自动化测试的有效性与效率。

研究贡献:

1.开发了一种新的协议模糊测试方法,通过整合大语言模型,利用这些模型对协议深入的理解来生成测试用例;

2.创建并演示了一个原型工具ChatAFL,该工具证明了本方法在具体网络协议测试中的有效性;

3.与其他技术(例如AFLNET和NSFUZZ)相比,该方法在提高状态和代码覆盖率方面取得显著进步,并且能够发现更多之前未知的漏洞。

引言

本文探讨了开发自动化漏洞识别工具对于网络协议实现的必要性及其重要性。研究者认为,虽然协议实现在软件系统中极易遭受攻击,但由于缺少机器可解析的规范,自动化产生有效测试用例面临挑战。该研究通过应用预训练的大语言模型(例如ChatGPT)来抽取协议的机器可解析信息,从而指导模糊测试流程,以提升测试效率和成效。

背景知识

本节讨论了协议模糊测试的基本原理、面临的挑战及大语言模型(LLM)应对这些挑战的潜力。通过与LLM系统互动,借助其理解和生成自然语言的能力,可以提升模糊测试的覆盖范围和漏洞发现效率。

论文方法

理论基础:深入探讨了大语言模型的功能,尤其是它们在解析复杂协议规范和产生遵循协议要求的消息方面的能力。

实现方法:

1.语法引导变异:与LLM互动以提取协议消息的机器可解析语法,并以此来引导测试消息的变异;

2.丰富测试种子:利用LLM扩展测试种子消息序列的多样性与有效性;

3.突破测试覆盖率瓶颈:当传统方法无法进一步提升覆盖率时,利用LLM产生能够触发新状态转移的消息。

实验

a.实验设计:

在若干真实世界协议(如RTSP和FTP)上设置实验环境,并将ChatAFL与现有技术进行比较

图片

b.实验结果:

比较显示,ChatAFL在状态和代码覆盖率上显著优于现有技术(如AFLNET和NSFUZZ),且成功识别了多项先前未知的漏洞。

图片

论文结论

本研究证实,融合大语言模型的协议模糊测试方法显著提升了网络协议安全测试的效率和成效。借助LLM的高级功能,可以更深入地理解和测试协议实现,识别潜在安全漏洞。此外,本方法的成功应用为未来利用AI技术提升软件测试效果提供了宝贵的借鉴。

原作者:论文解读智能体

润色:Fancy

校对:小椰风

图片

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序中点击input输入框避免唤起手机端的键盘

最近在给一个门诊部开发微信预约医生的小项目,界面如下: 希望在点击性别下面的input 输入框时后弹出如下界面: 结果总是唤起键盘输入界面如下: 用语言描述就是点击input选择男和女时候,总是会唤起手机的键盘。导致没…

Leetcode 1514 概率最大的路径

文章目录 1. 题目描述2. 我的尝试 1. 题目描述 原题链接:Leetcode 1514 概率最大的路径 给你一个由 n 个节点(下标从 0 开始)组成的无向加权图,该图由一个描述边的列表组成,其中 edges[i] [a, b] 表示连接节点 a 和 b…

【C++】inline内联函数 VS #define宏

文章目录 1. 内联概念2. 内联特点3. 宏的优缺点 1. 内联概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,无函数建立栈帧的开销,内联函数提升程序运行的效率。 在release模式下,默认展开生效。 在…

力扣 322 零钱兑换

题目描述 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins [1, 2, 5…

No transform from [base_footprint] to [base_link]

需要查看这两个坐标系之间的转换 果然,demo05_car_base中父坐标系是base_footprint,意思是从base_footprint到base_link的转换,而不是从固定坐标系base_link到base_footprint 修改: 父坐标系修改成base_link即可

【Java 并发】AbstractQueuedSynchronizer

1 AQS 简介 在同步组件的实现中, AQS 是核心部分, 同步组件的实现者通过使用 AQS 提供的模板方法实现同步组件语义。 AQS 则实现了对同步状态的管理, 以及对阻塞线程进行排队, 等待通知等一些底层的实现处理。 AQS 的核心也包括了这些方面: 同步队列, 独占式锁的获取和释放, 共…

【SpringBoot】自定义工具类实现Excel数据新建表存入MySQL数据库

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …

2024年最新腾讯云优惠券获得方法整理

腾讯云作为国内领先的云服务提供商,其优质的产品和服务深受用户喜爱。而腾讯云优惠券则是用户在使用腾讯云服务时能够享受到的一项福利,可以有效降低上云成本。那么,2024年如何获得腾讯云优惠券呢?本文将为大家详细整理最新腾讯云…

蓝桥杯练习:景区导游

视频 UP主的博客 暴力做法&#xff0c;能过 42%数据。如果内存开 1e410 能过 40%&#xff0c;如果开 2e510就只能过 25% #include<bits/stdc.h> #define int long long #define endl \n const int N 1e410; using namespace std; //存两点的距离 typedef pair<in…

【C++基础】5.C++基本语法——《跟老吕学C++编程语言》

【C基础】5.C基本语法——《跟老吕学C编程语言》 C基本语法C程序结构编译&执行C程序C中的分号&块C标识符C关键字三字符组C中的空格 C基本语法 C程序可以定义为对象的集合&#xff0c;这些对象通过调用彼此的方法进行交互。 对象 - 对象具有状态和行为。例如&#xff1…

如何在Windows搭建WebDav服务,并外网可访问

目录 1. 安装IIS必要WebDav组件 2. 客户端测试 3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网 3.1 打开Web-UI管理界面 3.2 创建隧道 3.3 查看在线隧道列表 4. 公网远程访问 4.1 浏览器访问测试 4.2 映射本地盘符访问 4.3 安装Raidrive客户端 总结&…

【Vue3】路由的query参数和params参数

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…