【论文速读】| DeepGo:预测式定向灰盒模糊测试

news2024/12/23 16:23:26

图片

本次分享论文为:DeepGo: Predictive Directed Greybox Fuzzing

基本信息

原文作者:Peihong Lin, Pengfei Wang, Xu Zhou, Wei Xie, Gen Zhang, Kai Lu

作者单位:国防科技大学计算机学院

关键词:Directed Greybox Fuzzing, Path Transition Model, Reinforcement Learning, Deep Neural Networks

原文链接:

https://www.ndss-symposium.org/wp-content/uploads/2024-514-paper.pdf

开源代码:

https://gitee.com/paynelin/DeepGo

论文要点

论文简介:本文提出了一种名为DeepGo的预测式定向性灰盒模糊测试方法,通过结合历史和预测信息,利用深度神经网络和强化学习技术,有效地引导模糊测试达到目标路径,优化测试效率。

研究背景:定向性灰盒模糊测试(DGF)是一种高效的代码测试技术,通过定义可测量的适应性指标,选取潜在的种子进行变异,以逐渐接近目标站点。然而,现有的DGF技术主要依赖于启发式算法进行适应性指标的优化,缺乏对未执行路径的预见性。

图片

研究贡献:

a.提出了路径转换模型,将DGF视为通过特定路径转换序列达到目标站点的过程,并使用序列奖励作为适应性指标。

b.构建了虚拟集成环境(VEE)使用深度神经网络(DNNs)来模仿路径转换模型并预测潜在路径转换及其对应的奖励。

c.开发了一种强化学习模糊测试(RLF)模型,结合历史和预测的路径转换来生成最优路径转换序列。

d.通过行为群组的概念综合优化模糊测试的关键步骤,提高了测试效率。

引言

DeepGo的研究背景基于现有定向性灰盒模糊测试(DGF)技术的局限性,特别是在优化适应性指标时的缺乏预见性和效率低下的问题。通过引入路径转换模型、虚拟集成环境(VEE)、强化学习模糊测试(RLF)模型和行为群组优化策略,DeepGo能够预测和优化模糊测试过程,实现更高效和精确的测试目标达成。

背景知识

研究讨论了定向性灰盒模糊测试的基本概念、深度神经网络在模拟程序分支行为中的应用、强化学习在序列决策问题解决中的作用、基于模型的策略优化和粒子群优化算法在提高模糊测试效率中的应用。

论文方法

理论背景:通过深入分析DGF的限制,提出一种新的模型——路径转换模型,使用序列奖励作为新的适应性指标。

方法实现: 

a.虚拟集成环境(VEE):利用深度神经网络模仿路径转换模型,预测未执行路径的潜在转换及其奖励。

b.强化学习模糊测试(RLF)模型:结合历史和预测信息,优化路径选择策略,生成最优路径转换序列。

c.行为群组优化:通过多元素粒子群优化算法同时优化模糊测试的关键步骤,提高测试效率。

实验

实验设置:在两个基准测试套件上评估DeepGo,包含25个程序和100个目标站点。

实验结果:DeepGo与现有技术相比,在达到目标站点和暴露已知漏洞方面显示出显著的速度提升,证明了其预测能力和效率。

论文结论

DeepGo通过引入路径转换模型、虚拟集成环境(VEE)、强化学习模糊测试(RLF)模型和行为群组优化策略,显著优化了定向性灰盒模糊测试的效率和精度。实验结果证明了DeepGo在提高目标站点达成速度和暴露已知漏洞方面的优势,为未来的模糊测试技术发展提供了新的方向。

原作者:论文解读智能体

润色:Fancy

校对:小椰风

图片

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

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

相关文章

Postman请求API接口测试步骤和说明

Postman请求API接口测试步骤 本文测试的接口是国内数智客(www.shuzike.com)的API接口手机三要素验证,验证个人的姓名,身份证号码,手机号码是否一致。 1、设置接口的Headers参数。 Content-Type:applicati…

2024蓝桥杯每日一题(区间合并)

