利索能及
我要发布
收藏
专利号: 2024115709550
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述基于终身学习和可疑语义传递的APT异常检测方法包括如下步骤:S1、采集当前时段的系统日志数据作为当前数据并进行预处理,所述当前时段的系统日志数据为良性系统日志数据,所述预处理包括:S1.1、特征提取及溯源图构建:提取当前数据的节点和节点间的关系,所述节点间的关系即事件,并根据提取的节点和节点间的关系构建溯源图,事件即溯源图中的边;

S2、建立异常检测模型,所述异常检测模型执行如下操作:

 S2.1、初始化嵌入:对在时间t的节点的特征、节点的状态和节点间的关系分别进行编码,对应获得特征编码、状态编码和节点间的关系编码,t为当前数据的时间点;

 S2.2、节点嵌入:对每个节点分别合成在时间t的特征编码、在时间t‑1的状态编码和由GRU模型生成的在时间t‑1的记忆向量为对应的节点嵌入向量,记节点i在时间t的节点嵌入向量为 ,节点i为当前数据中的节点;

S2.3、关系嵌入:根据两个节点在时间t的节点嵌入向量、节点间的关系编码和事件的时间特征获得对应的边嵌入向量,记节点i和节点j在时间t的边嵌入向量为 ,节点j为当前数据中的节点;

S2.4、状态传递:按照预设转移规则进行节点间的可疑状态传递,所述可疑状态表示节点与APT攻击相关的可疑程度;

S2.5、模型输出:利用GRU模型更新节点的记忆向量,同时将时间t的边嵌入向量和对应的节点嵌入向量输入GNN模型生成对应的最终边向量,然后将时间t的最终边向量和对应的节点嵌入向量输入MLP模型获得对应的预测关系向量;

S3、将提取的良性系统日志数据的节点和节点间的关系作为异常检测模型的输入,获得训练好的异常检测模型;

S4、将下一时段的系统日志数据作为当前数据利用训练好的异常检测模型进行检测,并随着新产生的系统日志数据的输入重复步骤S4进行终身学习,获取对应的APT攻击异常检测结果。

2.如权利要求1所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述节点包括进程、文件和网络;所述节点间的关系包括进程与进程间的派生关系、进程与文件间的读取关系、进程与文件间的创建关系、进程与网络间的访问关系;

所述对在时间t的节点的特征、节点的状态和节点间的关系分别进行编码,对应获得特征编码、状态编码和节点间的关系编码,具体如下:利用分层特征哈希对节点的特征进行编码以将高维特征映射到预设大小的哈希空间,获得特征编码;

利用可疑状态对节点的状态进行编码,获得状态编码;

利用独热编码对节点间的关系进行编码,获得节点间的关系编码。

3.如权利要求1所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述预设转移规则,满足如下公式:        (1);

式中, 是节点i在时间t的可疑状态, 是节点i在时间t‑1的可疑状态,是节点j在时间t‑1的可疑状态, 是与节点i的所有邻居节点, 为衰减因子。

4.如权利要求2或3所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述可疑状态的初始状态值为介于0到1之间的实数,并规定所有套接字对象的节点的初始状态值均为1,其他均为0,其中,0表示完全良性,1表示高度可疑。

5.如权利要求1所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述利用GRU模型更新节点的记忆向量,具体如下:        (2);

         (3);

        (4);

        (5);

式中, 是节点i在时间t的重置门, 是节点i在时间t的更新门, 是节点i在时间t的候选记忆向量, 是节点i在时间t的记忆向量, 是节点i在时间t的节点嵌入向量,即为GRU模型中节点i在时间t的输入, 是节点i在时间t‑1的记忆向量, 是更新门中节点i在时间t的节点嵌入向量的权重矩阵, 是更新门中节点i在时间t‑1的记忆向量的权重矩阵, 是重置门中节点i在时间t的节点嵌入向量的权重矩阵, 是重置门中节点i在时间t‑1的记忆向量的权重矩阵, 是计算候选记忆向量时节点i在时间t的节点嵌入向量的权重矩阵, 是计算候选记忆向量时节点i在时间t‑1的记忆向量的权重矩阵,是重置门的偏置项, 是更新门的偏置项, 是候选记忆向量的偏置项, 是sigmoid激活函数, 是Hadamard乘积,tanh是双曲正切激活函数,所述GRU模型的新节点对应的记忆向量初始时为零向量。

6.如权利要求1所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述节点i和节点j在时间t的边嵌入向量 ,公式如下:        (6);

式中, 是节点i在时间t的节点嵌入向量, 是节点j在时间t的节点嵌入向量,是节点i和节点j在时间t的节点间的关系编码,tanh是双曲正切激活函数;

所述将时间t的边嵌入向量和对应的节点嵌入向量输入GNN模型生成对应的最终边向量,然后将时间t的最终边向量和对应的节点嵌入向量输入MLP模型获得对应的预测关系向量,具体如下:利用GNN模型生成最终边向量 ,公式如下:

        (7);

式中, 是GNN模型;

获取节点i和节点j在时间t的预测关系向量 ,公式如下:

        (8);

式中,h(·)是MLP模型的可学习函数。

7.如权利要求1所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述预处理还包括:S1.2、排练节点池初始化:创建排练节点池并初始化,所述排练节点池用于放置若干个排练节点和排练节点的边,所述排练节点为当前数据中的节点;

所述将提取的良性系统日志数据的节点和节点间的关系作为异常检测模型的输入,获得训练好的异常检测模型时,通过计算输出的预测关系向量与实际关系的边嵌入向量的交叉熵损失作为重构损失,并通过梯度下降法更新模型参数;

所述将下一时段的系统日志数据作为当前数据利用训练好的异常检测模型进行检测,并随着新产生的系统日志数据的输入重复步骤S4进行终身学习,获取对应的APT攻击异常检测结果,具体如下:S4.1、数据预处理:在当前数据中有新节点出现时对新节点进行节点嵌入、有新事件发生时对新事件进行关系嵌入,重新生成对应的边嵌入向量和记忆向量,并更新相关节点的可疑状态和溯源图;

S4.2、关系匹配:将更新后的溯源图中的新边的节点与排练节点池中的边的节点进行配对,得到对应的关系对;

S4.3、伪边连接:评估每条新边的节点与排练节点池中的排练节点之间的可达性,若新边存在节点与任一排练节点是可达的,则连接该新边的节点和对应排练节点以形成伪边;

S4.4、异常节点识别:利用训练好的异常检测模型识别出排练节点和新边的节点的预测关系向量,根据关系对计算预测关系向量和实际关系的边嵌入向量之间的重构损失,并用重构损失来评估当前伪边的边嵌入向量与对应实际关系的匹配程度,筛选出重构损失超过第一预设阈值α的伪边连接的新边的节点作为异常节点,所述异常节点即为APT攻击异常检测结果;

S4.5、根据异常节点和排练节点池中的排练节点更新排练节点池和模型参数,并随着新产生的系统日志数据的输入,重复步骤S4进行终身学习以实现APT攻击异常检测,获取对应的APT攻击异常检测结果。

8.如权利要求7所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述根据异常节点和排练节点池中的排练节点更新排练节点池和模型参数,具体如下:S4.5.1、排练节点筛选:在识别出的异常节点中选择可疑状态超过第二预设阈值 的节点视为恶意节点进行告警,选择可疑状态不超过第二预设阈值 的节点作为新的排练节点,所述新的排练节点即为异常但非恶意节点;

S4.5.2、伪边连接:将新的排练节点和排练节点池中的排练节点进行伪边连接,同时将新的排练节点加入排练节点池中以更新排练节点池;

S4.5.3、模型更新:利用新的排练节点池对训练好的异常检测模型进行重新训练,更新模型参数。

9.如权利要求7所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述实际关系即当前数据中提取的对应的节点间的关系,所述关系对获取如下:将新节点与排练节点池中的节点进行配对,计算出配对的两个节点之间的曼哈顿距离,筛选出距离最近的节点对(Np,RNq);

为筛选出的新节点Np的邻居节点Nu在排练节点RNq的邻居节点中选出距离最近的节点RNv,得到以四元组(Np,Nu,RNq,RNv)表示的关系对,所述关系对由实际关系与排练节点池中对应关系组成,其中,Np、Nu为当前数据中的节点,p,u为当前数据中的节点编号,RNq、RNv为排练节点池中的节点,q,v为排练节点池中的节点编号。

10.如权利要求7所述的基于终身学习和可疑语义传递的APT异常检测方法,其特征在于:所述排练节点池的初始化,具体如下:基于K‑means算法将由良性系统日志数据构成的溯源图的节点中行为相似的节点分为一簇,所述行为相似即为同一类型事件;

对各簇中的每个节点计算对应Katz Centrality得分,选出Katz Centrality得分最高的一个节点作为该簇的良性关键节点;

在由良性系统日志数据构成的溯源图中找出连接良性关键节点的最短边,将良性关键节点、良性关键节点的最短边对应的邻居节点作为排练节点,并将排练节点和排练节点的边一起放入排练节点池。