基于系统日志和深度学习的APT在线检测方法

文档序号:35489183发布日期:2023-09-17 00:28阅读:31来源:国知局
基于系统日志和深度学习的APT在线检测方法与流程

本发明属于计算机网络,进一步涉及攻击检测技术,具体为一种基于系统日志和深度学习的高级持续性威胁apt(advanced persistent threat)在线检测方法,可用于对apt攻击进行在线检测与预测。


背景技术:

1、高级持续性威胁apt通常指针对政府和公司进行的高级持续的黑客攻击,其目标通常是在互联网中进行间谍活动,利用各种情报搜集技术来获取敏感信息。但apt同样适用于对诸如传统间谍活动或攻击等其他威胁的描述。apt通常由一个既有能力也有意向持续而有效地进行攻击的团体或组织实现,他们将恶意代码放在一台或多台计算机上执行特定的任务,并保持长时间内不被发现。获得攻击目标信息以后,他们并不是以信息窃取为终结,而是仍对既定的网络结构进行继续侵害,将病毒扩散到更多的信息传输架构内,以获取网络组织中核心价值信息,进而造成整体网络的严重的信息传输瘫痪问题。中国信息安全测评中心牵头编写的《全球高级持续性威胁(apt)研究报告》显示,2022年全球apt活动进入新一轮活跃期,攻击总量增多、攻击烈度增强、攻击形式多样。

2、伴随着5g和物联网技术的迅速发展,攻击活动泛化、常态化、技术手段复杂化的apt攻击,已成为各领域数字化建设的严峻挑战。apt攻击对网络信息结构造成的危害性不容忽视,因此,要想最大限度地规避网络攻击所带来的危害,应对apt攻击特性进行深度分析,并建立多方位特征检测手段,深度挖掘出信息存在的安全隐患,为网络安全运营奠定坚实基础。

3、与传统攻击不同,apt执行多步入侵以实现其特定目标,一般具有攻击方式灵活、攻击技术新颖和隐蔽能力强的特点。因此,预测攻击者的手段对于防范威胁至关重要。然而,由持续的攻击产生的大量数据使得属性分析更加困难,日益复杂的系统也带来了更多可供攻击者利用的系统错误和漏洞。如在构造网络钓鱼页面时,攻击者可以重用原始站点的url中的特定参数作为恶意软件的加载器,或向现有源代码中注入恶意代码执行间谍活动,因此攻击检测和系统维护难以有效进行。攻击形式的多样性也给攻击检测带来了挑战。攻击活动中一般涉及多种恶意程序,如除了负责与其主机进行通用通信的基本库之外,还存在执行文档盗窃,远程控制下载和执行等功能的其他模块。

4、此外,越来越多的apt攻击针对于特定的地区和用户群体,使不同的恶意程序仅对特定网段内的执行特定内容的目标作用,即攻击变得本地化。在这种情况下,用户难以分辨真假,并且本地软件产品一般并不会及时提供漏洞补丁,使得攻击检测更加困难。而且,攻击者擅长隐蔽的特点使得其活动与系统中正常运行的程序几乎没有差别,因此apt一般不会在系统上留下任何可见的痕迹,例如下载的文件。以上问题给攻击检测工作带来了巨大挑战。


技术实现思路

1、本发明的目的在于克服上述现有技术存在的缺陷,提出了一种基于系统日志和深度学习的apt在线检测方法,用于解决现有技术中存在的apt攻击检测延迟、异常点定位的准确性低、难以适应新型攻击模式、难以直观展示攻击策略的技术问题。

2、为实现上述目的,本发明采取的技术方案为:

3、(1)对系统日志进行预处理并获取词向量模型:

4、(1a)收集系统日志,选取小部分系统日志进行日志解析,通过提取日志模板来表示日志,得到日志索引序列;

5、(1b)对提取日志模板后的日志进行分词,通过分词后的日志构建词汇表,将系统日志序列转换为词汇索引序列后输入到fasttext神经网络中进行训练,得到词向量模型;

6、(2)构建transformer模型并对其进行训练:

7、(2a)搭建编码器包括多头注意力层、前馈神经网络层、平均池化层、二分类器的transformer模型,其中前馈神经网络层是使用relu激活函数的两个线性层组合而成;设置最大迭代次数为t,令当前迭代次数t=0,进行初始化;;

8、(2b)通过训练好的词向量模型将每组日志序列转换为向量数据集x;

9、(2c)在向量数据集x中随机选取一部分xi输入到transformer编码器的多头注意力层,其中i=t,x∈rn*d,n表示序列长度,d表示每个日志向量的维度;

10、(2d)将多头注意力层的输出通过前馈神经网络层进行传递;

