CN115759081A - 一种基于短语相似度的攻击模式抽取方法 - Google Patents
一种基于短语相似度的攻击模式抽取方法 Download PDFInfo
- Publication number
- CN115759081A CN115759081A CN202211398631.4A CN202211398631A CN115759081A CN 115759081 A CN115759081 A CN 115759081A CN 202211398631 A CN202211398631 A CN 202211398631A CN 115759081 A CN115759081 A CN 115759081A
- Authority
- CN
- China
- Prior art keywords
- phrase
- phrases
- quality
- text
- similarity
- 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
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明涉及一种基于短语相似度的攻击模式抽取方法,属于信息安全技术领域。本发明能够从非结构化威胁情报文本中提取出特定的攻击模式,即攻击者对于目标所使用的攻击方法的抽象,并将其映射到ATT&CK矩阵,能够更准确地提取出非结构化的威胁情报文本中的攻击模式,且能够提高效率。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种基于短语相似度的攻击模式抽取方法。
背景技术
网络威胁情报(CTI)是指在网络战争中用于防御和侦察的信息和知识。伴随着APT、多态威胁、零日威胁、复合威胁等高级网络攻击的出现,攻击手段变得更复杂、更隐蔽、更持续,同时也更具有组织性、针对性和破坏性。网络威胁情报中所包含攻击知识对于有效识别和快速响应网络威胁非常重要。
攻击模式(Attack Pattern)是攻击者对攻击目标所使用的攻击方法的抽象,将其中使用的技巧、利用的工具或程序等概括为特定的模式,描述了高级别的威胁指标。狡猾的攻击者会在实施网络攻击的各个阶段中伪造在受害者中留下的痕迹,比如IP欺骗等,尝试将该攻击行为怪罪于其他人,从而隐蔽自己,增加被发现的难度。IP、端口、域名、Hash值等这些比较容易获取的低级威胁指标易于修改和伪装。而代表攻击者方法的攻击模式是攻击者的基本特征和长期行为,更能体现攻击者的特点和喜好。
攻击模式的识别是非常耗费人力物力资源的,往往需要对受害者的网络或主机进行调查取证。现如今在各种威胁情报报告和网络安全事件报告中都以非结构化的文本格式描述了攻击模式的情况下,给安全分析人员带来了从自然语言文本中智能抽取攻击模式的机会。
在自然语言处理中有一项基本任务,即命名实体识别,与攻击模式的抽取相似,但不完全相同。命名实体识别适用于抽取恶意软件、工具等以统一的名称为标识且在文本中明确出现的安全实体。威胁情报文本中,攻击模式往往以短语的形式出现,比如“spearphishing emails”、“web shells”、“registry modifications”、“key logging”等,这些短语所包含的语义即为攻击模式,但是并没有一种确定且统一的表达方式来进行描述。攻击模式往往通过一段文字表达出仅能被人类理解的含义,比如安全分析人员阅读语句“The first method is to lure the target into opening an email attachment”然后判断该攻击者使用了“钓鱼邮件”这一攻击模式来引诱目标,但是句子中并无明确出现“phishing email”描述。因此,命名实体识别技术就不适合用来进行攻击模式的抽取,这也使得攻击模式抽取的难度大大增加。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何针对非结构化威胁情报文本中概括的攻击模式描述无法直接被机器理解并且攻击模式本身的复杂性和多样性的问题,提出一种攻击模式抽取方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于短语相似度的攻击模式抽取方法,包括以下步骤:
步骤1、质量短语抽取
从非结构化的安全文本中抽取出按照质量排序的短语列表,即质量短语列表,作为攻击模式的候选短语的列表;
步骤2、基于步骤1进行无监督学习辅助的数据标注
使用无监督的Levenshtein距离算法初步衡量攻击模式的候选短语和ATT&CK矩阵中技术对象的字形相似度,然后再对攻击模式的候选短语进行人工归类和标注,得到训练数据;
步骤3、基于步骤2训练短语对相似度模型
短语对相似度模型包含文本特征表示模型,在文本特征表示模型的训练过程中,使用分布式词向量表示模型Word2Vec中的Skip-gram模型对训练数据进行文本向量化表示,将对文本的处理转变为向量空间中的向量运算,同时通过捕获当前词语的上下文特征,将语义相似的词语映射到向量空间中的相近位置,从而利用短语在向量空间上的相似度来表明短语在文本中的相似度。
优选地,步骤1中,采用AutoPhrase算法进行安全文本中质量短语的自动抽取,通过引用知识库中的质量短语构建正样本进行远程监督训练,并在抽取时引入词性信息。
优选地,所述知识库为wikipedia知识库。
优选地,短语是连续出现在文本中的一系列单词,是一个完整的语义单元,步骤1中的具体抽取过程如下:
1)首先对安全文本中的初始安全数据集进行分句;
2)使用n-gram切割句子构造候选质量短语集,并设置短语长度阈值n;
3)与知识库中的质量短语进行匹配,若命中则放入正例池,未命中放入复例池;
4)训练基于随机森林的集成分类器,通过该集成分类器给单词序列w1w2...wn设置一个质量估计值Q,phrase(w1w2...wn)表示由单词序列构成的一个完整语义单元;
Q(w1w2…wn)=p(phrase(w1w2…wn)|w1w2…wn)∈[0,1]
其中p表示条件概率;
5)引入词性信息从而提供浅层的语义信息;
a)首先将安全文本处理为长度为n的带词性标签的单词序列Ω=Ω1Ω2...Ωn,Ω由单词wi和词性标签ti<wi,ti>组成;
b)确定边界索引B,将该单词序列Ω划分为m个片段;B={b1,b2,...,bm+1)(1=b1<b2<...<bm+1=n+1)
c)确定短语词性质量分数T;
t为词性标签,其下标代表索引,(bi,bi+1+1)表示单词序列中的(bi,bi+1+1)位置;
6)计算带词性标签的单词序列Ω和边界索引B的联合概率:
w(bi,bi+1)为序列中(bi,bi+1+1)位置下的单词序列;
7)使用最大似然估计进行计算,并使用动态规划的思想迭代优化参数;
8)最后,最大化步骤7的公式后得到最终的序列边界索引B,按此索引划分单词序列,获得质量短语列表。
优选地,步骤2中,将两个短语序列之间的Levenshtein距离leva,b定义为
其中,leva,b(i,j)代表短语序列a的前i个字符和短语序列b的前j个字符的Levenshtein距离,短语对的Levenshtein距离越接近于1,则表示这两个短语的字形越接近。
优选地,步骤3中,使用Word2vec作为文本特征表示模型,对训练数据中的短语进行向量化表示,然后使用基于BiLSTM的孪生神经网络结构训练短语对相似度模型并进行评估,保存最佳短语对相似度模型,即,使损失值最小的短语对相似度模型。
优选地,步骤3中,为了对短语对相似度进行预测,在BiLSTM层后面接了全连接层进行维度转换,并选用Sigmoid函数作为激活函数,将预测结果压缩到[0,1]区间:
优选地,还包括步骤4、输出并评估结果:将短语对使用同样的Word2Vec模型进行向量化表示,然后将向量输入到最佳短语对相似度模型,完成质量短语与ATT&CK矩阵中技术对象的匹配,输出最终的匹配结果后,对匹配结果的准确率进行评估。
本发明还提供了一种用于实现所述方法的系统。
本发明还提供了一种所述方法在信息安全技术领域中的应用。
(三)有益效果
本发明提出一种基于短语相似度的攻击模式抽取方法,能够从非结构化威胁情报文本中提取出特定的攻击模式,即攻击者对于目标所使用的攻击方法的抽象,并将其映射到ATT&CK矩阵。其中,本发明从攻击模式的最小语义表达单元——短语出发,将攻击模式的抽取任务转化为短语对匹配任务,能够更准确地提取出非结构化的威胁情报文本中的攻击模式,且考虑到了攻击模式实体的复杂性和多样性。本发明利用无监督学习辅助进行高效的数据标注,构建训练数据集,并训练基于Word2Vec的文本表示模型和基于BiLSTM的孪生网络模型进行短语对匹配,能够提高效率。
附图说明
图1为本发明的方法原理图;
图2为短语对相似度模型结构图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为了更准确地提取出非结构化的威胁情报文本中的攻击模式,且考虑到攻击模式实体的复杂性和多样性,本发明从攻击模式的最小语义表达单元——短语出发,将攻击模式的抽取任务转化为短语对匹配任务。为了提高效率,本发明利用无监督学习辅助进行高效的数据标注,构建训练数据集,并训练基于Word2Vec的文本表示模型和基于BiLSTM的孪生网络模型进行短语对匹配。
参考图1、图2,本发明提出的基于短语相似度的攻击模式抽取方法中主要包含四个步骤,分别是质量短语抽取、无监督学习辅助的高效数据标注、训练短语对相似度模型、输出并评估结果。下面将对方法中的每个步骤进行详细介绍。
1、质量短语抽取
从非结构化的威胁情报文本中抽取出质量短语列表,作为攻击模式的候选短语。为了能够在非结构化的安全文本描述中抽取出攻击模式,将攻击模式抽取任务转化为短语对相似度任务,即判断文本中所包含的短语与攻击模式的相似程度。因此攻击模式抽取的准确率很大程度上依赖于从威胁情报文本中抽取的短语的质量。
本发明采用AutoPhrase算法进行安全文本中高质量短语的自动抽取,通过引用已有知识库中的高质量短语构建正样本进行远程监督训练,并引入词性信息(part-ofspeech,POS)提高短语抽取的准确性。质量短语抽取模型的输入为安全文本和wikipedia通用知识库,输出为从安全文本中抽取的按照质量排序的短语列表。短语是连续出现在文本中的一系列单词,是一个完整的语义单元。具体抽取过程如下:
1)首先对初始安全数据集进行分句;
2)使用n-gram切割句子构造候选质量短语集,其中短语长度阈值n=6;
3)与wikipedia通用知识库中的质量短语进行匹配,若命中则放入正例池,未命中放入复例池;
4)训练基于随机森林的集成分类器,通过该分类器给单词序列w1w2...wn设置一个质量估计值Q,phrase(w1w2...wn)表示由单词序列构成的一个完整语义单元;
Q(w1w2…wn)=p(phrase(w1w2…wn)|w1w2…wn)∈[0,1]
其中p表示条件概率;
5)引入词性信息从而提供浅层的语义信息;
a)首先将安全文本处理为长度为n的带词性标签的单词序列Ω=Ω1Ω2...Ωn,Ω由单词wi和词性标签ti<wi,ti>组成;
b)确定边界索引B,将该单词序列Ω划分为m个片段;
B={b1,b2,...,bm+1}(1=b1<b2<...<bm+1=n+1)
c)确定短语词性质量分数T,即对应的单词序列作为完整语义单元的条件概率;
t为词性标签,其下标代表索引,(bi,bi+1+1)表示单词序列中的(bi,bi+1+1)位置。
6)计算带词性标签的单词序列Ω和边界索引B的联合概率;
w(bi,bi+1)为序列中(bi,bi+1+1)位置下的单词序列。
7)使用最大似然估计进行计算,并使用动态规划的思想迭代优化参数;
8)最后,最大化如上公式后得到最终的序列边界索引B,按此索引划分单词序列,即可获得质量短语列表。
2、基于步骤1进行无监督学习辅助的高效数据标注
本发明使用无监督学习辅助的方法进行数据标注,基本思路是使用无监督的Levenshtein距离算法初步衡量攻击模式的候选短语和ATT&CK矩阵中技术(Technique)对象的字形相似度,然后再对攻击模式的候选短语进行人工归类和标注。Levenshtein算法又称为编辑距离,可以简单度量两个字符串之间的编辑距离,即一个序列变为另一个序列要求的最少单字字符编辑数量,比如删除、插入和替换等。
两个短语序列之间的Levenshtein距离leva,b定义为
其中,leva,b(i,j)代表短语序列a的前i个字符和短语序列b的前j个字符的Levenshtein距离。若短语对的Levenshtein距离越接近于1,则表示这两个短语的字形越接近。
使用Levenshtein算法可以简单对比短语对之间的字形差距,但无法表示短语对之间的语义相似度。为了在语义层面进行攻击模式的候选短语和ATT&CK矩阵中技术对象的匹配,增加攻击模式抽取的准确率,计算步骤1中抽取出的攻击模式的候选短语与ATT&CK知识库中技术对象的Levenshtein距离,对质量短语进行人工归类和标注,从而高效制作训练数据。
3、基于步骤2训练短语对相似度模型
从安全文本中抽取出来的攻击模式的候选短语为文本格式,为使其被计算机理解,还需要对其进行向量化处理。短语对相似度模型包含文本特征表示模型,在文本特征表示模型的实际训练过程中,使用当前主流的分布式词向量表示模型Word2Vec中的Skip-gram模型对训练数据中的短语进行文本向量化表示,将对文本的处理转变为向量空间中的向量运算,同时通过捕获当前词语的上下文特征,将语义相似的词语映射到向量空间中的相近位置,从而利用短语在向量空间上的相似度来表明短语在文本中的相似度。Skip-gram模型是一个三层神经网络,可以根据给定的单词wj,预测该单词的上下文w1,...,wj-1,wj+1,...,wn。Skip-gram模型通过反向传播来更新参数,等到模型迭代训练到一定次数时,最后输出的词向量为输入层到隐藏层的参数矩阵,其中矩阵中每一行的转置就是对应词的词向量。
经过Word2Vec训练后,将在安全文本中抽取出的质量短语(即攻击模式的候选短语)和ATT&CK矩阵中的技术短语转变为向量空间中低维、稠密、连续的词向量,以便于后续对其进行相似度的比对。在短语对相似度模型中,本发明选择了经典的孪生神经网络(Siamese neural network)架构,由两个结构相同,并且权重共享的神经网络组成,从而可以接收两个样本为输入。由于孪生网络中的两个子网络结构之间的权重是共享的,因此可以分别将两个输入映射到相同的空间中进行相似度的对比。
因此,本步骤是使用Word2vec作为文本特征表示模型,对训练数据中的短语进行向量化表示,然后使用基于BiLSTM的孪生神经网络结构训练短语对相似度模型并进行评估,保存最佳短语对相似度模型(即,使损失值最小的短语对相似度模型)。
其中,在孪生神经网络结构中子网络的选择中,本发明选用双向长短期记忆网络模型(Bi-directional Long Short-Term Memory,BiLSTM)。LSTM作为经典的序列建模模型,通过精心设计的门结构控制信息流,并且选择性的保留信息,能够将短期记忆与长期记忆相结合,有效解决远距离依赖问题,从而使其在文本特征编码中有很大的优势,并且在自然语言处理领域中得到了广泛应用。
LSTM在对序列数据提取特征时,仅考虑到前一时刻的状态和当前输入。相对于LSTM而言,BiLSTM可以从两个方向进行编码,将前向LSTM的输出和后向LSTM的输出进行拼接,得到当前时刻最后的输出将所有时刻汇总后得到BiLSTM编码层的整个输出H={h1,h2,...,hT},作为对当前文本序列的特征编码。BiLSTM模型的输出不仅依赖于前一时刻的状态,还依赖于后一时刻的状态,因此能够获取到序列中的双向语义依赖,从而更加充分利用短语序列的语义信息。
为了对短语对相似度进行预测,在BiLSTM层后面接了全连接层进行维度转换,并选用Sigmoid函数作为激活函数,将预测结果压缩到[0,1]区间。
4、输出并评估结果
将短语对使用同样的Word2Vec模型进行向量化表示,然后将向量输入到最佳短语对相似度模型,完成质量短语与ATT&CK矩阵中技术对象的匹配。输出最终的匹配结果后,对匹配结果的准确率和f1值进行评估。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于短语相似度的攻击模式抽取方法,其特征在于,包括以下步骤:
步骤1、质量短语抽取
从非结构化的安全文本中抽取出按照质量排序的短语列表,即质量短语列表,作为攻击模式的候选短语的列表;
步骤2、基于步骤1进行无监督学习辅助的数据标注
使用无监督的Levenshtein距离算法初步衡量攻击模式的候选短语和ATT&CK矩阵中技术对象的字形相似度,然后再对攻击模式的候选短语进行人工归类和标注,得到训练数据;
步骤3、基于步骤2训练短语对相似度模型
短语对相似度模型包含文本特征表示模型,在文本特征表示模型的训练过程中,使用分布式词向量表示模型Word2Vec中的Skip-gram模型对训练数据进行文本向量化表示,将对文本的处理转变为向量空间中的向量运算,同时通过捕获当前词语的上下文特征,将语义相似的词语映射到向量空间中的相近位置,从而利用短语在向量空间上的相似度来表明短语在文本中的相似度。
2.如权利要求1所述的方法,其特征在于,步骤1中,采用AutoPhrase算法进行安全文本中质量短语的自动抽取,通过引用知识库中的质量短语构建正样本进行远程监督训练,并在抽取时引入词性信息。
3.如权利要求1所述的方法,其特征在于,所述知识库为wikipedia知识库。
4.如权利要求2所述的方法,其特征在于,短语是连续出现在文本中的一系列单词,是一个完整的语义单元,步骤1中的具体抽取过程如下:
1)首先对安全文本中的初始安全数据集进行分句;
2)使用n-gram切割句子构造候选质量短语集,并设置短语长度阈值n;
3)与知识库中的质量短语进行匹配,若命中则放入正例池,未命中放入复例池;
4)训练基于随机森林的集成分类器,通过该集成分类器给单词序列w1w2...wn设置一个质量估计值Q,phrase(w1w2...wn)表示由单词序列构成的一个完整语义单元;
Q(w1w2...wn)=p(phrase(w1w2...wn)|w1w2...wn)∈[0,1]
其中p表示条件概率;
5)引入词性信息从而提供浅层的语义信息;
a)首先将安全文本处理为长度为n的带词性标签的单词序列Ω=Ω1Ω2...Ωn,Ω由单词wi和词性标签ti<wi,ti>组成;
b)确定边界索引B,将该单词序列Ω划分为m个片段;
B={b1,b2,...,bm+1}(1=b1<b2<...<bm+1=n+1)
c)确定短语词性质量分数T;
t为词性标签,其下标代表索引,(bi,bi+1+1)表示单词序列中的(bi,bi+1+1)位置;
6)计算带词性标签的单词序列Ω和边界索引B的联合概率:
w(bi,bi+1)为序列中(bi,bi+1+1)位置下的单词序列;
7)使用最大似然估计进行计算,并使用动态规划的思想迭代优化参数;
8)最后,最大化步骤7的公式后得到最终的序列边界索引B,按此索引划分单词序列,获得质量短语列表。
6.如权利要求5所述的方法,其特征在于,步骤3中,使用Word2vec作为文本特征表示模型,对训练数据中的短语进行向量化表示,然后使用基于BiLSTM的孪生神经网络结构训练短语对相似度模型并进行评估,保存最佳短语对相似度模型,即,使损失值最小的短语对相似度模型。
8.如权利要求6所述的方法,其特征在于,还包括步骤4、输出并评估结果:将短语对使用同样的Word2Vec模型进行向量化表示,然后将向量输入到最佳短语对相似度模型,完成质量短语与ATT&CK矩阵中技术对象的匹配,输出最终的匹配结果后,对匹配结果的准确率进行评估。
9.一种用于实现如权利要求1至8中任一项所述方法的系统。
10.一种如权利要求1至8中任一项所述方法在信息安全技术领域中的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211398631.4A CN115759081A (zh) | 2022-11-09 | 2022-11-09 | 一种基于短语相似度的攻击模式抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211398631.4A CN115759081A (zh) | 2022-11-09 | 2022-11-09 | 一种基于短语相似度的攻击模式抽取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115759081A true CN115759081A (zh) | 2023-03-07 |
Family
ID=85368569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211398631.4A Pending CN115759081A (zh) | 2022-11-09 | 2022-11-09 | 一种基于短语相似度的攻击模式抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115759081A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775889A (zh) * | 2023-08-24 | 2023-09-19 | 天际友盟(珠海)科技有限公司 | 基于自然语言处理的威胁情报自动提取方法、系统、设备和存储介质 |
-
2022
- 2022-11-09 CN CN202211398631.4A patent/CN115759081A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775889A (zh) * | 2023-08-24 | 2023-09-19 | 天际友盟(珠海)科技有限公司 | 基于自然语言处理的威胁情报自动提取方法、系统、设备和存储介质 |
CN116775889B (zh) * | 2023-08-24 | 2023-10-20 | 天际友盟(珠海)科技有限公司 | 基于自然语言处理的威胁情报自动提取方法、系统、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111709241B (zh) | 一种面向网络安全领域的命名实体识别方法 | |
CN110097085B (zh) | 歌词文本生成方法、训练方法、装置、服务器及存储介质 | |
CN108319666A (zh) | 一种基于多模态舆情分析的供电服务评估方法 | |
CN109918505B (zh) | 一种基于文本处理的网络安全事件可视化方法 | |
US20230385409A1 (en) | Unstructured text classification | |
CN112926327B (zh) | 一种实体识别方法、装置、设备及存储介质 | |
CN112989831B (zh) | 一种应用在网络安全领域的实体抽取方法 | |
CN113055386A (zh) | 一种攻击组织的识别分析方法和装置 | |
CN115587594B (zh) | 网络安全的非结构化文本数据抽取模型训练方法及系统 | |
CN113505200A (zh) | 一种结合文档关键信息的句子级中文事件检测的方法 | |
CN115759092A (zh) | 一种基于albert的网络威胁情报命名实体识别方法 | |
CN112069312A (zh) | 一种基于实体识别的文本分类方法及电子装置 | |
CN115718792A (zh) | 一种基于自然语义处理和深度学习的敏感信息提取方法 | |
CN114756675A (zh) | 文本分类方法、相关设备及可读存储介质 | |
CN115759081A (zh) | 一种基于短语相似度的攻击模式抽取方法 | |
CN110674370A (zh) | 域名识别方法及装置、存储介质及电子设备 | |
Pham et al. | Exploring efficiency of GAN-based generated URLs for phishing URL detection | |
CN111538893B (zh) | 一种从非结构化数据中提取网络安全新词的方法 | |
CN113783852A (zh) | 一种基于神经网络的智能合约庞氏骗局检测算法 | |
CN111159405B (zh) | 基于背景知识的讽刺检测方法 | |
CN111601314A (zh) | 预训练模型加短信地址双重判定不良短信的方法和装置 | |
CN111782811A (zh) | 一种基于卷积神经网络和支持向量机的电子政务敏感文本检测方法 | |
CN116127974A (zh) | 一种面向雷达的实体关系联合抽取方法 | |
Li et al. | PipCKG-BS: A Method to Build Cybersecurity Knowledge Graph for Blockchain Systems via the Pipeline Approach | |
CN113919351A (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 |