基于双向长短期记忆模型的无人机攻击预测方法及系统

allin2023-03-17  143



1.本发明属于网络安全领域,特别涉及一种基于双向长短期记忆模型的无人机攻击预测方法及系统,可用于无人机系统安全防护中。


背景技术:

2.无人机从军用领域到工业领域开始走入人们的生活,在民用领域也发挥了重要作用,在巡航、监测、航拍、农业、快递投送、电力巡检和应急救援等领域给生产生活带来便利。由于这些任务需求,无人机需要收集、处理和传输大量的敏感数据,这使无人机成为攻击者的兴趣目标。而无人机在涉及国家安全、重要财产等场合均有大量使用,包含着国家重要机密,近年来有关无人机安全事故频发,无人机系统的安全问题需要给予高度重视,迫切需要构建无人机的攻击预测体系,使无人机能够预测出攻击行为并进行主动防御从而降低其遭受攻击的安全风险。
3.在无人机丰富的应用场境中,日益复杂的系统带来了更多的系统漏洞,由攻击产生的大量数据也使得攻击分析更加困难,对无人机的攻击一般具有攻击方式灵活、攻击技术新颖和隐蔽能力强的特点,对于无人机的攻击主要集中在无人机通信链路、无人机ad-hoc网络和传感器部分,主要存在干扰、窃听、黑洞、dos攻击等。
4.近年来,由于其带来的巨大损失,能够预测攻击者的手段至关重要。因此,掌握攻击者的策略并预测攻击步骤是一项重大挑战。如何有效地对其中攻击步骤进行合理的预测,而后检测出相应的攻击,是无人机系统信息安全的关键。


技术实现要素:

5.本发明的目的在于针对无人机系统数据的保密性、敏感性、易失性、保护困难等特点,其信息极高重要性以及无人机系统对信息安全的迫切需求下,提出一种基于双向长短期记忆模型的无人机攻击预测方法,以解决上述现有技术的不足,确保验证信息的安全性。
6.本发明是通过以下技术方案来实现:
7.一种基于双向长短期记忆模型的无人机攻击预测方法,包括以下步骤:
8.步骤1、根据构建的日志语义向量训练transformer模型的编码器模块,训练后的编码器模块输出日志序列向量;
9.步骤2、根据步骤1输出的日志序列向量,并结合二分类函数确定日志序列向量是否为攻击序列向量;
10.步骤3、构建双向长短期记忆模型,其包括前向记忆模型和后向记忆模型构成,采用日志索引对双向长短期记忆模型进行双向训练;
11.根据训练后的双向长短期记忆模型对攻击序列向量的日志索引进行预测,前向记忆模型和后向记忆模型分别输出h个时间步的正向预测结果和后向预测结果,并计算正向预测结果和后向预测结果中每个输出标签的平均概率,并按降序对概率进行排序,将概率最大的日志索引作为异常点定位预测结果。
12.优选的,步骤1中所述transformer模型的编码器模块包括多头注意层和前馈网络层,前馈网络层由两层relu激活层构成,transformer模型的编码器模块的训练方法如下:
13.获取无人机系统的日志语义向量集,并确定各个日志语义向量重要程度;
14.根据各个日志语义向量重要程度确定多头注意层的输出headh;
15.将多头注意力层的输出headh通过两层relu激活层,前馈网络层的整体输出日志序列向量fi。
16.优选的,所述多头注意层的输出headh的表达式如下:
[0017][0018]
优选的,步骤2中确定日志序列向量是否为攻击序列向量的方法如下:
[0019]
确定固定长度日志序列向量r
l
的均值
[0020]
根据二分类函数计算日志序列向量均值的攻击概率,根据攻击概率以确定该日志序列向量是否为攻击序列向量。
[0021]
优选的,所述二分类函数的表达式如下:
[0022]
其中,θ为参数,x为自变量;
[0023]
当攻击概率大于设定值,则该日志序列向量为攻击序列,当攻击概率小于设定值,则该日志序列向量非攻击序列向量。
[0024]
优选的,所述双向长短期记忆模型的训练方法如下:
[0025]
将日志常量域作为日志索引构建训练数据集,采用训练数据集对前向记忆模型进行前向训练,采用训练数据集对后后向记忆模型中进行后向训练;
[0026]
给定窗口大小h,训练后的前向记忆模型与后向记忆模型的输出日志索引对应的概率分布p和输出标签。
[0027]
优选的,步骤3后还包括以下步骤:
[0028]
根据异常点定位预测结果的输出标签的概率分布判断输出标签之间是否为并发关系。
[0029]
一种基于双向长短期记忆模型的无人机攻击预测方法的系统,该系统运行时,用于执行所述的基于双向长短期记忆模型的无人机攻击预测方法。
[0030]
与现有技术相比,本发明具有以下有益的技术效果:
[0031]
本发明提供的基于双向长短期记忆模型的无人机攻击预测方法,利用系统日志来检测威胁并预测攻击路径,主要解决现有技术攻击检测能力弱、种类单一、准确性低的问题。利用transformer模型通过对无人机系统日志的语义信息进行建模从而检测攻击序列。另一方面,基于长短时记忆网络创新地设计出双向长短期记忆模型对攻击路径执行更精确的双向预测,从而定位异常点,实现了比传统bilstm更好的性能。本发明创新性地利用长短期记忆模型提出了双向模型,不同于传统的bilstm只基于同一个序列进行双向预测,通过多个时间步的序列提供了更多信息,从而带来了预测准确率的提升。在超过15000个序列中可以准确地检测到几乎100%的攻击;在基于预测的异常点定位方面,它还可以在现有技术上的准确率上提高11.166%,成功解决了目标问题。
[0032]
进一步,根据先前检测到的攻击序列和预测的路径构造攻击图,以展现攻击者的攻击路径。完全由无人机系统通信网络完成,保护了数据的隐私,满足网络的安全需求,可用于无人机系统信息的攻击预测与异常点定点监测。
附图说明
[0033]
图1是本发明的实现流程图;
[0034]
图2是本发明中攻击预测与检测步骤流程图;
[0035]
图3是应用双向长短期记忆模型预测序列的实验模型。
具体实施方式
[0036]
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
[0037]
参阅图1-3,一种基于双向长短期记忆模型的无人机攻击预测方法,包括以下步骤:
[0038]
步骤1:根据构建的日志语义向量训练transformer模型的编码器模块,训练后的编码器模块用于将日志语义向量转化为日志序列向量输出。
[0039]
transformer模型中的编码器模块包括多头注意层和前馈网络层(ffn),前馈网络层由两层relu激活层构成,编码器模块的训练方法如下:
[0040]
s1.1、获取无人机系统日志,删除无人机系统日志中的变量并提取日志常量域即日志模板,然后将日志模板向量化,即将日志模板映射到特定单词向量集中的向量,从而得到完整的无人机系统日志语义向量。
[0041]
s1.2、首先,将日志语义向量x输入到编码器中,对日志语义向量分别乘以设定的矩阵得到查询向量、键向量和值向量。
[0042]
其中,x∈r
n*d
,n表示语义向量长度,d表示每个日志语义向量的维度。为了计算序列中每个向量xi(i=1,2,3...,n)的注意力,创建三个向量分别为查询向量q、键向量k以及每个向量xi的值向量v。使用wq∈r
d*q
,wk∈r
d*k
,wv∈r
d*v
代表参数矩阵,q,k,v分别表示查询向量、键向量和值向量的维度,将日志语义向量x分别乘以三个矩阵来计算查询向量、键向量和值向量,如下所示:
[0043]
q=x*wq[0044]
k=x*wk[0045]
v=x*wv[0046]
s1.3、根据查询向量、键向量和值向量确定各个日志语义向量重要程度zi。
[0047]
对于日志语义向量xi(i=1,2,3...,n),使用xj(j≠i)通过k和q的点积给xi打分来确定xi的重要程度,用zi表示,如下所示:
[0048]
zi=qi*k
t
[0049]
s1.4、将重要程度zi除以并使用编码器中的softmax激活函数对所有分数进行归一化,根据归一化的结果确定编码器模块的第h个头的注意力。
[0050]
将归一化的结果乘以第h个值向量权重vh,得到第h个头的注意力,本实施例中
transformer模型使用十二个注意力头,将这些头串接起来并乘以w0作为多头注意层的输出headh,其中w0是用于串接操作的可训练参数。计算得出如下:
[0051][0052]
s1.5、将多头注意力层的输出headh通过两层relu激活层,前馈网络层(ffn)的整体输出日志序列向量fi,fi的表达式如下:
[0053]
fi=max(0,ziw1+b1)w2+b2[0054]
其中,w1,w2,b1,b2是前馈网络层中的可训练参数。
[0055]
至此,完整的transformer模型的编码器模块训练完成。
[0056]
步骤2、根据步骤1训练后的transformer模型的编码器模块获取无人机系统的日志序列向量,并结合二分类函数确定日志序列向量是否为攻击序列向量。
[0057]
获取无人机系统日志,删除无人机系统日志中的变量语句,提取日志常量域即日志模板,通过预先训练的单词向量集对日志模板进行映射。其中oov单词是单词向量集中未出现的词,在映射日志模板中的oov单词时,这些单词将被替换为无用的标记。映射结束得到单词向量,将所得的单词向量输入到transformer的编码器模块,其输出单个日志语句的向量,将连续的日志语句的向量再次输入到步骤1训练后的transformer的编码器模块,从而获得相应的日志序列向量。
[0058]
s2.1、进行新日志检测时,将新日志语义向量输入训练后的transformer模型的编码器,其输出的日志序列向量,r
l
={r
l1
,r
l2
,...,r
lm
},其中r
lm
是第m个日志语句的向量表示。
[0059]
s2.2、确定固定长度日志序列向量r
l
的均值
[0060]
s2.3、根据二分类函数计算日志序列向量均值的攻击概率,根据攻击概率以确定该日志序列向量是否为攻击序列向量。
[0061]
二分类函数的表达式如下:
[0062][0063]
其中,θ为参数,x为自变量。
[0064]
当攻击概率大于0.5,则该日志序列向量为攻击序列,当攻击概率小于0.5,则该日志序列向量为非攻击序列向量。
[0065]
步骤3、构建双向长短期记忆模型,并采用日志索引对其进行双向训练。
[0066]
双向长短期记忆模型由前向记忆模型和后向记忆模型构成。模型需要不断更新输出标签的概率分布,完成模型的训练,训练方法如下:
[0067]
s3.1、提取步骤s1.1中的日志常量域作为日志索引构建训练数据集,将训练数据集中的每个日志索引输入到前向记忆模型进行前向训练;然后将训练数据集中的每个日志索引输入到后后向记忆模型中进行后向训练。
[0068]
给定窗口大小h,训练后的前向记忆模型与后向记忆模型的输出索引对应的概率分布p和输出标签。
[0069]
给定一个h长度的日志索引χ,通过softmax函数输出当前日志索引预测的下一个
时间步的输出标签ki的概率分布p。
[0070]
p=(χ
t
=ki|x
t-h
,x
t-(h-1)
,x
t-1
)
[0071]
其中,ki是下一个预测事件,h为输入序列长度。
[0072]
假设训练数据集的一小部分如下:
[0073]
{χ1,χ6,χ3,χ5,χ
10
,χ
19
,χ
15
,χ2,χ
26
,χ1,χ5,χ8};
[0074]
给定窗口大小h=10,正向记忆模型的输入序列和输出标签为:
[0075]
{χ1,χ6,χ3,χ5,χ
10
,χ
19
,χ
15
,χ2,χ
26
,χ1→
χ5}
[0076]
{χ6,χ3,χ5,χ
10
,χ
19
,χ
15
,χ2,χ
26
,χ1,χ5→
χ8}
[0077]
前向记忆模型与后向记忆模型的训练方法相同。
[0078]
步骤4、根据训练后的双向长短期记忆模型对攻击序列进行在线异常点定位预测。
[0079]
在对攻击序列向量的日志索引进行预测时,通过前向和后向长短期记忆模型计算前向概率分布和后向概率分布,并计算二者的平均概率,对平均概率进行排序后选择概率最高的前几个日志索引的输出标签作为最终异常点定位预测结果。我们可验证实际事件是否出现在前n个预测中,如果不是,则该预测是错误的,此时可以根据人工对错误预测的报告调整新的模式。通过在线更新策略,模型可以适应攻击者反复无常的入侵的新模式。
[0080]
s4.1、向前向记忆模型输入日志索引,输出预测的下一个时间步的输出标签及其概率分布。通过前向记忆模型预测得到的输出标签的集合fe,f
p
。然后,将fe中的每个输出标签加入到日志索引中,并使用前向模型对之后的h个时间步进行预测,得到h个时间步的正向预测结果。
[0081]
s4.2、向后向记忆模型输入日志索引,得到一组由后向模型预测的输出标签集合be及其概率分布集合b
p
,然后,将输出标签集合be中的每个输出标签加入到日志索引中,并使用后向模型对之后的h个时间步进行预测,得到h个时间步的后向预测结果。
[0082]
s4.3、根据正向预测结果和后向预测结果,计算预测结果中每个输出标签的平均概率,并按降序对概率进行排序,将概率最大的日志索引作为异常点定位预测结果。
[0083]
步骤5:根据预测结果的输出标签的概率分布判断输出标签之间是否为并发关系,具体步骤如下:
[0084]
s5.1、假设特定预测中的索引数为n(n》1),初始假设输出标签都是并发关系,然后向后进行至少n个时间步的预测,根据预测的概率分布判断初始的日志索引是否是并发关系,概率最大的预测标签即为异常点定位结果,其余概率不为0的标签存在并发关系。
[0085]
在每一步预测中根据预测标签与概率分布构造分支,同时删除平均概率计算为0的标签,平均概率减小以及含有在之前从未出现过的预测标签的分支。
[0086]
进行n步之后,在第n步可以得到所有分支的收敛点,即步骤四中概率最大的预测结果对应的标签。同时概率较小的分支存在并发关系,这些分支的第一步预测标签即被判断为并发索引,攻击图构造完成。
[0087]
下面对输出标签之间是否为并发关系进行举例说明。
[0088]
假设双向lstm模型的窗口h大小为3。我们给定序列{x1

x6

x3}的预测输出标签与概率分布为{x13:0.3,x7:0.4,x4:0.2,x5:0.1},n=4。其中可能包含多个事件,因此我们需要判断事件是否具有并发性。我们将上面的预测概率分布视为第一个预测,接下来我们至少需要向后进行四步预测。
[0089]
首先,根据索引和其对应的预测结果来构造分支,并进行第二次预测。经过已训练好的模型,在第二个预测阶段,序列{x6

x3

x13}的下一个时间步预测结果是{x7:0.5,x4:0.2,x5:0.3},序列{x6

x3

x7}的下一个时间步预测结果是{x4:0.4,x13:0.6},序列{x6

x3

x4}的下一个时间步预测结果是{x5:0.3,x7:0.6,x13:0.1},序列{x6

x3

x5}的下一个时间步预测结果是{x13:0.9,x9:0.1}。可以注意到索引x9没有出现在先前的预测输出标签中,因此我们删除了节点x5及其所关联的边{x5

x9}。通过观察,我们可以发现在前两步预测中都出现过的输出标签是{x13,x7,x4,x5}。我们可以计算在第二个时间步它们的概率分布分别为{0.5,0.54,0.314,0.375},均大于第一个时间步中各自的概率。
[0090]
到目前为止,已经获得了初始的待判断的并发索引{x13,x7,x4,x5}。因为有四个初始索引,所以我们需要根据已有的前两个时间步至少再进行两步预测。因此,我们执行了类似操作。计算得到初始索引的概率分布为{x13:1,x7:0.678,x4:0.775,x5:0}。我们可以观察到除x5外,初始索引的概率均有所增加。因此删去包含x5的日志索引。
[0091]
接下来进行了最后一步的预测,并发现所有分支都收敛到索引x5。最后,我们知道并发索引为{x13,x7,x4},并确定了索引x5为收敛点。
[0092]
并发事件的判断标准,包括以下四条:
[0093]
(1)给定索引中的并发事件必须分别出现在后续n步预测的每个步骤中。
[0094]
(2)当索引中某一个时间步的预测标签与上一个时间步标签相同时,在计算这一步该预测标签的概率分布时应将该标签概率视为0。
[0095]
(3)某个预测标签的概率分布在日志索引中应是递增的。若不是,则删去包含此标签的分支。
[0096]
(4)符合以上三个步骤的这些索引标签在各自所在的索引中,在预测的第n个时间步的结果需要收敛到同一事件。
[0097]
本发明相较于现有技术具有以下优点。
[0098]
1、攻击检测时效性高
[0099]
本发明的基于双向长短期记忆模型的无人机攻击预测方法,基于系统日志,利用深度学习相关技术创新性地检测攻击和进行基于预测的异常点定位,有效的保证了无人机系统中通信的安全和攻击检测的需求,并保证其实时性和准确性。本发明为了最大程度地阻止攻击者的恶意行为和降低用户的损失,在攻击检测中,需要系统能及时地将信息反馈给用户。本文提出的transformer模型不仅能够达到接近100%的检测下,相比其他最新技术还能减少约2/3的时间成本,并且在系统运行过程中能根据分析人员基于判断是否真实发生攻击的反馈下对模型进行增量更新,及时适应最新的攻击模式。因此,避免了由于攻击检测的时间过长,当用户接收到异常状态警告时已经受到了攻击,造成不可挽回的损失。
[0100]
2、预测准确率高
[0101]
本发明创新性地利用长短期记忆模型提出了双向模型,不同于传统的bilstm只基于同一个序列进行双向预测,通过多个时间步的序列提供了更多信息,从而带来了预测准确率的提升。本文实现的模型在超过15000个序列中可以准确地检测到几乎100%的攻击;在基于预测的异常点定位方面,它还可以在现有技术上的准确率上提高11.166%,成功解决了目标问题。
[0102]
3、攻击检测可靠性好
[0103]
系统日志记载了系统的状态信息,包括硬件、软件和系统问题,同时还可以监视系统中发生的时间。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。其中记载的数据都可以实时地反映出系统运行过程中的健康状况。尽管攻击者的策略多变,但大多数攻击都有其固定的“流程”。通过该方法,可以学习历史攻击数据,对实时日志进行异常检测。如果日志数据出现异常,可以及时向用户发出异常警告,因此提高了攻击检测的可靠性,为用户提供了安全的网络环境。
[0104]
4、攻击检测适用性好
[0105]
本发明提出的模型的攻击检测部分主要采取了提取日志语句的语义信息的方法,将日志表示成语义向量,因此尽管不同系统的日志有不同的结构,当处于同一运行状态时,它们将呈现相似的语义向量。在此情况下,ddr模型提出的攻击检测方法不依赖于特定的平台,即可以基于对一种系统的日志学习出的模型,对不同系统的日志进行检测。这不仅增强了模型的鲁棒性和适用性,由于真实世界中攻击样本的稀缺性,还克服了训练样本不足这一缺点。
[0106]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

