CN116933075A - 网络安全领域的问答模型训练方法、智能问答方法及装置 - Google Patents
网络安全领域的问答模型训练方法、智能问答方法及装置 Download PDFInfo
- Publication number
- CN116933075A CN116933075A CN202310827765.1A CN202310827765A CN116933075A CN 116933075 A CN116933075 A CN 116933075A CN 202310827765 A CN202310827765 A CN 202310827765A CN 116933075 A CN116933075 A CN 116933075A
- Authority
- CN
- China
- Prior art keywords
- question
- network security
- answer
- data
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012549 training Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims abstract description 9
- 235000002198 Annona diversifolia Nutrition 0.000 claims abstract description 8
- 241000282842 Lama glama Species 0.000 claims abstract description 8
- 238000007781 pre-processing Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 12
- 238000012038 vulnerability analysis Methods 0.000 claims description 11
- 238000003058 natural language processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 8
- 238000004140 cleaning Methods 0.000 claims description 7
- 230000008439 repair process Effects 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种网络安全领域的问答模型训练方法、智能问答方法及装置,属于网络安全技术领域,该方法通过获取已有的网络安全领域的结构化和非结构化数据,利用ChatGPT生成问答数据集,基于生成的问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型,所述AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS;并根据网络安全领域的问答模型和问答数据集对用户的提问进行回答,提高了答复的可靠性和速度,降低了人力成本和网络安全领域问题处理的门槛。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络安全领域的问答模型训练方法、智能问答方法及装置。
背景技术
随着信息化技术的迅猛发展,网络安全已成为社会发展中不可或缺的重要组成部分。在现代化的网络环境中,越来越多的数据被存储在云端,越来越多的企业、机构和个人都在网络中扮演着重要的角色。然而,网络安全威胁也在不断增加,黑客、病毒、木马、钓鱼等恶意攻击手段已经成为互联网安全领域的一大挑战。在真实场景中,网络安全从业人员遇到技术难题,一般都是借助于搜索引擎或者在网络安全社区中通过关键字匹配定位到具体的漏洞或者漏洞类型、组件等关联信息,再查找其相关资料。这需要相关人员具备十分丰富的技术储备才能快速定位到问题涉及的组件、漏洞、修复方案等信息,而且需要花费大量的时间成本去甄别出实际需要的信息。
发明内容
本发明提供了一种网络安全领域的问答模型训练方法、智能问答方法、装置、设备及存储介质,提高了网络安全领域相关问题答复的可靠性和速度,降低了人力成本和网络安全领域问题处理的门槛。
第一方面,本发明的实施例提供了一种基于大模型的网络安全领域的问答模型训练方法,该方法包括:
获取网络安全领域数据;
其中,网络安全领域数据包括:结构化数据和非结构化数据,结构化数据包括:网络安全领域的CVE、CWE、CPE和ATTCK数据集,非结构化数据包括:网络安全社区的漏洞分析文章、公众号的网络安全相关文章、开源社区的技术规范和说明及CPE涉及的组件的描述信息;
对网络安全领域数据进行预处理得到结构化数据集和非结构化数据集;
分别为结构化数据集和非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集;
根据预设数据处理方法对第一问答数据集进行处理,得到第二问答数据集;
基于第二问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型;
其中,AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS。
可选地,对网络安全领域数据进行预处理得到结构化数据集和非结构化数据集,包括:
对网络安全领域数据进行清洗和过滤,去除与网络安全无关的数据和冗余数据;
使用正则表达式和实体识别方法抽取网络安全领域数据中非结构化数据中的CVE、CWE和CPE实体,构建专有分词词典。
可选地,分别为结构化数据集和非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集,包括:
对于结构化数据集中的数据,根据数据的多种组合模式设计不同的指令范式;
对于非结构化数据集中的数据,根据数据的来源和特性组合不同的数据源来设计不同的指令范式。
可选地,根据预设数据处理方法对第一问答数据集进行处理,得到第二问答数据集,包括:
对第一问答数据集进行数据清洗、去重和去噪处理;
对第一问答数据集中的问答对进行分类;
其中,问答对的类别包括:漏洞描述、修复方案、漏洞利用和漏洞分析;
通过自然语言处理中的word2vector模型对第一问答数据集中问答对中的提问文本进行词向量的embedding嵌入,得到第二问答数据集。
第二方面,本发明的实施例提供了一种网络安全领域的智能问答方法,该方法包括:
获取提问问题并根据自然语言处理中的fastext模型对提问问题进行问题类别的分类收束;
根据分类收束结果查询数据库,将提问问题与数据库中相同类别的问题进行余弦相似度计算;
筛选出相似度大于相似度阈值的问题,并将筛选出的问题对应的答案作为备选答案;
若没有相似度大于相似度阈值的问题,则将提问问题输入到网络安全领域的问答模型中,得到提问问题的答案;
其中,网络安全领域的问答模型中包括贪心搜索和束搜索,基于贪心搜索和束搜索得到的答案得到提问问题的答案;
数据库基于第二问答数据集构建,第二问答数据集和网络安全领域的问答模型通过第一方面中的基于大模型的网络安全领域的问答模型训练方法得到。
可选地,该方法还包括:
对网络安全领域的问答模型输出的答案进行校验,若校验通过则将提问问题和对应的答案添加到数据库中。
第三方面,本发明的实施例提供了一种基于大模型的网络安全领域的问答模型训练装置,该装置包括:
获取模块,用于获取网络安全领域数据;
其中,网络安全领域数据包括:结构化数据和非结构化数据,结构化数据包括:网络安全领域的CVE、CWE、CPE和ATTCK数据集,非结构化数据包括:网络安全社区的漏洞分析文章、公众号的网络安全相关文章、开源社区的技术规范和说明及CPE涉及的组件的描述信息;
预处理模块,用于对网络安全领域数据进行预处理得到结构化数据集和非结构化数据集;
输入模块,用于分别为结构化数据集和非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集;
数据处理模块,用于根据预设数据处理方法对第一问答数据集进行处理,得到第二问答数据集;
训练模块,用于基于第二问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型;
其中,AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS。
第四方面,本发明的实施例提供了一种网络安全领域的智能问答装置,该装置包括:
获取模块,用于获取提问问题并根据自然语言处理中的fastext模型对提问问题进行问题类别的分类收束;
计算模块,用于根据分类收束结果查询数据库,将提问问题与所述数据库中相同类别的问题进行余弦相似度计算;
筛选模块,用于筛选出相似度大于相似度阈值的问题,并将筛选出的问题对应的答案作为备选答案;
筛选模块,还用于若没有相似度大于相似度阈值的问题,则将提问问题输入到网络安全领域的问答模型中,得到提问问题的答案;
其中,网络安全领域的问答模型中包括贪心搜索和束搜索,基于贪心搜索和束搜索得到的答案得到提问问题的答案;
数据库基于第二问答数据集构建,所述第二问答数据集和所述网络安全领域的问答模型通过第一方面中的基于大模型的网络安全领域的问答模型训练方法得到。
第五方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如第一方面中任一实现方式所述的方法。
第六方面,本发明的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一实现方式所述的方法。
本发明提供了一种网络安全领域的问答模型训练方法、智能问答方法、装置、设备及存储介质,通过获取已有的网络安全领域的结构化和非结构化数据,利用ChatGPT生成问答数据集,基于生成的问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型,所述AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS;并根据网络安全领域的问答模型和问答数据集对用户的提问进行回答,提高了答复的可靠性和速度,降低了人力成本和网络安全领域问题处理的门槛。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素。
图1为本发明实施例的一种基于大模型的网络安全领域的问答模型训练方法的流程图;
图2为本发明实施例的另一种基于大模型的网络安全领域的问答模型训练方法的流程图;
图3为本发明实施例的一种网络安全领域的智能问答方法的流程图;
图4为本发明实施例的另一种网络安全领域的智能问答方法的流程图;
图5为本发明实施例的一种基于大模型的网络安全领域的问答模型训练装置的结构示意图;
图6为本发明实施例的一种网络安全领域的智能问答装置的结构示意图;
图7为本发明实施例的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
需要说明的是,本发明实施例描述的仅仅是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定。
图1为本发明实施例的一种基于大模型的网络安全领域的问答模型训练方法的流程图。如图1所示,包括:
S101、获取网络安全领域数据。
可选地,网络安全领域数据包括:结构化数据和非结构化数据。
具体地,结构化数据包括:通用漏洞披露(Common Vulnerabilities andExposures,CVE)、通用脆弱性描述(Common Weakness Enumeration,CWE)、通用平台枚举(Common Platform Enumeration,CPE)、ATTCK等网络安全领域权威的数据集,可以直接从相关关联网站直接获取。
其中,CVE是一个公开的漏洞数据库,它包含了一系列已知的漏洞和安全漏洞,每个CVE条目都有一个独特的编号标识符,以便快速和准确地识别和跟踪漏洞。CWE是一份常见漏洞枚举列表,它描述了常见的软件安全漏洞类型和相关问题;这些漏洞类型涵盖了各种安全问题,如缓冲区溢出、跨站点脚本(XSS)攻击、SQL注入等。CPE是描述和识别企业计算资产中存在的应用程序、操作系统和硬件设备类别的标准化方法,它提供了一个标准的机器可读的格式,利用这个格式可以对IT产品和平台进行唯一编码。ATTCK是一个知识库,旨在描述现代网络攻击者使用的威胁行为,包括他们使用的战术和技术,以及这些行为背后的动机和目标,其被广泛用于安全工具和平台的开发,以帮助检测和响应这些威胁行为。
非结构化数据包括:各种公开的网络安全社区的漏洞分析文章(先知社区、seebug社区等)、各种公众号的网络安全相关的文章、和从github或开源中国等开源社区抓取的相关技术规范和说明以及CPE涉及的组件的描述信息等。非结构化数据是在互联网上公开的内容,可以通过爬虫获取。
S102、对网络安全领域数据进行预处理得到结构化数据集和非结构化数据集。
具体地,包括:对数据进行清洗和过滤,去除与网络安全无关信息和冗余数据,只需要保留与网络安全相关的数据;使用正则表达式和实体识别方法抽取网络安全领域数据中非结构化数据中的CVE、CWE和CPE实体,构建专有分词词典;其中,该分词词典可用于智能问答方法中,对提问问题进行分词映射,从数据库中快速找到相关问题。
S103、分别为结构化数据集和非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集。
可选地,可以从每个CVE、CWE和CPE的条目中提取相关信息,并将其作为输入,利用ChatGPT生成答案。
可选地,对于ATTCK数据集,可以根据攻击向量和攻击行为的关系,生成问题和答案之间的联系,以加强数据集的连贯性和准确性。
可选地,通过上述方法生成的问答对可以覆盖不同的安全主题和知识点,从而可以更好地满足用户的需求。
示例性地,对于结构化数据集中的数据,根据数据的多种组合模式设计不同的指令范式,例如:通过CVE、CPE生成问答对的指令范式示例(包括CVE漏洞信息、漏洞的描述信息,作用组件信息以及涉及的修复方案信息等)。
具体地,示例如下:
你是一个网络安全领域的从业人员,你有着十分丰富的网络安全技术储备……根据你的知识储备,从下面文本中生成5个适合大模型训练的问答对:
CVE的ID是:CVE-2007-4288;
name是:Microsoft Windows Media Player 11远程攻击漏洞;
作用组件:microsoft:windows_media_player;
修复方案是:将Windows Media Player 11更新到修复漏洞的最新版本;
描述信息是:Microsoft Windows Media Player 11(wmplayer.exe)存在远程攻击漏洞,攻击者可以利用特制的.au文件触发除零错误,导致应用程序崩溃,从而造成拒绝服务攻击,例如iapetus.au。
生成的2个问答对示例如下:
问:攻击者如何利用CVE-2007-4288漏洞?
答:攻击者可以利用特制的.au文件触发除零错误,导致应用程序崩溃,从而造成拒绝服务攻击。
问题类别:漏洞利用。
问:如何避免受到CVE-2007-4288漏洞的攻击?
答:将Windows Media Player 11更新到修复漏洞的最新版本,即可避免受到CVE-2007-4288漏洞的攻击。
问题类别:漏洞修复。
示例性地,对于非结构化数据集中的数据,根据数据的来源和特性组合不同的数据源来设计不同的指令范式,例如:利用漏洞分析相关文章生成问答对的指令范式。
具体地,示例如下:
你是一个网络安全领域的从业人员,你有着十分丰富的网络安全技术储备……根据你的知识储备……从下面的文本中抽取从5个网络安全领域的问答对……文本内容是:
CVE-2020-1181 SharePoint远程代码执行漏洞:微软SharePoint服务器允许用户创建web页面,但为了避免被滥用,服务器会严格限制这些页面上能够出现的组件……。
利用非结构化数据生成的问答对示例如下:
问:什么是CVE-2020-1181漏洞?
答:CVE-2020-1181是一种SharePoint远程代码执行漏洞,攻击者通过上传WikiContentWebpart页面的方式,在不受限模式下运行任意ASP.NET标记,最终实现远程代码执行。
问题类别:漏洞描述。
问:SharePoint服务器对页面有哪些常见的处理方式?
答:SharePoint服务器会以不同的方式来处理“自有”页面和用户定义的页面。其中“自有”页面存放在文件系统上,不受任何限制。用户页面存放在数据库中,受服务器约束。其中有些限制条件包括无法使用代码块(code block)、无法包含文件系统中的文件。用户页面通常只能使用预定义列表中允许的Web控件。
问题类别:漏洞修复。
可选地,受限于ChatGPT的提问和回复的最大tokens的数量,为了保证问答效果,针对结构化数据:当漏洞影响的组件超过10个,则直接截取前10个组件;当输入指令的文本超过2000字符,则直接截断(即截断漏洞描述信息);针对非结构化数据,当文章文本内容过多时,则可以直接截取前2000个文本字符串作为指令输入。
S104、根据预设数据处理方法对第一问答数据集进行处理,得到第二问答数据集。
具体地,包括:
对第一问答数据集进行数据清洗、去重和去噪处理;
对第一问答数据集中的问答对进行分类;
其中,问答对的类别包括:漏洞描述、修复方案、漏洞利用和漏洞分析;
通过自然语言处理中的word2vector模型对第一问答数据集中问答对中的提问文本进行词向量的embedding嵌入,得到第二问答数据集。
示例性地,问答对中涉及“本漏洞”、“此漏洞”、“该漏洞”、“本文章”,“该文章”之类的文本将其替换为对应漏洞或者对应文章的标题信息;同时,需要对问答对归属的问题类别进行人工校验,生成的问答对中问题类别包括:“漏洞描述”、“修复方案”、“漏洞利用”、“漏洞分析”一共四个类别的问题类别,通过人工审核的方式对问题的类别进行校验。
S105、基于第二问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型。
其中,AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS。
可选地,受限于模型的参数容量限制、知识储备不足、逻辑推理能力较弱的问题,AI大模型无法回答涉及到更深入或更高阶的问题,基于此,通过对模型的压缩和量化,利用第二问答数据集,通过设置学习率、采样频率、数据精度等方式对全参数进行微调,实现压缩量化模型、扩展AI大模型的知识储备,提高其回答正确率。
示例性地,如下为调整前后的问答效果比对:
问题:介绍下漏洞编号是CVE-2023-1234的漏洞。
回答(微调前):很抱歉,作为AI语言模型,我没有实时的漏洞信息库,也无法搜索互联网以获取最新的漏洞信息。
回答(微调后):CVE-2023-1234是Google Chrome浏览器在Android系统中被攻击者利用特制的HTML页面执行域欺骗的漏洞。
示例性地,图2示出了一种基于大模型的网络安全领域的问答模型训练方法的流程图。
较优地,首先进行数据采集,采集网络安全领域的数据,并将采集的数据划分为结构化标准数据集和非结构化数据,分别为结构化数据和非结构化数据调试设计多组指令范式输入ChatGPT生成问答对;然后对得到的问答对进行数据清洗、去重、去噪声等操作。
之后再将清洗后的问答对数据输入ChatGLM大模型进行指令微调,形成问答模型、对问答对进行标注形成问答数据库以及适用world2vector模型对问答数据库中的问题进行embedding,得到每个问题的embedding。
其中,ChatGLM大模型的版本可以包括:ChatGLM-6B、ChatGLM2-6B或GLM-130B。
最终输出问答模型、问答数据库和每个问题的embedding向量。
本发明实施例提供了一种基于大模型的网络安全领域的问答模型训练方法,通过利用已有的网络安全领域的结构化和非结构化数据,利用ChatGPT生成特定的问答数据集,基于这些问答数据集,通过对ChatGLM模型进行指令微调,使其能够在网络安全垂直领域有更好的泛化和表达,构建了一个高质量的网络安全问答数据集,进一步提高数据集的质量和覆盖率的同时提高问答模型的适用范围和可靠性。
图3为本发明实施例的一种网络安全领域的智能问答方法的流程图。如图3所示,包括:
S301、获取提问问题并根据自然语言处理中的fastext模型对提问问题进行问题类别的分类收束。
需要说明的是,本实施例并不仅限于使用fastext模型,其他可以用于分类收束的模型也同样适用。
S302、根据分类收束结果查询数据库,将提问问题与数据库中相同类别的问题进行余弦相似度计算。
可选地,计算使用的词向量可以是通过word2vector语言模型生成的词向量;余弦相似度的计算公式如下:
其中,向量A和B的余弦相似度取值范围是[-1,1],越大则表明两个向量越相似。
S303、筛选出相似度大于相似度阈值的问题,并将筛选出的问题对应的答案作为备选答案。
具体地,当相似度超过相似度阈值时即可认为是相同问题,可以筛选出其中的topk个答案作为问题的备选答案。
可选地,若没有相似度大于相似度阈值的问题,则将提问问题输入到网络安全领的域问答模型中,得到提问问题的答案。
可选地,在用问答模型生成问答时有贪心搜索和束搜索两种生成方式,两种方式分别生成top k个答案,然后通过人工反馈和标注的方式对答案进行标注和选择,如果满足人工校验要求,即可把相应的问答对添加到数据库中并将对应的提问问题的embedding向量也添加到数据库中。
示例性地,如下为一个利用问答模型进行问答的示例:
问题:什么是SQL注入?
回答:贪心搜索模式下的答案:SQL注入是一种常见的Web应用程序漏洞,攻击者通过在Web应用程序中输入恶意的SQL语句来获取未经授权的访问权限或者窃取敏感数据。攻击者……。
束搜索模式下的答案:SQL注入是一种恶意攻击,它利用Web应用程序中的漏洞,将恶意的SQL命令插入到Web表单中的输入域,从而让数据库执行恶意的SQL语句,从而访问或者修改数据库中的数据。
示例性地,图4示出了一种网络安全领域的智能问答方法的流程图。
具体地,输入问题后首先使用fasttex模型对输入的问题的类别进行收束,并将输入的问题通过world2vector映射为词向量,对输入问题抽取关键词,对问题进行收束。
之后根据收束结果计算输入问题与问答数据库中问题的余弦相识度,判断余弦相似度是否大于相似度阈值;
若是,则抽取问答数据库中的答案作为输入问题的答案,输出答案;
若否,则利用问答模型生成答案,通过问答模型中设置的贪心搜索和束搜索方法得到输入问题的答案,通过筛选后输出答案,并对答案进行人工校验,定期将生成的问答对加入问答数据库。
本发明实施例提供了一种网络安全领域的智能问答方法,当用户将问题输入系统时可以从问答模型和问答数据集两个层面进行问题的回答,提高了答复的可靠性和速度,降低了人力成本和网络安全领域问题处理的门槛。
以下结合图5详细说明本申请实施例提供的可以执行上述基于大模型的网络安全领域的问答模型训练方法的装置。
示例性地,图5为本发明实施例的一种基于大模型的网络安全领域的问答模型训练装置的结构示意图;如图5所示,训练装置50包括:
获取模块501,用于获取网络安全领域数据;
其中,网络安全领域数据包括:结构化数据和非结构化数据,结构化数据包括:网络安全领域的CVE、CWE、CPE和ATTCK数据集,非结构化数据包括:网络安全社区的漏洞分析文章、公众号的网络安全相关文章、开源社区的技术规范和说明及CPE涉及的组件的描述信息;
预处理模块502,用于对网络安全领域数据进行预处理得到结构化数据集和非结构化数据集;
输入模块503,用于分别为结构化数据集和非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集;
数据处理模块504,用于根据预设数据处理方法对第一问答数据集进行处理,得到第二问答数据集;
训练模块505,用于基于第二问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型;
其中,AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS。
可选地,预处理模块502,还用于对网络安全领域数据进行清洗和过滤,去除与网络安全无关的数据和冗余数据;使用正则表达式和实体识别方法抽取网络安全领域数据中非结构化数据中的CVE、CWE和CPE实体,构建专有分词词典。
可选地,输入模块503,还用于对于结构化数据集中的数据,根据数据的多种组合模式设计不同的指令范式;对于非结构化数据集中的数据,根据数据的来源和特性组合不同的数据源来设计不同的指令范式。
可选地,数据处理模块504,还用于对第一问答数据集进行数据清洗、去重和去噪处理;对第一问答数据集中的问答对进行分类;其中,问答对的类别包括:漏洞描述、修复方案、漏洞利用和漏洞分析;通过自然语言处理中的word2vector模型对第一问答数据集中问答对中的提问文本进行词向量的embedding嵌入,得到第二问答数据集。
以下结合图6详细说明本申请实施例提供的可以执行上述一种网络安全领域的智能问答方法的装置。
示例性地,图6为本发明实施例的一种网络安全领域的智能问答装置的结构示意图;如图5所示,智能问答装置60包括:
获取模块601,用于获取提问问题并根据自然语言处理中的fastext模型对提问问题进行问题类别的分类收束;
计算模块602,用于根据分类收束结果查询数据库,将提问问题与所述数据库中相同类别的问题进行余弦相似度计算;
筛选模块603,用于筛选出相似度大于相似度阈值的问题,并将筛选出的问题对应的答案作为备选答案;
筛选模块603,还用于若没有相似度大于相似度阈值的问题,则将提问问题输入到网络安全领域的问答模型中,得到提问问题的答案;
其中,网络安全领域的问答模型中包括贪心搜索和束搜索,基于贪心搜索和束搜索得到的答案得到提问问题的答案;
数据库基于第二问答数据集构建,所述第二问答数据集和所述网络安全领域的问答模型通过第一方面中的基于大模型的网络安全领域的问答模型训练方法得到。
可选地,智能问答装置60还包括校验模块604,用于对网络安全领域的问答模型输出的答案进行校验,若校验通过则将提问问题和对应的答案添加到数据库中。
本发明实施例还提供了一种计算机电子设备,图7示出了可以应用本发明实施例的电子设备的结构示意图,如图7所示,该计算机电子设备包括,中央处理模块(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块501、预处理模块502、输入模块503、数据处理模块504和训练模块505,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块501还可以被描述为“用于获取网络安全领域数据的获取模块501”。
作为另一方面,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述一种基于大模型的网络安全领域的问答模型训练装置或一种网络安全领域的智能问答装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的一种基于大模型的网络安全领域的问答模型训练方法或一种网络安全领域的智能问答方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种基于大模型的网络安全领域的问答模型训练方法,其特征在于,该方法包括:
获取网络安全领域数据;所述网络安全领域数据包括:结构化数据和非结构化数据,所述结构化数据包括:网络安全领域的CVE、CWE、CPE和ATTCK数据集,所述非结构化数据包括:网络安全社区的漏洞分析文章、公众号的网络安全相关文章、开源社区的技术规范和说明及CPE涉及的组件的描述信息;
对所述网络安全领域数据进行预处理得到结构化数据集和非结构化数据集;
分别为所述结构化数据集和所述非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集;
根据预设数据处理方法对所述第一问答数据集进行处理,得到第二问答数据集;
基于所述第二问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型;所述AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS。
2.根据权利要求1所述的基于大模型的网络安全领域的问答模型训练方法,其特征在于,所述对所述网络安全领域数据进行预处理得到结构化数据集和非结构化数据集,包括:
对所述网络安全领域数据进行清洗和过滤,去除与网络安全无关的数据和冗余数据;
使用正则表达式和实体识别方法抽取所述网络安全领域数据中非结构化数据中的CVE、CWE和CPE实体,构建专有分词词典。
3.根据权利要求1所述的基于大模型的网络安全领域的问答模型训练方法,其特征在于,所述分别为所述结构化数据集和所述非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集,包括:
对于所述结构化数据集中的数据,根据数据的多种组合模式设计不同的指令范式;
对于所述非结构化数据集中的数据,根据数据的来源和特性组合不同的数据源来设计不同的指令范式。
4.根据权利要求1所述的基于大模型的网络安全领域的问答模型训练方法,其特征在于,根据预设数据处理方法对所述第一问答数据集进行处理,得到第二问答数据集,包括:
对所述第一问答数据集进行数据清洗、去重和去噪处理;
对所述第一问答数据集中的问答对进行分类;
其中,问答对的类别包括:漏洞描述、修复方案、漏洞利用和漏洞分析;
通过自然语言处理中的word2vector模型对所述第一问答数据集中问答对中的提问文本进行词向量的embedding嵌入,得到所述第二问答数据集。
5.一种网络安全领域的智能问答方法,其特征在于,该方法包括:
获取提问问题并根据自然语言处理中的fastext模型对所述提问问题进行问题类别的分类收束;
根据分类收束结果查询数据库,将所述提问问题与所述数据库中相同类别的问题进行余弦相似度计算;
筛选出相似度大于相似度阈值的问题,并将筛选出的问题对应的答案作为备选答案;
若没有相似度大于相似度阈值的问题,则将所述提问问题输入到网络安全领域的问答模型中,得到所述提问问题的答案;所述网络安全领域的问答模型中包括贪心搜索和束搜索,基于贪心搜索和束搜索得到的答案得到所述提问问题的答案;
其中,所述数据库基于第二问答数据集构建,所述第二问答数据集和所述网络安全领域的问答模型通过权利要求1中的基于大模型的网络安全领域的问答模型训练方法得到。
6.根据权利要求5所述的网络安全领域的智能问答方法,其特征在于,还包括:
对所述网络安全领域的问答模型输出的答案进行校验,若校验通过则将所述提问问题和对应的答案添加到所述数据库中。
7.一种基于大模型的网络安全领域的问答模型训练装置,其特征在于,该装置包括:
获取模块,用于获取网络安全领域数据;所述网络安全领域数据包括:结构化数据和非结构化数据,所述结构化数据包括:网络安全领域的CVE、CWE、CPE和ATTCK数据集,所述非结构化数据包括:网络安全社区的漏洞分析文章、公众号的网络安全相关文章、开源社区的技术规范和说明及CPE涉及的组件的描述信息;
预处理模块,用于对所述网络安全领域数据进行预处理得到结构化数据集和非结构化数据集;
输入模块,用于分别为所述结构化数据集和所述非结构化数据集设计指令范式输入ChatGPT,得到第一问答数据集;
数据处理模块,用于根据预设数据处理方法对所述第一问答数据集进行处理,得到第二问答数据集;
训练模块,用于基于所述第二问答数据集,通过设置学习率、采样频率和数据精度对AI大模型的全参数进行微调,得到网络安全领域的问答模型;所述AI大模型包括:ChatGLM、CHATGLM、LlaMA或MOSS。
8.一种网络安全领域的智能问答装置,其特征在于,该装置包括:
获取模块,用于获取提问问题并根据自然语言处理中的fastext模型对所述提问问题进行问题类别的分类收束;
计算模块,用于根据分类收束结果查询数据库,将所述提问问题与所述数据库中相同类别的问题进行余弦相似度计算;
筛选模块,用于筛选出相似度大于相似度阈值的问题,并将筛选出的问题对应的答案作为备选答案;
所述筛选模块,还用于若没有相似度大于相似度阈值的问题,则将所述提问问题输入到网络安全领域的问答模型中,得到所述提问问题的答案;所述网络安全领域的问答模型中包括贪心搜索和束搜索,基于贪心搜索和束搜索得到的答案得到所述提问问题的答案;
其中,所述数据库基于第二问答数据集构建,所述第二问答数据集和所述网络安全领域的问答模型通过权利要求1中的基于大模型的网络安全领域的问答模型训练方法得到。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310827765.1A CN116933075A (zh) | 2023-07-06 | 2023-07-06 | 网络安全领域的问答模型训练方法、智能问答方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310827765.1A CN116933075A (zh) | 2023-07-06 | 2023-07-06 | 网络安全领域的问答模型训练方法、智能问答方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116933075A true CN116933075A (zh) | 2023-10-24 |
Family
ID=88393370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310827765.1A Pending CN116933075A (zh) | 2023-07-06 | 2023-07-06 | 网络安全领域的问答模型训练方法、智能问答方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116933075A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118035457A (zh) * | 2024-04-12 | 2024-05-14 | 广东省特种设备检测研究院佛山检测院 | 电梯故障描述文本分类方法、系统和计算机可读存储介质 |
-
2023
- 2023-07-06 CN CN202310827765.1A patent/CN116933075A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118035457A (zh) * | 2024-04-12 | 2024-05-14 | 广东省特种设备检测研究院佛山检测院 | 电梯故障描述文本分类方法、系统和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jang et al. | Detecting SQL injection attacks using query result size | |
Peng et al. | Astroturfing detection in social media: a binary n‐gram–based approach | |
Tsukerman | Machine Learning for Cybersecurity Cookbook: Over 80 recipes on how to implement machine learning algorithms for building security systems using Python | |
Huang et al. | JSContana: Malicious JavaScript detection using adaptable context analysis and key feature extraction | |
WO2022064348A1 (en) | Protecting sensitive data in documents | |
Mounika et al. | Analyzing CVE database using unsupervised topic modelling | |
US11100218B2 (en) | Systems and methods for improving accuracy in recognizing and neutralizing injection attacks in computer services | |
Jiang et al. | Tracking your browser with high-performance browser fingerprint recognition model | |
Layton et al. | Automating open source intelligence: algorithms for OSINT | |
CN112925914B (zh) | 数据安全分级方法、系统、设备及存储介质 | |
Zhang et al. | EX‐Action: Automatically Extracting Threat Actions from Cyber Threat Intelligence Report Based on Multimodal Learning | |
CN116933075A (zh) | 网络安全领域的问答模型训练方法、智能问答方法及装置 | |
Khan | Detection of phishing websites using deep learning techniques | |
Yan et al. | Cross-site scripting attack detection based on a modified convolution neural network | |
CN116561298A (zh) | 基于人工智能的标题生成方法、装置、设备及存储介质 | |
Bedeković et al. | The importance of developing preventive techniques for SQL injection attacks | |
CN109063485B (zh) | 一种基于漏洞平台的漏洞分类统计系统及方法 | |
US20240161109A1 (en) | Distributed evaluation platform for nonfungible tokens using virtual token cloning | |
US20230188542A1 (en) | Enhancing hybrid traditional neural networks with liquid neural network units for cyber security and offense protection | |
Lakhno et al. | Method and model of analysis of possible threats in user authentication in electronic information educational environment of the university | |
Vishnevsky et al. | Application of sonification method in teaching information security | |
Wang et al. | LCVD: Loop-oriented code vulnerability detection via graph neural network | |
Vanamala | Machine Learning Based Approach to Recommend Attack Patterns for Software Requirements Specifications | |
US20240169070A1 (en) | Information analysis apparatus, information analysis method, and computer-readable recording medium | |
CN116775889B (zh) | 基于自然语言处理的威胁情报自动提取方法、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |