一种基于自然语言的协同应急响应SOAR剧本推荐方法转让专利

申请号 : CN202210184815.4

文献号 : CN114254102B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙捷车洵胡牧

申请人 : 南京众智维信息科技有限公司

摘要 :

本发明公开了一种基于自然语言的协同应急响应SOAR剧本推荐方法包括步骤:将作战室聊天内容中的一个句子抽取人、关系和内容三个属性,进行数据标准化处理;使用文本预训练模型BERT作为文本编码器,对特定使用场景下文本内容进行有区别的关注,并映射成为词向量;构建标准的剧本库,采用剧本步骤预测算法,对模型进行掩码训练,使得模型挖掘出剧本中各个工作流程步骤的潜在内部联系;使用协同过滤算法,进行事件关联度特征匹配,实现另一个维度的协同工作,并推荐出SOAR剧本方案;本方案具有针对作战室的聊天内容口语化、信息碎片化等特点,能快速准确调动SOAR剧本,及时应对安全事件的特点。

权利要求 :

1.一种基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于,包括以下步骤:S1:将作战室聊天内容中的一个句子抽取人、关系和内容三个属性,进行数据标准化处理;

S2:使用文本预训练模型BERT作为文本编码器,利用BERT模型中的自注意力机制计算词与词之间的关系,联系上下文,对特定使用场景下文本内容进行有区别的关注,体现其不同的重要程度,并映射成为词向量;

S3:构建标准的剧本库,采用剧本步骤预测算法,对模型进行掩码训练,使得模型能充分挖掘出剧本中各个工作流程步骤的潜在内部联系;在作战室应用场景中,根据现有的文本内容进行建模,抽取其中有用信息,并且准确地预测出缺失的步骤,形成一个完整的剧本;

S4:使用协同过滤算法,在行业级的知识库中进行事件关联度特征匹配,实现另一个维度的协同工作,并推荐出SOAR剧本方案;

所述步骤S1中数据标准化处理包括将人、关系和内容打标签映射为一个向量,定义为一个步骤,再将一系列的步骤组合成一个剧本。

2.根据权利要求1所述的基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于:所述数据标准化处理包括数据过滤、数据归并。

3.根据权利要求1所述的基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于:对于输入的剧本X是由n个步骤组成,X={ x1,…,xi,…,xn},i表示步骤在剧本中的位置,然后进行预处理,预处理过程包括:使用LTP分词器进行分词,再去除噪声词和停用词,最后规范化生成训练集的语料库,并为每个步骤打上标签表示是否将步骤进行提取。

4.根据权利要求3所述的基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于:预处理过后的文本经过BERT模型中的词向量层使得步骤映射为相应的特征向量,在一个剧本的起始位置标记[CLS],在结束位置标记[SEP],其中CLS表示整个剧本的特征向量,用于下游分类任务,SEP用于分隔多个剧本,并且对每个步骤生成有区别的间隔段向量和位s p t置向量,其中xi步骤的间隔段向量用E (xi)表示,位置向量用E(xi)表示,词向量用E (xi)表示,将词向量、位置向量和间隔段向量三者拼接,形成了一个完整的步骤xi特征向量E(xi),E(xi)表示为:t s p

E(xi)=E(xi)+E(xi)+E(xi)。

5.根据权利要求1所述的基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于:所述协同过滤算法包括引入行业级的知识库,与知识库中成熟的相关案例进行匹配相似度,推荐Top‑N种SOAR剧本方案供作战室人员参考与完善,N=1,2,3…N。

6.根据权利要求5所述的基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于:推荐Top‑1和Top‑3准确率的SOAR剧本方案。

7.根据权利要求5所述的基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于:使用关联算法Apriori,以相似安全事件中频繁出现的剧本序列,来做频繁集挖掘,找到满足支持度阈值的关联SOAR剧本方案。

8.根据权利要求7所述的基于自然语言的协同应急响应SOAR剧本推荐方法,其特征在于,所述关联算法Apriori包括以下步骤:输入:所有安全事件数据集合S;

剧本的支持度阈值α输出:最大的频繁c项剧本集;

支持度表示剧本在安全事件中出现的概率,频繁项剧本集表示剧本的支持度超过设定阈值的集合,即为频繁项集;频繁c项剧本集是指包含c个剧本的集合;

M1:遍历整个安全事件数据集合S,得到所有出现过的安全事件,对应得到候选频繁1项剧本集,c=1时,频繁0项剧本集为空集合;

M2:挖掘剧本频繁c项剧本集;

遍历数据计算候选频繁c项剧本集的支持度;

排除候选频繁c项剧本集中支持度低于阈值的数据,得到频繁c项剧本集,如果计算出的频繁c项剧本集为空,则直接返回上一步的频繁c‑1项剧本集的集合作为最终结果,当得到的频繁c项剧本集只有一项时,则直接返回频繁c项的剧本集的集合作为算法结果,算法结束;

基于上述的频繁c项剧本集,接着算出候选频繁c+1项剧本集;

M3:令c=c+1,转入步骤M2;

重复上述步骤,最终频繁c项剧本集生成支持度从大到小的c个剧本,从而找到关联度最大的案例方案,推荐出Top‑N种SOAR剧本方案。

说明书 :

一种基于自然语言的协同应急响应SOAR剧本推荐方法

技术领域

[0001] 本发明涉及网络安全推荐方法处理领域,特别涉及一种基于自然语言的协同应急响应SOAR剧本推荐方法。

背景技术

[0002] 近年来在网络安全领域,SOAR(Security Orchestration, Automation and Response,安全编排与自动化响应)已经成为众多企业机构重点研究方向。在网络安全应急响应过程中,需要将一系列的工作流程进行排列组合,编排成剧本对安全事件进行应急响应处置。剧本化的工作模式贯穿SOAR系统的全过程,当安全事件被触发时,剧本将以自动化的形式在SOAR系统运行,解决相应的安全威胁。通过剧本化的手段,面对网络安全威胁的响应时间就会大大缩短而且解决安全事件的效率也在稳步提高,使得网络安全领域在面临复杂严峻挑战时能最大限度地快速应急反应,减少损失。
[0003] 针对以往出现过的网络安全攻击事件,SOAR能做到快速应急响应,但随着网络安全攻击技术的不断发展变化,简单地参照过往的应急响应解决方案,难以适应这种复杂多变的威胁态势。因此,还需要专业领域的安全工程师给出分析研判,依据他们的知识经验作为地基形成剧本化流程。在整个业务流程中,SOAR能将人与技术有效地实现人机协同融合,这些流程化的工作步骤能够自动化或者半自动化地处理。系统完成重复的、常规的和确定的部分,人工参与处置完成新的、复杂的和不确定的部分。针对未知威胁仍然依赖线下人工操作,人工操作难以满足快速响应要求,并且人工操作难免会出错。现有的基于SOAR技术安全编排剧本主要有以下两点不足:
[0004] (1)针对已知安全威胁,传统的剧本编排依据人的经验作为支撑,固化了流程,实现了自动化,但没有智能化。对剧本与剧本之间,以及构成剧本的步骤之间潜在内部规律缺乏发掘;
[0005] (2)针对未知安全威胁,更多的需要人工协作对事件进行分析研判,作战室中人员岗位职责不同,分析研判的重要程度和语言表达方式均不同,使得传统自然语言处理模型难以捕捉到这种非结构化语言的有意义特征。

发明内容

[0006] 为此,需要提供针对作战室的聊天内容口语化、信息碎片化等特点,能快速准确调动SOAR剧本,及时应对安全事件的一种基于自然语言的协同应急响应SOAR剧本推荐方法。
[0007] 为实现上述目的,发明人提供了一种基于自然语言的协同应急响应SOAR剧本推荐方法,包括以下步骤:
[0008] S1:将作战室聊天内容中的一个句子抽取人、关系和内容三个属性,进行数据标准化处理;
[0009] S2:使用文本预训练模型BERT作为文本编码器,利用BERT模型中的自注意力机制计算词与词之间的关系,联系上下文,对特定使用场景下文本内容进行有区别的关注,体现其不同的重要程度,并映射成为词向量;
[0010] S3:构建标准的剧本库,采用剧本步骤预测算法,对模型进行掩码训练,使得模型能充分挖掘出剧本中各个工作流程步骤的潜在内部联系;在作战室应用场景中,根据现有的文本内容进行建模,抽取其中有用信息,并且准确地预测出缺失的步骤,形成一个完整的剧本;
[0011] S4:使用协同过滤算法,在行业级的知识库中进行事件关联度特征匹配,实现另一个维度的协同工作,并推荐出SOAR剧本方案。
[0012] 作为本发明的一种优选方式,所述数据标准化处理包括数据过滤、数据归并。
[0013] 作为本发明的一种优选方式,所述步骤S1中数据标准化处理包括将人、关系和内容打标签映射为一个向量,定义为一个步骤,再将一系列的步骤组合成一个剧本。
[0014] 作为本发明的一种优选方式,对于输入的剧本 是由 个步骤组成,, 表示步骤在剧本中的位置,然后进行预处理,预处理过程包括:使用LTP分词器进行分词,再去除噪声词和停用词,最后规范化生成训练集的语料库,并为每个步骤打上标签表示是否将步骤进行提取。
[0015] 作为本发明的一种优选方式,
[0016] 预处理过后的文本经过BERT模型中的词向量层使得描述步骤的文字内容映射为相应的特征向量,在一个剧本的起始位置标记[CLS],在结束位置标记[SEP],其中CLS表示整个剧本的特征向量,用于下游分类任务,SEP用于分隔多个剧本,并且对每个步骤生成有区别的间隔段向量和位置向量,其中 步骤的间隔段向量用 表示,位置向量用表示,词向量用 表示,将词向量、位置向量和间隔段向量三者拼接,形成了一个完整的步骤 特征向量 , 表示为:
[0017]
[0018] 作为本发明的一种优选方式,所述协同过滤算法包括引入行业级的知识库,与知识库中成熟的相关案例进行匹配相似度,推荐Top‑N种SOAR剧本方案供作战室人员参考与完善,N=1,2,3…N。
[0019] 作为本发明的一种优选方式,推荐Top‑1和Top‑3准确率的SOAR剧本方案。
[0020] 作为本发明的一种优选方式,使用关联算法Apriori,以相似安全事件中频繁出现的剧本序列,来做频繁集挖掘,找到满足支持度阈值的关联SOAR剧本方案。
[0021] 作为本发明的一种优选方式,所述关联算法Apriori包括以下步骤:
[0022] 输入:所有安全事件数据集合S;
[0023] 剧本的支持度阈值α输出:最大的频繁c项剧本集;
[0024] 支持度表示剧本在安全事件中出现的概率,频繁项剧本集表示剧本的支持度超过设定阈值,即为频繁项集;频繁c项剧本集是指包含c个剧本的集合;
[0025] M1:遍历整个安全事件数据集合S,得到所有出现过的安全事件,对应得到候选频繁1项剧本集,c=1时,频繁0项剧本集为空集合;
[0026] M2:挖掘频繁c项剧本集;
[0027] 遍历数据计算候选频繁c项剧本集的支持度;
[0028] 排除候选频繁c项剧本集中支持度低于阈值的数据,得到频繁c项剧本集,如果计算出的频繁c项剧本集为空,则直接返回上一步的频繁c‑1项剧本集的集合作为最终结果,当得到的频繁c项剧本集只有一项时,则直接返回频繁c项的剧本集的集合作为算法结果,算法结束;
[0029] 基于上述的频繁c项剧本集,接着算出候选频繁c+1项剧本集;
[0030] M3:令c=c+1,转入步骤M2;
[0031] 重复上述步骤,最终频繁c项剧本集生成支持度从大到小的c个剧本,从而找到关联度最大的案例方案,推荐出Top‑N种SOAR剧本方案。
[0032] 区别于现有技术,上述技术方案所达到的有益效果有:本发明通过现有的BERT模型,对专业化的网络安全领域自然语言进行数据关系建模,挖掘出他们的潜在联系,并且通过协同过滤算法,基于安全事件的相似度进行特征匹配,更加准确地对安全事件进行合理的SOAR剧本安排。在客户现场投运系统真实数据集基础上,构建相应的安全事件解决方案,形成完整的应急响应知识库,在此数据集上,对比双向长短时记忆网络和长短时记忆网络‑注意力网络模型,本方案构建的算法模型推荐的SOAR剧本Top‑1准确率87.3%,Top‑3准确率达到92.7%,远超过现有算法模型。