技术特征:
1.一种基于双向长短期记忆模型的无人机攻击预测方法,其特征在于,包括以下步骤:步骤1、根据构建的日志语义向量训练transformer模型的编码器模块,训练后的编码器模块输出日志序列向量;步骤2、根据步骤1输出的日志序列向量,并结合二分类函数确定日志序列向量是否为攻击序列向量;步骤3、构建双向长短期记忆模型,其包括前向记忆模型和后向记忆模型构成,采用日志索引对双向长短期记忆模型进行双向训练;根据训练后的双向长短期记忆模型对攻击序列向量的日志索引进行预测,前向记忆模型和后向记忆模型分别输出h个时间步的正向预测结果和后向预测结果,并计算正向预测结果和后向预测结果中每个输出标签的平均概率,并按降序对概率进行排序,将概率最大的日志索引作为异常点定位预测结果。2.根据权利要求1所述的一种基于双向长短期记忆模型的无人机攻击预测方法,其特征在于,步骤1中所述transformer模型的编码器模块包括多头注意层和前馈网络层,前馈网络层由两层relu激活层构成,transformer模型的编码器模块的训练方法如下:获取无人机系统的日志语义向量集,并确定各个日志语义向量重要程度;根据各个日志语义向量重要程度确定多头注意层的输出headh;将多头注意力层的输出headh通过两层relu激活层,前馈网络层的整体输出日志序列向量fi。3.根据权利要求2所述的一种基于双向长短期记忆模型的无人机攻击预测方法,其特征在于,所述多头注意层的输出headh的表达式如下:4.根据权利要求1所述的一种基于双向长短期记忆模型的无人机攻击预测方法,其特征在于,步骤2中确定日志序列向量是否为攻击序列向量的方法如下:确定固定长度日志序列向量r
l
的均值根据二分类函数计算日志序列向量均值的攻击概率,根据攻击概率以确定该日志序列向量是否为攻击序列向量。5.根据权利要求4所述的一种基于双向长短期记忆模型的无人机攻击预测方法,其特征在于,所述二分类函数的表达式如下:其中,θ为参数,x为自变量;当攻击概率大于设定值,则该日志序列向量为攻击序列,当攻击概率小于设定值,则该日志序列向量非攻击序列向量。6.根据权利要求1所述的一种基于双向长短期记忆模型的无人机攻击预测方法,其特征在于,所述双向长短期记忆模型的训练方法如下:将日志常量域作为日志索引构建训练数据集,采用训练数据集对前向记忆模型进行前向训练,采用训练数据集对后后向记忆模型中进行后向训练;给定窗口大小h,训练后的前向记忆模型与后向记忆模型的输出日志索引对应的概率
分布p和输出标签。7.根据权利要求1所述的一种基于双向长短期记忆模型的无人机攻击预测方法,其特征在于,步骤3后还包括以下步骤:根据异常点定位预测结果的输出标签的概率分布判断输出标签之间是否为并发关系。8.一种基于双向长短期记忆模型的无人机攻击预测方法的系统,其特征在于,该系统运行时,用于执行权利要求1-7任一项所述的基于双向长短期记忆模型的无人机攻击预测方法。

技术总结
本发明公开的一种基于双向长短期记忆模型的无人机攻击预测方法及系统,通过构建双向长短期记忆模型,其包括前向记忆模型和后向记忆模型构成,采用日志索引对双向长短期记忆模型进行双向训练;根据训练后的双向长短期记忆模型对攻击序列向量的日志索引进行预测,前向记忆模型和后向记忆模型分别输出h个时间步的正向预测结果和后向预测结果,并计算正向预测结果和后向预测结果中每个输出标签的平均概率,并按降序对概率进行排序,将概率最大的日志索引作为异常点定位预测结果。志索引作为异常点定位预测结果。志索引作为异常点定位预测结果。


技术研发人员:李腾 贺紫怡 王申奥 江娅 马卓 沈玉龙 马建峰
受保护的技术使用者:西安电子科技大学
技术研发日:2022.03.30
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-6379.html

最新回复(0)