【论文速读】| 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.mzph.cn/news/817947.shtml

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

相关文章

Windows中通过cmd查看以保存的WiFi密码

#要以管理员身份运行CMD# 指令命令: netsh wlan show profiles 然后会列出所有保存的wifi。 #再执行netsh wlan show profile name"你想查看的WiFi名称" keyclear并回车# 命令中keyclear代表以明文显示密码 关键内容即为密码。

异地组网怎么安装?

异地组网安装是指在不同地域的多个设备之间建立网络连接,以便实现数据传输和协同工作的过程。在如今的数字化时代,异地组网安装已经成为了许多企业和组织所必需的一项技术。 天联的使用场景 在异地组网安装中,天联是一种常用的工具。它具有以…

LiveNVR监控流媒体Onvif/RTSP功能-概览负载统计展示取流中、播放中、录像中点击柱状图快速定位相关会话

LiveNVR概览负载统计展示取流中、播放中、录像中点击柱状图快速定位相关会话 1、负载信息说明2、快速定位会话3、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、负载信息说明 实时展示取流中、播放中、录像中等使用数目 取流中:当前拉流到平台的实时通道数目播放中&am…

IPA第九届明星盛典 全球人气总冠军 梁悦源 循梦而来 荣耀加冕

2024年1月 30 日-2月1日,魔都上海迎来了龙年第一场“少儿形体行业美育春晚”!由 IPA模特委员会主办的第九届少儿模特明星盛典全球总决赛圆满收官!近 2000 名少儿模特选手从五湖四海而来,决战寒假这场高水准,高人气,高荣誉的时尚竞…

语音智能客服机器人有什么优势?ai机器人部署

人工智能技术的进步,在不断的革新我们的工作和生活,同时,拥有人工智能技术的语音智能客服机器人在销售行业的工作熟悉程度也越来越好,那语音智能客服机器人有什么优势?我们一起来看看。 1、ASR语音文本转换 客户可通过…

flutter material中的Icon组件的IconData 查阅

查阅 https://fonts.google.com/icons?selectedMaterialSymbolsOutlined:expand_less:FILL0;wght300;GRAD0;opsz24&icon.platformandroidhttps://fonts.google.com/icons?selectedMaterialSymbolsOutlined:expand_less:FILL0;wght300;GRAD0;opsz24&icon.platformand…

监控平台zabbix的认识与搭建

一. 监控系统的相关知识 1. 监控系统运用的原因 当我们需要实时关注与其相关的各项指标是否正常,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,zabbix 可以实现集中监控管理的应用程序。 监控的…

海外代理IP是什么,如何使用?

海外代理IP是一种网络工具,它允许用户通过位于海外的服务器来访问互联网。这种技术的主要作用是帮助用户突破地域限制,解锁全球视野,并保护用户的隐私和安全。 具体来说,海外代理IP的工作原理是:用户的请求首先被发送…

9个应知应会的单行Python代码

当我们开始学习 Python 时,我们通常会优先编写能够完成工作的代码,而不会关注代码的可读性以及代码的简洁性和效率。 确切来说,这是完全没有问题的,但是有一些方法可以在不忽略可读性的情况下缩短我们的 Python 代码。单行 Pytho…

可视化报表Superset

文章目录 一、Superset入门与安装1、Superset概述2、安装Python环境2.1 安装Miniconda2.2 创建Python3.7环境 3、Superset部署3.1 安装Superset3.2 启动Supterset3.3 superset启停脚本 4、docker部署 二、Superset使用与实战1、对接MySQL数据源2、制作仪表盘与图表 一、Superse…

游戏测试审表流程

备注:本文为博主原创文章,未经博主允许禁止转载。如有问题,欢迎指正。 个人笔记(整理不易,有帮助,收藏+点赞+评论,爱你们!!!你的支持是我写作的动力) 笔记目录:笔记本~笔记目录_airtest和selenium那个好用-CSDN博客 个人随笔:工作总结随笔_8、以前工作中都接触过哪…

python接口测试之测试报告

在本文章中,主要使用jenkins和编写的自动化测试代码,来生成漂亮的测试报告,关于什么是CI这些我就不详细的介绍了,这里我们主要是实战为主。 首先搭建java的环境,这个这里不做介绍。搭建好java的环境后,在h…

【已测 非网上加密版】全新UI彩虹站长在线工具箱系统源码下载 全开源版本

支持高达72种站长工具、开发工具、娱乐工具等功能。本地调用API、自带免费API接口,是一个多功能性工具程序支持后台管理、上传插件、添加增减删功能。 环境要求 * PHP > 7.3 * MySQL > 5.6 * fileinfo扩展 * 使用Redis缓存需安装Redis扩展 部署 * 下载源代码 …

智慧用电安全管理系统

智慧用电安全管理系统 智慧用电安全管理系统是智能电网中客户侧关键的构成部分,是基本建设新型智慧城市的基本,将完成地区内各种各样用电设备的智能化系统监管,完成地区内日常生活与工作中安全性、舒服。 一、智慧用电安全管理系统介绍 …

JAVA-贪吃蛇(源代码)

游戏界面: 图片素材: 背景图片 蛇身 食物 蛇头 标题 源代码: 运行界面 package com.snake.game;public class snakeApp {public static void main(String[] args) {//添加界面new snakeJFrame();} }游戏界面类JFrame package com.snake.game;import javax.swing.*; import …

机器学习——模型融合:Stacking算法

机器学习——模型融合:Stacking算法 在机器学习中,模型融合是一种常用的方法,它可以提高模型的泛化能力和预测性能。Stacking算法(又称为堆叠泛化)是一种强大的模型融合技术,它通过组合多个基本分类器的预…

如何正确使用数字化仪前端信号调理?(二)

在上期文章如何正确使用数字化仪前端信号调理?(一)中,我们为大家介绍了数字化仪前端电路所需的特性以及使用过程中需要的输入抗阻和输入耦合,本期文章将为您介绍数字化仪前端信号调理的使用过程中所需的输入电压范围&a…

C# 关于进程回收管理的一款工具设计与分享

目录 设计初衷 开发运行环境 Craneoffice ProcessGC 运行主界面 管理任务与策略 其它设置 移动存储设备管理 核心代码-计时器监控 小结 设计初衷 在使用 COM 模式操作 OFFICE 组件的开发过程中,当操作完相关文档后,在某些情况下仍然无法释放掉…

内网渗透-Windows内网渗透

内网渗透-Windows内网渗透 文章目录 内网渗透-Windows内网渗透前言一、信息收集 1.1、SPN1.2、端口连接1.3、配置文件1.4、用户信息1.6、会话收集1.7、凭据收集 navicat:SecureCRT:Xshell:WinSCP:VNC: 1.8、DPAPI1.9、域信任1.10、…

视频编辑软件pitivi基本功之安装篇

视频编辑软件pitivi基本功之安装篇 台式机的系统是openSUSE-Leap-15.5-DVD-x86_64 应用程序——工具——终端,切换到root用户 ruhonglocalhost:~> su - 密码: localhost:~ # zypper search pitivi localhost:~ # zypper install pitivi ruhonglocalho…