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

基于攻击路径的小样本学习APT攻击检测方法

文献发布时间:2024-04-29 00:47:01


基于攻击路径的小样本学习APT攻击检测方法

技术领域

本发明涉及一种基于攻击路径的小样本学习APT攻击检测方法,属于攻击检测系统。

背景技术

随着互联网和信息技术的快速发展,软件应用日益普及。特别是网络攻击中的APT(Advanced Persistent Threat)攻击利用各种情报收集技术来挖掘敏感和关键信息,对软件企业的威胁越来越大。为了防止APT攻击对软件系统造成的严重威胁,需要在软件中集成攻击检测功能对攻击进行自动检测和分析。由于APT攻击的具有高持久性、高隐蔽性、高危害性等特点,导致现有攻击检测技术需要分析检测的审计日志数据量过大。这需要人工标记足够多的训练样本以保证攻击检测的准确性和有效性。因此,如何高效地检测攻击实体已成为安全分析人员的迫切需要。攻击检测系统可以从数据集中检测其中存在的攻击实体,已经在安全领域广泛使用。数据集通常是审计日志、操作记录等。攻击检测系统能够帮助用户以更少的时间和代价分析日志文件中真正的攻击实体,有着充分的研究价值。

攻击检测系统面临着攻击相关数据稀缺而正常数据庞大的问题,并且这些正常数据与攻击相关数据之间存在着一定的关联。特别是在安全领域中,关键信息往往隐藏在单个数据实体中,而原始数据则是大量的审计日志。由于安全领域的特殊性,数据之间存在着多种不同的关系,例如文件的读写、脚本文件的执行、网络设备之间的通信以及各种网页的访问等。因此,为了更好地理解数据并发现其中隐藏的威胁,通常使用溯源图的形式对审计日志进行可视化和分析。

溯源图是从审计日志中提取的数据结构,象征性地描述了物理世界中的概念及其关系。现实世界可以通过溯源图来描述和存储,其中图的节点代表了进程、文件、网络地址等概念,边表示了节点之间的关系,例如文件的读写、主机之间的远程连接、执行脚本文件等。此外,节点还可以具有属性,如文件名称、文件创建时间、文件大小、文件的保密程度等。溯源图的使用具有自然、简洁、易于理解等优点,可以有效地表示复杂的网络结构。在当前的安全领域中,溯源图已经得到了广泛的应用,例如攻击溯源、保护数据库完整性等。通过利用溯源图,能够更加全面地分析和理解数据之间的关系,从而提升对潜在威胁的识别和应对能力。

在安全领域中,攻击检测系统常用方法是通过攻击活动的溯源图提取序列,使用长短期记忆网络(LSTM)学习攻击或非攻击模式得到攻击检测模型,之后,通过得到的攻击检测模型识别攻击实体,即可能存在攻击行为的数据。而这种方法存在两类问题:1.审计日志数据量过大导致溯源图难以处理的问题;2.忽略了溯源图中的攻击路径和攻击实体间存在的潜在攻击行为。这些问题导致攻击检测系统无法满足用户的需求。

长短期记忆网络(LSTM),广泛应用于处理序列数据和长期依赖关系的场景。现实中许多基于时间的预测任务都是用LSTM进行预测的,例如天气预测、文本生成、机器翻译、视频标注等任务。LSTM适用于需要建模和处理序列数据、具有长期依赖关系的任务。它在自然语言处理、时间序列预测和视频处理等领域展现出强大的能力,并在许多实际应用中取得了显著的效果。

发明内容

为了解决由于溯源图攻击检测中存在的上述两类不足导致的攻击实体识别准确率低和效率低的问题,本发明具体提出了一种基于攻击路径的小样本学习APT攻击检测方法。使用小数据量审计日志得到溯源图的基础上,寻找候补恶意实体补全缺失的攻击路径、挖掘攻击实体间的潜在攻击行为,改进原有方法的检测效果。

