掌桥专利:专业的专利平台
掌桥专利
首页

基于日志提取抽象事件的攻击溯源方法及系统

文献发布时间:2024-04-18 19:58:26


基于日志提取抽象事件的攻击溯源方法及系统

技术领域

本发明涉及网络安全技术领域,具体为基于日志提取抽象事件的攻击溯源方法及系统。

背景技术

高级持续性攻击(APT)攻击检测已成为当前的一个热门研究方向。比起普通的网络攻击,APT攻击对系统起效前,经过的准备时间更长,这意味着攻击者将会留下较多的“踩点”痕迹,例如对系统的渗透测试等试探痕迹。作为防御者,需要在攻击起效前及时发现这些可疑痕迹,推断攻击可能作用于系统的哪些部分,及时作出防护措施。

以一个利用鱼叉邮件的典型APT场景为例:攻击者首先发送一个包含0day漏洞的鱼叉邮件,漏洞利用成功后释放白利用文件执行恶意PowerShell下载下一阶段的DropperPowerShell脚本,该Dropper会下载下一步的PowerShell脚本去执行。利用该脚本通过修改注册表,使其指向需要运行的进程路径,再触发进程进行Bypass UAC并通过劫持系统模块,释放恶意dll到系统目录。通过加载dll文件,下载带有恶意代码的隐写图片,并由dll解密后执行。执行恶意代码后,给受害者加载恶意插件,包括文件窃取、凭证窃取、截屏模块、键盘记录等。

这个实例表明,APT给入侵检测带来了如下挑战:

1)过程复杂:APT攻击通常需要花费大量的时间来调查目标并探查弱点,然后制定定制的计划来一步步蚕食系统,这其中涉及到一系列复杂的活动,其中涉及到高级入侵工具和各种规避检测策略,使攻击检测变得困难。APT中使用的某些个别策略可能看起来并不先进,但是整个攻击的计划、规模和凝聚力使它变得复杂。

2)攻击方式隐蔽:在APT中,长时间保持隐藏状态至关重要,因此攻击者需要做出很大的努力来逃避检测。APT参与者往往会使用混淆技术和诸如无文件恶意软件之类的策略,绕过目标组织部署的监视和检测机制。这使得管理员难以发现APT的活动。

3)持续时间长:APT往往是长期攻击,因为它们所针对的系统往往复杂且受到良好保护,无法用简单的方式进行渗透。因此,APT所留下的痕迹涉及到大量的网络流量。如此庞大的数据在分析上会给安全工作者带来不小的困难。

发明内容

针对现有技术中存在的问题,本发明提供一种基于日志提取抽象事件的攻击溯源方法及系统,用于解决现有技术中存在因攻击行为特征难以提取、攻击渠道多元化导致的检测和抵御APT攻击难的技术问题。

本发明是通过以下技术方案来实现:

一种基于日志提取抽象事件的攻击溯源方法,包括以下步骤:

获取系统的多种状态日志并结合相关性算法,得到各状态日志的抽象事件;

在各抽象事件中加入时序特征生成对应的事件关联图;

计算各事件关联图的并集和补集,得到攻击链和入侵痕迹,根据攻击链和入侵痕迹进行溯源分析确定攻击全过程。

优选的,所述抽象事件的生成方法如下:

收集来自多种状态系统的日志;

将收集到的多种状态系统的日志转换为标准形式并进行域的统一划分;

根据划分后的日志并结合相关性分数算法,将相关的日志关联成日志组,将日志组转换为抽象事件,得到该日志组对应的抽象事件。

优选的,所述多种状态系统的日志包括系统正常运行的日志、系统被攻击成功的日志以及系统被攻击未遂的日志。

优选的,所述事件关联图的生成方法如下:

以抽象事件为单位并引入关联性分析,创建无向事件关系网络,在无向事件关系网络中引入时序关系识别抽象事件之间的逻辑关系,将无向网络转化为有向网络,得到事件关联图。

