CN114741688A - 一种无监督的主机入侵检测方法及系统 - Google Patents

一种无监督的主机入侵检测方法及系统 Download PDF

Info

Publication number
CN114741688A
CN114741688A CN202210249400.0A CN202210249400A CN114741688A CN 114741688 A CN114741688 A CN 114741688A CN 202210249400 A CN202210249400 A CN 202210249400A CN 114741688 A CN114741688 A CN 114741688A
Authority
CN
China
Prior art keywords
heterogeneous
heterogeneous graph
neural network
graph
embedded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210249400.0A
Other languages
English (en)
Inventor
黄泽祺
谷勇浩
王翼翡
张晓青
徐昊
孙睿
宁静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202210249400.0A priority Critical patent/CN114741688A/zh
Publication of CN114741688A publication Critical patent/CN114741688A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Alarm Systems (AREA)

Abstract

本发明提供了一种无监督的主机入侵检测方法及系统,属于网络安全领域。所述方法根据系统日志构建带属性的异质图,再利用有向异质图神经网络,从异质图中获取节点的嵌入向量和异质图的嵌入向量,最后采用单类神经网络同时从全局和局部两种视角出发,根据所获得的异质图和节点的嵌入向量,对异质图进行异常检测,综合两个视角下的异常分数,给出异质图最后的异常得分,进行异常异质图的识别,判断是否存在主机入侵。本发明通过异质图神经网络挖掘源图,节省人力,而且能够更有效的检测出高等级的攻击活动,对仅涉及局部系统交互的攻击活动或混杂大量正常行为的攻击活动都具有更优越的检测性能,提高了主机入侵的检测准确度和精度。

Description

一种无监督的主机入侵检测方法及系统
技术领域
本发明属于网络安全领域,具体涉及一种无监督的主机入侵检测方法及系统。
背景技术
主机入侵检测系统被广泛应用于保护网络环境的安全。主机入侵检测系统依靠系统审计日志来识别攻击,但是有些攻击活动,例如高级持续性威胁(APT),具有潜伏时间长、隐蔽性好的特点,其分为多个攻击阶段,常常涉及一系列较长的进程派生链,仅依靠日志中的单个系统实体或者交互无法检测出来。
现有技术中,为了应对越来越先进的攻击方式,一般使用溯源图来建模完整的主机活动,并依赖专家经验制定打分函数或者规则,从而对溯源图给出异常分数。然而专家经验不仅耗费人力,而且很难挖掘到溯源图中系统实体之间的非线性交互,从而影响了检测性能;同时,攻击数据的稀有性使得有监督算法难以应用在入侵检测领域,无法进行精准检测。
发明内容
鉴于现有技术中的上述缺陷,本发明旨在提供一种无监督的主机入侵检测方法及系统,使用带属性的异质图神经网络来挖掘溯源图中的非线性交互以及实体属性,并将异质图神经网络与单类神经网络相结合,综合全局以及局部两个视角给出溯源图的异常分数,提高主机入侵检测的准确性和精度。
为了实现上述目的,本发明实施例采用如下技术方案:
第一方面,本发明实施例提供了一种无监督的主机入侵检测方法,所述方法包括如下步骤:
步骤S1,根据系统日志构建带属性的异质图;
步骤S2,根据所述带属性的异质图,利用有向异质图神经网络,从异质图中获取异质图的嵌入向量和节点的嵌入向量;
步骤S3,采用单类神经网络同时从全局和局部两种视角出发,根据所获得的异质图的嵌入向量和节点的嵌入向量,对异质图进行异常检测,综合两个视角下的异常分数,给出异质图最后的异常得分,进行异常异质图的识别,判断是否存在主机入侵。
上述方案中,所述根据系统日志构建带属性的异质图,包括:
首先,根据系统日志构建异质图,以进程和文件作为异质图的节点,以进程派生进程、进程访问文件作为异质图上的边;
其次,根据系统日志及异质图,将进程命令行的嵌入向量作为异质图中进程节点的属性,将文件全路径的嵌入向量作为异质图中文件节点的属性,构建带属性的异质图。
上述方案中,所述根据系统日志构建异质图,具体为:给定主机内的行为数据,以进程的标识符以及创建该进程的命令行标识一个进程,以文件的全路径标识一个文件,主机内进程之间的派生关系对应着一张异质图。
上述方案中,所述将进程命令行的嵌入向量作为异质图中进程节点的属性,将文件全路径的嵌入向量作为异质图中文件节点的属性,包括:
将进程命令行建模为一个句子,将其中进程执行路径、命令行参数建模为单词,使用子词嵌入学习得到单词的嵌入向量,进程命令行的嵌入向量则为其所包含的单词的嵌入向量的平均;
将文件建模为一个句子,将文件使用每一级目录以及文件名建模为单词,使用子词嵌入学习得到单词的嵌入向量,文件的嵌入向量则为其所包含的单词的嵌入向量的平均;
对于出现的新单词或者生僻词,子词嵌入模型使用这些单词的n-gram子词的嵌入向量作为该单词的嵌入向量。
上述方案中,所述从异质图中获取节点的嵌入向量,包括:
在所述有向异质图神经网络中,对节点的聚合过程如下:将异质图表示为两个邻接矩阵以及两个节点特征矩阵,包含邻接矩阵
Figure BDA0003546338090000021
其中|ve|为进程节点总数,|vf|为文件节点总数,
Figure BDA0003546338090000022
代表进程i派生了进程j,
Figure BDA0003546338090000023
代表进程i派生了文件j,包含节点特征矩阵XP、XF,其中XP的第i行代表进程i的属性,XF的第i行代表文件i的属性;
使用公式(1)-(3)聚合不同种类的两个相邻节点:
Figure BDA0003546338090000031
Figure BDA0003546338090000032
Figure BDA0003546338090000033
其中,
Figure BDA0003546338090000034
D为APP的度矩阵,
Figure BDA0003546338090000035
为第l层的进程节点的嵌入向量,初始为XP
Figure BDA0003546338090000036
Figure BDA0003546338090000037
分别为进程以及文件的权重矩阵,用于将进程以及文件节点的属性变换到同一维度,σ(·)表示激活函数,本步骤中使用PreLu;
Figure BDA0003546338090000038
表示父进程的嵌入向量,
Figure BDA0003546338090000039
表示子进程的嵌入向量,
Figure BDA00035463380900000310
表现访问的文件的嵌入向量;
最终的节点嵌入向量由节点的相邻节点向量与自身按次序拼接,并经过一个线性层形成,如公式(4)所示:
Figure BDA00035463380900000311
其中,||表示向量拼接操作,Wl为一个权重矩阵,
Figure BDA00035463380900000312
为本层输出的进程节点的嵌入向量;以进程节点作为嵌入的对象,文件节点表示在前向传播的过程中不进行更新;在将异质图经过了堆叠的多层有向异质图神经网络之后,得到每张异质图上的节点嵌入向量,如公式(5)所示:
Figure BDA00035463380900000313
其中,HetGNN(·)为有向异质图神经网络模型,
Figure BDA00035463380900000314
为异质图中节点的嵌入向量。
上述方案中,所述从异质图中获取异质图的嵌入向量,包括:
将所有节点的嵌入向量经过平均池化,得到异质图的嵌入向量,平均池化过程如公式(6)所示:
Figure BDA00035463380900000315
其中,
Figure BDA00035463380900000316
为图上的第个节点的嵌入向量,gi为第张异质图的嵌入向量,n为异质图上节点的总数。
上述方案中,采用单类神经网络从全局视角出发,对异质图进行异常检测,包括:
以异质图的嵌入向量作为全局视角下的单类神经网络的输入。参考单类神经网络,使用如下损失函数来优化全局视角下的单类神经网络:
Figure BDA0003546338090000041
其中,Cglobal为全局视角下的预定义空间中心,在本模块中由所有异质图的初始嵌入向量平均而来,gi代表第i张异质图的嵌入向量,N代表异质图的总数,第二项由超参数λ控制的正则项,Wglobal为全局视角下的单类神经网络的参数。通过最小化该损失函数,使得所有正常异质图的嵌入向量都会尽可能接近超空间中心Cglobal;损失函数的值Lglobal作为全局视角下的异常检测分数。
上述方案中,采用单类神经网络从局部视角出发,对异质图进行异常检测,包括:
将异质图的节点的嵌入向量作为局部视角下的单类神经网络的输入,局部视角下的目标函数如下:
Figure BDA0003546338090000042
其中,N代表异质图的数量,M代表异质图上节点的数量,Hij表示异质图i的第j个节点,Clocal为局部视角下的预定义空间中心,在本模块中由所有的节点的嵌入向量平均而来,在整个优化过程中仅初始化一次随后便不再改变,Wlocal为模型参数,λ为控制正则项的超参数,损失函数的值Llocal作为局部视角下的异常检测分数。
第二方面,本发明实施例还提供了一种无监督的主机入侵检测系统,所述系统包括:带属性异质图构建模块、嵌入向量获取模块、全局单类神经网络检测模块、局部单类神经网络检测模块、入侵结果输出模块;其中,
所述带属性异质图构建模块用于根据系统日志构建带属性的异质图;
所述嵌入向量获取模块用于根据所述带属性的异质图,利用有向异质图神经网络,从异质图中获取异质图的嵌入向量和节点的嵌入向量;
所述全局单类神经网络检测模块用于采用单类神经网络从全局视角出发,根据所获得的异质图的嵌入向量,对异质图进行异常检测;
所述局部单类神经网络检测模块用于采用单类神经网络从局部视角出发,根据所获得的节点的嵌入向量,对异质图进行异常检测;
所述入侵结果输出模块用于整合全局单类神经网络检测模块和局部单类神经网络检测模块的检测结果,得到主机入侵的最终检测结果。
本发明具有如下有益效果:
本发明实施例所提供的无监督的主机入侵检测方法及系统,通过异质图神经网络挖掘源图,不仅节省人力,而且能够更有效的检测出高等级的攻击活动;同时,通过将单类神经网络与异质图神经网络相结合,无需使用带标签数据;此外,从全局以及局部两个视角进行异常检测,对于仅涉及局部系统交互的攻击活动或混杂大量正常行为的攻击活动都具有更优越的检测性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明实施例中无监督的主机入侵检测方法流程图;
图2是本发明实施例中异质图节点聚合原理图;
图3是采用本发明实施例无监督的主机入侵检测方法进行主机入侵检测的ROC结果对比图。
具体实施方式
本申请发明人在发现上述问题后,对现有的主机入侵检测系统及方法等进行了细致研究。研究发现,依靠专家经验很难挖掘到溯源图中系统实体之间的非线性交互,该方法完全基于规则进行入侵检测,常常会产生较多误报,造成检测系统性能低下。而异质图神经网络在社交网络、生物等领域取得了重大的进展,其可以有效的挖掘异质图上不同种类的节点之间的异质的非线性关系。尽管异质图神经网络可以挖掘溯源图上的非线性交互,但是还存在一个挑战。在真实的企业网络环境中,广泛存在的是正常的主机行为数据,而攻击数据是十分罕有的,这意味着仅能使用无监督的异常检测方法。然而,现有的异质图神经网络大都为分类问题所设计,仅有的一些用于异常检测的研究也都关注于同质图,且检测目标为节点。同时,现有的主机入侵检测系统基于溯源图的检测方式,仅考虑了实体间的交互,而忽略了实体本身的属性,而实体本身的属性也可以协助完成更有效的入侵检测。
此外,现有的主机入侵检测系统还存在以下问题:依赖大量历史数据,将测试数据与历史上所有的正常行为进行匹配,需要大量的存储空间用于存储历史数据,造成极大的空间开销;依赖标签数据,在使用分类方法优化整体模型时,需要大量的带标签数据,然而在主机入侵检测领域,标签数据的获取是非常困难的一件事情,使得有监督算法很难实际应用;仅使用系统调用建模成为图,构建图时仅使用系统调用,而忽略了发起系统调用的主体,以及系统调用的对象,这使得构建的图不能刻画完整的主机行为,从而影响检测性能。
应注意的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征也可以相互组合。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,术语“第一”、“第二”、“第三”“第四”仅用于区分描述,而不能理解为只是或暗示相对重要性。
经过深入研究,本发明提出了一种无监督的主机入侵检测方法及系统,将溯源图中的系统实体视为异质图上的节点,而实体间交互视为节点间对应的边,并且图中的每个节点有相应的属性,将溯源图建模成为带属性异质图,使用带属性的异质图神经网络来挖掘溯源图中的非线性交互以及实体属性,将识别异常溯源图的问题转化成识别异常异质图的问题;同时,现有的异质图神经网络通常为分类问题所设计,仅有的一些用于异常检测的研究也都关注于同质图,且检测目标为节点,因此,本发明将异质图神经网络与单类神经网络相结合,综合全局以及局部两个视角给出溯源图的异常分数。单类神经网络是一种被广泛应用于无监督异常检测领域中的深度学习方法,其将正常数据映射到一个超空间中,在该超空间内所有的正常数据都尽可能接近。在测试阶段,通过测量测试数据与超空间中心的距离来衡量测试数据的异常分数。
本发明采用异质图神经网络自动地挖掘溯源图上不同的系统实体之间复杂的非线性交互,既有效地挖掘了溯源图,又无需人工经验的参与;同时,使用单类神经网络来对溯源图进行异常检测。考虑到有些攻击会产生大量的正常行为,仅在局部表现异常,使得溯源图从全局视角看正常。为此,本发明从全局以及局部两个视角,通过单类神经网络分别给出溯源图全局以及局部区域的异常分数,并综合两个视角的异常分数给出溯源图最终的异常分数。
下面通过具体的实施例,对本发明作进一步详细的说明。
如图1所示,本发明实施例提供了一种无监督的主机入侵检测方法,所述方法包括如下步骤:
步骤S1,根据系统日志构建带属性的异质图。
本步骤中,首先,根据系统日志构建异质图。具体地,系统的审计日志记录了系统实体(例如进程、文件)以及实体间的交互(例如进程访问文件,进程派生进程)。其中,系统实体中,进程是交互的主体,而文件、套接字等其他实体是交互的对象,并以进程的标识符(PID)以及创建该进程的命令行(CMD)标识一个进程,以文件的全路径标识一个文件。在实体的交互中,主机内进程之间的派生关系从结构上看是多棵独立的树(称为进程树),每颗独立的进程树,以及树上进程所访问的文件对应着一张异质图。
在构建异质图的过程中,给定主机内的行为数据,以进程和文件作为异质图的节点,以进程派生进程、进程访问文件作为异质图上的边。值得注意的是,这些边都是有向边,且图中不存在从文件节点出发的边。
其次,根据系统日志及异质图,将进程命令行的嵌入向量作为异质图中进程节点的属性,将文件全路径的嵌入向量作为异质图中文件节点的属性,构建带属性的异质图。
在主机入侵检测过程中,除了系统实体之间的交互中可以检测可能发生的入侵外,系统实体本身的属性也是识别攻击的重要依据之一。例如,攻击者使用终端执行了一条命令:“/usr/bin/osascript/Users/*/Library/11.PNG”。从该命令中,可以发现终端执行了一个图片文件,这是很异常的行为。事实上,该文件为一个伪装成图片文件的恶意脚本。因此,进程的命令行可以一定程度上反映异常行为。此外,文件的全路径可以反映文件本身的一些属性,比如正常进程不正常访问位于系统目录下的文件。因此,本实施例中使用进程的命令行以及文件的全路径分别作为进程节点以及文件节点的属性。为获取到节点属性的数值向量,使用子词嵌入(FastText)模型将进程的命令行以及文件的全路径嵌入到向量空间。
具体的,以进程命令行为例,将进程命令行建模为一个句子,将其中进程执行路径、命令行参数等建模为单词,使用FastText学习得到单词的嵌入向量,进程命令行的嵌入向量则为其所包含的单词的嵌入向量的平均;对于进程命令行中时常出现的新单词或者生僻词,FastText模型使用这些单词的n-gram子词的嵌入向量作为该单词的嵌入向量。文件的嵌入向量与进程命令行大致相同,区别的地方在于文件使用每一级目录以及文件名作为单词。
每一个进程对应一张单独的异质图,系统日志的所有数据构成由多个单独的异质图拼成的整张异质图。
步骤S2,根据所述带属性的异质图,利用有向异质图神经网络,从异质图中获取异质图的嵌入向量和节点的嵌入向量。
本步骤中,根据系统日志可以构建多张带属性的异质图。将带属性的异质图作为输入,从有向异质图神经网络中,获取异质图的嵌入向量以及节点的嵌入向量。
有向异质图神经网络中,表征了进程派生进程、进程访问文件的交互过程,这些交互过程是具有方向性的,因此,异质图本身是有向的。例如一个cmd.exe进程派生一个word.exe进程很正常,然而一个word.exe派生了一个cmd.exe,是一种很异常的行为。本步骤中,所述有向异质图神经网络中,设计了一种新的节点聚合操作,不仅考虑图上节点属性以及节点间关系信息,而且还同时考虑了节点间边的方向性。
如图2所示,以单个节点为例,方框内为待训练节点,聚合过程如下:所述异质图可以表示为两个邻接矩阵以及两个节点特征矩阵,包含邻接矩阵
Figure BDA0003546338090000091
其中|ve|为进程节点总数,|vf|为文件节点总数,
Figure BDA0003546338090000092
代表进程i派生了进程j,
Figure BDA0003546338090000093
代表进程i派生了文件j,包含节点特征矩阵XP、XF,其中XP的第i行代表进程i的属性,XF的第i行代表文件i的属性。由于相邻的节点是异质的,不能直接应用同质图神经网络,否则会忽视了不同种类的节点不同的贡献,因此,分别对不同种类的两个相邻节点进行聚合操作。此外,为考虑进程派生关系的方向性,分别考虑进程的出边以及入边,对节点的子进程以及访问的文件进行聚合操作。
具体的,本实施例中使用如下公式聚合不同种类的两个相邻节点:
Figure BDA0003546338090000094
Figure BDA0003546338090000095
Figure BDA0003546338090000096
其中,
Figure BDA0003546338090000097
D为APP的度矩阵,
Figure BDA0003546338090000098
为第l层的进程节点的嵌入向量,初始为XP
Figure BDA0003546338090000099
Figure BDA00035463380900000910
分别为进程以及文件的权重矩阵,用于将进程以及文件节点的属性变换到同一维度,σ(·)表示激活函数,本步骤中使用PreLu;
Figure BDA00035463380900000911
表示父进程的嵌入向量,
Figure BDA00035463380900000912
表示子进程的嵌入向量,
Figure BDA00035463380900000913
表现访问的文件的嵌入向量。为考虑进程派生关系的方向性,最终的节点嵌入向量由节点的相邻节点向量与自身按次序拼接,并经过一个线性层形成,公式如下:
Figure BDA00035463380900000914
其中,||表示向量拼接操作,Wl为一个权重矩阵,
Figure BDA0003546338090000101
为本层输出的进程节点的嵌入。以进程节点作为嵌入的对象,文件节点表示在前向传播的过程中不进行更新。在将异质图经过了堆叠的多层有向异质图神经网络之后,本发明得到了每张异质图上的节点嵌入向量,如下所示:
Figure BDA0003546338090000102
其中,HetGNN(·)为有向异质图神经网络模型,
Figure BDA0003546338090000103
为图上节点的嵌入向量。异质图的嵌入向量由所有节点的嵌入向量经过平均池化得到,如下公式所示:
Figure BDA0003546338090000104
其中,
Figure BDA0003546338090000105
为图上的第个节点的嵌入向量,gi为第张异质图的嵌入向量,n为异质图上节点的总数。
由于每个节点的嵌入向量都蕴含了有向图方向的信息,所以由他们平均而来的图的嵌入向量也蕴含了整张图的方向的信息。
经过有向异质图神经网络模型,同时获取了异质图的嵌入向量以及图上节点的嵌入向量。异质图的嵌入向量综合了整张图的信息,而节点的嵌入向量着眼于节点的k阶局部子图的信息,k由有向异质图网络的层数决定。
步骤S3,采用单类神经网络同时从全局和局部两种视角出发,根据所获得的异质图以及节点的嵌入向量,对异质图进行异常检测,综合两个视角下的异常分数,给出异质图最后的异常得分,进行异常异质图的识别,判断是否存在主机入侵。
本步骤中,将所有的异质图数据映射到一个超空间中,在该超空间中,所有的正常数据都尽可能的接近,并通过衡量待测数据距离超空间中心的距离来决定异常分数。需要注意的是,有些攻击通过少量进程完成主要的攻击活动,且同时进行大量的正常活动。因此,当异质图比较大的时候,从全局视角进行异常检测将会忽略这些局部的异常。为此,本步骤同时从全局以及局部两种视角出发,对异质图进行异常检测,最后综合两个视角下的异常分数,给出异质图最后的异常得分。
由于异质图的嵌入向量综合了整张异质图的信息,其是异质图的一个全局信息的表征,以异质图的嵌入向量作为全局视角下的单类神经网络的输入。参考单类神经网络,使用如下损失函数来优化全局视角下的单类神经网络:
Figure BDA0003546338090000111
其中,Cglobal为全局视角下的预定义空间中心,在本模块中由所有异质图的初始嵌入向量平均而来,gi代表第i张异质图的嵌入向量,N代表异质图的总数,第二项由超参数λ控制的正则项,Wglobal为全局视角下的单类神经网络的参数。通过最小化该损失函数,使得所有正常异质图的嵌入向量都会尽可能接近超空间中心Cglobal
虽然全局视角下的单类神经网络可以很好的捕获到持续时间长的攻击,但是有些攻击者会刻意的进行很多正常活动,从而使得攻击行为隐匿在众多正常行为之中,仅在异质图的局部子结构上表现异常,而从全局视角进行检测会遗漏这些攻击活动。为此,进行局部子结构的异常检测也同样重要。由于每个节点都聚合了其k阶相邻节点信息(k为有向异质图神经网络层数),所以每个节点的嵌入向量都代表着以该节点为中心的局部区域的信息。为此,将异质图的节点的嵌入向量作为局部视角下的单类神经网络的输入,与全局单类神经网络的目标函数类似,本步骤中局部视角下的损失函数如下:
Figure BDA0003546338090000112
其中,N代表异质图的数量,M代表异质图上节点的数量,Hij表示异质图i的第j个节点,Clocal为局部视角下的预定义空间中心,在本模块中由所有的节点的嵌入向量平均而来,在整个优化过程中仅初始化一次随后便不再改变,Wlocal为模型参数,λ为控制正则项的超参数,损失函数的值Llocal作为局部视角下的异常检测分数。
最后,联合两个目标并提出模型最终的损失函数。给定Llocal以及Lglobal,单类异质图神经网络的整体目标函数如下所示:
minL=Lglobal+αLlocal(9)
其中,α为控制全局视角以及局部视角对最终损失函数贡献大小的超参数。本发明使用正常的数据集去训练单类异质图神经网络模型,使得模型能够将所有的异质图映射到一个超空间,在该超空间中,所有的正常异质图的嵌入向量都尽可能接近预定义中心以及其他正常数据。对于待测试的异质图,计算损失函数值,将其作为异常分数,最终输出异常分数的排序,从而判断是否存在主机入侵。
以某企业的网络环境为例,在企业真实数据集上进行实验,并与其他模型对比,从精确率、召回率以及F1分数等指标对本发明实施例所述无监督的主机入侵检测方法进行评价。
本实例中使用的数据集来自企业真实的主机行为数据,训练数据由数百台主机一台内的行为组成,包含323538张溯源图;测试数据由一台受到攻击的主机一天内的行为组成,其包含8张异常溯源图,2660张正常溯源图。此外,为扩充测试数据集的异常样本,本实例参考Dominant的构建异常样本的方式,构建了300张异常溯源图,除了Dominant提出的构建全连接图以及随机替换节点来构建异常外,提出通过逆转图中有向边的方向来构建异常。为对比模型性能,绘制了ROC曲线并计算了AUC值,此外,计算了抛出topK个异常样本情况下的各个模型的精确率、召回率以及F1值。
首先简要介绍一下基线模型以及评估指标。对于基于传统欧式空间的模型,为了对比公平,将溯源图上的所有节点进行平均,以得到一个溯源图的表征。与之相对的是,通过有向异质图神经网络得到溯源图的表征。本发明实施例的方法所采用的模型定义为OC-DHetGNN,对比方法所采用的检测模型包括:
Isolation Forest:经典的基于欧式空间的浅层模型;Isolation Forest测量分离样本所需的分裂数量,并将分裂次数较少的样本视为异常;
Deep SVDD:经典的基于欧式空间的深度模型;单类神经网络,其改良自SVDD,并使用神经网络取代人工设计的核函数,被广泛运用于异常检测领域;
GCN:经典的图神经网络模型,能够有效的聚合图上节点的属性以及节点间关系,被广泛应用于各种图表示任务中,这里采用GCN替换OC-DHetGNN的有向异质图神经网络模块,并保留其他模型结构。
GraphSage:经典的图神经网络模型,同GCN类似,被广泛应用于各种图表示任务中,这里采用GraphSage替换OC-DHetGNN的有向异质图神经网络模块,并保留其他模型结构。
OC-DHetGNN:本发明所提出的模型,在处理来自不同方向的相邻节点信息时,使用的操作是拼接,为验证拼接操作的简单有效性,本发明使用LSTM替换简单的拼接操作,将该模型命名为OC-DHetGNNLSTM。
OC-DHetGNN与其他模型的受试者工作特征曲线(receiver operatingcharacteristic curve,ROC)曲线可见图3,精确率等指标可见表1。从图3以及表1中,可以得到以下结论:(1)将本发明所提出模型与其他对比模型相比,OC-DHetGNN在所有指标上都优于其他模型,这验证了本发明提出的将有向异质图神经网络与单类神经网络相结合的有效性。(2)通过将DeepSVDD与Isolation Forest对比可以发现,深层模型的效果优于浅层模型。(3)通过将GCN,GraphSage等图神经网络模型与DeepSVDD、Isolation Forest等欧式空间模型对比可以发现,图神经网络模型优于欧式空间模型。(4)通过将OC-DHetGNN与OC-DHetGNNLSTM对比可以发现,本发明提出对不同方向的相邻节点信息使用拼接操作,简单且有效。在top 100的样本中,OC-DHetGNN的模型得到了较高的精确率。在top1000之后,OC-DHetGNN与OC-DHetGNNLSTM的性能基本持平。
表1
Figure BDA0003546338090000131
Figure BDA0003546338090000141
由以上技术方案可以看出,本发明实施例所提供无监督的主机入侵检测方法,通过异质图神经网络挖掘源图,不仅节省人力,而且能够更有效的检测出高等级的攻击活动;同时,通过将单类神经网络与异质图神经网络相结合,无需使用带标签数据;此外,从全局以及局部两个视角进行异常检测,对于仅涉及局部系统交互的攻击活动或混杂大量正常行为的攻击活动都具有更优越的检测性能。
基于同样的思想,本发明实施例还提供了一种无监督的主机入侵检测系统,所述系统包括:带属性异质图构建模块、嵌入向量获取模块、全局单类神经网络检测模块、局部单类神经网络检测模块、入侵结果输出模块。
其中,所述带属性异质图构建模块用于根据系统日志构建带属性的异质图;
所述嵌入向量获取模块用于根据所述带属性的异质图,利用有向异质图神经网络,从异质图中获取异质图的嵌入向量和节点的嵌入向量;
所述全局单类神经网络检测模块用于采用单类神经网络从全局视角出发,根据所获得的异质图的嵌入向量,对异质图进行异常检测;
所述局部单类神经网络检测模块用于采用单类神经网络从局部视角出发,根据所获得的节点的嵌入向量,对异质图进行异常检测;
所述入侵结果输出模块用于整合全局单类神经网络检测模块和局部单类神经网络检测模块的检测结果,得到主机入侵的最终检测结果。
本实施例中各模块通过处理器实现,当需要存储时适当增加存储器。其中,所述处理器可以是但不限于微处理器MPU、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件等。所述存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
需要说明的是,本实施例中所述无监督的主机入侵检测系统与所述无监督的主机入侵检测方法是相对应的,对所述无监督的主机入侵检测方法的限定和描述,同样适用于本实施例中的无监督的主机入侵检测系统,在此不再赘述。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (9)

1.一种无监督的主机入侵检测方法,其特征在于,所述方法包括如下步骤:
步骤S1,根据系统日志构建带属性的异质图;
步骤S2,根据所述带属性的异质图,利用有向异质图神经网络,从异质图中获取异质图的嵌入向量和节点的嵌入向量;
步骤S3,采用单类神经网络同时从全局和局部两种视角出发,根据所获得的异质图的嵌入向量和节点的嵌入向量,对异质图进行异常检测,综合两个视角下的异常分数,给出异质图最后的异常得分,进行异常异质图的识别,判断是否存在主机入侵。
2.根据权利要求1所述的无监督的主机入侵检测方法,其特征在于,所述根据系统日志构建带属性的异质图,包括:
首先,根据系统日志构建异质图,以进程和文件作为异质图的节点,以进程派生进程、进程访问文件作为异质图上的边;
其次,根据系统日志及异质图,将进程命令行的嵌入向量作为异质图中进程节点的属性,将文件全路径的嵌入向量作为异质图中文件节点的属性,构建带属性的异质图。
3.根据权利要求2所述的无监督的主机入侵检测方法,其特征在于,所述根据系统日志构建异质图,具体为:给定主机内的行为数据,以进程的标识符以及创建该进程的命令行标识一个进程,以文件的全路径标识一个文件,主机内进程之间的派生关系对应着一张异质图。
4.根据权利要求2所述的无监督的主机入侵检测方法,其特征在于,所述将进程命令行的嵌入向量作为异质图中进程节点的属性,将文件全路径的嵌入向量作为异质图中文件节点的属性,包括:
将进程命令行建模为一个句子,将其中进程执行路径、命令行参数建模为单词,使用子词嵌入学习得到单词的嵌入向量,进程命令行的嵌入向量则为其所包含的单词的嵌入向量的平均;
将文件建模为一个句子,将文件使用每一级目录以及文件名建模为单词,使用子词嵌入学习得到单词的嵌入向量,文件的嵌入向量则为文件所包含的单词的嵌入向量的平均;
对于出现的新单词或者生僻词,子词嵌入模型使用这些单词的n-gram子词的嵌入向量作为该单词的嵌入向量。
5.根据权利要求1所述的无监督的主机入侵检测方法,其特征在于,从异质图中获取节点的嵌入向量,包括:
在所述有向异质图神经网络中,对节点的聚合过程如下:将异质图表示为两个邻接矩阵以及两个节点特征矩阵,包含邻接矩阵
Figure FDA0003546338080000021
其中|ve|为进程节点总数,|vf|为文件节点总数,
Figure FDA0003546338080000022
代表进程i派生了进程j,
Figure FDA0003546338080000023
代表进程i派生了文件j,包含节点特征矩阵XP、XF,其中XP的第i行代表进程i的属性,XF的第i行代表文件i的属性;
使用公式(1)-(3)聚合不同种类的两个相邻节点:
Figure FDA0003546338080000024
Figure FDA0003546338080000025
Figure FDA0003546338080000026
其中,
Figure FDA0003546338080000027
D为APP的度矩阵,
Figure FDA0003546338080000028
为第l层的进程节点的嵌入向量,初始为XP
Figure FDA0003546338080000029
Figure FDA00035463380800000210
分别为进程以及文件的权重矩阵,用于将进程以及文件节点的属性变换到同一维度,σ(·)表示激活函数,本步骤中使用PreLu;
Figure FDA00035463380800000211
表示父进程的嵌入向量,
Figure FDA00035463380800000212
表示子进程的嵌入向量,
Figure FDA00035463380800000213
表现访问的文件的嵌入向量;
最终的节点嵌入向量由节点的相邻节点向量与自身按次序拼接,并经过一个线性层形成,如公式(4)所示:
Figure FDA00035463380800000214
其中,||表示向量拼接操作,Wl为一个权重矩阵,
Figure FDA00035463380800000215
为本层输出的进程节点的嵌入向量;以进程节点作为嵌入的对象,文件节点表示在前向传播的过程中不进行更新;在将异质图经过了堆叠的多层有向异质图神经网络之后,得到每张异质图上的节点嵌入向量,如公式(5)所示:
Figure FDA00035463380800000216
其中,HetGNN(·)为有向异质图神经网络模型,
Figure FDA00035463380800000217
为异质图中节点的嵌入向量。
6.根据权利要求5所述的无监督的主机入侵检测方法,其特征在于,从异质图中获取异质图的嵌入向量,包括:
将所有节点的嵌入向量经过平均池化,得到异质图的嵌入向量,平均池化过程如公式(6)所示:
Figure FDA0003546338080000031
其中,
Figure FDA0003546338080000032
为图上的第j个节点的嵌入向量,gi为第张异质图的嵌入向量,n为异质图上节点的总数。
7.根据权利要求1所述的无监督的主机入侵检测方法,其特征在于,采用单类神经网络从全局视角出发,对异质图进行异常检测,包括:
以异质图的嵌入向量作为全局视角下的单类神经网络的输入;参考单类神经网络,使用如下损失函数来优化全局视角下的单类神经网络:
Figure FDA0003546338080000033
其中,Cglobal为全局视角下的预定义空间中心,gi代表第i张异质图的嵌入向量,N代表异质图的总数,λ为控制正则项的超参数,Wglobal为全局视角下的单类神经网络的参数;损失函数的值Lglobal作为全局视角下的异常检测分数。
8.根据权利要求1所述的无监督的主机入侵检测方法,其特征在于,采用单类神经网络从局部视角出发,对异质图进行异常检测,包括:
将异质图的节点的嵌入向量作为局部视角下的单类神经网络的输入,局部视角下的目标函数如下:
Figure FDA0003546338080000034
其中,N代表异质图的总数,M代表异质图上节点的数量,Hij表示异质图i的第j个节点,Clocal为局部视角下的预定义空间中心,在本模块中由所有的节点的嵌入向量平均而来,在整个优化过程中仅初始化一次随后便不再改变,Wlocal为模型参数,λ为控制正则项的超参数,损失函数的值Llocal作为局部视角下的异常检测分数。
9.一种无监督的主机入侵检测系统,其特征在于,所述系统包括:带属性异质图构建模块、嵌入向量获取模块、全局单类神经网络检测模块、局部单类神经网络检测模块、入侵结果输出模块;其中,
所述带属性异质图构建模块用于根据系统日志构建带属性的异质图;
所述嵌入向量获取模块用于根据所述带属性的异质图,利用有向异质图神经网络,从异质图中获取异质图的嵌入向量和节点的嵌入向量;
所述全局单类神经网络检测模块用于采用单类神经网络从全局视角出发,根据所获得的异质图的嵌入向量,对异质图进行异常检测;
所述局部单类神经网络检测模块用于采用单类神经网络从局部视角出发,根据所获得的节点的嵌入向量,对异质图进行异常检测;
所述入侵结果输出模块用于整合全局单类神经网络检测模块和局部单类神经网络检测模块的检测结果,得到主机入侵的最终检测结果。
CN202210249400.0A 2022-03-14 2022-03-14 一种无监督的主机入侵检测方法及系统 Pending CN114741688A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210249400.0A CN114741688A (zh) 2022-03-14 2022-03-14 一种无监督的主机入侵检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210249400.0A CN114741688A (zh) 2022-03-14 2022-03-14 一种无监督的主机入侵检测方法及系统

Publications (1)

Publication Number Publication Date
CN114741688A true CN114741688A (zh) 2022-07-12

Family

ID=82274810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210249400.0A Pending CN114741688A (zh) 2022-03-14 2022-03-14 一种无监督的主机入侵检测方法及系统

Country Status (1)

Country Link
CN (1) CN114741688A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115604032A (zh) * 2022-12-01 2023-01-13 南京南瑞信息通信科技有限公司(Cn) 一种电力系统复杂多步攻击检测方法及系统
CN116074092A (zh) * 2023-02-07 2023-05-05 电子科技大学 一种基于异构图注意力网络的攻击场景重构系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102046789B1 (ko) * 2019-04-05 2019-11-20 호서대학교 산학협력단 웹 어플리케이션에 대한 딥러닝 기반의 침입탐지 방법, 시스템 및 컴퓨터 프로그램
CN110516146A (zh) * 2019-07-15 2019-11-29 中国科学院计算机网络信息中心 一种基于异质图卷积神经网络嵌入的作者名字消歧方法
US20200137083A1 (en) * 2018-10-24 2020-04-30 Nec Laboratories America, Inc. Unknown malicious program behavior detection using a graph neural network
CN112949748A (zh) * 2021-03-23 2021-06-11 哈尔滨理工大学 基于图神经网络的动态网络异常检测算法模型
CN113094707A (zh) * 2021-03-31 2021-07-09 中国科学院信息工程研究所 一种基于异质图网络的横向移动攻击检测方法及系统
WO2021139738A1 (zh) * 2020-01-07 2021-07-15 北京嘀嘀无限科技发展有限公司 一种确定目标任务执行车辆的方法和系统
CN113225331A (zh) * 2021-04-30 2021-08-06 中国科学技术大学 基于图神经网络的主机入侵安全检测方法、系统及装置
CN113515634A (zh) * 2021-07-09 2021-10-19 福州大学 基于分层异质图神经网络的社交媒体谣言检测方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200137083A1 (en) * 2018-10-24 2020-04-30 Nec Laboratories America, Inc. Unknown malicious program behavior detection using a graph neural network
KR102046789B1 (ko) * 2019-04-05 2019-11-20 호서대학교 산학협력단 웹 어플리케이션에 대한 딥러닝 기반의 침입탐지 방법, 시스템 및 컴퓨터 프로그램
CN110516146A (zh) * 2019-07-15 2019-11-29 中国科学院计算机网络信息中心 一种基于异质图卷积神经网络嵌入的作者名字消歧方法
WO2021139738A1 (zh) * 2020-01-07 2021-07-15 北京嘀嘀无限科技发展有限公司 一种确定目标任务执行车辆的方法和系统
CN112949748A (zh) * 2021-03-23 2021-06-11 哈尔滨理工大学 基于图神经网络的动态网络异常检测算法模型
CN113094707A (zh) * 2021-03-31 2021-07-09 中国科学院信息工程研究所 一种基于异质图网络的横向移动攻击检测方法及系统
CN113225331A (zh) * 2021-04-30 2021-08-06 中国科学技术大学 基于图神经网络的主机入侵安全检测方法、系统及装置
CN113515634A (zh) * 2021-07-09 2021-10-19 福州大学 基于分层异质图神经网络的社交媒体谣言检测方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘超颖;杨健;李俊;: "基于深度自编码网络的异质人脸识别", 计算机应用与软件, no. 10, 15 October 2016 (2016-10-15) *
罗华;胡光岷;姚兴苗: "基于网络全局流量异常特征的DDoS攻击检测", 计算机应用, no. 02, 10 February 2007 (2007-02-10) *
黄菲;高飞;朱静洁;戴玲娜;俞俊;: "基于生成对抗网络的异质人脸图像合成:进展与挑战", 南京信息工程大学学报(自然科学版), no. 06, 28 November 2019 (2019-11-28) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115604032A (zh) * 2022-12-01 2023-01-13 南京南瑞信息通信科技有限公司(Cn) 一种电力系统复杂多步攻击检测方法及系统
CN115604032B (zh) * 2022-12-01 2023-04-28 南京南瑞信息通信科技有限公司 一种电力系统复杂多步攻击检测方法及系统
CN116074092A (zh) * 2023-02-07 2023-05-05 电子科技大学 一种基于异构图注意力网络的攻击场景重构系统
CN116074092B (zh) * 2023-02-07 2024-02-20 电子科技大学 一种基于异构图注意力网络的攻击场景重构系统

Similar Documents

Publication Publication Date Title
Chen et al. Software defect number prediction: Unsupervised vs supervised methods
Kaghazgaran et al. Combating crowdsourced review manipulators: A neighborhood-based approach
Dewa et al. Data mining and intrusion detection systems
US11347867B2 (en) Methods and apparatuses to evaluate cyber security risk by establishing a probability of a cyber-attack being successful
CN114741688A (zh) 一种无监督的主机入侵检测方法及系统
US9298913B2 (en) Method of detecting intrusion based on improved support vector machine
US11973788B2 (en) Continuous scoring of security controls and dynamic tuning of security policies
Ajdani et al. Introduced a new method for enhancement of intrusion detection with random forest and PSO algorithm
Garcia et al. A deep learning-based intrusion detection and preventation system for detecting and preventing denial-of-service attacks
CN116405246A (zh) 一种基于攻防结合的漏洞利用链构建技术
US20070005526A1 (en) Scenario representation manipulation methods, scenario analysis devices, articles of manufacture, and data signals
Yin et al. An Anomaly Detection Model Based On Deep Auto-Encoder and Capsule Graph Convolution via Sparrow Search Algorithm in 6G Internet-of-Everything
Muslihi et al. Detecting SQL injection on web application using deep learning techniques: a systematic literature review
Gangula et al. Network intrusion detection system for Internet of Things based on enhanced flower pollination algorithm and ensemble classifier
Agrafiotis et al. Towards a User and Role-based Sequential Behavioural Analysis Tool for Insider Threat Detection.
Zheng et al. Wmdefense: Using watermark to defense byzantine attacks in federated learning
Modell et al. A graph embedding approach to user behavior anomaly detection
CN114039837B (zh) 告警数据处理方法、装置、系统、设备和存储介质
Dubey et al. Investigating the Impact of Feature Reduction through Information Gain and Correlation on the Performance of Error Back Propagation Based IDS
CN117009509A (zh) 数据安全分级方法、装置、设备、存储介质和程序产品
Do et al. A Horizontal Federated-Learning Model for Detecting Abnormal Traffic Generated by Malware in IoT Networks
CN115640755A (zh) 一种基于极限学习机的空战非完备信息数据处理方法
Nivetha et al. IDENTIFYING THE CROSS SITE SCRIPTING (XSS) ATTACK USING XSSER TOOL AND DETECTION USING SUPERVISED LEARNING ALGORITHM
CN114915446A (zh) 一种融合先验知识的智能网络安全检测方法
Priyansh et al. Durbin: A comprehensive approach to analysis and detection of emerging threats due to network intrusion

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination