【论文速读】| CovRL:基于覆盖引导的强化学习对LLM基础变异进行JavaScript引擎模糊测试

图片

本次分享论文为:CovRL: Fuzzing JavaScript Engines with Coverage-Guided Reinforcement Learning for LLM-based Mutation

基本信息

原文作者:Jueon Eom, Seyeon Jeong, Taekyoung Kwon

作者单位:延世大学、苏瑞软科技公司

关键词:模糊测试, 运行代码引擎, 覆盖率引导, 增强学习, 大语言模型

原文链接:

https://arxiv.org/pdf/2402.12222.pdf

开源代码:暂无

论文要点

论文简介:这篇论文介绍了CovRL这一创新技术,该技术融合了覆盖率引导的增强学习与大语言模型(LLM),通过将覆盖反馈直接融入到LLM,显著提升了针对JavaScript引擎的Fuzzing性能。利用TF-IDF方法创建的加权覆盖图,允许基于LLM的变异器产生更可能探索到新覆盖区域的测试用例,从而在提升漏洞侦测的效率和准确性方面取得了突破。

图片

研究目的:针对复杂系统(如JavaScript引擎)Fuzzing过程中精确语法输入的挑战,尤其是利用覆盖率引导进行Fuzzing时存在的限制,提出了CovRL技术,以增强JavaScript引擎Fuzzing的效率和准确性。

研究贡献:

1.推出了 CovRL,这是一种创新技术,通过使用覆盖反馈将大语言模型 (LLM) 与强化学习相结合。这种独特的方法通过 TF-IDF 直接将覆盖率反馈纳入 LLM,从而促进高级覆盖率引导的模糊测试。

2.开发了 CovRL-Fuzz,这是一款采用 CovRL 技术的模糊测试工具,专为模糊 JavaScript 引擎而设计。实验表明,CovRL-Fuzz 在代码覆盖率和漏洞检测能力方面均优于现有模糊测试工具,凸显了其在管理 JavaScript 引擎模糊测试复杂性方面的效率。

3.CovRL-Fuzz 成功识别了 48 个安全相关漏洞,其中包括最新 JavaScript 引擎中的 39 个先前未知的漏洞(11 个 CVE)。

引言

在数字时代,JavaScript 及其引擎在构建 Web 应用程序和确保网络安全方面发挥着关键作用。随着 JavaScript 应用程序的流行,其引擎的安全性变得越来越重要。漏洞可能导致严重的网络安全威胁。传统的模糊测试技术在应对此类复杂软件的复杂性方面面临着挑战,尤其是在 JavaScript 引擎测试的严格语法方面,这使得很难发现有效的漏洞。

为了解决这个问题,CovRL 技术应运而生,它将大语言模型 (LLM) 的上下文处理能力与覆盖率引导的强化学习结合起来。这项创新显著提高了模糊测试的精度和效率。通过智能生成有针对性的测试用例,CovRL 有效地探索了未充分测试的代码区域,大幅提高了漏洞发现的成功率。

CovRL 的引入不仅为研究者提供了理解和改进软件测试的新视角,而且标志着在确保 JavaScript 引擎安全性方面向前迈出了重要一步。通过将先进的语言模型与智能学习算法相结合,不仅可以有效地发现复杂软件中隐藏的漏洞,还可以为软件测试的未来铺平新的道路。接下来,研究者将深入研究 CovRL 的设计原理、实现方法和卓越性能,强调其在增强 JavaScript 引擎模糊测试方面的关键作用。

研究背景

在当今互联网广泛使用的时代,作为现代 Web 应用程序核心的 JavaScript 引擎的安全性至关重要。然而,随着 JavaScript 语言的不断发展和引擎功能的日益复杂,传统的模糊测试技术很难生成有效的测试用例并实现最大的代码覆盖率。为了应对这些挑战,开发了 CovRL 技术。它将大语言模型(LLM)生成高质量测试用例的能力与覆盖率引导的强化学习算法相结合,智能地探索未经测试的代码区域,从而显著提高模糊测试的效率和覆盖率。这种创新方法不仅为JavaScript引擎的安全测试开辟了新的道路,也为软件测试领域的未来发展指明了方向。

图片

实验设计

为了全面评估CovRL技术的效能,研究者设计了一系列精心策划的实验。首先,研究者选取了包括V8、JavaScriptCore、ChakraCore和JerryScript等在内的多个最新版本JavaScript引擎作为测试目标。这些引擎在各种网络应用中广泛使用,代表了市场上的主流JavaScript执行环境。在实验过程中,为确保结果的公正性和可比性,每个引擎均在相同的硬件和软件配置下运行。研究者使用了来自开源社区的JavaScript测试套件作为初始种子,借由CovRL技术生成新的测试用例,并监测这些用例在各引擎中的执行情况,特别关注代码覆盖率的变化和能够揭示的潜在漏洞数量。为了更精确地评估CovRL的表现,研究者还将其结果与当前领先的Fuzzing技术进行了对比。这一系列实验不仅测试了CovRL在不同环境下的适应性和效率,也为该技术的进一步优化和改进提供了宝贵的数据支持。

实现方法

CovRL技术核心地创新融合了大语言模型(LLM)和覆盖率引导的增强学习算法,为JavaScript引擎的Fuzzing工作带来创新性的突破。在具体实施方面,该技术首先借助LLM的出色语言理解与生成能力,创建符合JavaScript语法的高品质测试用例。然后,通过应用词频-逆向文件频率(TF-IDF)方法对测试用例进行加权,形成覆盖率权重图。该权重图作为增强学习算法中奖励机制的一部分,引导LLM生成更有可能探索到尚未覆盖的代码区域的测试用例。此策略不仅显著加快了Fuzzing过程中代码覆盖率的提升速度,而且大幅增强了发掘潜在漏洞的能力。CovRL通过这一智能反馈机制,实现了Fuzzing过程的实时优化,确保测试用例的生成不仅高效,而且针对性强,为JavaScript引擎安全测试设定了新的高标准。

研究评估

通过一系列细致的实验,CovRL技术的研究评估旨在全面验证其在JavaScript引擎Fuzzing应用的有效性。在这些实验中,CovRL与当前先进的Fuzzing技术进行了比较,重点考察了代码覆盖率的提高、潜在漏洞发现能力以及测试用例的语法准确性。CovRL在多个主流JavaScript引擎上的应用表明,其不仅显著提升了代码覆盖率,更关键的是,成功地发现了许多以前未被识别的安全漏洞。此外,由CovRL生成的测试用例表现出较低的语法错误率,证明了其在生成测试用例方面的高效能。这些实验成果不仅印证了CovRL在增强JavaScript引擎安全性方面的功效,同时为Fuzzing技术未来的进展提供了宝贵的洞见和参考。

图片

论文结论

CovRL技术的研究与应用代表了JavaScript引擎安全测试领域的一个重大进展。它通过将大语言模型(LLM)与覆盖率引导的增强学习巧妙融合,不仅在提升Fuzzing过程的代码覆盖率方面取得了成功,也在发掘潜在安全漏洞的能力上实现了显著增强。实验结果显示,与现行的Fuzzing技术相比,CovRL在效率和成效方面均展现了明显的优势。同时,其产生的测试用例错误率较低,进一步展示了其生成高品质测试用例的能力。这些成就不仅为JavaScript引擎安全性研究提供了新的视角和方法,也为未来的软件测试及安全保护工作奠定了坚实基础。CovRL的成功推广和应用,推进了Fuzzing技术的发展,并为软件安全研究领域开启了新篇章,期待它在未来的进展和应用中持续扮演重要角色。

原作者:论文解读智能体

润色:Fancy

校对:小椰风

图片

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

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

相关文章

ubuntu或类Debian获取某些包的离线版本-包括依赖(还有一些意想不到的用途,哈哈)

前言 偶尔能碰到很特殊的情况。网址白名单,纯内网,超多依赖及一些很难描述的场景。 比如一些少见的发行版缺少某些包。这时候可以找一台类似的系统环境来下载离线包及 其依赖包,然后转移到内网进行安装。如果是网址白名单,或者纯内…

解决跨域和https不能访问的问题。

本地安装了项目,是一键安装的,安装之后还是apache的web服务器,有个视频服务用的是https的服务,要对这个项目进行二次开发,本地调用没问题,可是别人已调用就跨域。只能本地访问。 现在有两个问题:1.解决跨域问题 2.还要解决https访问的问题。 解决思路,用nginx 的ssl证…

37-代码测试(下):Go语言其他测试类型及IAM测试介绍

。 Go中的两类测试:单元测试和性能测试。 我就来介绍下Go 语言中的其他测试类型:示例测试、TestMain函数、Mock测试、Fake测试等, 示例测试 示例测试以Example开头,没有输入和返回参数,通常保存在example_test.go…

ChatGPT-4 Turbo 今天开放啦!附如何查询GPT-4 是否为 Turbo

2024年4月12日,OpenAI在X上宣布GPT-4 Turbo开放了!提高了写作、数学、逻辑推理和编码方面的能力。另外最重要的是,响应速度更快了!! ChatGPT4 Turbo 如何升级?解决国内无法升级GPT4 Turbo的问题&#xff0…

云端漫步:如何免费享受亚马逊云服务器的12个月奇妙旅程

前言: 废话不多说,开头就直接上体验链接 亚马逊科技 (免费试用产品专属链接)包括灵活的Amazon EC2云服务器、稳定的Amazon RDS数据库服务、可扩展的Amazon S3云存储空间等等常见云服务产品。福利很大,有需要的朋友赶紧冲冲冲! 想…

电商技术揭秘十三:云计算在电商中的应用场景

相关系列文章 电商技术揭秘一:电商架构设计与核心技术 电商技术揭秘二:电商平台推荐系统的实现与优化 电商技术揭秘三:电商平台的支付与结算系统 电商技术揭秘四:电商平台的物流管理系统 电商技术揭秘五:电商平台…

vscode只修改几行,git却显示整个文件都被修改

原因:不同的操作系统默认的回车换行符是不一样的,有些编辑器会自动修改回车换行,然后就整个文件都变化了。 Unix/Linux/Mac使用的是LF,但Windows一直使用CRLF【回车(CR, ASCII 13, r) 换行(LF, ASCII 10, n)】作为换行符。 解决&a…

深度学习pytorch实战第P3周--实现天气识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)** 引言 1.复习上周 深度学习pytorch实战-第…

Upload-labs(Pass-14 - Pass-16)

Pass-14 (图片马,判断文件类型) 图片的格式在防护中通常是不会使用后缀进行判断的依据,文件头是文件开头的一段二进制码,不同类型的图片也就会有不同的二进制头。   JPEG (jpg),文件头:FF D…

qemu源码解析一

基于qemu9.0.0 简介 QEMU是一个开源的虚拟化软件,它能够模拟各种硬件设备,支持多种虚拟化技术,如TCG、Xen、KVM等 TCG 是 QEMU 中的一个组件,它可以将高级语言编写的代码(例如 C 代码)转换为可在虚拟机中…

WIFI详解及周边拓展

一、WiFi协议简介 WiFi协议,也称为无线保真技术,是一种允许电子设备通过无线方式在局域网(WLAN)和互联网上进行通信的技术标准。WiFi协议是基于IEEE 802标准的子系列标准协议,由电气和电子工程师协会制定。随着移动设备…

在一台恢复测试机器上验证oracle备份有效性

一 目的 定期将生产环境oracle数据库恢复到一台测试环境数据库服务器上,以验证备份是否有效,是否能正常恢复。 二 环境 这里以恢复orcl1库为例,计划在orcl这个实例上进行恢复测试。 三 实验步骤 3.1 在目标端创建和源端一样的备份目录 ①…

如何在浏览器Web前端在线编辑PPT幻灯片?

有时候在项目中我们会遇到需要在网页在线打开并编辑PPT文档保存到本地或者服务器指定位置,猿大师办公助手可以很方便的调用本机Office实现在网页上编辑PPT幻灯片,效果与本机Office打开PPT完全一样。 猿大师办公助手支持完整嵌入模式,也就是本…

nginx的启动,systemctl管理

service unit file文件通常由三部分组成: [Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等 [Service]:与特定类型相关的专用选项;此处为Service类型 [Install]:定义…

【SCI绘图】【热力图系列1 R】多特征相关性分析热力图R语言实现

SCI,CCF,EI及核心期刊绘图宝典,爆款持续更新,助力科研! 本期分享: 【SCI绘图】【热力图系列1 R】多特征相关性分析热力图R语言实现 1.环境准备 library(gplots) library(RColorBrewer) 2.数据示例 ###…

UE5学习日记——制作多语言版本游戏,同时初步学习UI制作、多语言化、控制器配置、独立进程测试、打包配置和快速批量翻译等

所有的文本类,无论变量还是控件等都能实现本地化,以此实现不同语言版本。 在这里先将重点注意标注一下: 所有文本类的变量、控件等都可以多语言;本地化控制板中收集、编译时,别忘了编译这一步;支持批量复制…

第十五届蓝桥杯c++b组赛后复盘和真题展示

题目变成八道了,分数一百分可能,感觉拿奖难度还是很高 第一题是一个简单的握手问题 答案算出来1204,纯手写 第二题是 物理题 纯蒙,随便猜了个轨迹,答案具体忘了,最后是 .45 第三题暴力 第四题 我是傻逼…

Zookeeper中的节点类型和实现持久化的两种方式

进入zookeeper的bin目录,执行./zkServer.sh start ../conf/zoo.cfg启动! Zookeeper内部的数据模型 类似于数据结构中的树,同时也很像文件系统的目录, 节点的类型 持久节点:create /znode 创建出的节点&#xff0c…

永磁同步电机无感FOC(扩展卡尔曼滤波EKF位置观测控制)

文章目录 1、前言2、扩展卡尔曼滤波器原理2.1 预测阶段(时间更新阶段)2.2 校正阶段(状态更新阶段) 3、永磁同步电机EKF的模型4、永磁同步电机EKF的无位置状态观测仿真4.1 核心模块(在滑膜、龙伯格、磁链等观测器基础上…

从零自制docker-8-【构建实现run命令的容器】

文章目录 log "github.com/sirupsen/logrus"args...go moduleimport第三方包失败package和 go import的导入go build . 和go runcli库log.SetFormatter(&log.JSONFormatter{})error和nil的关系cmd.Wait()和cmd.Start()arg……context.Args().Get(0)syscall.Exec和…