可左右滑动选省市

基于双向长短时记忆网络的APT攻击溯源分析方法

更新时间:2024-09-01
基于双向长短时记忆网络的APT攻击溯源分析方法 专利申请类型:发明专利;
地区:湖南-长沙;
源自:长沙高价值专利检索信息库;

专利名称:基于双向长短时记忆网络的APT攻击溯源分析方法

专利类型:发明专利

专利申请号:CN202211202192.5

专利申请(专利权)人:中国人民解放军国防科技大学
权利人地址:湖南省长沙市开福区德雅路109号

专利发明(设计)人:江荣,林昌建,李爱平,周斌,涂宏魁,王晔,张晨晖

专利摘要:本发明涉及一种基于双向长短时记忆网络的APT攻击溯源分析方法,包括以下步骤:步骤S1:构建溯源图,针对审计日志数据抽取系统操作事件构建溯源图并对溯源图进行图优化;步骤S2:提取序列,对优化后的溯源图提取攻击序列和非攻击序列;步骤S3:深度学习模型训练。步骤S4:攻击实体识别,由入侵检测系统提供真实的攻击症状实体,再由深度学习模型识别所有的攻击实体;步骤S5:攻击路径溯源。本发明针对日志类型的溯源数据,并通过图优化算法对依赖爆炸的溯源图进行处理,提取了攻击序列和非攻击序列,实现了对攻击实体的自动化识别,并在此基础上进行了攻击路径的溯源,能够准确的恢复出攻击路径。

主权利要求:
1.一种基于双向长短时记忆网络的APT攻击溯源分析方法,其特征在于,包括以下步骤:步骤S1:构建溯源图,针对审计日志数据抽取系统操作事件构建溯源图并对溯源图进行图优化;
步骤S2:提取序列,对优化后的溯源图提取攻击序列和非攻击序列;
步骤S3:深度学习模型训练,提取的攻击序列与非攻击序列转换成攻击溯源数字向量;
针对生成的攻击溯源数字向量,采用深度学习模型进行训练;
步骤S4:攻击实体识别,由入侵检测系统提供真实的攻击症状实体,再由深度学习模型识别所有的攻击实体;
步骤S5:攻击路径溯源,所有的含有攻击实体的攻击事件形成攻击事件集合,攻击事件按时间戳排序形成攻击流程;
步骤S1中构建溯源图包括以下内容:
针对所使用的审计日志数据,抽取系统操作事件,根据事件内容构建溯源图;溯源图由节点组成,节点代表主体和对象,代表主体的节点和代表对象的节点统称为事件实体,代表主体的节点和代表对象的节点与边相连,边代表主体和对象之间的操作;
溯源图的图优化包括以下内容:
(1)删除了攻击节点和攻击症状节点不可达的节点和边;
(2)删除了同一主体和对象之间没有导致状态变化的重复动作的边;
(3)合并相同事件的不同主体和对象描述;
步骤S2中,
攻击序列提取方法包括:提取含有攻击实体的攻击事件,将攻击事件按时间顺序形成攻击序列;
非攻击序列提取方法包括:在每一个攻击实体子集中加入一个非攻击实体形成非攻击实体集,然后使用攻击序列提取方法来提取序列,如果提取的序列与已知的攻击序列不匹配,则标记为非攻击序列;
在步骤S4中攻击实体识别主要步骤包括:
首先把溯源图中的实体集去除攻击症状实体得到未知实体集合,然后从中取一个未知实体和所有攻击症状实体形成未知实体子集;
对形成的未知实体子集提取序列并进行向量化处理,再输入到已经训练好的深度学习模型中;
如果判定为攻击序列,则标记所取的一个未知实体为攻击实体,继续取未知实体并构建未知实体子集进行相同操作直到取完所有未知实体,标记的所有攻击实体形成攻击实体集。
2.根据权利要求1所述的基于双向长短时记忆网络的APT攻击溯源分析方法,其特征在于,所述深度学习模型为双向长短时记忆网络BiLSTM,所述深度学习模型学习攻击序列和非攻击序列的相似性和区别。 说明书 : 基于双向长短时记忆网络的APT攻击溯源分析方法技术领域[0001] 本发明涉及网络安全溯源领域,具体涉及基于基于双向长短时记忆网络的APT攻击溯源分析方法。背景技术[0002] APT攻击即高级可持续威胁攻击,也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。APT攻击溯源主要包括溯源攻击者、攻击组织和攻击路径。APT组织的攻击活动不是一个简单的攻击行为,它是由一个组织进行的高级威胁行动。现在针对APT攻击检测与溯源的研究,其中一个重要难点是没有公开数据集。针对同一个APT组织,不同安全公司发布了各自的报告,许多对APT组织画像的图形化网页也不断出现,但是还没有一个公开权威的APT数据集。[0003] APT攻击溯源技术是网络防御体系中的重难点问题,需要多方面的技术检测、关联查找和相关威胁知识情报的支持。现在安全产业界,主要以“自动化手段+专家分析”的联合溯源方法,结合整个部门的力量对APT攻击事件进行分析,其攻击溯源典型过程是通过安全分析师对发生的攻击症状现象产生相应的假设,再使用工具和技术进行数据调查,识别溯源,再利用自动化的分析手段进行验证和发现,并以此往复。因此,需要进一步研究一种APT攻击溯源分析方法,以便能够较为准确的恢复出攻击路径。发明内容[0004] 本发明要解决的技术问题是:提供一种基于双向长短时记忆网络的APT攻击溯源分析方法,能够较为准确的恢复出攻击路径。[0005] 本发明解决其技术问题所采用的技术方案是:一种基于双向长短时记忆网络的APT攻击溯源分析方法,包括以下步骤:[0006] 步骤S1:构建溯源图,针对审计日志数据抽取系统操作事件构建溯源图并对溯源图进行图优化;[0007] 步骤S2:提取序列,对优化后的溯源图提取攻击序列和非攻击序列;[0008] 步骤S3:深度学习模型训练,提取的攻击序列与非攻击序列转换成攻击溯源数字向量;针对生成的攻击溯源数字向量,采用深度学习模型进行训练;[0009] 步骤S4:攻击实体识别,由入侵检测系统提供真实的攻击症状实体,再由深度学习模型识别所有的攻击实体;[0010] 步骤S5:攻击路径溯源,所有的含有攻击实体的攻击事件形成攻击事件集合,攻击事件按时间戳排序形成攻击流程。[0011] 具体地,步骤S1中构建溯源图包括以下内容:[0012] 针对所使用的审计日志数据,抽取系统操作事件,根据事件内容构建溯源图;溯源图由节点组成,节点代表主体和对象,代表主体的节点和代表对象的节点统称为事件实体,代表主体的节点和代表对象的节点与边相连,边代表主体和对象之间的操作;[0013] 溯源图的图优化包括以下内容:[0014] (1)删除了攻击节点和攻击症状节点不可达的节点和边;[0015] (2)删除了同一主体和对象之间没有导致状态变化的重复动作的边;[0016] (3)合并相同事件的不同主体和对象描述。[0017] 具体地,步骤S2中,[0018] 攻击序列提取方法包括:提取含有攻击实体的攻击事件,将攻击事件按时间顺序形成攻击序列;[0019] 非攻击序列提取方法包括:在每一个攻击实体子集中加入一个非攻击实体形成非攻击实体集,然后使用攻击序列提取方法来提取序列,如果提取的序列与已知的攻击序列不匹配,则标记为非攻击序列。[0020] 具体地,所述深度学习模型为双向长短时记忆网络BiLSTM,所述深度学习模型学习攻击序列和非攻击序列的相似性和区别。[0021] 具体地,在步骤S4中攻击实体识别主要步骤包括:[0022] 首先把溯源图中的实体集去除攻击症状实体得到未知实体集合,然后从中取一个未知实体和所有攻击症状实体形成未知实体子集;[0023] 对形成的未知实体子集提取序列并进行向量化处理,再输入到已经训练好的深度学习模型中;[0024] 如果判定为攻击序列,则标记所取的一个未知实体为攻击实体,继续取未知实体并构建未知实体子集进行相同操作直到取完所有未知实体,标记的所有攻击实体形成攻击实体集。[0025] 本发明的有益效果是:本发明针对日志类型的溯源数据,并通过图优化算法对依赖爆炸的溯源图进行处理。然后,构建了四元组(主体,行动,对象,时间戳),提取了攻击序列和非攻击序列,实现了对攻击实体的自动化识别,并在此基础上进行了攻击路径的溯源。通过发现的攻击路径,能够让安全分析人员发现攻击意图和攻击主机以及可能产生横向移动而被感染的用户主机,能够准确的恢复出攻击路径。附图说明[0026] 下面结合附图对本发明进一步说明。[0027] 图1为本发明的基于双向长短时记忆网络的APT攻击溯源分析方法的流程示意图;[0028] 图2为本发明的从已知攻击实体子集{B,E}中提取攻击序列的工作示意框图;[0029] 图3为本发明的攻击实体识别的流程示意图;[0030] 图4为本发明的攻击路径溯源过程的示意图;[0031] 图5为本发明的APT攻击溯源分析方法的框架图;[0032] 图6为本发明的深度学习模型架构图。具体实施方式[0033] 现在结合附图对本发明作进一步的说明。这些附图均为简化的示意图仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。[0034] 如图1所示,一种基于双向长短时记忆网络的APT攻击溯源分析方法,包括以下步骤:[0035] 步骤S1:构建溯源图,针对审计日志数据抽取系统操作事件构建溯源图并对溯源图进行图优化;[0036] 步骤S2:提取序列,对优化后的溯源图提取攻击序列和非攻击序列;[0037] 步骤S3:深度学习模型训练,提取的攻击序列与非攻击序列转换成攻击溯源数字向量;针对生成的攻击溯源数字向量,采用深度学习模型进行训练;[0038] 步骤S4:攻击实体识别,由入侵检测系统提供真实的攻击症状实体,再由深度学习模型识别所有的攻击实体;[0039] 步骤S5:攻击路径溯源,所有的含有攻击实体的攻击事件形成攻击事件集合,攻击事件按时间戳排序形成攻击流程。[0040] 具体地,步骤S1中构建溯源图包括以下内容:[0041] 针对所使用的审计日志数据,主要包括系统事件日志、DNS记录和浏览器日志等,抽取系统操作事件,根据事件内容构建溯源图。溯源图由节点组成,节点代表主体和对象,代表主体的节点和代表对象的节点统称为事件实体,代表主体的节点和代表对象的节点与边相连,边代表主体和对象之间的操作。但是由于依赖爆炸的问题,所生成的溯源图有很多无用节点和边,这里采取了图优化算法来移除冗余的节点和合并相关节点与边。[0042] 溯源图的图优化包括以下内容:[0043] (1)删除了攻击节点和攻击症状节点不可达的节点和边。由于攻击首先是从攻击节点和攻击症状节点发起,逐步向系统入侵,如果无法到达,则节点就无法被感染。[0044] (2)删除了同一主体和对象之间没有导致状态变化的重复动作的边。同一主体和对象可能在一段时间内重复进行某个动作,比如进程和IP地址的反复通信。[0045] (3)合并相同事件的不同主体和对象描述。[0046] 具体地,步骤S2中,[0047] 攻击序列提取方法包括:提取含有攻击实体的攻击事件,将攻击事件按时间顺序形成攻击序列。[0048] 攻击序列是由攻击实体所组成的攻击事件所形成的时间序列。由三个攻击实体{B,E,G},其组成的攻击实体子集有7个,分别是{B}、{E}、{G}、{B,E}、{B,G}、{E,G}和{B,E,G}。[0049] 下面以{B,E}为例介绍,如图2所示,虚线框内是攻击实体B和E的邻域图。首先提取6个事件并标记为攻击事件(含有攻击实体),然后按时间顺序形成攻击序列。[0050] 非攻击序列提取方法包括:在每一个攻击实体子集中加入一个非攻击实体形成非攻击实体集,然后使用攻击序列提取方法来提取序列,如果提取的序列与已知的攻击序列不匹配,则标记为非攻击序列。[0051] 非攻击序列相较攻击序列来说,是非常多的,所以如果按上述方法来提取攻击序列将会是一个大数量级的工作量。因此,通过学习恶意活动和良性活动的界限来代替学习良性活动。在每一个攻击实体子集中加入一个非攻击实体,然后从中提取非攻击序列,从而能够让深度学习模型更好的学习攻击序列和非攻击序列的相似性和区别。[0052] 如图3所示,在攻击实体集{B}中加入非攻击实体D形成非攻击实体集{B,D},然后使用提取攻击序列的方法来提取序列。如果提取的序列与已知攻击序列不匹配,则标记为非攻击序列。[0053] 提取的攻击序列与非攻击序列通过子采样和单词进行向量化转换成攻击溯源数字向量。[0054] 对序列的子采样主要分为过采样和欠采样,过采样主要是填充序列,欠采样是减少序列。由于良性序列(非攻击序列)远远大于攻击序列,在模型学习阶段,需要平衡相关的数据集,本发明主要对良性序列进行欠采样,为维持攻击序列的语义性和正确性,未对攻击序列采取过采样,但通过减少良性序列数,也维持了数据集攻击序列与良性序列的一定平衡性。在针对良性序列的欠采样上,采取了通过Levenshtein距离来计算良性序列之间的相似性。通过设置相似性阈值来过滤相关序列,从而减少非攻击序列的数量。Levenshtein距离被广泛使用在自然语言处理中来查找语句之间的相似性。[0055] 单词进行向量化的主要方法有单词嵌入(WordEmbedding)和独热编码(one‑hot‑encoding)两种。本发明在考虑攻击事件和非攻击事件前后语义的重要性时,为了保留上下文的语义关系,采用了词表示嵌入的方法来将序列转化为数字向量。[0056] 具体地,所述深度学习模型为双向长短时记忆网络BiLSTM,所述深度学习模型学习攻击序列和非攻击序列的相似性和区别。[0057] 针对由溯源图生成的攻击溯源数字向量,LSTM作为循环神经网络(RNN)的变种,也同样是专门应对序列化的深度学习模型,由于攻击流程的上下文关系,本发明考虑了双向长短时记忆网络(BiLSTM)。如图6所示,由于卷积神经网络(CNN)在图类型数据上应用也有良好的效果,在双向长短时记忆网络基础上还可以加入了卷积神经网络(CNN)。[0058] 具体地,在步骤S4中攻击实体识别主要步骤包括:[0059] 首先把溯源图中的实体集去除攻击症状实体得到未知实体集合,然后从中取一个未知实体和所有攻击症状实体形成未知实体子集;[0060] 对形成的未知实体子集提取序列并进行向量化处理,再输入到已经训练好的深度学习模型中;[0061] 如果判定为攻击序列,则标记所取的一个未知实体为攻击实体,继续取未知实体并构建未知实体子集进行相同操作直到取完所有未知实体,标记的所有攻击实体形成攻击实体集。[0062] 具体在本实施例中,在步骤S4中攻击实体识别过程具体包括以下步骤:通过综合情报和相关分析,确定一个以上的真实的攻击症状实体,然后通过训练好的深度学习模型进行攻击实体的识别。从攻击症状实体开始,来识别所有的攻击实体。[0063] 图3表示了攻击实体识别的具体流程。首先把溯源图中的实体集去除攻击症状实体来得到未知实体集合,然后从中取一个未知实体和所有攻击症状实体形成未知实体子集。对形成的未知实体子集提取序列并进行词嵌入,再输入到已经训练好的深度学习模型中,深度学习模型给出预测分数,预测分数超出预设阈值判定为攻击序列。则如果判定为攻击序列,则标记所取的一个未知实体为攻击实体,继续取未知实体并构建未知实体子集进行相同操作直到取完所有未知实体。例如,针对未知实体D和攻击实体B所形成的未知实体子集{D,B},提取的序列为{(A,write,B,T1)、(A,execuute,B,T2)、(D,read,B,T3)、(D,fork,E,T4)、(B,read,C,T7)}。最后通过深度学习模型后判定为攻击序列,则未知实体D为攻击实体,否则为非攻击实体。[0064] 具体在本实施例中,如图4图5所示,在步骤S5中攻击流程溯源具体包括以下步骤:根据这些攻击实体,再进行攻击事件的提取,最后按照攻击事件的时间属性进行排序,形成攻击序列,再通过一定的清洗计算,形成当前APT攻击的攻击流程。[0065] 双向长短时网络模型(BiLSTM)可以更好的捕捉双向的依赖关系。在构建溯源图,进而提取攻击序列和非攻击序列时,发现攻击者发动攻击时,都是有一定且相似的攻击流程。但由于日志自然形成的溯源图的依赖关系非常多,容易形成依赖爆炸的问题,对溯源图进行优化,既可以减少依赖关系,也可以减少所提取的序列的长度。虽然LSTM对于解决梯度爆炸和梯度消失问题有很好的效果,但是太长的序列还是会导致LSTM模型的梯度消失问题。而通过对溯源图进行优化,包括剪枝和合并等技术,可以有效的解决这个问题。[0066] 为了增加溯源的自动化进程,本发明针对日志类型的溯源数据,并通过图优化算法对依赖爆炸的溯源图进行处理。然后,构建了四元组(主体,行动,对象,时间戳),提取了攻击序列和非攻击序列,实现了对攻击实体的自动化识别,并在此基础上进行了攻击路径的溯源。通过发现的攻击路径,能够让安全分析人员发现攻击意图和攻击主机以及可能产生横向移动而被感染的用户主机,能够准确的恢复出攻击路径。[0067] 以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

专利地区:湖南

专利申请日期:2022-09-29

专利公开日期:2024-06-18

专利公告号:CN115567306B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部