【论文速读】| MoRSE:利用检索增强生成技术填补网络安全专业知识的空白
本次分享论文:MoRSE: Bridging the Gap in Cybersecurity Expertise with Retrieval Augmented Generation
基本信息
原文作者:Marco Simoni, Andrea Saracino, Vinod Puthuvath, Maurco Conti
作者单位:意大利比萨国家研究委员会信息学与电信研究所,圣安娜高等大学TeCIP研究所,意大利帕多瓦大学和荷兰代尔夫特理工大学
关键词:MoRSE, 网络安全, 检索增强生成, 人工智能聊天机器人
原文链接:https://arxiv.org/pdf/2407.15748
开源代码:
https://github.com/Mixture-of-RAGs-Security-Experts/MoRSE
论文要点
论文简介:本文介绍了MoRSE(Mixture of RAGs Security Experts),这是首个专为网络安全设计的AI聊天机器人。MoRSE利用两个并行工作的RAG(检索增强生成)系统,从多维网络安全背景中检索并组织信息。
与依赖固定知识库的传统大语言模型不同,MoRSE实时从非固定知识库中检索文档并生成准确的答案,同时不断更新其知识库。评估结果显示,MoRSE在600个网络安全问题上的回答相关性和正确性比GPT-4和Mixtral 7x8等现有模型高出10%以上,显著提升了网络安全领域的知识覆盖和回答准确性。
研究贡献:
本文的主要贡献可以总结如下:
1. 研究者引入了 MoRSE 这一开源框架,它是首个尝试集成两个 RAG 系统以处理多维网络安全上下文的架构。该架构达成了不同数据源的独特综合,提升了安全见解的深度与相关性。
2. 研究者引入了一个由三部分组成的评估测试套件,用于衡量 RAG 系统与 LLM 相结合在相关性、相似性和正确性方面的表现。此外,研究者还基于LLM作为评判者的方法,使用另外两个测试套件进一步验证了这些结果。据研究者所知,这是首次作出这样的贡献。
3. 研究者展示了 MoRSE 是如何凭借其独特的实时网络安全关键字检测能力,将响应的正确性提高 10%,从而满足及时且准确的安全分析这一关键需求。
4. MoRSE 有别于传统的 RAG,其通过运用并行检索器来检索不同格式和结构的语义相关信息。这在网络安全领域极为重要,因为针对特定威胁,通常存在不同的数据类型(例如漏洞利用代码、TTP 描述、CVE 和白皮书),然而这些数据极少相互关联。MoRSE 借助这些并行检索器和 LLM 来整合相关信息,并提供全面的查询答案。
引言
随着网络威胁的频率和复杂性不断增加,网络安全已成为各行业的关键优先事项。尽管近年来与网络安全相关的信息量激增,为应对这些威胁提供了重要资源,但这种信息的快速增长也导致了数据的杂乱和无结构化,使专业人员难以获得可操作的见解。
大语言模型(LLM)虽然在合成大量信息方面取得了显著进展,但在处理技术话题时存在可靠性问题,尤其是在面对快速演变的网络威胁时。LLM生成错误或不可靠回答的情况并不少见,特别是在代码生成任务中。为了应对这些挑战,MoRSE通过集成两个RAG系统,实现了实时更新知识库的能力,提供了更加准确和全面的网络安全解决方案。
研究背景
MoRSE的开发是为了应对现有大语言模型在网络安全领域的不足。随着网络威胁的不断增加和复杂化,及时、准确和全面地理解漏洞、利用和防御策略变得至关重要。虽然LLM在合成大量信息方面取得了重大进展,但其在处理技术话题时的可靠性差异较大,尤其是在网络威胁快速演变的情况下。MoRSE通过引入检索增强生成技术,将传统RAG系统与实时更新的知识库相结合,有效解决了这一问题。
相关工作
现有研究在网络安全领域中探索了大语言模型(LLMs)和检索增强生成(RAG)系统的应用。传统LLMs如GPT-4在处理技术话题时存在可靠性问题,尤其在动态网络威胁环境中表现不佳。
为解决这些问题,研究者们开发了各种增强模型,如GEMINI、MIXTRAL和HACKERGPT,这些模型在特定任务中显示出一定优势。然而,这些模型仍然面临知识库更新不及时、信息检索效率低等挑战。
MoRSE通过集成双RAG系统和实时更新机制,实现了知识的动态扩展和多维数据的综合检索,显著提升了答案的准确性和覆盖范围,为网络安全问答提供了更为全面和可靠的解决方案。
MORSE架构
MoRSE架构由两个主要组件组成:结构化RAG和非结构化RAG。结构化RAG从预处理的结构化数据中快速检索信息,如MITRE、CVE库、Metasploit和ExploitDB等。这个模块通过将文本转换为结构化格式,使检索过程更加高效和准确。非结构化RAG用于处理结构化RAG无法解决的查询,主要从未处理的原始文本中检索信息。它包含多个缓冲区,每个缓冲区专门处理不同类型的数据(如文本、代码、学术论文等)。
当用户提交查询时,系统首先通过结构化RAG进行检索,如果未找到相关信息,则调用非结构化RAG。MoRSE还集成了实时更新机制,允许知识库在无需重新训练的情况下动态扩展。
此外,MoRSE的并行检索器能够同步检索多种格式和结构的信息,确保提供全面且准确的答案。这种双重RAG架构使MoRSE能够有效应对复杂的网络安全查询,显著提升回答的准确性和覆盖范围。
实验与评估
研究者通过600个网络安全特定问题对MoRSE的性能进行了全面评估,并与现有的先进大语言模型(如GPT-4、GEMINI、MIXTRAL和HACKERGPT)进行了比较。这些问题包括150个普通网络安全问题、150个多跳问题和300个CVE问题。
评估结果显示,MoRSE在答案的相关性和正确性方面表现优异,普通问题的相关性和正确性提高了15%以上,多跳问题和CVE问题的正确性提高了10%以上。特别是在处理CVE问题时,MoRSE的回答准确性比GPT-4高出50%。
此外,通过基于LLM的裁判方法,MoRSE在对手模型中的Elo评分也显著领先。这些结果验证了MoRSE在网络安全领域提供高质量回答的能力,表明其在应对复杂和多变的网络安全挑战方面具有显著优势。
论文结论
本文介绍了MoRSE,这是一个创新的网络安全问答框架,通过集成两个RAG系统,MoRSE能够从多维数据源中检索并生成高质量的答案。实验结果表明,MoRSE在处理普通网络安全问题、多跳问题和CVE问题时,表现均优于现有的先进模型,如GPT-4和MIXTRAL,尤其在准确性和相关性方面提升显著。
MoRSE的实时更新机制和并行检索能力确保其在动态变化的网络安全环境中保持领先地位。这一研究展示了RAG系统在提升网络安全问答质量和覆盖范围方面的巨大潜力。
原作者:论文解读智能体
校对:小椰风
相关文章:
【论文速读】| MoRSE:利用检索增强生成技术填补网络安全专业知识的空白
本次分享论文:MoRSE: Bridging the Gap in Cybersecurity Expertise with Retrieval Augmented Generation 基本信息 原文作者:Marco Simoni, Andrea Saracino, Vinod Puthuvath, Maurco Conti 作者单位:意大利比萨国家研究委员会信息学与…...
pip install albumentations安装下载超级细水管
albumentations 是一个用于图像增强的 Python 库,它提供了丰富的图像变换功能,可以用于数据增强,从而提高深度学习模型的泛化能力。 直接安装命令: pip install albumentations但是如果半夜遇到这种19kB/s的下载速度 为头发着想&…...
驱动开发系列07 - 驱动程序如何分配内存
一:概述 Linux 内核提供了丰富的内存分配函数、在本文中,我们将介绍在设备驱动程序中分配和使用内存的方法,以及如何优化系统的内存资源。由于内核为驱动程序提供了统一的内存管理接口。所以我们不会去讨论不同架构是如何管理内存的,文本不涉及分段、分页等问题,此外在本文…...
【Jackson】注解及其使用
Jackson库提供了多种注解(annotations),可以用来控制JSON序列化和反序列化的行为。这些注解允许你灵活地映射Java对象与JSON数据之间的关系。下面将详细介绍一些常用的Jackson注解及其用法。 1. JsonProperty 作用: 用于指定JSON属性与Java…...
LeetCode24 两两交换链表中的节点
前言 题目: 24. 两两交换链表中的节点 文档: 代码随想录——两两交换链表中的节点 编程语言: C 解题状态: 没画图,被绕进去了… 思路 思路还是挺清晰的,就是简单的模拟,但是一定要搞清楚交换的…...
AI OS
一,概念 AI OS, 或AI for OS,也就是近一年来伴随着人工智能的热度而衍生出的一个新的概念 - 人工智能操作系统。 为什么提出AI OS的概念? 这是因为人工智能技术的发展势头太过迅猛,尤其在深度学习、大模型等AI技术的突破后&…...
Dubbo 黑白名单机制详解
在微服务架构中,服务间的安全和流量控制是非常重要的。在众多 Java 微服务框架中,Apache Dubbo 作为一款高性能的 RPC 框架,提供了丰富的功能来管理服务调用。在 Dubbo 中,黑白名单机制是保障服务安全性和可控性的一个重要手段。本…...
配电房智能巡检机器人怎么选?
智能巡检机器人行业发展现状 2022年中国智能巡检机器人市场规模达到了15.66亿元。其中:电力智能巡检机器人规模14.88亿元,其他智能巡检机器人规模为0.78亿元。2023年中国智能巡检机器人市场规模约为19.71亿元。其中:电力智能巡检机器人规模…...
husky引发git commit报错的解决方案
在git commit的时候,有可能会遇到这样的报错,husky - pre-commit hook exited with code 1 (error) 出现这个问题的原因主要是,假如项目中采用 husky和lint-staged结合进行代码校验,那么,只要项目代码中有不规范的地方…...
韩顺平0基础学Java——第37天
p736-758 MySQL三层结构 1.所谓安装Mysql数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(database manage system) 2.一个数据库中可以创建多个表,以保存数据(信息)。 3.数据库管理系统(DBMS)、数据库和表的关系…...
Layer2区块链扩容方案(1)——总述
写在前面 这篇文章作为一个简单介绍,很多技术只是大致提及或者引用,之后会在详细学习后逐项解释。 补充知识 在了解扩容方案之前,我们最好了解一些相关的知识概念 EVM “EVM” 是“Ethereum Virtual Machine”(以太坊虚拟机&…...
AWS监控工具,监控性能指标
执行AWS监视是为了跟踪在AWS环境中主动运行的应用程序工作负载和资源,AWS监视器跟踪各种AWS云指标,以帮助提高在其上运行的应用程序的整体性能。 借助阈值突破警报系统,AWS应用程序监控在识别性能瓶颈来源方面起着至关重要的作用,…...
义务外贸wordpress独立站主题
健身器材wordpress网站模板 跑步机、椭圆机、划船机、动感单车、健身车、深蹲架、龙门架、健身器材wordpress网站模板。 https://www.jianzhanpress.com/?p4251 农业机械wordpress网站模板 植保机械、畜牧养殖机械、农机配件、土壤耕整机械、农业机械wordpress网站模板。 …...
初等数论精解【4】
文章目录 算术基本定理基础理论整数运算规则1. 加法性质2. 减法性质3. 乘法性质4. 除法性质5. 其他性质 整数运算的性质整数构成域吗 参考文献 算术基本定理 基础 任何一个大于1的整数可以被分解为素因数的连乘积。 a p 1 p 2 . . . . p n ≥ 1 ap_1\times p_2....\times…...
MongoDB教程(二十二):MongoDB固定集合
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、固定集…...
20240724----idea的Java环境卸载与安装
1.删除旧有的jdk https://blog.csdn.net/weixin_42168713/article/details/112162099 (补充:我把用户变量和java有关的都删了) 2.下载新的jdk百度网盘链接 链接:https://pan.baidu.com/s/1gkuLoxBuRAtIB1IzUTmfyQ 提取码…...
C语言 ——— 函数指针数组的讲解及其用法
目录 前言 函数指针数组的定义 函数指针数组的使用 前言 数组是存放一组相同类型数据的存储空间 关于指针数组的知识请见:C语言 ——— 指针数组 & 指针数组模拟二维整型数组-CSDN博客 那么要将多个函数的地址存储到数组中,这个数组该如何定义…...
鸿蒙仓颉语言【cryptocj 库】(介绍与SHA、MD5、HMAC摘要算法)
cryptocj 库 介绍 cryptocj 是一个安全的密码库,包括常用的密码算法、常用的密钥生成和签名验证。 该库是对 C 语言的 openSSL 封装的仓颉加密算法 1 提供SHA、MD5、HMAC摘要算法。 前置条件:NA 场景: OHOS, Linuxÿ…...
设计App的后端接口分类以及环境依赖包详情
目录 App的后端接口分类 1. 用户登录与注册 2. 设备初始化 3. 广告与推广 4. 应用配置与功能 5. 支付系统 6. 内容分发 7. 资源下载 8. 视频内容 9. 用户行为分析 10. 安全与合规 设计建议 基于Easyswoole,可以在系统中引入需要的一些常见依赖包&#…...
接入百度文心一言API教程
然后,编辑文章。点击AI识别摘要,然后保存即可 COREAIPOWER设置 暂时只支持经典编辑器.古腾堡编辑器等几个版本后支持.在比期间,你可以自己写点摘要 摘要内容 AL识别摘要 清空 若有收获,就点个赞吧 接入文心一言 现在百度文心一言&…...
classfinal太强了,再也不怕被反编译了
这段时间在辛辛苦苦的编写一个算法程序,担心部署到客户服务器,客户反编译jar包,破解程序,那努力就白费了! 在网上查询,发现个好东东,classfinal可以加密jar包,防止反编译࿰…...
DP-适配器模式代码重新理解
package com.designpatterns.adapter;/*** 定义鸭子接口*/ public interface Duck {/*** 定义鸭子呱呱叫(quack)*/public void quack();public void fly(); }package com.designpatterns.adapter;/*** 实现一个绿头鸭*/ public class MallarDuck implements Duck{Overridepubl…...
minio安装小计一则
安装minio并且使用api方式对文件进行操作 本文使用docker安装 docker pull minio/minio docker pull minio/mc (mc为minio文件运行命令行工具) 使用如下命令运行Minio服务器容器: windwos powershell运行命令 docker run -p 9000:9000…...
# Redis 入门到精通(九)-- 主从复制(1)
Redis 入门到精通(九)-- 主从复制(1) 一、redis 主从复制 – 主从复制简介 1、互联网“三高”架构 高并发高性能高可用 2、你的“Redis”是否高可用? 1)单机 redis 的风险与问题 问题1.机器故障 现…...
SpringBoot整合ElasticSearch的elasticsearch-java出现jakarta.json.spi.JsonProvider报错问题
一、原因 报错内容如下 org.springframework.beans.factory.BeanCreationException: Error creating bean with name esClient defined in class path resource [com/elasticsearch/config/ElasticSearchConfig.class]: Bean instantiation via factory method failed; nes…...
git 操作汇总【迭代更新中】
文章目录 0x1初始化操作0x11 生成公钥0x12 配置账号和邮箱 0x20x21 拉取代码0x22 推送代码0x23 设置远端分支 0x30x31 提交mr 0x40x41 子模块0x42 子模块添加 0x1初始化操作 0x11 生成公钥 ssh-keygen0x12 配置账号和邮箱 git config --global user.name username git confi…...
看 Unity 组件的源码 —— ILSpy
ILSpy 是开源的 .NET 程序集浏览器和解编译器。 下载 ILSpy ILSpy Github 地址:icsharpcode/ILSpy: .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform! (github.com) 它有 Release 包可以下载 也提供 IDE 的…...
Axivion Suite 7.8现已发布
现已实现100%覆盖MISRA规则,并加入了高级功能来提高代码分析能力。 我们很高兴地宣布Axivion Suite 7.8发布。全新版本的Axivion Suite对编译器、配置、分析、仪表板 (WebUI)和IDE插件的架构验证和静态代码分析功能均进行了升级。 100%覆盖所有可测试的MISRA规则 …...
从零开始!JupyterNotebook的安装教程
安装 Anaconda 1、下载 Anaconda: 访问 Anaconda 官方网站 (https://www.anaconda.com/products/distribution/) 下载适合您操作系统的 Anaconda 发行版。 2、安装 Anaconda: Windows:运行下载的安装程序,选择“Just Me”…...
使用kali进行端口扫描
目录 一、使用nping工具向目标主机的指定端口发送自定义数据包 二、使用Nmap工具进行端口扫描 三、使用Zenmap工具进行扫描 一、使用nping工具向目标主机的指定端口发送自定义数据包 nping工具允许用户产生各种网络数据包(TCP,UDP,ICMP&am…...
C#使用Clipper2进行多边形合并、相交、相减、异或的示例
Clipper2库介绍 开源库介绍: Clipper2在Github上的地址:https://github.com/AngusJohnson/Clipper2 Clipper2库对简单和复杂多边形执行交集(Intersection)、并集(Union)、差分(Difference&…...
Spring-Aop源码解析(二)
书接上文,上文说到,specificInterceptors 不为空则执行createProxy方法创建代理对象,即下图的createProxy方法开始执行,生成代理对象,生成代理对象有两种方式,JDK和CGLIB。 createAopProxy就是决定使用哪…...
antdesgin table 组件下载成excel
文章目录 发现宝藏一、需求二、报错 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 一、需求 原组件如下,需要添加下载功能 import React, { useState } from rea…...
MongoDB - 聚合阶段 $group 的使用
文章目录 1. 构造测试数据1. 示例 12. 示例23. 示例34. 示例45. 示例5 2. 构造测试数据1. 示例12. 示例23. 示例3 在 MongoDB 中,$group 是聚合管道中的一个阶段,用于根据指定的条件对文档进行分组。 {$group: {_id: <expression>, // 分组的依据…...
Flutter 插件之 easy_refresh(下拉刷新、上拉加载)
今天给大家较少一下日常开发中最常见的一个功能,就是 下拉刷新、上拉加载,这个在我们使用分页功能是最常见的。 此前我我也写了一篇关于 下拉刷新、上拉加载。 Flutter 下拉刷新、上拉加载flutter_easyrefresh的使用https://blog.csdn.net/WangQingLei0307/article/details/…...
DVWA的安装和使用
背景介绍 DVWA是Damn Vulnerable Web Application的缩写,是一个用于安全脆弱性检测的开源Web应用。它旨在为安全专业人员提供一个合法的测试环境,帮助他们测试自己的专业技能和工具,同时也帮助web开发者更好地理解web应用安全防范的过程。DV…...
CSS相关记录
文章目录 backgroundposition文字displayflexjustify-contentalign-itemsflex-directionflex-wrap gridimportant transformtranslate(位移)scale(缩放)rotate(旋转)origin (旋转中心点)skew (倾斜 ) borde…...
Fedora40安装telnet-server启用telnet服务
Fedora40安装telnet-server启用telnet服务 安装 telnet-server sudo yum install telnet-server或 sudo dnf install telnet-server启用服务 fedora40 或 CentosStream9 不能用 yum或dnf安装xinetd, telnet-server 的服务名为: telnet.socket 启用 telnet.socket.service …...
Unity3D结合AI教育大模型 开发AI教师 AI外教 AI英语教师案例
自2022年底ChatGPT引爆全球之后,大模型技术便迎来了一段崭新的快速发展期,由其在GPT4.0发布后,AI与教育领域结合产品研发、已成为教育AI科技竞争的新高地、未来产业的新赛道、经济发展的新引擎和新产品的诞生地。 据不完全统计,目…...
lua 游戏架构 之 SceneLoad场景加载(一)
设计一个为BaseSceneLoad class,用于处理场景加载的相关操作 ,主要作用是提供了一个通用的场景加载框架,使得子类可以按照统一的接口进行场景加载操作。子类需要实现这些方法,以便在加载场景时能够正确地处理场景加载的各个阶段。…...
【linux深入剖析】命名管道 | 匿名管道与命名管道的区别 | system V共享内存
🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1. 命名管道2. 创建命名管…...
Vite 常用插件配置:自动导入+自动注册组件+动态创建图标+设置组件名
创建 Vue3Vite 项目 创建 Vue3 项目 $ pnpm create vuelatest通过脚手架选择开启以下功能 ✔ Project name: … <your-project-name> ✔ Add TypeScript? … No / Yes ✔ Add JSX Support? … No / Yes ✔ Add Vue Router for Single Page Application development?…...
(leetcode学习)236. 二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖…...
Zabbix监控系统:zabbix服务部署+基于Proxy分布式部署+zabbix主动与被动监控模式
一、Zabbix概述 1.1 简介 zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix 能监视各种网络参数,保证服务器系统的安全运营,提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix…...
【Vue实战教程】之 Vue Router 路由详解
Vue Router路由 1 路由基础 1.1 什么是路由 用Vue.js创建的项目是单页面应用,如果想要在项目中模拟出来类似于页面跳转的效果,就要使用路由。其实,我们不能只从字面的意思来理解路由,从字面上来看,很容易把路由联想…...
测试用例接口开发实战
测试用例接口开发实战 前言 在上一集,我们也大概完成了对Jmeter的二次开发的Demo版本的了解,我们接下来就要基于这个Demo来将Jmeter压测进行平台化。 那么这一集,我们讲一讲测试用例接口开发实战。 StressCaseController 我们的Controll…...
C#中压缩文件夹,及其内容
压缩包格式,本文主要用于说明如何使用代码 文件或文件夹压缩为 zip压缩包及其解压操作, 下面分两个版本进行实现 1.简单版本 bool DoCompressDirectoryInfo(string folderPath){try{var zipFilePath $"{folderPath}.zip";var directoryInfo …...
机器学习 | 回归算法原理——多项式回归
Hi,大家好,我是半亩花海。接着上次的最速下降法(梯度下降法)继续更新《白话机器学习的数学》这本书的学习笔记,在此分享多项式回归这一回归算法原理。本章的回归算法原理基于《基于广告费预测点击量》项目,…...
力扣224【基本计算器】
给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 1 < s.length < 3 * 105 s 由数字、‘’、‘-’、‘(’、‘)’、和 ’ ’ 组成 s 表示一个有效的…...
【Linux】HTTP 协议
目录 1. URL2. HTTP 协议2.1. HTTP 请求2.2. HTTP 响应 1. URL URL 表示着是统一资源定位符(Uniform Resource Locator), 就是 web 地址,俗称“网址”; 每个有效的 URL 可以通过互联网访问唯一的资源, 是互联网上标准资源的地址; URL 的主要由四个部分组成: sche…...