附图说明

[0033] 图1为具体实施方式所述SOAR剧本方案流程图。
[0034] 图2为具体实施方式所述推荐方法示意图。
[0035] 图3为具体实施方式所述SOAR剧本步骤预测算法示意图。
[0036] 图4为具体实施方式所述SOAR剧本协同过滤算法原理图。
[0037] 图5为具体实施方式所述SOAR剧本推荐Top‑1准确率图。

具体实施方式

[0038] 为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0039] 在解决作战室的协同应急响应阶段因自然语言口语化、非结构化特点,无法快速准确调用剧本问题。尤其面对未知安全威胁,需要人工协同给出分析研判方案,在此过程中作战室的各类人员都给出了相应分析判断。现有的自然语言处理模型大多数对结构化文本特征提取效果较强,对聊天式的语言特征提取较差,主要根据关键词,不能关注于上下文信息的前后联系。因此本实施例提出基于BERT(Bidirectional Encoder Representation from Transformers, 一种基于Transformer的框架模型)的SOAR剧本推荐模型,模型对作战室的聊天内容进行建模,分为剧本生成和剧本推荐两个阶段。以过往作战室解决安全事件的聊天内容(事件解决流程)作为数据集,在剧本生成阶段进行掩码预训练,捕捉到构成剧本的各个步骤流程之间的潜在关系,最终达到能根据常规的聊天内容就能生成一个完整剧本。在生成剧本后,再借助知识库,基于安全事件的类似性,通过协同过滤算法,匹配出相似度最高的剧本推荐。
[0040] 本实施例提供了一种基于自然语言的协同应急响应SOAR剧本推荐方法,包括以下步骤:
[0041] S1:将作战室聊天内容中的一个句子抽取人、关系和内容三个属性,进行数据标准化处理;
[0042] S2:使用文本预训练模型BERT作为文本编码器,利用BERT模型中的自注意力机制计算词与词之间的关系,联系上下文,对特定使用场景下文本内容进行有区别的关注,体现其不同的重要程度,并映射成为词向量;
[0043] S3:构建标准的剧本库,采用剧本步骤预测算法,对模型进行掩码训练,使得模型能充分挖掘出剧本中各个工作流程步骤的潜在内部联系;在作战室应用场景中,根据现有的文本内容进行建模,抽取其中有用信息,并且准确地预测出缺失的步骤,形成一个完整的剧本;
[0044] S4:使用协同过滤算法,在行业级的知识库中进行事件关联度特征匹配,实现另一个维度的协同工作,并推荐出SOAR剧本方案。
[0045] 如图1所示,当安全事件触发后,网络安全作战室依据安全日志等进行数据分析,生成分析报告,作战室的相关人员,如总指挥、作战参谋和事件处置人员等做出指令决策。根据这些信息,将数据进行标准化处理,为接下NLP模型读取数据打好基础。将相关数据读入推荐算法模型后,参考网络安全事件的知识库,推荐出一个或多个可施行的SOAR剧本来完成相应的工作流程。
[0046] 数据标准化:一个剧本包含多个执行步骤,这里将人+关系+内容合并为一个步骤,接着映射为一个向量。这里人表示作战室某个身份的人,内容表示这个人说了什么或者做了什么,关系表示具体执行的方法。
[0047] 推荐算法:在考虑到实际作战室聊天记录中,各相关人员的决策只会将一个剧本中相对而言较重要的解决步骤提出来,而其他通用或者重要性较低的步骤会被省略。但要形成一个闭合完整的流程,那些看起来不那么重要的步骤也需要被补充进工作流程,进而形成一个完整的剧本。所以本实施例的推荐算法分为两个部分:第一部分为形成一个完整剧本预测,第二部分依据预测的剧本参照公司或者信息安全中心的知识库,经过协同过滤算法推荐出最理想的SOAR剧本。在图2中,左边方框中表示预测的完整剧本模型结构图,详细结构如图2所示,图2右边方框中表示协同过滤算法推荐剧本示意流程。
[0048] 在图3中,为网络安全SOAR剧本步骤预测算法,在预训练过程中,将剧本中一个个步骤映射成为向量作为模型的输入,为让模型关注于上下文信息和步骤的前后联系,将其中的某个步骤掩码,经过自注意力模型的不断训练,使得这部分模型能够依据作战室中的聊天记录,迅速构建一个完整的剧本,具体处理过程如下:
[0049] 将作战室聊天记录数据预处理成标准格式,人+关系+内容打标签映射为一个向量,定义为一个步骤,再将一系列的步骤组合成一个剧本。
[0050] 对于输入的剧本 是由 个步骤组成, , 表示步骤在文本中的位置。进行预处理,使用LTP(Language Technology Platform, 语言技术平台)分词器进行分词,然后去除噪声词、停用词规范化生成训练语料,并为每个句子打上标签表示是否将步骤进行提取。
[0051] 预处理过后的文本经过BERT模型中的词向量层使得步骤映射为相应的特征向量。在一个剧本的起始位置标记[CLS],在结束位置标记[SEP],其中CLS表示整个剧本的特征向量可以用于下游分类任务。SEP用于分隔多个剧本,并且对每个步骤生成有区别的间隔段向量和位置向量。其中 步骤的间隔段向量用 表示,位置向量用 表示,词向量用 表示,将词向量、位置向量和间隔段向量三者拼接,形成了一个完整的步骤  特征向量 , 表示为:
[0052]
[0053] 对于输入的剧本 是由一系列步骤 组成,首先传入多个注意力模块组成的多头注意力块,具体注意力模块个数为超参数t。当用3个随机矩阵 和对应向量 相乘,其中 为三个随机生成的可训练矩阵向量,得到 ,分别对应查询向量矩阵,键值向量矩阵和值向量矩阵。因为是t个注意力头,所以分成。为了得到当前步骤的注意力权重,首先计算第一个步骤和其它步
骤的关联程度,这里用相似度 表示,用查询向量矩阵 和其他步骤的键值向量矩阵来计算相似度,相似度 表示为:
[0054]
[0055] 由于相似度 由Q和K矩阵点积得到,数值结果较大,不利于反向传播,所以除以同一个系数 , 表示当前步骤向量的维度数。然后用softmax函数进行归一化处理,得到注意力权重 , 算式如下:
[0056]
[0057] 用当前步骤得到的注意力权重值 来更新当前步骤的值向量矩阵V,最终得到新的 :
[0058]
[0059] 同样对其它输入序列步骤循环相同上述过程,就可以得到所有输出。公式总结如下:
[0060]
[0061] 然后用多头注意力模块将多个注意力权重输出并且拼接在一起,下面和输入序列步骤 做残差跳跃,然后输入进规范层LN,公式如下:
[0062]
[0063] 经过计算,输出的向量作为全连接层的输入,同样经过残差跳跃和规范层LN,并且用叠加线性层封装且用ReLu函数激活:
[0064]
[0065] 全连接层用的输出作为下一阶段Transform编码部分的输入:
[0066]
[0067] 然后重复计算处理用9层的Transform编码部分来处理这些特征向量。经过这些堆叠的双向Transform编码部分的训练层后,输出向量 , 是输入时每个剧本的[CLS]符号标记向量,也是表示整个剧本的特征向量。
[0068]
[0069] 得到 后,我们引入多层Transform解码部分的输入进行解码,然后将每一层的输出进行拼接,公式如下:
[0070]
[0071] 其中 是经过多层Transform的特征向量,经过权重求和,再平均得到的。最后用sigmod函数来预测语义提取每个步骤的分数 , 表示第i个步骤的分数, 为当前步骤的权重参数矩阵, 为其偏置值,公式如下:
[0072]
[0073] 按照顺序训练,对输出的每个步骤的分数进行排名,选择得分最高的对应标签,然后再将对应的标签映射到对应的步骤,公式如下:
[0074]
[0075] 协同过滤算法:只依靠作战室的聊天记录组合而成的剧本,在面对复杂多变的安全事件时,难免会有所疏漏,这时引入知识库,与知识库中成熟的相关案例进行匹配相似度,推荐Top‑N种方案供作战室人员参考与完善。协同过滤算法的核心思想就是类似的安全事件解决方案会包含共同的或者类似的剧本,也就是图4中安全事件1和安全事件3相似度和关联度较高,两个事件的频繁交集剧本3,因此在剧本推荐过程中,在安全事件1中,也需要剧本3的参与。
[0076] 使用关联算法Apriori,以相似安全事件中频繁出现的剧本序列,来做频繁集挖掘,找到满足支持度阈值的关联SOAR剧本。Apriori算法流程如下:
[0077] 输入:所有安全事件数据集合S(包括对应的剧本库);
[0078] 剧本的支持度阈值α输出:最大的频繁c项剧本集(推荐SOAR剧本);
[0079] 支持度表示剧本在安全事件中出现的概率,频繁项剧本集表示剧本的支持度超过设定阈值,即为频繁项集;频繁c项集是指包含c个剧本的集合;
[0080] M1:遍历整个安全事件数据集合S,得到所有出现过的安全事件,对应得到候选频繁1项剧本集,c=1时,频繁0项剧本集为空集合;
[0081] M2:挖掘频繁c项剧本集;
[0082] 遍历数据计算候选频繁c项剧本集的支持度;
[0083] 排除候选频繁c项剧本集中支持度低于阈值的数据,得到频繁c项剧本集,如果计算出的频繁c项剧本集为空,则直接返回上一步的频繁c‑1项剧本集的集合作为最终结果,当得到的频繁c项剧本集只有一项时,则直接返回频繁c项的剧本集的集合作为算法结果,算法结束;
[0084] 基于上述的频繁c项剧本集,接着算出候选频繁c+1项剧本集;
[0085] M3:令c=c+1,转入步骤2;
[0086] 重复上述步骤,最终频繁c项剧本集生成支持度从大到小的c个剧本,从而找到关联度最大的案例方案,推荐出Top‑N剧本。
[0087] 本发明通过现有的BERT模型,对专业化的网络安全领域自然语言进行数据关系建模,挖掘出他们的潜在联系。并且通过协同过滤算法,基于安全事件的相似度进行特征匹配,更加准确地对安全事件进行合理的SOAR剧本安排。在客户现场投运系统真实数据集基础上,构建相应的安全事件解决方案,形成完整的应急响应知识库。在此数据集上,对比双向长短时记忆网络和长短时记忆网络‑注意力网络模型,本实施例构建的方法模型推荐的SOAR剧本Top‑1准确率87.3%,Top‑3准确率达到92.7%,远超过现有方法模型,具体结果对比见表1和图5。
[0088] 表1  SOAR剧本推荐结果对比表
[0089]
[0090] 需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的保护范围之内。