为实现上述目的,本发明采用的技术方案基于溯源图进行改进的基于攻击路径的小样本学习APT攻击检测方法,如图1所示,该方法的实现步骤如下:

步骤(1)获取APT活动的详细报告生成的公开审计数据;我们使用通过模拟5次根据真实世界APT活动的详细报告实施的攻击生成的公开审计日志数据。该数据中模拟了正常用户的操作行为,包括浏览网站、连接远程主机以及文件上传下载操作(例如发送电子邮件时上传附件)。在每次攻击执行期间,这些良性活动在每天8小时内随机执行,以模拟工作日的行为模式。该数据集共生成了97646个实体和1308271个事件。其中,攻击S-1和S-2是基于一个主机产生的,而攻击M-1到M-3是基于多个主机产生的。针对基于多个主机产生的攻击,我们在两个主机上模拟执行攻击和非攻击行为,同时为了模拟横向移动,我们将第二个主机作为移动目标。这些攻击包括垃圾邮件、针对性的网络钓鱼链接和恶意加密活动等多种类型,其中一些攻击可能具有持久化的性质,并可能在长时间内持续执行而不被发现。由于攻击方式的多样性,这个数据集提供了一个广泛的场景来测试和评估安全防御系统的能力,同时也可以用于开发新的威胁检测和分析工具,故本研究我们以该数据集为基础进行研究。

