融合日志溯源图实体语义信息的APT检测方法

文档序号:37223268发布日期:2024-03-05 15:23阅读:17来源:国知局
融合日志溯源图实体语义信息的APT检测方法

本发明涉及融合日志溯源图实体语义信息的apt检测方法,属于网络空间安全领域。


背景技术:

1、随着信息技术的发展,企业信息系统遭受到的网络攻击也日益频繁。高级持续性威胁(advanced persistent threats,apt)是一类典型的多步网络攻击行为,其隐蔽性强、持续时间久的特点影响了传统攻击检测方法的性能。研究者发现,以系统实体为节点,实体之间的操作为边构建的日志溯源图,能够关联系统中时间跨度大的多步攻击事件,因此结合日志溯源图进行apt检测具有重要的研究价值。当前结合日志溯源图的apt检测主要分为基于异常的检测方式和基于混合的检测方式。

2、1.基于规则的检测方式

3、基于规则的检测方式在日志溯源图的基础上,增加人为预设的规则来实现apt检测。虽然基于规则的检测方式能够实现较为准确的apt检测,但是规则的制定需要深厚的领域知识,并且规则会随着系统环境变化而失效,难以应用于实际场景。

4、2.基于异常的检测方式

5、基于异常的检测方式以良性样本作为检测模型训练数据,能够针对系统良性样本建模,当出现与现有良性行为不一致的系统行为并经过阈值判定之后,就会发出告警。现有的基于异常的检测方式,能够很好地发现未知的apt行为,而实际场景中,存在实体节点名称不同时,相同拓扑结构代表的系统行为也不尽相同的情况。由于日志溯源图仅提取其拓扑结构信息,导致部分良性和恶意样本在特征空间中的表征距离近,apt检测模型的检测准确率低且误报率高,在实际场景中的普遍不可用。

6、3.基于混合的检测方式

7、基于混合的检测方式综合基于标签和基于异常的检测方式优点,并做出更进一步的优化。例如,通过在应用程序层面对日志溯源图节点赋予简略的标签,再结合基于异常的检测方式实现apt检测,进而综合基于标签和基于异常的检测方式的优点,缓解基于异常的检测方式误报率较高的问题。虽然基于混合的检测方式综合了已有检测方式的优点,但是缺乏对检测出的可疑节点范围的有效缩减,导致待排查的可疑节点范围过大,致使网络安全从业人员疲于应对大规模的可疑节点排查任务。

8、综上所述,近年结合日志溯源图的apt检测方法现存的问题有:(1)未考虑日志实体语义信息,致使部分良性样本和恶意样本在特征空间中的表征距离近,导致apt检测的准确率较低;(2)缺乏有效的可疑节点范围缩减方法,导致人工排查可疑节点的工作量过大;针对上述问题,本发明提出融合日志溯源图实体语义信息的apt检测方法。


技术实现思路

1、本发明的目的是针对已有方法apt检测准确率较低和可疑节点人工排查工作量过大的问题,提出融合日志溯源图实体语义信息的apt检测方法。

2、本发明的设计原理为:首先,依据日志数据中系统实体以及实体之间调用的时间顺序,以固定实体节点数量和遗忘率构建日志溯源图子图序列;其次,使用bert预训练模型嵌入日志溯源图的实体节点与边的名称,得到实体节点与边的语义特征向量;然后,改进graph2vec算法中,构建节点有根子图(rooted subgraph,rsg)的weisfeiler-lehman(wl)算法,使其能够结合子图结构与子图实体节点和边的语义信息得到子图嵌入向量;最后,优化攻击节点定位方法,将子图嵌入向量序列输入cnn-lstm模型,得到当前时间段的预测子图向量,计算其与实际子图向量之间的欧式距离,若大于阈值,便排序节点差异得到多个可疑节点,并交由人工排查,以此实现apt检测。

3、本发明的技术方案是通过如下步骤实现的:

4、步骤1,构建日志溯源图子图序列。

5、步骤1.1,按照时间顺序读取日志数据,在每一个事件的源节点和目标节点之间创建一条边,并为节点分配日志时间戳,生成一个日志溯源图子图。

6、步骤1.2,当子图拥有n个节点时,停止该子图更新,并将子图保存入磁盘存储空间。

7、步骤1.3,再次读取日志,设定遗忘率fr,舍弃上一子图中n*fr个最旧节点,并在此基础上添加新的节点,同样在节点数量达到n时,将新子图存入磁盘存储空间,即相邻两个子图之间存在n*(1-fr)个相同节点。

8、步骤1.4,重复步骤1.3,直到日志数据读取完毕,得到日志溯源图子图序列s={s1,s2……sk}。

9、步骤2,提取实体节点和边的语义特征。

10、步骤2.1,对于实体节点的名称,使用bert预训练模型嵌入得到实体节点的语义特征向量xn。

11、步骤2.2,对于日志溯源图边的名称,使用bert预训练模型嵌入得到实体间边的语义特征向量xe。

12、步骤3,改进graph2vec算法,根据日志溯源图子图序列s、实体节点的语义特征向量xn和实体间边的语义特征向量xe计算子图嵌入向量序列。

13、步骤3.1,将xn赋予给对应的实体节点,将xe赋予给对应的边。

14、步骤3.2,改进wl算法,设定有根子图探索深度d,遍历子图所有节点,计算并更新当前深度下每个节点的特征向量。

15、步骤3.3,不断增加探索深度,重复步骤3.2,直到达到设定探索深度d为止,得到当前日志溯源图子图中,所有节点的有根子图表示向量。

16、步骤3.4,利用skip-gram模型,结合所有节点的有根子图表示向量计算得到子图的嵌入向量,对所有子图重复步骤3,得到子图嵌入向量序列。

17、步骤4,构建cnn-lstm攻击检测模型。

18、步骤4.1,利用cnn层,由输入的子图嵌入向量序列中进一步提取特征。

19、步骤4.2,利用lstm层对子图嵌入特征序列建模。

20、步骤4.3,利用输出层,将lstm隐藏状态转化为预测的嵌入特征表示向量。

21、步骤4.4,利用损失函数,训练攻击检测模型。

22、步骤5,apt检测。

23、步骤5.1,依据实时更新的日志数据,扩充日志溯源图子图。

24、步骤5.2,依据日志数据和bert预训练模型得到当前时间段日志溯源图子图的实体节点语义特征向量和实体间边的语义特征向量。

25、步骤5.3,利用改进的graph2vec算法得到子图嵌入向量序列。该序列包括扩充前的日志溯源图子图嵌入向量序列和当前时间段子图嵌入向量。

26、步骤5.4,依据步骤5.3得到的扩充前的日志溯源图子图嵌入向量序列,通过cnn-lstm攻击检测模型得到当前时间段日志溯源图子图的预测向量,计算预测向量与子图嵌入向量的欧式距离,保留欧式距离大于阈值的子图为异常子图。

27、步骤5.5,分别计算异常子图每个节点有根子图表示向量与预测向量、子图嵌入向量的共现概率,比较并排序两个共现概率之间的差异,得到k个可疑节点,交由人工排查确定攻击节点,完成apt检测。

28、有益效果

29、相比于基于异常的检测方式,本发明首先融合日志溯源图拓扑结构、实体节点和边的语义信息,通过补充语义信息扩大良性和恶意样本在特征空间中的表征距离,能够更好地区分良性样本和恶意样本。通过上述方式,本发明能够提高apt检测的准确率。

30、相比于基于混合的检测方式,本发明通过日志溯源图子图嵌入向量序列,得到当前时间段的预测子图向量,并计算当前时间段实际的子图嵌入向量的欧式距离,大于阈值即排序节点差异,得到k个最可疑的节点,将需要人工排查的可疑节点范围进行有效缩减。通过上述方式,本发明能够在保证apt检测准确率的前提下,缩减可疑节点排查范围,减少人工排查的工作量。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1