本发明属于网络信息安全,具体涉及一种基于对比表示学习的系统级溯源图中异常节点检测方法及装置。
背景技术:
1、网络空间中出现越来越多的攻击事件,给信息系统的正常运行带来了极大风险与挑战。系统级溯源图较为详尽地保留了系统运行时的系统事件,同时将不同事件进行了有效关联,因此,现有技术开始逐步利用溯源图进行威胁发现、攻击检测以及攻击溯源。
2、现有的基于系统级溯源图的威胁及攻击检测技术主要可以分为两大类,第一类是基于规则匹配的检测方法,该类方法基于预先定义的攻击模式规则、外部攻击知识库等先验知识对溯源图中的系统行为进行匹配,该类方法具有较好准确性和可解释性,但其高度依赖于专家知识,同时具有很大的计算开销,且无法有效利用和挖掘溯源图中数据的信息和特征。第二类方法是基于数据挖掘的异常检测方法,通过对溯源图中数据进行特征挖掘,从而设计异常检测算法检测其中的异常节点或者异常边,该类方法在检测溯源图中相关的已知和未知威胁的同时具有更小的时间开销,但其缺乏一定可解释性且存在较高误报率。
3、为了克服已有基于异常的溯源图威胁检测方法的特征挖掘的较大的时间开销、模型检测的鲁棒性不足以及模型性能退化问题,本发明提出一种基于对比表示学习的系统级溯源图威胁检测技术方案,实现对于系统级溯源图中潜在的异常系统实体节点的检测。
技术实现思路
1、本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于对比表示学习的系统级溯源图中异常节点检测方法及装置,通过对比自编码器的表示学习,解决了模型检测的鲁棒性不足以及模型性能退化问题。
2、为了达到上述目的,本发明采用以下技术方案:
3、本发明一方面提供了一种基于对比表示学习的系统级溯源图中异常节点检测方法,包括下述步骤:
4、对于不同的操作系统,通过不同的日志采集工具对系统内核级审计日志进行采集;
5、对采集得到的审计日志进行解析后构造溯源图,并对溯源图的溯源数据进行存储;
6、对所述溯源图中的节点进行处理,包括赋予节点标签和获取节点特征;所述赋予节点标签是使用节点自身所属的节点类型作为伪标签;所述获取节点特征是获取节点的结构特征;
7、将经过处理后的节点及节点所属类型作为自监督信息输入至预先设立的对比自编码器进行训练,得到训练好的对比自编码器;所述训练是将对比自编码器中输入节点初始的高维特征向量,对比自编码器将节点在原始特征空间中的高维特征向量映射到低维潜在空间,在映射的过程中,使得不同类型节点对之间的距离尽可能大,相同类型节点对之间的距离尽可能小;
8、将待检测溯源图节点集合输入至所述训练好的对比编码器进行编码,在编码后的低维潜在空间中进行基于绝对中位差的异常节点检测。
9、作为优选的技术方案,所述对采集得到的审计日志进行解析后构造溯源图,并对溯源图的溯源数据进行存储,具体为:
10、首先,对采集得到的审计日志进行解析,将相关系统事件以统一的形式进行表示与存储;在溯源图中定义多种节点类型和多种边类型;所述节点类型为溯源图的实体,包括进程、文件及网络套接字;所述边类型为溯源图的系统实体间的交互关系;同时定义统一的六元组溯源数据表示溯源图的结构,即<头实体、头实体类型、尾实体、尾实体类型、交互关系类型、时间戳>,每条六元组记录了一个特定的系统事件;
11、其次,为减少数据存储,对溯源图数据进行相应的数据规模压缩操作,并使用图数据库neo4j对溯源数据进行存储。
12、作为优选的技术方案,所述节点标签有三类,包括进程、文件及网络套接字;
13、所述获取节点的结构特征是基于节点的邻接边的类型分布作为节点的初始特征,在多种边类型中考虑节点的入边和出边得到每个节点的高维特征向量。
14、作为优选的技术方案,所述对比自编码器包含一个编码器f和一个解码器h,编码器f的参数集合为θ,解码器h的参数集合为因此,对比自编码器的损失函数计算公式为:
15、
16、其中,e是数学期望,x是节点的初始高维特征向量,是经过对比自编码器进行编码和解码重构后的特征向量;xi和xj代表输入的节点对;yij用来标识两个节点是否为同一类型的节点,若为同一类型则取0,若为不同类型则取1;dij则标识两个节点在低维潜在空间中的距离,即经过编码器编码后的向量表示;ρ是一个超参数,,表示自编码器的低维潜在编码空间中,两个不同类别的节点之间的距离只有在小于该距离上界ρ时才会参与到损失函数的计算之中,当数据集较为离散且存在大噪声时,ρ值设置得更大;λ为超参数,用来控制对比自编码器的重构损失和对比损失两者对于总损失函数的权重。
17、作为优选的技术方案,当所有训练数据训练完成后,在低维潜在空间中计算每类节点数据的形心,公式为:
18、
19、其中,k代表节点的类型数目,z为经过编码器编码后的节点向量表示,j代表节点类型i的节点数目,至此得到不同类型节点的形心的向量表示;
20、同时,对于每个节点类型i,计算每个节点到形心的欧式距离,取距离的中位数作为该类别节点的平均绝对偏差madi:
21、
22、其中,为节点到形心的欧式距离,为节点中位数,madi为类别节点的平均绝对偏差,b为一个经验性常数。
23、作为优选的技术方案,所述将待检测溯源图节点集合输入至所述训练好的对比编码器进行编码,在编码后的低维潜在空间中进行基于绝对中位差的异常节点检测,具体为:
24、将获得待检测的溯源图节点集合输入至训练好的对比自编码器,通过编码器f将待检测的溯源图节点集合的初始高维特征向量映射到对应的低维潜在空间当中,得到向量表示:
25、zi=f(xi;θ);
26、对节点异常分数进行计算与异常判定,具体步骤为:
27、根据待检测节点所属类型计算其与对应类型的参考数据形心的欧氏距离,公式为:
28、di=||zi-ci||2
29、计算基于特定类型节点数据的绝对中位差的异常分数,公式为:
30、
31、对于特定类型节点数据,将计算得到的异常分数与对应预先设定的第一阈值ti进行对比,若异常分数大于预先设定的第一阈值,则判定为异常节点,若小于预先设定的第一阈值,则判定为正常节点。
32、作为优选的技术方案,还包括输出判定的结果,对于判定为异常的节点,获取异常节点的一阶邻居节点,作为异常子图进行输出,以供安全人员进行进一步分析;对于判定为正常的节点,将正常节点的向量表示保留在对比自编码器映射的潜在空间中用以扩充参考数据,当数量达到预先设定的第二阈值时,删除掉时间戳最早的同等数量的参考数据中的节点数据,并基于更新后的训练数据对自编码器进行重新学习和部署,从而在一定程度上缓解模型的性能弱化问题。
33、本发明又一方面提供了一种基于对比表示学习的系统级溯源图中异常节点检测系统,应用于所述基于对比表示学习的系统级溯源图中异常节点检测方法,包括溯源数据采集模块、溯源图构造模块、节点数据处理模块、训练对比自编码器模块以及异常检测模块;
34、所述溯源数据采集模块,用于对于不同的操作系统,通过不同的日志采集工具对系统内核级审计日志进行采集;
35、所述溯源图构造模块,用于对采集得到的审计日志进行解析后构造溯源图,并对溯源图的溯源数据进行存储;
36、所述节点数据处理模块,用于对所述溯源图中的节点进行处理,包括赋予节点标签和获取节点特征;所述赋予节点标签是使用节点自身所属的节点类型作为伪标签;所述获取节点特征是获取节点的结构特征;
37、所述训练对比自编码器模块,用于将经过处理后的节点及节点所属类型作为自监督信息输入至预先设立的对比自编码器进行训练,得到训练好的对比自编码器;所述训练是将对比自编码器中输入节点初始的高维特征向量,对比自编码器将节点在原始特征空间中的高维特征向量映射到低维潜在空间,在映射的过程中,使得不同类型节点对之间的距离尽可能大,相同类型节点对之间的距离尽可能小;
38、所述异常检测模块,用于将待检测溯源图节点集合输入至所述训练好的对比编码器进行编码,在编码后的低维潜在空间中进行基于绝对中位差的异常节点检测。
39、本发明又一方面提供了一种电子设备,其特征在于,所述电子设备包括:
40、至少一个处理器;以及,
41、与所述至少一个处理器通信连接的存储器;其中,
42、所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于对比表示学习的系统级溯源图中异常节点检测方法。
43、本发明再一方面提供了一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现所述的基于对比表示学习的系统级溯源图中异常节点检测方法。
44、本发明与现有技术相比,具有如下优点和有益效果:
45、本发明通过对数据进行预处理并按照预定模式构建系统级溯源图,接着高效获取图中节点特征,同时利用节点所属类型作为自监督信息训练对比自编码器,通过将待检测节点映射到自编码器对应的潜在低维空间中,采用基于绝对中位差的异常检测方法,在潜在低维空间中实现对异常系统实体节点的检测;提高了检测的正确率并减少了时间开销。此外,本发明对于模型判定为异常的系统实体节点,按照其异常分数进行排序,从而更加优先处理异常程度更大(潜在的威胁程度更高)的节点;此外,随着时间推移,可以使用更多的新的正常数据对模型参数进行更新,一定程度上缓解模型性能下降的问题。
1.基于对比表示学习的系统级溯源图中异常节点检测方法,其特征在于,包括下述步骤:
2.根据权利要求1所述基于对比表示学习的系统级溯源图中异常节点检测方法,其特征在于,所述对采集得到的审计日志进行解析后构造溯源图,并对溯源图的溯源数据进行存储,具体为:
3.根据权利要求1所述基于对比表示学习的系统级溯源图中异常节点检测方法,其特征在于,所述节点标签有三类,包括进程、文件及网络套接字;
4.根据权利要求1所述基于对比表示学习的系统级溯源图中异常节点检测方法,其特征在于,所述对比自编码器包含一个编码器f和一个解码器h,编码器f的参数集合为θ,解码器h的参数集合为因此,对比自编码器的损失函数计算公式为:
5.根据权利要求4所述基于对比表示学习的系统级溯源图中异常节点检测方法,其特征在于,当所有训练数据训练完成后,在低维潜在空间中计算每类节点数据的形心,公式为:
6.根据权利要求5所述基于对比表示学习的系统级溯源图中异常节点检测方法,其特征在于,所述将待检测溯源图节点集合输入至所述训练好的对比编码器进行编码,在编码后的低维潜在空间中进行基于绝对中位差的异常节点检测,具体为:
7.根据权利要求6所述基于对比表示学习的系统级溯源图中异常节点检测方法,其特征在于,还包括输出判定的结果,对于判定为异常的节点,获取异常节点的一阶邻居节点,作为异常子图进行输出,以供安全人员进行进一步分析;对于判定为正常的节点,将正常节点的向量表示保留在对比自编码器映射的潜在空间中用以扩充参考数据,当数量达到预先设定的第二阈值时,删除掉时间戳最早的同等数量的参考数据中的节点数据,并基于更新后的训练数据对自编码器进行重新学习和部署,从而在一定程度上缓解模型的性能弱化问题。
8.基于对比表示学习的系统级溯源图中异常节点检测系统,其特征在于,应用于权利要求1-7中任一项所述的基于对比表示学习的系统级溯源图中异常节点检测方法,包括溯源数据采集模块、溯源图构造模块、节点数据处理模块、训练对比自编码器模块以及异常检测模块;
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7任一项所述的基于对比表示学习的系统级溯源图中异常节点检测方法。
