CN114238958A - 一种基于溯源聚类及图序列化的入侵检测方法及系统 - Google Patents
一种基于溯源聚类及图序列化的入侵检测方法及系统 Download PDFInfo
- Publication number
- CN114238958A CN114238958A CN202111534563.5A CN202111534563A CN114238958A CN 114238958 A CN114238958 A CN 114238958A CN 202111534563 A CN202111534563 A CN 202111534563A CN 114238958 A CN114238958 A CN 114238958A
- Authority
- CN
- China
- Prior art keywords
- behavior
- nodes
- node
- tracing
- graph
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于溯源聚类及图序列化的入侵检测方法及系统,属于网络安全领域,包括:建立用于表示用户行为的溯源图,并对其中的节点进行聚类,得到与组成用户行为的行为实例一一对应的溯源子图;将各溯源子图序列化之后,分别输入至已训练好的特征提取模型,得到各行为实例的特征向量;将用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,在用户行为的行为实例不全是正常行为实例时,判定用户行为为入侵行为;规则库为正常行为实例的特征向量的集合;若行为实例的特征向量与规则库中各特征向量的最小差异度大于预设的检测阈值,则该行为实例为异常行为实例,否则为正常行为实例。本发明能够提高入侵检测的检测精度和效率。
Description
技术领域
本发明属于网络安全领域,更具体地,涉及一种基于溯源聚类及图序列化的入侵检测方法及系统。
背景技术
入侵检测技术作为网络安全的核心技术之一,通过从计算机系统或者计算机网络中的若干关键点来收集信息并对这些节点进行分析,从而发现系统或网络中是否存在遭遇袭击的现象或违反安全策略的行为。目前主流的基于主机的入侵检测方法一般是基于溯源或审计日志,然而,在大数据环境下,一些攻击隐藏在大数据洪流和长执行路径中,这就使得传统的入侵检测方暴露了检测率低、数据特征提取困难、数据处理时间开销大等弊端。
入侵行为检测,用于检测用户行为是正常行为还是入侵行为,是入侵检测中的一个重要的方面。现有的入侵检测方法,在入侵行为检测方面可以在一定程度上提高检测精度,但这些工作一般以整个用户行为作为分析对象进行分析,而用户行为通常包括多个正常或者异常的操作序列,比如:一个完整的从编码到上传的完整用户行为包括:代码编写、程序编译、运行、上传等操作,而且攻击者擅长于将攻击隐藏在大量的正常操作中,这就使得分析人员难以从海量的溯源数据中挖掘到攻击行为特征,同时,在检测过程中不仅要识别分析出异常操作,还需要分析相关的正常行为操作,这导致分析工作量大大增加,而隐藏的攻击不易被发现,整体检测效果不佳。
目前,卷积神经网络、自编码等器神经网络,也广泛应用于入侵检测。为了满足神经网络的输入要求,在将相关数据发送至神经网络之前,需要先对数据进行向量化处理,传统的方法在进行数据向量化处理时,对于较长的数据,往往会直接截取指定长度的数据,其余数据则被直接丢弃,这使得部分重要的数据信息会在向量化的过程中丢失,对神经网络挖掘特征造成负面影响,最终的入侵检测精度不高。此外,现有的入侵检测方法在利用神经网络时,往往会训练一个二分类的神经网络,直接利用网络输出用户行为是否正常的检测结果,这也限制了入侵检测的精度。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于溯源聚类及图序列化的入侵检测方法及系统,其目的在于,提高入侵检测的检测精度和效率。
为实现上述目的,按照本发明的一个方面,提供了一种基于溯源聚类及图序列化的入侵检测方法,包括:
利用溯源数据建立用于表示用户行为的溯源图,并对其中的节点进行聚类,得到与组成用户行为的行为实例一一对应的溯源子图;
将各行为实例对应的溯源子图序列化之后,分别输入至已训练好的特征提取模型,,得到各行为实例的特征向量;
将用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断用户行为的行为实例是否均为正常行为实例,若是,则判定用户行为为正常行为;否则,判定用户行为为入侵行为;
其中,特征提取模型为神经网络模型;规则库为正常行为实例的特征向量的集合;若行为实例的特征向量与规则库中各特征向量的最小差异度大于预设的检测阈值,则该行为实例为异常行为实例,否则为正常行为实例。
行为实例,是在一个用户登录会话中,对相关数据操作并由信息流关联反应用户行为的一系列系统调用序列;本发明通过对溯源图中的节点进行聚类的方式,将用户行为分解为多个行为实例,并针对每一个行为实例分别进行检测,最后综合各个行为实例的检测结果确定整个用户行为的检测结果,相比于以整个用户行为作为检测对象,本发明能够更为深入地对用户行为中的相关操作进行分析,更为充分地挖掘出用户行为中的异常,有效提高检测精度,并且,通过对用户行为的分解,可以有效提高检测效率。总的来说,本发明能够有效提高入侵检测的检测精度和效率。
本发明仅利用神经网络模型提取行为实例的特征向量,并进一步借助于由正常行为实例的特征向量构成的规则库判断行为实例是否正常,相比于直接利用神经网络输出正常与否的检测结果,本发明在检测过程中考虑了更多的信息,能够进一步提高检测精度。
进一步地,对溯源图中的节点进行聚类,包括:
(S1)计算各节点的重要度,并初始化各节点的状态为未标记;
(S2)计算未标记节点的平均重要度作为标记阈值,筛选出重要度高于标记阈值的未标记节点,若筛选出的节点数量为0,则转入步骤(S5);否则,对筛选出的节点进行标记后作为主动传播节点,并将各节点的ID作为标签;
(S3)按照重要度从大到小的顺序依次选取主动传播节点,每次选取主动传播节点后,向其未标记的相邻节点传播其标签,并对接收到标签的节点进行标记;
(S4)若经步骤(S3)标记的节点数量为0,则转入步骤(S2);否则,将步骤(S3)标记的节点作为主动传播节点,并将所接收到的标签作为对应节点的标签,转入步骤(S3);
(S5)将具有相同标签的节点及这些节点间的边作为一个溯源子图,得到与用户行为的多个行为实例一一对应的多个溯源子图。
本发明对溯源图中的节点进行聚类的方式,是一种主动的标签传播方法,即由重要度较高的节点主动将其标签向其子节点传播,相比于被动传播,本发明能够充分考虑节点重要程度之间的差异性,有利于提高行为实例划分的准确度;基于此,本发明对溯源图中的节点进行聚类的方式,还是一种多轮标签传播算法,在每一轮标签传播中,都会根据未被标记的节点重新计算相应的标记阈值,直至标记阈值不再更新,由此能够保证具有小规模节点的行为实例也被标记,进一步保证了行为实例划分的准确度。总的来说,本发明采用主动的、多轮标签传播方法对溯源图中的节点进行聚类,能够准确地完成行为实例的划分。
进一步地,对溯源子图进行序列化,包括:
按照节点重要度从大到小的顺序对溯源子图中的节点进行排序后,取其中重要度最大的K个节点作为中心节点;对每一个中心节点分别执行邻域规范化步骤,以得到各中心节点对应的序列化结果,并组合为溯源子图的序列化结果;
邻域规范化步骤,包括如下步骤:
(T1)按照距离从近到远、相同距离下重要度从大到小的顺序,对中心节点及其子节点进行排序,得到中心节点的邻域;
(T2)若邻域大小L<K,则以重要度为0的虚拟节点填充邻域,使邻域大小为K;若邻域大小L>K,则对于邻域中的第2~K个节点,将其重要度更新为其自身重要度与其直接相邻节点的平均重要度之和,并舍弃第K个节点之后的节点;
(T3)提取领域中节点的重要度,构成序列,作为中心节点对应的序列化结果;
其中,K为正整数。
本发明对溯源子图进行序列化的方法,是一种节点聚合优化的图序列化方法,即综合考虑距离和重要度,对中心节点及其子节点进行排序,以构造其邻域,在邻域较大时,在舍弃多余节点的同时,会利用相邻子节点的重要度对所保留的节点的重要度进行更新,使得序列化结果可以最大化地保留溯源信息,进一步提高入侵检测的检测精度。
在一些可选的实施例中,K=16。
本发明设置K=16,则对于每一个行为实例,其对应的溯源子图序列化之后,得到一个16×16的二维数据,以该数据作为特征提取模型的输入以提取行为实例的特征向量,可获得较优的检测结果。
进一步地,对于任意一个节点p,其重要度SI(p)的计算方式为:
SI(p)=αA(p)+(1-α)H(p);
其中,A(p)和H(p)分别表示节点p的节点属性和节点依赖度,α表示节点属性占比。
本发明在计算节点的重要度时,会综合考虑节点的节点属性和节点依赖度,使得节点的重要度能够反映更多的溯源信息,能够进一步提高后续检测结果的检测精度。
进一步优选地,α=0.375。
本发明在综合考虑节点的节点属性和节点依赖度计算节点的重要度时,设置节点属性的占比为0.375,能够取得较优的入侵检测效果。
其中,Hp0表示节点p的初始节点依赖度,与其他节点之间没有依赖关系的节点的初始节点依赖度为0,其余节点的初始依赖度为x,x为正数;Mp表示节点p的所有子节点构成的节点集合,pi表示节点p的子节点,SI(pi)表示节点pi的节点依赖度。
本发明按照上述公式计算节点的节点依赖度,所计算的节点依赖度既反映了节点自身的特性,也反映了该节点与其子节点之间的关系。
进一步地,检测阈值的确定方法包括:
(W1)获得由异常行为实例的特征向量构成的第一测试集,和由正常行为实例的特征向量构成的第二测试集,并计算第一测试集中各特征向量与规则库中各特征向量的差异度,将其中的最小差异度作为检测阈值的初始值;
(W2)分别利用检测阈值对第一测试集和第二测试集中的行为实例进行检测,以计算检测率和误检率;
(W3)逐渐调整检测阈值的取值,每次调整后,分别利用检测阈值对第一测试集和第二测试集中的行为实例进行检测,以计算检测率和误检率,并与上一次的计算结果进行对比,得到检测率变化量和误检率变化量,将检测率变化量和误检率变化量之间的差值,作为对应取值下的优化结果;若在当前取值下优化结果小于0,则将上一个取值确定为检测阈值的最终取值。
本发明利用两个测试集,结合实际的检测率和误检率对检测阈值进行调整,将所确定的最优值作为最终的检测阈值,通过这种方式设定检测阈值,可适用于不同的数据集,在不同数据集下均可获得最佳检测率和无减率。
进一步地,将用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断用户行为的行为实例是否均为正常行为实例,包括:
对于每一个行为实例,分别计算其特征向量与规则库中各特征向量之间的差异度,并找出其中的最小差异度;
对于所有的行为实例,从对应的最小差异度中找出最大值,若该最大值小于检测阈值,则判定用户行为的行为实例均为正常行为实例;否则,判定用户行为的行为实例中存在异常行为实例。
本发明先找出各行为实例的特征向量与规则库比对库中各特征向量之间的最小差异度,再从所有最小差异度之中找出最大值,直接利用该最大值与检测阈值的比较结果完成最终的检测判定,由此能够节省识别时间,快速完成对整个用户行为的检测判定。
按照本发明的另一个方面,提供了一种基于溯源聚类及图序列化的入侵检测系统,包括:
溯源信息采集模块,用于利用溯源数据建立用于表示用户行为的溯源图;
行为实例聚类模块,用于对溯源图中的节点进行聚类,得到与用户行为的多个实例一一对应的多个溯源子图;
溯源子图序列化模块,用于将行为实例对应的溯源子图进行序列化;
以及异常检测模块,用于将各行为实例对应的溯源子图序列化结果分别输入至已训练好的特征提取模型,得到各行为实例的特征向量,并将用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断用户行为的行为实例是否均为正常行为实例,若是,则判定用户行为为正常行为;否则,判定用户行为为入侵行为;
其中,特征提取模型为神经网络模型;规则库为正常行为实例的特征向量的集合;若行为实例的特征向量与规则库中各特征向量的最小差异度大于预设的检测阈值,则该行为实例为异常行为实例,否则为正常行为实例。
按照本发明的又一个方面,提供了一种计算机可读存储介质,包括存储的计算机程序;
计算机程序被处理器执行时,控制计算机可读存储介质所在设备执行本发明提供的基于溯源聚类及图序列化的入侵检测方法。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明通过对溯源图中的节点进行聚类的方式,将用户行为分解为多个行为实例,并针对每一个行为实例分别进行检测,最后综合各个行为实例的检测结果确定整个用户行为的检测结果,能够有效提高入侵检测的检测精度和效率。
(2)本发明仅利用神经网络模型提取行为实例的特征向量,并进一步借助于由正常行为实例的特征向量构成的规则库判断行为实例是否正常,能够在检测过程中考虑更多的信息,进一步提高检测精度。
(3)本发明采用主动的、多轮标签传播方法对溯源图中的节点进行聚类,并在聚类过程中考虑节点的重要度,能够准确地完成行为实例的划分。
(4)本发明利用节点聚合优化的图序列化方法对溯源制度进行序列化,所得序列化结果可以最大化地保留溯源信息,进一步提高入侵检测的检测精度。
(5)本发明在计算节点的重要度时,会综合考虑节点的节点属性和节点依赖度,使得节点的重要度能够反映更多的溯源信息,能够进一步提高后续检测结果的检测精度。
(6)本发明利用两个测试集,结合实际的检测率和误检率对检测阈值进行调整,将所确定的最优值作为最终的检测阈值,通过这种方式设定检测阈值,可适用于不同的数据集。
附图说明
图1为本发明实施例提供的基于溯源聚类及图序列化的入侵检测方法及系统示意图;
图2为本发明实施例提供的溯源图构造方法示意图;
图3为本发明实施例提供的多轮标签传播方法示意图;
图4为本发明实施例提供的节点聚合优化的图序列化方法示意图;
图5为本发明实施例提供的行为实例特征提取示意图;
图6为本发明实施例提供的用户行为检测流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了解决现有的入侵检测方法分析工作量大、检测精度低的技术问题,本发明提供了一种基于溯源聚类及图序列化的入侵检测方法及系统,其整体思路在于:将用户行为分解为多个行为实例,针对每个行为实例分别进行检测,并综合各个行为实例的检测结果,得出整个用户行为的检测结果;在此基础上,利用溯源图聚类的方式完成行为实例的划分,并且在聚类的过程中,充分考虑节点的重要度以及行为实例对应的节点规模的差异,以确保行为实例划分的准确度;在对行为实例的溯源子图进行序列化时,最大化的保留溯源信息。
以下为实施例。
实施例1:
一种基于溯源聚类及图序列化的入侵检测方法,如图1所示,包括:
利用溯源数据建立用于表示用户行为的溯源图,并对其中的节点进行聚类,得到与组成用户行为的行为实例一一对应的溯源子图;
将各行为实例对应的溯源子图序列化之后,分别输入至已训练好的特征提取模型,得到各行为实例的特征向量;
将用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断用户行为的行为实例是否均为正常行为实例,若是,则判定用户行为为正常行为;否则,判定用户行为为入侵行为;
其中,特征提取模型为神经网络模型;规则库为正常行为实例的特征向量的集合,可选地,本实施例中,可通过获得已知的正常行为实例的溯源子图序列化结果,构成规则数据集,输入至该特征提取模型的方式构建该规则库;若行为实例的特征向量与规则库中各特征向量的最小差异度大于预设的检测阈值,则该行为实例为异常行为实例,否则为正常行为实例。
本实施例通过对溯源图中的节点进行聚类的方式,将用户行为分解为多个行为实例,并针对每一个行为实例分别进行检测,最后综合各个行为实例的检测结果确定整个用户行为的检测结果,本实施例能够更为深入地对用户行为中的相关操作进行分析,更为充分地挖掘出用户行为中的异常,有效提高检测精度,并且,通过对用户行为的分解,可以有效提高检测效率。
溯源信息由反映用户行为的系统调用构成,每次系统调用所涉及的对象,如应用、文件、进程、Socket等,构成溯源系统的节点,每个节点的ID全局唯一;溯源信息中记录的内容包括节点ID、节点属性以及节点所依赖的其他节点,可利用溯源追踪系统采集;基于溯源信息建立的溯源图可用于表示用户行为,溯源图的构建方式为:将溯源系统中的节点对应作为溯源图中的节点,溯源系统中节点的属性对应作为溯源图中节点的属性,若溯源系统中的两个节点之间存在依赖关系,则在溯源图中,相应的两个节点之间存在一条有向边,该有向边指向被依赖的节点。
溯源信息的数据量十分庞大,为了保证行为检测的效率,本实施例在构建溯源图之前,会先从海量溯源信息中提取有用的信息,包括节点、节点属性以及节点之间的依赖关系;
图2为一个根据溯源信息构建溯源图的示例,左侧为溯源信息,右侧为对应的溯源图;
溯源信息中,“2.0”、“3.0”、“2.1”等,表示节点ID;溯源信息可描述节点属性,例如,“2.0NAME/usr/local/sbin/vsftpd”,表示2.0存在NAME属性,且NAME属性的属性值为“/usr/local/sbin/vsftpd”;溯源信息还可描述节点之间的依赖关系,例如,“2.0FORKPARENT[ANC]3.0”,表示节点2.0依赖于节点3.0;
所构建的溯源图中,溯源系统中的节点,即节点2.0、节点3.0、节点2.1等,对应作为溯源图中的节点;溯源系统中节点的属性,对应作为溯源图中节点的属性,并在本实施例中,溯源图中仅存储各节点的属性个数,而不存储具体的属性值;溯源系统中,节点间的依赖关系,对应作为溯源图中的有向边,例如,溯源系统中,节点2.0依赖于节点3.0,则在溯源图中,存在从节点2.0指向节点3.0的有向边。
行为实例,是在一个用户登录会话中,对相关数据操作并由信息流关联反应用户行为的一系列系统调用序列;LPA(Label Propagation Algorithm)等标签传播算法均可用于完成溯源图的聚类,为了准确地将用户行为分解为多个行为实例,本实施例提出了一种新的主动的、多轮标签传播方法对溯源图中的节点进行聚类;具体地,如图1和图3所示,本实施例中,对溯源图中的节点进行聚类,包括:
(S1)计算各节点的重要度,并初始化各节点的状态为未标记;
(S2)计算未标记节点的平均重要度作为标记阈值,筛选出重要度高于标记阈值的未标记节点,若筛选出的节点数量为0,则转入步骤(S5);否则,对筛选出的节点进行标记后作为主动传播节点,并将各节点的ID作为标签;
步骤(S2)中,基于标记阈值筛选出的节点,为行为实例的代表节点,也是该行为实例对应的节点的祖先节点;若筛选出的节点数量为0,则说明已经不存在新的行为实例了;
(S3)按照重要度从大到小的顺序依次选取主动传播节点,每次选取主动传播节点后,向其未标记的相邻节点传播其标签,并对接收到标签的节点进行标记;
(S4)若经步骤(S3)标记的节点数量为0,则转入步骤(S2);否则,将步骤(S3)标记的节点作为主动传播节点,并将所接收到的标签作为对应节点的标签,转入步骤(S3);
基于步骤(S2)~(S4),可以将每个行为实例的代表节点的标签主动地传播至代表节点的每一个子节点;
(S5)将具有相同标签的节点及这些节点间的边作为一个溯源子图,得到与用户行为的多个行为实例一一对应的多个溯源子图;
本实施例对溯源图中的节点进行聚类的方式,是一种主动的标签传播方法,即由重要度较高的节点主动将其标签向其子节点传播,相比于被动传播,本发明能够充分考虑节点重要程度之间的差异性,有利于提高行为实例划分的准确度;考虑到不同的行为实例可能拥有不同规模大小的节点,且节点的节点重要度也不同会导致不同行为实例的平均节点重要度不一致,若只进行一轮标签传播则容易使那些具有小规模节点的行为实例无法被标记,这会影响最终的入侵检测效果,例如,图3中,在首轮主动标签传播中,标记阈值为T=9,所筛选的行为实例代表节点为节点50和45,标签传播结束后,还有很多节点未被标记;基于此,本实施例中,在一轮标签传播结束后,即当前可标记的节点数量为0时,继续对未被标记的节点更新阈值,并开始新一轮的主动标签传播,由此能够保证各行为实例的节点都被标记,例如,图3中,重复标签传播过程中,根据未标记节点更新标记阈值后,标记阈值为T=5,所筛选的行为实例代表节点为节点8和9,标签传播结束后,所有的节点均已被标记。总的来说,基于上述主动的、多轮标签传播方法,本实施例能够准确的完成行为实例的划分,保证后续检测的检测精度;为了使节点重要度反映更多的溯源信息,作为一种优选的实施方式,本实施例中,在计算节点的重要度时,会根据溯源图的节点特征,综合考虑节点自身的属性和节点的节点依赖度,具体地,对于任意一个节点p,其重要度SI(p)的计算方式为:
SI(p)=αA(p)+(1-α)H(p);
其中,A(p)和H(p)分别表示节点p的节点属性和节点依赖度,α表示节点属性占比;可选地,本实施例中,直接以节点所具有的属性数量作为节点的节点属性;
节点依赖度与节点之间的依赖关系先关,在溯源图中,若某个节点是多个节点的祖先节点,则说明该节点是溯源图中大多数进程和文件的主要依赖对象,那么该节点的节点依赖度应该高,基于此,本实施例中,节点依赖度H(p)的计算方式为:
其中,Hp0表示节点p的初始节点依赖度;自指类节点,即出度、入度都为1且指向自身的节点,与其他节点之间没有依赖关系,属于过渡节点,这类节点在溯源图中重要度不大,因此,本实施例中,自指类节点的初始依赖度为0,其余节点的初始依赖度则设置为1;Mp表示节点p的所有子节点构成的节点集合,pi表示节点p的子节点,SI(pi)表示节点pi的节点依赖度;根据节点依赖度的计算公式可知,一个节点的重要度不仅与自身有关,还与该节点的子节点有关;
实验表示,α=0.375时,入侵检测结果较优,因此,本实施例中,计算节点重要度时,设置α=0.375。
为了在对溯源子图进行序列化时,尽量避免丢失重要的溯源信息,本实施例提出了一种节点聚合优化的图序列化方法进行图序列化,节点聚合优化的图序列化方法会综合考虑距离和重要度,对中心节点及其子节点进行排序,以构造其邻域,在邻域较大时,在舍弃多余节点的同时,会利用相邻子节点的重要度对所保留的节点的重要度进行更新,具体包括:
按照节点重要度从大到小的顺序对溯源子图中的节点进行排序后,取其中重要度最大的K个节点作为中心节点;
对每一个中心节点分别执行邻域规范化步骤,以得到各中心节点对应的序列化结果,并组合为溯源子图的序列化结果;
邻域规范化步骤,包括如下步骤:
(T1)按照距离从近到远、相同距离下重要度从大到小的顺序,对中心节点及其子节点进行排序,得到中心节点的邻域;
(T2)若邻域大小L<K,则以重要度为0的虚拟节点填充邻域,使邻域大小为K;若邻域大小L>K,则对于邻域中的第2~K个节点,将其重要度更新为其自身重要度与其直接相邻节点的平均重要度之和,并舍弃第K个节点之后的节点;
K均为正整数,可选地,本实施例中,K=16,则对于每一个行为实例,其对应的溯源子图序列化之后,得到一个16×16的二维数据,以该数据作为特征提取模型的输入以提取行为实例的特征向量,可获得较优的检测结果;本实施例中,对于任意一个节点p的重要度进行更新的公式为:
(T3)提取领域中节点的重要度,构成序列,作为中心节点对应的序列化结果;
本实施例利用节点聚合优化的图序列化方法,进行溯源子图的序列化,能够利用节点聚合来最大化地保留溯源信息;
以下结合图4对本实施例中的溯源子图序列化方法做进一步的解释说明,为简单表示,图4中,K=8。节点中的数字为对应节点的节点重要度;图4的左边为采用传统的序列化方法所得的结果,可以看到,由于传统的序列化方法仅截取排序后的前8个节点,大量的节点信息都被直接舍弃了;图4的右边为采用节点聚合优化的图序列化方法所得的结果,可以看到,节点聚合优化的图序列化方法在舍弃多余节点的同时,会利用相邻子节点的重要度对所保留的节点的重要度进行更新,以重要度为7的节点为例,该节点具有4个直接相邻的子节点,重要度分别为2、2、1、1,则对其重要度进行更新后,其重要度变为8.5,在此过程中,能够使得被舍弃节点所包含的溯源信息被尽量保留下来;因此,本实施例节点聚合优化的图序列化方法,可以在溯源子图序列化的过程中最大化地保留溯源信息,进一步提高入侵检测的检测精度。
如图5所示,本实施例中,使用卷积神经网络作为特征提取模型,在入侵检测之前,利用已知的组成正常行为的行为实例对应的图序列所构成的数据集对该模型进行训练,即可得到训练好的特征提取模型;该模型在训练过程中可以更为集中地学习正常行为的特征,并在实际特征提取时可以更准确地挖掘正常行为的特征;
完成溯源子图序列化之后,本实施例将序列化的结果作为卷积神经网络的输入,利用卷积神经网络中的“卷积-池化”层挖掘行为实例具有代表性的特征,然后通过全连接层对特征进行整合,将全连接层的输出作为对应的行为实例的特征向量,来进行最终的入侵检测;应当说明的是,卷积神经网络仅为本发明一种可选的实施例,不应理解为对本发明的唯一限定,自编码器等其他可用于提取特征的模型,也可应用于本发明;
本实施例会借助规则库来完成入侵检测,只有当一个用户行为中的所有行为实例为正常才表明该用户行为为正常,而行为实例的特征向量与规则库中所有特征向量之间的最小差异度仍大于预设的检测阈值时,才判定该行为实例是异常行为实例;可选地,本实施例中,具体使用欧式距离来度量特征向量之间的差异,对于两个向量X(x1,x2,…xn),Y(y1,y2,…yn),其欧式距离的计算公式如下;
其中,n表示向量X、Y的维度;应当说明的是,欧式距离仅为一种可选的实施方式,不应理解为对本发明的唯一限定,在本发明其他的一些实施例中,也可使用余弦相似度等其他方式来度量特征向量之间的差异度;
判断行为实例是否异常的检测阈值,可根据实际应用相应设定,为了适应不同的数据集,本实施例中,检测阈值会根据检测率和误检率进行调整,以获得最佳检测效果;检测率,是指将入侵行为正确检测为入侵行为的比例;误检率,是指将正常行为检测为入侵行为的比例;检测率越高、误检率越低,则检测效果越好;
具体地,本实施例中,检测阈值的确定方法包括:
(W1)获得由异常行为实例的特征向量构成的第一测试集,和由正常行为实例的特征向量构成的第二测试集,并计算第一测试集中各特征向量与规则库中各特征向量的差异度,将其中的最小差异度作为检测阈值的初始值;
(W2)分别利用检测阈值对第一测试集和第二测试集中的行为实例进行检测,以计算检测率和误检率;
(W3)逐渐调整检测阈值的取值,每次调整后,分别利用检测阈值对第一测试集和第二测试集中的行为实例进行检测,以计算检测率和误检率,并与上一次的计算结果进行对比,得到检测率变化量和误检率变化量,将检测率变化量和误检率变化量之间的差值,作为对应取值下的优化结果;若在当前取值下优化结果小于0,则将上一个取值确定为检测阈值的最终取值,由此所确定的检测阈值能够获得最佳的检测率、误检率。
为了节省识别时间,提高入侵检测效率,本实施例并不单独判定每一个行为实例是否正常,而是基于任意一个行为实例异常则整个用户行为异常的规律,在检测时,如图6所示,对于每一个行为实例,分别计算其特征向量与规则库中各特征向量之间的欧式距离,并找出其中的最小欧式距离;
对于所有的行为实例,从对应的最小差欧式距离中找出最大值,若该最大值小于检测阈值,则判定用户行为的行为实例均为正常行为实例,相应地,用户行为为正常行为;否则,判定用户行为的行为实例中存在异常行为实例,相应对,用户行为为入侵行为。
本实施例仅利用神经网络模型提取行为实例的特征向量,并进一步借助于由正常行为实例的特征向量构成的规则库判断行为实例是否正常,相比于直接利用神经网络输出正常与否的检测结果,本实施例在检测过程中考虑了更多的信息,能够进一步提高检测精度。
实施例2:
一种基于溯源聚类及图序列化的入侵检测系统,如图1所示,包括:
溯源信息采集模块,用于利用溯源数据建立用于表示用户行为的溯源图;
行为实例聚类模块,用于对溯源图中的节点进行聚类,得到与用户行为的多个实例一一对应的多个溯源子图;
溯源子图序列化模块,用于将行为实例对应的溯源子图进行序列化;
以及异常检测模块,用于将各行为实例对应的溯源子图序列化结果分别输入至已训练好的特征提取模型,得到各行为实例的特征向量,并将用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断用户行为的行为实例是否均为正常行为实例,若是,则判定用户行为为正常行为;否则,判定用户行为为入侵行为;
其中,特征提取模型为神经网络模型;规则库为正常行为实例的特征向量的集合;若行为实例的特征向量与规则库中各特征向量的最小差异度大于预设的检测阈值,则该行为实例为异常行为实例,否则为正常行为实例。;
本实施例中,各模块的具体实施方式可参考上述实施例1中的描述,在此将不作复述。
实施例3:
一种计算机可读存储介质,包括存储的计算机程序;
计算机程序被处理器执行时,控制计算机可读存储介质所在设备执行上述实施例1提供的基于溯源聚类及图序列化的入侵检测方法。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于溯源聚类及图序列化的入侵检测方法,其特征在于,包括:
利用溯源数据建立用于表示用户行为的溯源图,并对其中的节点进行聚类,得到与组成所述用户行为的行为实例一一对应的溯源子图;
将各行为实例对应的溯源子图序列化之后,分别输入至已训练好的特征提取模型,得到各行为实例的特征向量;
将所述用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断所述用户行为的行为实例是否均为正常行为实例,若是,则判定所述用户行为为正常行为;否则,判定所述用户行为为入侵行为;
其中,所述特征提取模型为神经网络模型;所述规则库为正常行为实例的特征向量的集合;若行为实例的特征向量与所述规则库中各特征向量的最小差异度大于预设的检测阈值,则该行为实例为异常行为实例,否则为正常行为实例。
2.如权利要求1所述的基于溯源聚类及图序列化的入侵检测方法,其特征在于,对所述溯源图中的节点进行聚类,包括:
(S1)计算各节点的重要度,并初始化各节点的状态为未标记;
(S2)计算未标记节点的平均重要度作为标记阈值,筛选出重要度高于所述标记阈值的未标记节点,若筛选出的节点数量为0,则转入步骤(S5);否则,对筛选出的节点进行标记后作为主动传播节点,并将各节点的ID作为标签;
(S3)按照重要度从大到小的顺序依次选取主动传播节点,每次选取主动传播节点后,向其未标记的相邻节点传播其标签,并对接收到标签的节点进行标记;
(S4)若经步骤(S3)标记的节点数量为0,则转入步骤(S2);否则,将步骤(S3)标记的节点作为主动传播节点,并将所接收到的标签作为对应节点的标签,转入步骤(S3);
(S5)将具有相同标签的节点及这些节点间的边作为一个溯源子图,得到与所述用户行为的多个行为实例一一对应的多个溯源子图。
3.如权利要求1所述的基于溯源聚类及图序列化的入侵检测方法,其特征在于,对溯源子图进行序列化,包括:
按照节点重要度从大到小的顺序对溯源子图中的节点进行排序后,取其中重要度最大的K个节点作为中心节点;对每一个中心节点分别执行邻域规范化步骤,以得到各中心节点对应的序列化结果,并组合为溯源子图的序列化结果;
所述邻域规范化步骤,包括如下步骤:
(T1)按照距离从近到远、相同距离下重要度从大到小的顺序,对中心节点及其子节点进行排序,得到中心节点的邻域;
(T2)若邻域大小L<K,则以重要度为0的虚拟节点填充邻域,使邻域大小为K;若邻域大小L>K,则对于所述邻域中的第2~K个节点,将其重要度更新为其自身重要度与其直接相邻节点的平均重要度之和,并舍弃第K个节点之后的节点;
(T3)提取领域中节点的重要度,构成序列,作为中心节点对应的序列化结果;
其中,K为正整数。
4.如权利要求2或3所述的基于溯源聚类及图序列化的入侵检测方法,其特征在于,对于任意一个节点p,其重要度SI(p)的计算方式为:
SI(p)=αA(p)+(1-α)H(p);
其中,A(p)和H(p)分别表示节点p的节点属性和节点依赖度,α表示节点属性占比。
5.如权利要求4所述的基于溯源聚类及图序列化的入侵检测方法,其特征在于,α=0.375。
7.如权利要求1~3任一项所述的基于溯源聚类及图序列化的入侵检测方法,其特征在于,所述检测阈值的确定方法包括:
(W1)获得由异常行为实例的特征向量构成的第一测试集,和由正常行为实例的特征向量构成的第二测试集,并计算所述第一测试集中各特征向量与所述规则库中各特征向量的差异度,将其中的最小差异度作为所述检测阈值的初始值;
(W2)分别利用所述检测阈值对所述第一测试集和所述第二测试集中的行为实例进行检测,以计算检测率和误检率;
(W3)逐渐调整所述检测阈值的取值,每次调整后,分别利用所述检测阈值对所述第一测试集和所述第二测试集中的行为实例进行检测,以计算检测率和误检率,并与上一次的计算结果进行对比,得到检测率变化量和误检率变化量,将检测率变化量和误检率变化量之间的差值,作为对应取值下的优化结果;若在当前取值下优化结果小于0,则将上一个取值确定为所述检测阈值的最终取值。
8.如权利要求1~3任一项所述的基于溯源聚类及图序列化的入侵检测方法,其特征在于,将所述用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断所述用户行为的行为实例是否均为正常行为实例,包括:
对于每一个行为实例,分别计算其特征向量与所述规则库中各特征向量之间的差异度,并找出其中的最小差异度;
对于所有的行为实例,从对应的最小差异度中找出最大值,若该最大值小于所述检测阈值,则判定所述用户行为的行为实例均为正常行为实例;否则,判定所述用户行为的行为实例中存在异常行为实例。
9.一种基于溯源聚类及图序列化的入侵检测系统,其特征在于,包括:
溯源信息采集模块,用于利用溯源数据建立用于表示用户行为的溯源图;
行为实例聚类模块,用于对所述溯源图中的节点进行聚类,得到与所述用户行为的多个实例一一对应的多个溯源子图;
溯源子图序列化模块,用于将行为实例对应的溯源子图进行序列化;
以及异常检测模块,用于将各行为实例对应的溯源子图序列化结果分别输入至已训练好的特征提取模型,得到各行为实例的特征向量,并将所述用户行为的各行为实例的特征向量分别与规则库中的特征向量进行比对,以判断所述用户行为的行为实例是否均为正常行为实例,若是,则判定所述用户行为为正常行为;否则,判定所述用户行为为入侵行为;
其中,所述特征提取模型为神经网络模型;所述规则库为正常行为实例的特征向量的集合;若行为实例的特征向量与所述规则库中各特征向量的最小差异度大于预设的检测阈值,则该行为实例为异常行为实例,否则为正常行为实例。
10.一种计算机可读存储介质,其特征在于,包括存储的计算机程序;
所述计算机程序被处理器执行时,控制所述计算机可读存储介质所在设备执行权利要求1~8任一项所述的基于溯源聚类及图序列化的入侵检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534563.5A CN114238958A (zh) | 2021-12-15 | 2021-12-15 | 一种基于溯源聚类及图序列化的入侵检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534563.5A CN114238958A (zh) | 2021-12-15 | 2021-12-15 | 一种基于溯源聚类及图序列化的入侵检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238958A true CN114238958A (zh) | 2022-03-25 |
Family
ID=80756322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111534563.5A Pending CN114238958A (zh) | 2021-12-15 | 2021-12-15 | 一种基于溯源聚类及图序列化的入侵检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238958A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710344A (zh) * | 2022-03-30 | 2022-07-05 | 华中科技大学 | 一种基于溯源图的入侵检测方法 |
CN115001866A (zh) * | 2022-08-01 | 2022-09-02 | 成都市以太节点科技有限公司 | 一种基于免疫机制的安全防护方法、电子设备及存储介质 |
CN115037561A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 一种网络安全检测方法和系统 |
CN115065556A (zh) * | 2022-07-28 | 2022-09-16 | 国网浙江省电力有限公司 | 一种基于图对比学习的日志恶意行为检测方法及系统 |
CN115086071A (zh) * | 2022-07-20 | 2022-09-20 | 中孚安全技术有限公司 | 一种基于日志因果溯源的数据窃取检测方法、系统及设备 |
CN115514580A (zh) * | 2022-11-11 | 2022-12-23 | 华中科技大学 | 一种自编码器溯源入侵检测方法及装置 |
CN116881903A (zh) * | 2023-07-14 | 2023-10-13 | 暨南大学 | 一种面向溯源图入侵检测的恶意行为子图分级提取方法及系统 |
-
2021
- 2021-12-15 CN CN202111534563.5A patent/CN114238958A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710344A (zh) * | 2022-03-30 | 2022-07-05 | 华中科技大学 | 一种基于溯源图的入侵检测方法 |
CN114710344B (zh) * | 2022-03-30 | 2022-12-02 | 华中科技大学 | 一种基于溯源图的入侵检测方法 |
CN115086071A (zh) * | 2022-07-20 | 2022-09-20 | 中孚安全技术有限公司 | 一种基于日志因果溯源的数据窃取检测方法、系统及设备 |
CN115086071B (zh) * | 2022-07-20 | 2022-12-06 | 中孚安全技术有限公司 | 一种基于日志因果溯源的数据窃取检测方法、系统及设备 |
CN115065556A (zh) * | 2022-07-28 | 2022-09-16 | 国网浙江省电力有限公司 | 一种基于图对比学习的日志恶意行为检测方法及系统 |
CN115065556B (zh) * | 2022-07-28 | 2022-11-22 | 国网浙江省电力有限公司 | 一种基于图对比学习的日志恶意行为检测方法及系统 |
CN115001866A (zh) * | 2022-08-01 | 2022-09-02 | 成都市以太节点科技有限公司 | 一种基于免疫机制的安全防护方法、电子设备及存储介质 |
CN115037561A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 一种网络安全检测方法和系统 |
CN115514580A (zh) * | 2022-11-11 | 2022-12-23 | 华中科技大学 | 一种自编码器溯源入侵检测方法及装置 |
CN116881903A (zh) * | 2023-07-14 | 2023-10-13 | 暨南大学 | 一种面向溯源图入侵检测的恶意行为子图分级提取方法及系统 |
CN116881903B (zh) * | 2023-07-14 | 2024-02-06 | 暨南大学 | 一种面向溯源图入侵检测的恶意行为子图分级提取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114238958A (zh) | 一种基于溯源聚类及图序列化的入侵检测方法及系统 | |
CN109871954B (zh) | 训练样本生成方法、异常检测方法及装置 | |
Dong et al. | An Intrusion Detection Model for Wireless Sensor Network Based on Information Gain Ratio and Bagging Algorithm. | |
CN107169323B (zh) | 一种基于布局簇图的安卓应用重打包检测方法 | |
CN111460472B (zh) | 一种基于深度学习图网络的加密算法识别方法 | |
CN110083531B (zh) | 改进个体信息共享的多目标路径覆盖测试方法及实现系统 | |
CN110166344B (zh) | 一种身份标识识别方法、装置以及相关设备 | |
CN109670318B (zh) | 一种基于核控制流图循环验证的漏洞检测方法 | |
CN105138916A (zh) | 基于数据挖掘的多轨迹恶意程序特征检测方法 | |
CN108628600B (zh) | 基于控制流分析的软件动态行为建模方法和装置 | |
CN109086291B (zh) | 一种基于MapReduce的并行异常检测方法及系统 | |
CN106682514B (zh) | 基于子图挖掘的系统调用序列特征模式集生成方法 | |
CN114422224A (zh) | 面向攻击溯源的威胁情报智能分析方法及系统 | |
Wu et al. | Efficient nonparametric subgraph detection using tree shaped priors | |
CN111770053B (zh) | 一种基于改进的聚类与自相似性的恶意程序检测方法 | |
CN112888008A (zh) | 基站异常检测方法、装置、设备及存储介质 | |
CN111491300A (zh) | 风险检测方法、装置、设备及存储介质 | |
CN104932870B (zh) | 一种对虚幻脚本的数据处理方法,及装置 | |
CN115859307A (zh) | 基于树型注意力和加权图匹配的相似漏洞检测方法 | |
CN115270136A (zh) | 一种基于二元组的漏洞克隆检测系统及方法 | |
CN111079145B (zh) | 基于图处理的恶意程序检测方法 | |
CN115454473A (zh) | 基于深度学习漏洞决策的数据处理方法及信息安全系统 | |
CN114143059A (zh) | 基于大数据信息安全的安全防护指标优化方法及ai系统 | |
CN115514580B (zh) | 一种自编码器溯源入侵检测方法及装置 | |
CN117473510B (zh) | 一种基于图神经网络和漏洞补丁关系的自动化漏洞挖掘技术 |
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 |