步骤(2)溯源图构建;由于审计日志数据通常包含大量的信息,为了更好地理解数据并发现隐藏在其中的威胁,需要转化为溯源图G进行可视化和分析。溯源图G是从审计日志中提取的数据结构,象征性地描述了物理世界中的概念及其关系。形式上,溯源图可以定义为G=(E,R,T),其中G是有向多重图,E和R是实体和关系的集合T表示操作的时间戳,|E|和|R|分别表示集合E和R中的元素个数。溯源图通常以三元组的形式表示,图中的每条边及其相邻实体可以定义为三元组形式{(e,r,e')|e,e'∈E,r∈R},表示实体e和实体e'之间存在关系r。在溯源图构建中,首先需要从结构化审计日志数据中提取实体集E、实体相关属性ea及关系集R。提取完所需数据之后,可以通过实体集E之间的交互显示系统的执行,将其中的实体集E作为节点,实体集E之间的关系集R作为边构建溯源图G。

步骤(3)溯源图优化;优化溯源图G中的冗余节点和边目的是其降低审计日志复杂度并保留攻击相关信息。在溯源图优化中,我们删除了攻击实体无法到达的所有实体和边,删除了实体之间的所有重复边,并合并了一些相同类型的事件实体和边。溯源图优化可保留审计日志中的关键信息,同时减少了冗余数据和运行时间。

步骤(4)候补恶意实体提取;补全溯源图G中缺失的攻击路径有助于帮助丰富攻击活动的邻域图H,从而提供更多攻击相关信息。邻域图H是由溯源图G中部分实体集E和关系集R组成的子图,可以充分地还原攻击活动并捕获攻击相关信息。为了更好地捕获攻击相关信息,我们设计了候补恶意实体e

步骤(5)潜在攻击行为挖掘;为了进一步捕获攻击相关信息,更准确地识别攻击实体与非攻击实体之间的界限,需要进一步挖掘潜在的攻击行为。针对攻击活动中潜在的攻击行为,可以通过将攻击实体e

步骤(6)序列构建;序列S由实体集E的邻域图中的所有事件组成,按事件时间排序。因此,S{E}={∈

步骤(7)序列词形化;为了方便基于序列的模型学习,我们的方法将序列内实体的不同形式分组为单个术语,这个过程保留了序列的原始语义。不同的实体被划分为进程、文件、网络和操作四种类型,这些类型足以捕获因果图中实体的上下文、语义和句法相似性以及与其他单词的关系。

步骤(8)LSTM模块;利用LSTM(Long Short-Term Memory)神经网络训练词形化的序列。LSTM通常用于将系统实体或者事件映射到一个低维向量表示。在每个时间步长t,将单词w

LSTM使用三个门、和来控制输入、遗忘和输出的信息流,具体如下:

其中,表示sigmoid激活函数,它的输出在0和1之间,表示信息通过的权重。h

之后,使用函数来计算记忆细胞更新状态,其由输入数据和上一时刻的隐藏状态h计算得到,具体如下:

最后,使用逐元素乘法计算向量的乘积,用符号⊙表示,具体如下:

h

本方法使用了溯源图的形式对审计日志进行可视化和分析,有效地表示复杂的网络结构,更加全面地分析和理解数据之间的关系。在小数据量审计日志的基础上,通过寻找候补恶意实体,补全了缺失的攻击路径,解决了现有方法没能充分捕获攻击相关信息的问题,并且针对实体间潜在的攻击行为,将攻击实体和候补恶意实体间更精细的关系映射到溯源图中,更准确地识别攻击实体与非攻击实体之间的界限。基于攻击路径的小样本学习APT攻击检测方法准确率比原来的异常检测方法准确率显著提升。

附图说明

图1为攻击检测方法设计框架图

图2为本方法中的候补恶意实体提取模块

图3为本方法中的潜在攻击行为挖掘模块

具体实施方式

本发明的目的在于提出一种基于攻击路径的小样本学习APT攻击检测方法,在小数据量审计日志的基础上,通过寻找候补恶意实体并挖掘潜在攻击行为,更准确地识别攻击实体与非攻击实体之间的界限,即识别攻击行为产生的攻击实体。

为了实现上述目标,本发明采用的技术方案为基于攻击路径的小样本学习APT攻击检测方法。该方法的实现步骤如下:

步骤(1)获取APT活动的详细报告生成的公开审计数据:

们使用通过模拟5次根据真实世界APT活动的详细报告实施的攻击生成的公开审计日志数据。该数据中模拟了正常用户的操作行为,包括浏览网站、连接远程主机以及文件上传下载操作(例如发送电子邮件时上传附件)。在每次攻击执行期间,这些良性活动在每天8小时内随机执行,以模拟工作日的行为模式。该数据集共生成了97646个实体和1308271个事件。其中,攻击S-1和S-2是基于一个主机产生的,而攻击M-1到M-3是基于多个主机产生的。针对基于多个主机产生的攻击,我们在两个主机上模拟执行攻击和非攻击行为,同时为了模拟横向移动,我们将第二个主机作为移动目标。这些攻击包括垃圾邮件、针对性的网络钓鱼链接和恶意加密活动等多种类型,其中一些攻击可能具有持久化的性质,并可能在长时间内持续执行而不被发现;

步骤(2)溯源图构建:

溯源图G是从审计日志中提取的数据结构,其数据格式为(E,R,T),其中E是实体的集合,具体含义为描述溯源图中所包含的实体;R是关系的集合,即溯源图中各实体间的关系,其对应的值包括读、写、执行、删除等;T表示操作的时间戳集合,表示实体交互的时间。溯源图通常以三元组的形式表示,图中的每条边及其相邻实体可以定义为三元组形式{(e,r,e')|e,e'∈E,r∈R},表示实体e和实体e'之间存在关系r。例如,((payload.exe.manifest,write,payload.exe),1),((payload.exe,fork,NOPROCESSNAME_372),2),表示溯源图中存在三个实体,名称为payload.exe.manifest、payload.exe和NOPROCESSNAME_372;并且可以知道payload.exe.manifest和payload.exe存在关系write,payload.exe和NOPROCESSNAME_372存在关系fork;而且通过时间戳分1和2可以知道这两个行为发生的先后顺序;

步骤(3)溯源图优化;

由于审计日志数据通常包含大量的信息,为降低其复杂度并保留攻击相关信息,需要优化溯源图中的冗余节点和边。在溯源图优化中,攻击实体无法到达的所有实体和边及实体之间的重复边被删除,相同类型的事件实体和边被合并;

步骤(4)候补恶意实体提取;

补全溯源图中缺失的攻击路径有助于帮助丰富攻击活动的邻域图,从而提供更多攻击相关信息在本步骤中。具体来说,通过提取候补恶意实体可以补全攻击活动实现目标所经过的路径。同时,基于补全的攻击路径通过从溯源图中提取攻击活动的邻域图,可以充分地还原攻击活动并捕获攻击相关信息。然而,由于不同攻击路径上的缺失实体是不同的,因此需要针对不同的攻击路径提取相应的候补恶意实体,填补缺失的攻击路径。在此方法中寻找候补恶意实体的具体实现方式例如某次攻击活动的目标是实体a,称为目标实体,并且此次攻击活动通过攻击实体b开展,对此我们首先将攻击实体b和目标实体a构建为实体对,之后根据审计日志中分析攻击实体b和目标实体a所处的攻击路径,然后沿攻击路径搜索是否存在遗漏的攻击实体,称为候补恶意实体,最后将搜索到的候补恶意实体添加到攻击实体集中,由此可以补全的攻击路径并从溯源图中提取攻击活动的邻域图,这样就很好地丰富了攻击活动的邻域图。

步骤(5)潜在攻击行为挖掘:

设e

步骤(6)序列构建:

我们发现基于序列的攻击表示非常适合模型的训练,而APT攻击可表示为根据时间戳排序的攻击序列。为了使模型能准确识别攻击实体与非攻击实体之间的界限,我们根据溯源图中的实体和关系构建攻击序列和非攻击序列,并根据挖掘的潜在攻击行为构建额外的序列放在攻击序列末尾。具体来说,通过提取攻击实体集E

步骤(7)序列词形化

在步骤(6)后,得到了适合模型学习的攻击序列和非攻击序列,为了方便模型理解序列语义,将序列内实体的不同形式分组为单个术语,这个过程保留了序列的原始语义。不同的实体被划分为进程、文件、网络和操作四种类型,这些类型足以捕获因果图中实体的上下文、语义和句法相似性以及与其他单词的关系。

步骤(8)LSTM模块

我们利用LSTM长短期记忆网络训练词形化后的序列,通过对时间序列数据进行建模和分类,能够识别出潜在的网络攻击或异常行为。LSTM已经被证实是强大的序列学习模型,可以充分处理和预测基于序列中的攻击活动。它通过丢弃函数进行正则化,以减少过拟合并改善泛化误差。然后,通过具有最大池化的一维卷积层处理词形化序列。最后,使用激活函数的全连接层预测攻击相关概率。LSTM模型的具体设置是训练批量大小为32,迭代次数为20,嵌入维度是128维,丢弃函数的丢弃率为0.2,并通过准确率、召回率、F1分数等指标评估模型的性能。

基于攻击路径的小样本学习APT攻击检测方法能够产生比现有方法更好的检测结果,通过提取候补恶意实体和挖掘潜在攻击行为,能够在小样本数据上准确地识别攻击实体与非攻击实体之间的界限,实现高精度的攻击检测。表1说明了基于攻击路径的小样本学习APT攻击检测方法与现有方法的比较,在检测指标ROC-AUC以及score中表现均优于现有方法。基于攻击路径的小样本学习APT攻击检测方法解决了审计日志数据量过大情况下难以高效地检测攻击实体的问题。基于攻击路径的小样本学习APT攻击检测方法检测性能比现有方法性能显著提升。

表1:实验结果

相关技术
  • 基于元路径学习与子图采样的APT网络攻击检测方法
  • 基于元路径学习与子图采样的APT网络攻击检测方法
技术分类

06120116595062