1.一种基于超图表征学习的APT恶意行为发现方法,其特征在于,所述基于超图表征学习的APT恶意行为发现方法,包括:收集内核事件日志得到溯源图,对溯源图进行压缩;
基于压缩后的溯源图构建基于进程的操作行为网络图,所述操作行为网络图包括四层,第一层包括顶点和有向边,其中顶点为进程,有向边为进程的创建关系,第二层包括顶点,其中顶点为事件,第三层包括顶点,其中顶点为时间段,第四层包括顶点,其中顶点为操作对象,通过层之间的边连接表示进程的操作行为对应的事件、时间段和操作对象;
从操作行为网络图中提取进程网络,其中节点为进程,边为进程之间的相互关系,利用重叠社区发现算法对进程网络中的每个进程进行划分,找到与当前进程聚合形成一个行为的进程的集合,得到进程网络的子社区,每个子社区形成一个超边;
根据操作行为网络图提取进程的操作对象,将操作对象分配给相应的超边,形成超图结构,其中进程为超图结构的节点;
基于超图结构将时间段、事件和操作对象嵌入到进程中,得到超边的特征矩阵;
基于超边的特征矩阵形成超边的度矩阵、节点的度矩阵和权重矩阵训练超图神经网络,得到超图分类器;
利用超图分类器进行APT恶意行为发现。
2.根据权利要求1所述的基于超图表征学习的APT恶意行为发现方法,其特征在于,所述重叠社区发现算法为基于LFM的重叠社区发现算法,所述基于LFM的重叠社区发现算法对进程网络中的每个进程进行划分的步骤如下:将每个节点都视为一个独立的子社区;
遍历每个节点,计算当前节点加入邻居节点所在子社区时的模块度增益,若模块度增益为正,则将当前节点加入对应的子社区,若模块度增益为负,则不将当前节点加入到对应的子社区中,直至模块度增益为0;
其中,模块度增益的计算公式如下:
;
其中, 表示模块度增益, 是节点i的度数, 是当前子社区内部的节点度数之和,是与当前子社区相连的节点的度数之和, 是节点i与相邻子社区内部节点之间的度数之和,m是子社区的总度数。
3.根据权利要求1所述的基于超图表征学习的APT恶意行为发现方法,其特征在于,所述将操作对象分配给相应的超边,包括:若当前操作对象被一个进程以及所述进程的子进程都访问过,则将当前操作对象分配给所述进程对应的超边;
若当前操作对象与当前操作对象对应的进程在一个超边的已分配操作对象存在时序关系,则将当前操作对象分配给所述超边;
若当前操作对象未匹配到超边,则将当前操作对象分配给对应的进程所在的超边。
4.根据权利要求1所述的基于超图表征学习的APT恶意行为发现方法,其特征在于,所述基于超图结构将时间段、事件和操作对象嵌入到进程中,包括:将进程、事件、时间段和操作对象的属性排列成文本,并通过word2vec进行编码形成表征向量;
将表征向量通过时间属性聚合形成超边的特征矩阵。
5.根据权利要求1所述的基于超图表征学习的APT恶意行为发现方法,其特征在于,所述超图神经网络的更新公式如下所示:;
其中, 表示第l+1层的超图神经网络输入特征, 表示第l层的超图神经网络输入特征,H表示超图的邻接矩阵, 表示H的转置, 表示超边的度矩阵, 表示节点的度矩阵,和 表示待训练的参数, 表示权重矩阵。