基于多源日志的多步可持续性攻击检测方法

文档序号:35709905发布日期:2023-10-12 10:48阅读:38来源:国知局
基于多源日志的多步可持续性攻击检测方法与流程

本发明属于信息安全,进一步涉及攻击预测方法,具体为一种基于多源日志的多步可持续性攻击检测方法,可用于在日常活动中预测恶意多步可持续性攻击行为。


背景技术:

1、多步可持续性攻击是指由一个组织对特定目标长期发起的一种有针对性的网络攻击。多步可持续性攻击的特点是高度复杂和隐蔽,以及持续时间长和潜在的重大破坏。由于多步可持续性攻击的复杂性和长期行为,传统的威胁检测系统往往不足以对多步可持续性攻击进行建模和检测。传统的网络预测方法和攻击检测系统不适合对长期运行的多步可持续性攻击行为进行建模,面对零日漏洞等高级攻击行为预测效果不好。并且现有的方案大多基于现成的事件流图,但是面对多源的原生日志时无法适用。因此,能利用多源复杂日志进行多步可持续性攻击长期行为建模的技术成为国内外学者研究的热点。

2、目前针对多步可持续性攻击进行预测和主动防御的框架大致分为三个主要步骤。首先是构造多步可持续性攻击事件溯源图,通过多步可持续性攻击行为报告、系统日志、网络日志等信息构造多步可持续性攻击事件,根据事件关系构成多步可持续性攻击事件图。接着是多步可持续性攻击事件关系的建模,为了将多步可持续性攻击事件的关系转换为神经网络的输入要求,为多步可持续性攻击事件的各种行为进行建模,捕获多步可持续性攻击的关系,预测未来攻击者的行为。最后训练阶段,将关系矩阵放入合适的神经网络中,预测出其中的恶意行为序列,采取决策行动进行主动防御。

3、多步可持续性攻击由于其较长的持续性和先进的攻击策略,导致多步可持续性攻击的防御相较于普通的网络防御难度更大。现阶段的防御方法为了准确的预测攻击者的行为,并在关键时间发生之前对攻击行为进行阻断,采取了如基于签名的检测方案和基于异常的检测方案来预测攻击者可能采取的所有行为,并通过机器学习的方法对攻击者的历史数据和相关信息进行学习,发现恶意事件,并阻止攻击。然而上述方案与现有的技术都存在着以下的弊端。首先,攻击者利用网络数据体量巨大、来源多样和价值密度低等大数据特点,将攻击长期分散在多种类、多来源的网络行为中,这使得针对短周期的传统网络威胁的异常分析方法在多步可持续性攻击下适用性低。其次,传统的威胁检测系统不适合检测长期运行的多步可持续性攻击活动,基于前面的检测系统在面对零日漏洞等高级攻击手段时表现不佳。另外,现有的异常检测系统无法对长期运行的网络行为进行建模,关系建模效果不好导致预测的准确度低,内存消耗高。

4、fan shen等人在shen f,perigo l,curry j h.sr2apt:a detection andstrategic alert response model against multistage apt attacks[j].security andcommunication networks,2023.中公布了一种基于主机的多步可持续性攻击检测和响应模型sr2apt,该框架基于图卷积网络,将系统日志来源子图流分类为多步可持续性攻击阶段或良性,然后,检测结果依次传输至决策引擎,决策引擎基于深度强化学习进行训练,输出针对多步可持续性攻击警报的最优响应动作。然而这种方法的目标数据源单一,并且分类结果的节点的攻击阶段,这种分类指标并不完善导致检测的准确率较低。


技术实现思路

1、本发明的目的在于克服上述技术存在的缺陷,提供了一种基于多源日志的多步可持续性攻击检测方法,主要解决通过多源异构数据从日常活动中预测恶意多步可持续性攻击行为的问题。首先,本发明针对数据来源的异质性、复杂性、非结构化性质和多样化来源,设计了基于张量分解的多步可持续性攻击行为事件提取方案,利用张量分解从复杂多样的日志中提取模板,然后根据这些模板提取事件的时空模式,并将所得数据提取为事件;其次,提出了多步可持续性攻击关系建模方法,用于多源日志产生的事件图对多步可持续性攻击行为进行建模和预测;该方法能够对系统中的进程和对象之间的因果关系、邻域关系和阶段关系进行建模,用于预测攻击者的所处阶段和潜在的攻击行为,此外还可以提供低成本的防御策略,以实现准确和经济的主动防御。

2、为实现上述目的,本发明采取的技术方案包括如下步骤:

3、(1)收集系统日志、应用日志和网络日志,并利用正则匹配方式进行解析,将日志语句解析为相应的结构化实体,得到结构化日志;

4、(2)从结构化日志中提取日志模板,实现如下:

5、(2.1)首先进行单词评分,假设每个日志条目中的单词被空格分隔开,利用空格进行切词,并在切词过程中记录单词的位置p和日志消息的长度len;设定评分规则为:如果一个单词出现在长度为len的日志消息的第p个位置上,那么这个单词的分数score可以依据下式计算:

6、score(word,p,len)=p(word|p,len);

7、(2.2)将每条消息中的所有单词划分为模板词和参数词,所述模板词是在相同位置出现的具有相同长度的日志条目;根据(2.1)得到的评分对单词进行分类,使用基于密度的空间聚类dbscan方式进行聚类,使簇之间的距离大于距离阈值δ,然后通过选择最高分的簇,使单词的数量大于β×len,其中β为参数字数阈值,且0<β<1,得到日志模板;

8、(3)将网络日志数据视为秩3张量,即日志模板、事件和时间窗口,提取日志数据中同时出现的模板组和主机关系,实现如下;

9、(3.1)对每个时间窗口的日志数据进行逐层分解,步骤如下:

10、(3.1.1)定义一个大小为i×l的日志模板矩阵v,若模板i属于模板组l,则日志模板矩阵的模板分量vil>0,若模板i不属于模板组l,则等于vil=0;

11、(3.1.2)用秩3的张量z表示一个事件张量,每个h×l的矩阵是一个事件切片,在每个事件切片中,若主机h上的模板组l属于第k个事件,则该事件对应的事件分量zlkh>0;反之,zlkh=0;

12、(3.1.3)令w表示时间窗口权重矩阵,将第k个事件发生在第j个时间窗口的权重分量表示为wkj,完成对日志张量的逐层分解,得到日志模板、事件与时间窗口权重的分量;

13、(3.2)将分解问题表示为用kl散度与损失函数定义的最小化问题,根据乘法更新规则迭代计算日志张量的分量,提取出其中的事件;

14、(4)将当前日志对应的事件中每一个内部节点表示为一个流程创建事件,内部节点的子节点表示为进程与系统资源交互的事件,通过事件连接构成事件溯源图;

15、(5)根据事件溯源图,采取深度遍历的方式提取事件路径并存储;

16、(6)利用提取的事件路径,对事件的因果关系进行建模,构造因果关系矩阵:

17、(6.1)定义如下四个维度的关系:

18、维度1:父事件与子事件的时间戳差值;

19、维度2:父事件的进程号、父事件的父进程号、父事件的主机号和父进程的进程名;

20、维度3:父事件的ip和端口;

21、维度4:父事件的类型;

22、(6.2)对步骤(5)中提取到的每一条事件路径,分别提取步骤(6.1)定义的四个维度的关系,构造对应的因果关系矩阵;所述矩阵的每个事件对应于因果关系的一维行向量,矩阵的大小为l×8,其中l表示路径长度;

23、(7)对事件的邻域关系进行建模,构造邻域关系矩阵:

24、(7.1)用邻域矩阵的前n列代表过去与现在的偏差,n的数量为事件类型的数量,获取事件的偏差向量d={d1,d2,...,dn};

25、(7.2)使用泊松-伽马混合分布预测事件的未来邻域关系,计算得到各个类型的事件在单位时间后出现的概率,使用向量p存储概率,p={p1,p2,...,pn};

26、(7.3)连接向量d和p构成领域矩阵,该矩阵的每个事件对应于邻域关系的一维行向量,矩阵的大小为l×16;

27、(8)对事件的阶段关系进行建模,构造阶段关系矩阵:

28、(8.1)以用户资料、用户在节点上发生的事件、用户位于的攻击阶段、用户所处的攻击节点四类变量为输入变量,定义如下四种因子函数,并捕获这些输入变量之间的关系:

29、第一种:t时刻的多步可持续性攻击的攻击阶段st与用户在当前信息的事件et之间的关系fe(et,st);如果事件et发生,则认为多步可持续性攻击目前存在于st这个阶段;

30、第二种:t时刻的多步可持续性攻击的攻击阶段st与当前发生的事件et、t-1时刻的攻击阶段st-1、攻击事件et-1三者的关系fs(et-1,st-1,et,st);如果事件et发生,并且t-1时刻发生了攻击事件et-1,且t-1时刻位于st-1阶段,则认为多步可持续性攻击目前存在于st这个阶段;