优选的,采用图匹配算法计算各抽象事件的并集和补集。

优选的,所述攻击链的确定方法如下:

所述事件关联图包括系统正常运行的事件关系图G1,攻击成功时的系统事件关系图G2;产生攻击未遂时的系统事件关系图G3;

将事件关系图G2与事件关系图G1比较,将事件关系图G2中与事件关系图G1中重复的部分去除得到事件关系图G2',取事件关系图G2‘和事件关系图G3重叠的部分得到攻击链G4。

优选的,所述入侵痕迹的确定方法如下:

将事件关系图G3与事件关系图G1比较,并去掉事件关系图G3中与事件关系图G1重叠的部分,得到攻击发生前的入侵痕迹。

优选的,还包括以下过程:

将事件关联图作为训练数据集对LSTM网络神经网络进行训练,训练后的LSTM网络神经网络输出异常时间的预测结果。

优选的,根据攻击链、入侵痕迹并结合预测结果进行溯源分析确定攻击全过程。

一种基于日志提取抽象事件的攻击溯源系统,包括,

抽象事件模块,用于获取系统的多种状态日志并结合相关性算法,得到各状态日志的抽象事件;

关联图模块,用于在各抽象事件中加入时序特征生成对应的事件关联图;

溯源分析模块,用于计算各事件关联图的并集和补集,得到攻击链和入侵痕迹,根据攻击链和入侵痕迹进行溯源分析确定攻击全过程。

与现有技术相比,本发明具有以下有益的技术效果:

本发明提供的一种基于日志提取抽象事件的攻击溯源方法,首先从多个日志源中收集日志,并将其转换为标准形式,然后应用相关性分数算法将相关日志关联成组,以构建抽象事件。在事件关联阶段,通过关联性分析和时序关系建立事件之间的关系图,揭示逻辑关联。最后,在攻击链生成步骤中,比对正常日志与攻击阶段日志,剔除冗余状态,简化事件关系图,生成清晰的攻击链。相比现有技术,本发明具备综合分析能力、自动化处理、状态爆炸问题解决和时序关系考虑等优势,为安全事件分析和威胁情报处理提供了一种高效准确的解决方案。生成的事件关系图和攻击链可以通过可视化方式呈现,帮助分析人员更好地理解事件的关联性和发展逻辑,从而加强安全响应和决策能力。

附图说明

图1为本发明的整体结构示意图;

图2为本发明的LSTM神经网络示意图;

图3为本发明事件提取的阈值确定图;

图4为本发明攻击链的构建图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。

参阅图1,基于日志提取抽象事件的攻击溯源方法,包括以下步骤:

步骤1、获取系统的多种状态日志并结合相关性算法,得到各状态日志的抽象事件,具体如下:

S1.1、收集来自多种状态系统的日志,包括系统正常运行的日志、系统被攻击成功的日志以及系统被攻击未遂的日志;

日志收集过程中通过操作系统的审计工具从系统、网络(TCP,HTTP,DNS等)等日志源收集到了日志。一般来说,日志源提供的日志均包含一些类似的域,例如时间戳、进程名称、执行路径、操作结果等等。

S1.2、将收集到的多种状态系统的日志转换为标准形式并进行域的统一划分;

将日志域规范化方便进一步分析处理。由于收集的日志规模很大,需要过滤出所需的日志条目。设置的过滤器遵循以下两个规则:

对于明显不相关的日志源,例如审计工具的运行日志等,将其加入无关日志索引,直接过滤筛除。

对于冗余日志,即重复率较高的日志,如果冗余日志与同一事件源中的其他日志之间不存在时间序列关系,则认为这些日志对于分析不是必需的。在实验中,设置了一个阈值以筛选出频率过高的日志,并仅保留低频事件。

S1.3、引入相关性分数算法并设置相关性阈值,将相关的日志关联成日志组,将同组日志组视为同一事件,将日志组转换为抽象事件,得到该日志组对应的抽象事件;

事件提取:为提取日志中事件,作出了假设:对于一个事件中的所有日志,它们的联系必然紧密。根据这个假设,可以通过计算日志之间的相关程度来划分事件。关于日志的相关度,引入了一种相关性分数算法,它能够计算出某个“术语”在整篇目标文档中的显著性得分。该算法通过对比术语出现在前景集合和背景集合中的频率,计算出该术语的显著性得分,若两种频率差别很大,则认为该术语是重要的。例如,在10,000,000和文档中搜索术语“tcp”,用户设置的索引项为A。和A相关的文档有100个。如果只有5个文档中存在着术语“tcp”,其中和A相关的就有4个,那么5/10,000,000与4/100的差异就很大。于是tcp这个术语被认为是重要的。该评分算法的表达式如下:

TF-IDF(A,B)=TF(A)×IDF(B)

其中,TF(A)表示术语A在日志A中的频率。可以通过计算A在日志A中出现的次数并除以日志A的总词数得到。IDF(B)表示术语B的逆文档频率。可以通过计算文档集合中包含术语B的文档数量,并除以文档集合的总文档数,然后取其逆对数得到。这个公式衡量了术语A在日志A中的重要性,并乘以术语B的逆文档频率,从而得到A和B之间的关联性分数。分数越高,意味着日志A和B之间的关联性越显著。

步骤2、在各抽象事件中加入时序特征生成对应的事件关联图。

S2.1、将抽象事件解析为五元组(起始时间,终止时间,进程名称,操作对象,动作),形式如下:

S1.2以抽象事件为单位,引入关联性分析,创建无向事件关系图:事件关联图开始为空,以抽象事件为单位,将每个抽象事件的五元组作为节点添加到事件关联图中。每个事件节点应包含相关的信息,如进程名称、操作对象等。用步骤S1.3中的方法定义事件之间的边权重,以反映事件之间的相关性。根据事件之间的相关性,为事件之间的添加无向边。

S1.3引入时序关系识别无向事件关系图中抽象事件之间的逻辑关系,将无向图转化为有向事件关系图;根据事件的起始时间和终止时间确定事件之间的顺序。较早发生的事件在事件关系图中位于前面的位置,较晚发生的事件位于事件关系图后面的位置。这个事件关系图是有向图,反映了事件之间的时序关系。

步骤3、将事件关联图作为训练数据集对LSTM网络神经网络进行训练,训练后的LSTM网络神经网络输出异常时间的预测结果,根据预测结果进行异常事件预警。

由于日志中的事件具有时序这一重要属性,可以将连续事件看作是时间序列问题进行分析。基于这个思路,在异常事件的预警上,通过长短期记忆网络对事件序列进行分析,预测即将可能出现的事件情况。

LSTM网络是一种循环神经网络,能够对依赖于时序的行为进行建模。LSTM通过将神经网络层在t时刻的输出反馈给同一网络层在t+1时刻的输入来实现建模,其基本原理如图2所示。其中,x

LSTM网络利用LSTM细胞块来代替神经网络中的标准神经网络层,每个细胞单元格中具有输入门、遗忘门和输出门三个组成部分。

LSTM细胞单元的输入是当前t时刻的序列值x

g=tanh(b

其中,g为LSTM细胞单元的输入、x

接着将这个压缩后的输入按元素乘上输入门的输出,其中输入门是一系列sigmoid激活节点:

i=σ(b

其中,σ为sigmoid激活函数、i为输入门;

通过输入门,下一步数据流来到遗忘门循环。在遗忘门中,输出被表示为:

f=σ(b

其中,f是遗忘门;

在遗忘门中,通过递归循环帮助网络学习需要“记住”或“忘记”的状态变量。综合遗忘门和状态循环,该输出为:

其中,

LSTM的输出门,这个门决定哪些值实际上可以作为单元格h

o=σ(b

其中,o为输出门;

为了利用LSTM网络得到合适的事件流模型,需要给定一些正常的事件关系,输入LSTM网络中进行训练。在训练阶段模型需要找到适当的权重分配,以使LSTM序列的最终输出产生所需的标签,并随训练数据集中的输入一起输出。在训练过程中,每个输入和输出利用梯度下降法找到最小损失来更新这些参数权重。在训练中,事件输出使用的损失函数是分类父叉熵损失,参数使用均方损失来进行误差的度量。

当事件关系输入到检测模型中时,LSTM检测模型将会预测下面一个事件的可能性。如果实际情况中的下一组事件在可能性分布中具有较大的概率,那么认为该事件属于正常事件,否则将其作为异常事件标红,作出警告。

基于LSTM进行检测的模型架构输入为:(批大小、时间步长、隐藏大小),用于描述每个输入批次的样本大小、每个输入单词的时间步长和LSTM的隐藏层大小。输入事件文本转化而成的嵌入向量到LSTM的隐藏层中,在其中展开LSTM网络,并将输出数据传递到TimeDistributed的Keras层中,最后再输出层应用一个softmax激活,将该输出与每个批次的训练y数据进行比较,在Keras中执行误差和梯度反向传播。

步骤4、计算各事件关联图的并集或补集,得到攻击链和入侵痕迹,根据攻击链和入侵痕迹进行溯源分析确定攻击全过程。

事件关联图包括,正常运行时,系统中的事件关系图G1;产生攻击成功时的系统中事件关系图G2;产生攻击未遂时系统中的事件关系图G3。

将事件关系图G2与事件关系图G1比较,将事件关系图G2中与事件关系图G1中重复的部分去除得到事件关系图G2',取事件关系图G2‘和事件关系图G3重叠的部分得到攻击链G4;

将事件关系图G3与事件关系图G1比较,并去掉事件关系图G3中与事件关系图G1重叠的部分,得到攻击发生前的入侵痕迹G5。

在攻击链构建框架中,需要大量的图匹配操作提取各个事件关系图的并集或补集。为了提高图匹配的效率,引入基于子图同构的图匹配算法VF2进行实验。

在图论中,图和图的同构关系被描述成二者之间顶点的双射关系:

f:V(G)→V(H)

该映射关系使得当且仅当和在中相邻时,的两个顶点和才在中相邻。图同构是图上的等价关系,一组彼此同构的图被称为同构图,将其看作是等价的。基于图同构的思想,利用这种映射关系去寻找相互同构的图进行匹配。

VF2算法利用了类似树的基于深度的搜索。对于两个非空图和,该算法逐步匹配和中的点,若匹配成功则加入匹配映射到映射集中,失败则回退到上一状态进行搜索。经过不断递归,最终可以建立起两个图之间的映射关系。

算法描述如下:开始,中节点为空,调用函数开始后,先根据当前状态和一些与中节点的连接拓扑关系,获得节点对集合。接下来准备加入状态候选节点对集合,每一节点对包含一个小图节点和一个大图节点。接着对这个候选节点对集合遍历,每取出一对节点,先用函数判断其是否可行,即判断加入这一对节点后是否能在有限步骤内得到子图同构。若加入节点对后必然不可能得到一对子图同构,就可以不继续往下搜索;如果该节点对可行,就将这对节点加入状态得到状态,并递归调用函数继续往下搜索。搜索完每一分支进行回溯,每找到一个子图同构(也就是深度达到小图节点数),就把结果加入。

本发明的基于日志提取抽象事件的攻击溯源方法,首先进行时间提取,通过日志预处理和事件抽象化的步骤,将从多个日志源中收集的日志转化为抽象的事件。首先,对收集到的日志进行标准化处理,将日志划分为统一的域。然后,引入相关性分数算法,将相关的日志关联成组,进而提取日志中的事件。然后进行时间关联,在事件提取的基础上,本发明通过引入时序关系,将抽象的事件关联成图。利用事件之间的时序信息,将无向关系网络转化为有向网络,构建出事件之间的关系图。通过子图匹配算法VF2进行图匹配,提取各个事件关系图的并集或补集,从而生成最终的事件关联图。其次通过神经网络继续异常事件预警,为了预测异常事件,本发明引入深层LSTM神经网络进行分析。基于生成的五元组,构建包含时序特征的事件关联图,将其作为输入,通过深层LSTM网络进行训练和预测。LSTM网络能够捕捉事件之间的时序模式和长期依赖关系,从而准确地预测可能的异常事件。最后进行攻击链生成,在事件关联图生成的基础上,本发明引入一个框架来解决事件关系图中的状态爆炸问题,进而生成最终的攻击链。通过产生正常运行时和攻击成功时的事件关系图,比较并筛除重复部分,得到攻击链。同时,将事件关系图与攻击发生前的图进行比较,得到入侵痕迹,从而完整地呈现攻击链。

下面结合仿真结果,对本发明的技术效果作进一步说明:

实验条件和内容:在虚拟机的系统中模拟一些攻击,并通过审计工具ProcessMonitor收集攻击前后的系统日志。收集的日志信息包括时间戳、进程名、进程PID、操作、路径、操作结果、详情这几个域。其中,时间戳表示该日志记录的时间,进程名表示产生该日志的对象,PID表示进程的编号,操作表示进程在该日志被记录的行为,路径表示进程操作的对象路径,操作结果表示进程此次操作的结果,详情里阐述该日志中记录的操作的详细信息。

从收集到的日志中提取一些日志-事件模板,将其作为数据集进行下一步的研究。

实验一,对本发明的事件提取的阈值进行仿真,其结果如图3所示;

实验二,对本发明攻击链的构建进行仿真,其结果如图4所示;

2.实验结果分析:

参照图3,提出事件的阈值T

参照图4,对本发明的攻击链的构建进行评估,通过收集发生攻击时系统中的日志,构建出了含有攻击事件的有向关系图A(图4.a);通过收集正常工作时相同系统中的日志,构建出正常事件有向关系图B(图4.b)。为了在关系图A中提取出攻击链,利用NetworkX内置的VF2算法将A的子图与B做匹配,并删去A中与B相对应的同构映射。这意味着从正常与异常错杂的事件中删去了仅与正常事件相关的结点及关联边。这样,得到的图像即为仅含攻击事件的有向关系图C(图4.c)。

实验结果表明,相较于有向关系图A和B,图C的复杂度显著降低,结点和结点关系更加精炼,更加方便做结点的查询。从现实意义上,图C集成了所有与异常相关联的事件,大大缩减了事件搜查范围,同时对事件间的关联保持了清晰的追踪,可以为攻击查杀等工作提供很大的便利。

本发明还提供了一种基于日志提取抽象事件的攻击溯源系统,包括,

抽象事件模块,用于获取系统的多种状态日志并结合相关性算法,得到各状态日志的抽象事件;

关联图模块,用于在各抽象事件中加入时序特征生成对应的事件关联图;

溯源分析模块,用于计算各事件关联图的并集和补集,得到攻击链和入侵痕迹,根据攻击链和入侵痕迹进行溯源分析确定攻击全过程。

本发明提供的基于日志提取抽象事件的攻击溯源方法,提取日志的语义并将其抽象为事件。事件关系将以图的形式呈现,更加直观清晰;其次,解决状态爆炸并构造攻击链,采取了分析框架,解决了日志事件之间的依赖关系爆炸问题,并能提取出完整的攻击链,还原攻击过程中的各个环节,最后,攻击预测过程中,采用入侵预警的方法,可以在攻击发生前对易受攻击的部分作出预警,化被动检测为主动预警。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

相关技术
  • 一种基于恶意应用的攻击者溯源方法和系统
  • 基于日志和流量采集的网络系统事件溯源方法及系统
  • 基于五加一元组日志溯源业务数据安全事件方法及系统
技术分类

06120116488639