11、(2e)将前馈神经网络层的输出输入到平均池化层,得到日志序列的向量表示,并将其输入二分类器进行分类;

12、(2f)判断t是否等于t,若是得到训练后的transformer模型,执行步骤(3),否则,令t=t+1然后返回步骤(2c);

13、(3)搭建bilstm模型并对其进行迭代训练:

14、(3a)获取日志索引序列并进行滞后扩充,得到扩充后的数据集;

15、(3b)构建bilstm模型,其包括词嵌入层、两层双向lstm层、全连接层;设置最大迭代次数为t',令当前迭代次数t'=0,初始化损失函数与优化器;

16、(3c)在扩充后的数据集中随机选取一部分输入到词嵌入层,得到词向量;

17、(3d)将词向量输入到两层双向lstm层中,并将其输出输入到全连接层;

18、(3e)判断t'是否等于t',若是则得到训练后的bilstm模型,执行步骤(4),否则,令t'=t'+1,并返回执行步骤(3c);

19、(4)利用训练后的transformer和bilstm模型在线检测及预测apt攻击:

20、通过fasttext模型将新产生的日志转换为日志向量矩阵,对未见过的单词使用fasttext模型进行增量更新,之后使用训练好的transformer模型进行在线检测,在检测到新产生的日志包含apt攻击时,通过训练后的bilstm模型对其进行异常点定位并预测下一个异常点。



技术特征:

1.一种基于系统日志和深度学习的apt在线检测方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的方法,其特征在于:步骤(1a)中所述的日志解析,采用的解析方法包括spell、drain和slct。

3.根据权利要求1所述的方法,其特征在于:步骤(1b)中所述通过分词后的日志构建词汇表,具体是将每个词用一个作为索引的整数来代替,并预留“未知词”索引为0,训练时令每个单词的词向量维度为32维。

4.根据权利要求1所述的方法,其特征在于:步骤(2c)中所述的多头注意力层,采用十二个注意力头,按照如下方式获取该多头注意层的输出:

5.根据权利要求1所述的方法,其特征在于:步骤(2d)中所述的前馈神经网络层,该网络在每一层的不同时间步长共享参数,但在不同层相互独立;前馈神经网络层输出具体函数表示如下:

6.根据权利要求1所述的方法,其特征在于:步骤(2e)中所述的日志序列表示,具体为:日志序列长度为10,将每个日志语句向量平均用作该日志序列的向量表示,日志语句向量维度为(10,32),代表每个日志语句包含10个单词,每个单词以1*32维向量表示;当日志单词足10时以占位符补充,超过10时取前10个单词。单词向量进行拼接得到日志语句向量,日志语句向量平均得到日志序列向量。

7.根据权利要求1所述的方法,其特征在于:步骤(2f)中所述的transformer模型,训练使用的损失函数为focalloss,使用随机梯度下降的优化算法计算损失。

8.根据权利要求1所述的方法,其特征在于:步骤(3a)中所述的滞后扩充数据,时间步长设置为10。

9.根据权利要求1所述的方法,其特征在于:步骤(4)中所述增量更新,指已得到的fasttext模型仅保存历史数据的统计信息,不对历史数据本身进行保存,在新增样本数据后,只增量式地更新fasttext模型中的参数矩阵。

10.根据权利要求1所述的方法,其特征在于:所述步骤(4)中在线检测及预测apt攻击之后,通过对非线形依赖关系建模实现攻击图构建,该攻击图包括单线程任务的执行、并发引起的派生任务以及循环结构,用于直观展示攻击阶段;其中,对并发事件的判断标准定义如下:a)同一序列中的并发事件必须分别出现在后续w步预测的每个步骤中;b)当序列中某一个时间步预测索引的上一个时间步的索引与其本身相同时,在计算条件概率时应将该索引在该时间步的预测中的概率视为0;


技术总结
本发明提出了一种基于系统日志和深度学习的APT在线检测方法,主要解决现有技术中存在的APT攻击检测延迟、异常点定位准确性低以及难以适应新攻击模式的技术问题。方案包括:1)对系统日志进行预处理并迭代训练词向量模型;2)通过训练好的词向量模型将每组日志序列转换为向量数据集;3)构建Transformer模型并对其利用向量数据集对其进行迭代训练;3)获取日志索引序列并进行滞后扩充;4)搭建BiLSTM模型并利用扩充后的数据集对其进行迭代训练;4)利用训练好的两种模型在线检测及预测APT攻击。本发明提高了攻击检测模型的通用性与预测未知攻击的准确性,有效提升了检测效果,可用于网络攻击检测等场景。

技术研发人员:李腾,崔金玉,李思琦,林炜国,方保坤,马卓,李德彪
受保护的技术使用者:西安电子科技大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1