31、第三种:t时刻的多步可持续性攻击的攻击阶段st与用户属性u、当前发生的事件et这两者的关系fu(u,et,st);如果事件et发生,且用户具有属性u,则认为多步可持续性攻击目前存在于st这个阶段;

32、第四种:t时刻的多步可持续性攻击的攻击阶段st与用户所处的攻击节点node、当前发生的事件et两者的关系fn(node,et,st);如果事件et发生,且用户处于攻击节点node,则认为多步可持续性攻击目前存在于st这个阶段;

33、(8.2)将所有因子函数联合成集合f={fe,fs,fu,fn},其中fe、fs、fu、fn分别表示因子图中fe(et,st)、fs(et-1,st-1,et,st)、fu(u,et,st)以及fn(node,et,st)的集合;令每个因子函数的输入均为x={et,u,node}、y={st},当x与y满足关联关系时输出1,否则输出0;计算得到条件概率密度p(y|x);

34、(8.3)利用条件概率构造大小为l×7的矩阵,矩阵的每个事件对应于邻域关系的一维长度为7的行向量,代表多步可持续性攻击的七个攻击阶段;将每一行最有可能处于的阶段对应列的值置为p,其余的列置为0,得到阶段关系矩阵;

35、(9)对于每条事件路径,将其对应的因果关系矩阵、邻域关系矩阵以及阶段关系矩阵输入三层长短期记忆神经网络lstm和一层贝叶斯神经网络bnn中,使用elbo损失训练分类器;

36、(10)利用经过训练的分类器对事件路径进行预测,生成类别的预测结果,表明事件为良性或多步可持续性攻击,同时生成代表预测标准差的不确定性分数,实现多步可持续性攻击检测。

37、本发明与现有技术相比,具有以下优点:

38、第一、由于本发明采取了基于张量分解的多源异构数据的网络行为抽取来提取事件,通过对日志数据的三维张量进行建模,通过对日志数据逐层分解提取出事件,使得溯源图的构造可以采取原生的多源日志来构造事件序列;相较于现有的技术需要特定的事件数据集,网络日志使用单一,数据输入要求更加的普遍,只需要原生的日志,并且可以兼容多种类型的日志,如网络日志、系统日志等信息;这种基于多源异构的事件抽取方法使得本发明的适用性更强,且考虑多种类型的日志也能增加数据来源的信息收集从而提高预测的准确率。

39、第二、本发明采取因果关系和邻域关系的建模手段,通过多维度的关系建模因果关系,通过泊松-伽马分布建模事件的邻域关系,使得本发明适合于建模长持续性的多步可持续性攻击行动;现有的方法依赖传统的入侵检测系统,或使用普通的网络行为异常检测方案难适应于检测具有长期持续性的多步可持续性攻击行为,导致预测的准确率低下;或使用简单的因果与邻域建模方法,并不完全适应于多步可持续性攻击行为,如采取泊松分布预测多步可持续性攻击行动,但是多步可持续性攻击行动具有时序的变化性,而恒定的事件发生概率不适合多步可持续性攻击的建模,本发明采取的泊松-伽马分布能建模事件发生率,提高了概率预测时的准确度;因此本发明的建模方案根据多步可持续性攻击的特性进行了调整,在建模多步可持续性攻击行动时适应性更好,准确度更高。

40、第三、本发明增加了一种阶段关系的建模手段,通过基于因子图的建模方法,预测新发生事件所处于的多步可持续性攻击阶段,以达到在恶意阶段发生之前对多步可持续性攻击进行抢占阻止的目的。现有的方案通过如图卷积神经网络的方案对多步可持续性攻击进行阶段划分,只考虑了历史的攻击数据集,扩展性和准确性都受到一定的限制。本发明的方案的因子函数可以动态调整,根据特定的多步可持续性攻击行为来设置最合适的因子函数。并且本方案可以同时考虑现有的事件、过去的事件与用户信息的多角度的信息,在预测攻击阶段时准确率相较于只考虑历史数据集的多步可持续性攻击阶段划分方案更加的全面,预测更准确。

41、第四、本发明采取了长短期记忆神经网络lstm和一层贝叶斯神经网络bnn相结合的时序建模手段,使用elbo损失来训练分类器。相较于现有的方案通过rnn或者lstm进行建模预测,增加了置信度的预测结果。即普通的神经网络在预测时对于全是错误的预测样本仍然会挑选出最适合的预测结果,然后增加了贝叶斯神经网络的数据网络在预测时会给出预测的不确定分数,对于不确定的预测样本不会盲目判定出不合适的预测结果。因此,这样的分类器在具有大量正常活动样本的数据来说,预测的准确度更高。

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