一、第一题:挤牛奶 解题思路:区间合并 区间合并模板题 【Python程序代码】 n int(input()) a [] for i in range(n):l,r map(int,input().split())a.append([l,r]) def cmp(x):return x[0],x[1] a.sort(keycmp) res1,res20,0 st,ed a[0][0…

JS-12-关键字this、apply()、call()

一、对象的方法 在一个对象中绑定函数,称为这个对象的方法。 示例: 1、对象: var xiaoming {name: 小明,birth: 1990 }; 2、给xiaoming绑定一个函数。比如,写个age()方法,返回xiaoming的年龄: var x…

亲测抖音小程序备案流程,抖音小程序如何备案,抖音小程序备案所需准备资料

抖音小程序为什么要备案,抖音官方给出如下说明: 1、2024年3月15日后提交备案的小程序将不保证2024年3月31日前平台可初审通过; 2、2024年3月31日后未完成备案小程序将被下架处理。 一,备案前需准备资料 (一&#xff0…

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 1、线条折线曲面

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 代码: import pandas as pd import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D from matplotlib.colors import ListedColor…

k8s+wordpress+zabbix+elastic+filebeat+kibana服务搭建以及测试

一,环境:docker,k8s,zabbix,以及搭建worpdress,elasticsearch,filebeat,kibana 二,主机分配: 名称host详述个人博客3192.168.142.133 搭配mysql8.0.36的数据…

Stable Diffusion 模型:从噪声中生成逼真图像

你好,我是郭震 简介 Stable Diffusion 模型是一种生成式模型,可以从噪声中生成逼真的图像。它由 Google AI 研究人员于 2022 年提出,并迅速成为图像生成领域的热门模型。 数学基础 Stable Diffusion模型基于一种称为扩散概率模型(Diffusion P…

【QT】文件流操作(QTextStream/QDataStream)

文本流/数据流&#xff08;二级制格式&#xff09; 文本流 &#xff08;依赖平台&#xff0c;不同平台可能乱码&#xff09;涉及文件编码 #include <QTextStream>操作的都是基础数据类型&#xff1a;int float string //Image Qpoint QRect就不可以操作 需要下面的 …

ES分片均衡策略分析与改进

从故障说起 某日早高峰收到 Elasticsearch 大量查询超时告警&#xff0c;不同于以往&#xff0c;查看 Elasticsearch 查询队列监控后发现&#xff0c;仅123节点存在大量查询请求堆积。 各节点查询队列堆积情况 查看节点监控发现&#xff0c;123节点的 IO 占用远高于其他节点。…

喜报!聚铭网络实力入选2024年度扬州市网络安全技术支撑服务机构

近日&#xff0c;中共扬州市委网络安全和信息化委员会办公室正式公布了“2024年度扬州市网络安全技术支撑服务机构”名单&#xff0c;聚铭网络凭借其卓越的技术实力与优质的安服能力&#xff0c;在众多竞争者中脱颖而出&#xff0c;光荣上榜&#xff01; 为了健全扬州市网络安…

仿12306校招项目业务五(敏感信息模块)

加密存储 数据加密背景 数据加密是指对某些敏感信息通过加密规则进行数据的变形&#xff0c;实现敏感隐私数据的可靠保护。 涉及客户安全数据或者一些商业性敏感数据&#xff0c;如身份证号、手机号、卡号、客户号等个人信息按照相关部门规定&#xff0c;都需要进行数据加密。…

程序人生——Java中基本类型使用建议

目录 引出Java中基本类型使用建议建议21&#xff1a;用偶判断&#xff0c;不用奇判断建议22&#xff1a;用整数类型处理货币建议23&#xff1a;不要让类型默默转换建议24&#xff1a;边界、边界、还是边界建议25&#xff1a;不要让四舍五入亏了一方 建议26&#xff1a;提防包装…

Nodejs 第五十五章(socket.io)

传统的 HTTP 是一种单向请求-响应协议&#xff0c;客户端发送请求后&#xff0c;服务器才会响应并返回相应的数据。在传统的 HTTP 中&#xff0c;客户端需要主动发送请求才能获取服务器上的资源&#xff0c;而且每次请求都需要重新建立连接&#xff0c;这种方式在实时通信和持续…

细粒度IP定位参文27(HGNN):Identifying user geolocation(2022年)

[27] F. Zhou, T. Wang, T. Zhong, and G. Trajcevski, “Identifying user geolocation with hierarchical graph neural networks and explainable fusion,” Inf. Fusion, vol. 81, pp. 1–13, 2022. (用层次图、神经网络和可解释的融合来识别用户的地理定位) 论文地址:…

设计模式一 ---单例设计模式(动力节点,JavaSE基础)

设计模式 1.什么是设计模式&#xff1f; 2.设计模式的分类 单例设计模式就是GoF模式中的一种。 3.GoF设计模式的分类&#xff1a; 单例设计模式&#xff1a; 顾名思义&#xff1a;单个实例的设计模式&#xff01;

C#调用Halcon出现尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException

一、现象 在C#中调用Halcon&#xff0c;出现异常提示&#xff1a;尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException 二、原因 多个线程同时访问Halcon中的某个公共变量&#xff0c;导致程序报错 三、测试 3.1 Halcon代码 其中tsp_width…

【Android】 ClassLoader 知识点提炼

1.Java中的 ClassLoader 1.1 、ClassLoader的类型 Java 中的类加载器主要有两种类型&#xff0c;即系统类加载器和自定义类加载器。其中系统类 加载器包括3种&#xff0c;分别是 Bootstrap ClassLoader、Extensions ClassLoader 和 Application ClassLoader。 1.1.1.Bootstra…

开放原子开源大赛—基于OpenHarmony的团结引擎应用开发赛正式启动!

“基于OpenHarmony的团结引擎应用开发赛”是开放原子全球开源大赛下开设的新兴及应用赛的赛题之一&#xff0c;本次赛题旨在鼓励更多开发者基于OpenHarmony 4.x版本&#xff0c;使用Unity中国团结引擎创造出精彩的游戏与3D应用。 大赛分为“创新游戏”与“创新3D 化应用”两大赛…

全景解析 Partisia Blockchain:以用户为中心的全新数字经济网络

在区块链世界中&#xff0c;以比特币、以太坊网络为代表的主流区块链奠定了该领域早期的基础&#xff0c;并让去中心化、点对点、公开透明以及不可逆成为了该领域固有的意识形态。事实上&#xff0c;过于透明正在成为区块链规模性采用的一大障碍&#xff0c;我们看到 90% 以上的…

【中级软件设计师】上午题05-知识产权

上午题05-知识产权 1 著作权2 专利地域性3 软件著作权4 职务作品5 委托开发6 商业秘密权7 专利权申请8 商标权9 商标注册 【中级软件设计师】上午题05-知识产权 1 著作权 著作权包括著作人身权和著作财产权&#xff0c; 主要记住人身权&#xff1a;发表权、署名权、修改权、保…