CN101976313B - 基于频繁子图挖掘的异常入侵检测方法 - Google Patents

基于频繁子图挖掘的异常入侵检测方法 Download PDF

Info

Publication number
CN101976313B
CN101976313B CN 201010285726 CN201010285726A CN101976313B CN 101976313 B CN101976313 B CN 101976313B CN 201010285726 CN201010285726 CN 201010285726 CN 201010285726 A CN201010285726 A CN 201010285726A CN 101976313 B CN101976313 B CN 101976313B
Authority
CN
China
Prior art keywords
subgraph
candidate
feature mode
system call
tabulation
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.)
Active
Application number
CN 201010285726
Other languages
English (en)
Other versions
CN101976313A (zh
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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN 201010285726 priority Critical patent/CN101976313B/zh
Publication of CN101976313A publication Critical patent/CN101976313A/zh
Application granted granted Critical
Publication of CN101976313B publication Critical patent/CN101976313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Alarm Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于频繁子图挖掘的异常入侵检测方法,属网络安全的入侵检测方法。本发明引入频繁子图挖掘理论,利用系统调用序列转化为有向图结构后所特有的衍生能力,能够以较小的训练数据规模获取数量可观且行之有效的衍生特征模式,较大程度地减少了离线学习过程对训练数据量的依赖,从而更易于应对实时检测中的各种情况。同时,经扩充的特征模式集具备识别未知程序行为的能力,能有效降低检测结果的误报率。

Description

基于频繁子图挖掘的异常入侵检测方法
技术领域
本发明涉及一种网络安全中的入侵检测方法,特别是将频繁子图挖掘理论与系统调用序列相结合来对网络中异常入侵进行检测的方法。
背景技术
随着计算机网络的迅猛发展,应用领域的日益广泛,计算机的安全问题受到人们越来越多的关注。入侵检测技术作为保护计算机安全的一种有效手段,已逐步发展成为计算机网络安全领域的核心研究方向。
系统进程执行时产生的系统调用序列中包含了进程的某些特定行为模式,提取并分析这些系统调用表现出的模式,并将该模式与进程实时产生的系统调用序列进行匹配,能够有效地监管特权程序活动及识别针对主机的异常入侵行为,是入侵检测的重要检测途径之一。
时延嵌入序列(Time Delay Embedding,TIDE)方法是最早利用系统调用检测入侵行为的方法。该方法利用定长短序列作为特征模式描述正常程序行为,将这些特征模式在检测轨迹中的匹配情况作为入侵评判的依据。该方法的出现引起了众多学者的关注,并得到了深入研究。目前,在特征模式集构建方法及检测手段上,众多基于系统调用序列的入侵检测研究都各具特色,多种数学模型的引入是其中一个重要特点,其中典型方法包括:隐马尔科夫模型,该模型是较早被引入的数学模型,众多学者已给出了较为详尽的评估与总结;对隐马尔科夫模型的扩展,如运用齐次马尔科夫链分析系统调用序列,通过检测序列与特征模式的相似度以鉴别是否为入侵行为,又如将隐马尔科夫模型与粗糙集理论相结合,以增强实际检测中某些模糊行为的模式匹配能力;以改进的有限自动机形式获取特征模式集,并以此构建入侵检测平台;引入层次化交错贝叶斯网络,旨在提高模式信息的完整性;其他如人工免疫、神经网络模型等也分别应用在基于系统调用序列的入侵检测上,并取得了一定的效果。
上述方法主要面临两方面的问题:
第一,离线训练数据量的选取。各种复杂数学模型的引入,导致目前绝大部分基于系统调用序列的入侵检测方法均采用离线学习的方式获取特征模式集,从而达到在线检测的目的。而这些方法均遵从一个预设的前提:离线学习所需的数据必须是充足而完备的,由此保证获取的特征模式集能够精准地刻画正常程序的行为。而在实际应用中,这个前提往往无法得以充分满足。
第二,特征模式长度的确定标准。一般情况下,特征模式越长,检测过程倾向于捕捉越多的异常行为,但模式精度过粗易于对正常行为产生误判,导致误报率增加;而特征模式越短,检测过程倾向于识别越多的正常行为,但模式精度过细难以对异常行为进行捕捉,导致漏报率增加。由于进程行为兼具规律性与随机性,因此,使用不定长特征模式刻画进程行为会更加合理。然而在方法上,不定长特征模式的获取存在一定难度,难以进行合理的权衡。
发明内容
本发明的目的在于提出并设计一种基于频繁子图挖掘的异常入侵检测方法,以降低检测结果的误报率。
本发明的目的是这样实现的:一种基于频繁子图挖掘的异常入侵检测方法,按以下方式进行:
检测方法的模型分为2个阶段:训练阶段和检测阶段;训练阶段用于完成特征模式集的构建;而检测阶段用于完成系统调用序列的匹配及特征模式集的更新;模型的参数配置部分用于设定训练阶段中特征子图挖掘方法及检测阶段中系统调用序列匹配方法所需的各种阈值;
1)采用特征子图挖掘方法进行特征模式集的构建:
将训练数据样本中的系统调用序列转换为有向图结构;再通过特征子图挖掘方法,发掘出具有代表性的候选子图结构;所挖掘的候选子图结构中,一部分为与系统调用序列相对应的原生候选子图,其余部分则是以当前系统调用序列为基础,由图结构衍生而来、用于检测未知程序行为的衍生候选子图;
最后,对所有的候选子图结构进行重复性的剪枝及扩展工作,经取舍以后,完成对特征模式集的构建;
在上述特征模式集构建的子图挖掘与剪枝工作中,通过子图特征值辅助判断衍生候选子图的衍生价值,最终决定将其舍弃还是保留并参与衍生过程;以及,在实际系统调用序列检测过程的特征模式匹配工作中,通过子图特征值辅助判断特征模式的选取,特征模式集中的各元素按特征值由高到低的顺序排列,其中,特征值较高的特征模式相应地具有较高的匹配权;
子图特征值设定如下:
C(GS)=Size(V(GS))*min(W(GS)),其中:
GS为待评估候选子图;
C(GS)为GS的子图特征值;
V(GS)为GS的非空有穷结点集;
Size(V(GS))为GS的结点集V(GS)中的结点个数,Size(V(GS))≥1;
W(GS)为GS的有向边权值集;
min(W(GS))为GS的有向边权值集W(GS)中的最小权值,min(W(GS))≥1;
上述所有的候选子图按以下规则进行剪枝:
规则1为特征模式集构建方法设定各种限制性阈值,其中:
①阈值BeamWidth:用于设定每层子图扩展所需处理的候选子图数量上限。在扩展过程中,如果候选子图数量达到该扩展域宽上限,则对所有的候选子图依照特征值留大弃小的原则进行取舍;
②阈值MaxSubSize:用于设定候选子图结点数目上限,即应满足Size(V(GS))≤MaxSubSize;
③阈值MinSubSize:用于设定候选子图结点数目下限,即应满足Size(V(GS))≥MinSubSize;
④阈值MinChValue:用于设定候选子图特征值下限,即应满足C(GS)≥MinChValue。如果当前候选子图的特征值低于该下限,表明该子图不具备足够的衍生价值,不能参与下一层的衍生过程;
⑤阈值MaxBest:用于设定特征模式集规模上限;一旦超过该上限,取舍原则同阈值BeamWidth中的设定;
⑥阈值LoopLimit:用于限制子图扩展层数;
规则2忽略子图扩展过程中产生的所有不可序列化子图;
规则3在进行子图扩展时,只考虑待扩展结点的出边,忽略其入边;
上述子图扩展方法为:每次扩展添加一个结点,及该结点所有的相应边,或者,每次扩展仅仅添加一条边;
2)在模型的检测阶段,采用系统调用序列匹配方法:
首先,设置检测窗口阈值,以限制局部检测范围,然后重复如下过程:依次读入窗口序列中的单体系统调用,构成待检项,并与相应的特征模式进行匹配,完成窗口序列的局部匹配过程,将检测窗口顺移,准备下一次局部匹配过程,直至全部系统调用序列匹配完毕;并且,结合系统调用序列及图形式下的特征模式各自的特性,在检测过程中减少待检项匹配次数,降低整体匹配时耗;以及在进行特征模式匹配工作的同时,记录衍生特征模式成功匹配而被采纳的情况,检测结束后,根据该记录将被采纳的衍生特征模式转化为原生特征模式,完成对特征模式集的更新,并同时剔除长期未被采纳的冗余衍生特征模式,精简特征模式集规模,从而进一步提升检测效率。
本发明针对传统的基于系统调用序列的异常入侵检测方法中离线学习过程对训练数据量过于依赖的问题,引入频繁子图挖掘理论,利用系统调用序列转化为有向图结构后所特有的衍生能力,能够以较小的训练数据获取数量可观且行之有效的衍生特征模式,较大程度地减少了离线学习过程对训练数据量的依赖,从而更易于应对实时检测中的各种情况。
本发明的有益效果是:利用经衍生特征模式扩充的特征模式集,保证在训练数据缺乏,训练时间仓促的情况下,依然能够获取尽可能精确的特征模式集,有效提高对未知程序行为的鉴别能力。
本发明的特点和优点将结合具体实施方式作进一步阐述。
附图说明
图1是本发明基于频繁子图挖掘的异常入侵检测模型图;
图2、图3、图4、图5分别是本发明四种不可序列化子图;
图6是本发明经数据预处理得到的有向图结构示意图;
图7是本发明特征子图挖掘方法(即PatternsMining算法)的程序流程图;
图8、图9分别是本发明两种序列片段图;
图10是本发明有向图片段示意图;
图11是本发明图结构中的各种循环调用关系图;
图12是本发明特征模式表达能力提升示意图;
图13是本发明正常序列的局部匹配结果示意图;
图14是本发明异常序列的局部匹配效果示意图;
图15是本发明衍生特征模式被采纳情况示意图。
具体实施方式
本发明检测模型及基本思想:
传统的基于系统调用序列的入侵检测方法,无论是最初单纯对调用序列的研究,还是之后隐马尔科夫或人工免疫等数学模型的引入,其核心思想基本未曾发生改变,均为枚举匹配方法。枚举匹配方法对原始的系统调用序列以各种预设的形式进行划分,最终将符合要求的序列片段——称之为系统调用短序列——作为最基本的数据处理单位,并归入特征模式集。所以,尽管在构建入侵检测模型时所采用的技术手段各具特色,但大部分传统方法所获取的特征模式具有不可避免的局限性,即仅仅体现了某段已经训练的系统调用序列的局部特性。同时,一旦遭遇训练时间不足,训练数据匮乏,或被检程序因各种随机因素产生不确定系统调用序列的情况,既有的特征模式集将因其在完备性上的缺陷,不足以完成对被检序列中正常程序行为的精准刻画,也不具备对未知程序行为的匹配能力,从而导致检测误报率相应提升。
为了使入侵检测系统愈趋完善,将数据挖掘技术引入到入侵检测系统中是一个重要趋势。数据挖掘技术能够从大量数据中抽取出研究人员感兴趣的知识和规律,同时又摒弃了专家系统和统计方法所固有的缺点——对经验的过分依赖。
与其他数据结构相比,图能够表达更加丰富的语义,且图论作为数学领域的一个重要分支,具有较长的研究历史及成熟完备的理论支持。因此,基于图的数据挖掘技术成为近期兴起的热点研究领域,并迅速被广泛应用于生物、化学、国防等领域。它主要用于挖掘图数据的规律,其中一个重要研究方向就是图的子结构挖掘。
本发明将频繁子图挖掘理论与系统调用序列相结合,构建的基于频繁子图挖掘的异常入侵检测模型如图1所示。
模型由模型的训练阶段的数据预处理工作开始,将训练数据样本中的系统调用序列转换为有向图结构(即系统调用总图),从而使各系统调用间的关系,无论是序列中既有的(局部性的)或是序列中原本不存在的(全局性的)都能在图中得以结构化的体现。再通过子图挖掘技术,则可以发掘出具有代表性的候选子图结构。其中,一部分候选子图与传统方法中获取的系统调用短序列相对应,称之为原生候选子图。原生候选子图体现了局部性的系统调用关系,能够刻画当前系统调用序列的特定行为模式;而另一部分则以当前系统调用序列为基础,由图结构衍生而来,称之为衍生候选子图。衍生候选子图体现了全局性的系统调用关系,具备检测未知程序行为的价值和能力。最后,对所有的候选子图结构进行重复性的剪枝及再扩展工作,经过合理的取舍之后,完成对特征模式集的构建。
在模型的检测阶段,本发明采用目前惯用的系统调用序列匹配方法。首先,设置检测窗口阈值,以限制局部检测范围。然后重复如下过程:依次读入窗口序列中的单体系统调用,构成待检项,并与相应的特征模式进行匹配;完成窗口序列的匹配,将检测窗口顺移,准备下一次局部匹配过程,直至全部系统调用序列匹配完毕。同时,由于在特征模式集构建方法上的差异,本发明对上述方法进行了两点改进及延展:
第一,结合系统调用序列及图形式下的特征模式各自的特性,在检测过程中减少待检项匹配次数,降低整体匹配时耗。
第二,在进行特征模式匹配工作的同时,记录衍生特征模式被采纳的情况。检测结束后,根据该记录将被采纳的衍生特征模式转化为原生特征模式,完成对特征模式集的更新。同时,剔除长期未被采纳的冗余衍生特征模式,精简特征模式集规模,从而进一步提升检测效率。
虽然各种数据挖掘技术在入侵检测系统中得到了广泛的应用,但将频繁子图挖掘理论与系统调用序列相结合的研究却尚未见诸报道。本发明构建的基于频繁子图挖掘的异常入侵检测模型能够挖掘出原始系统调用序列中隐藏的全局性的系统调用关系,因而,提取的特征模式集更精准而完备,也更具合理性。其中的衍生特征模式能够对特征模式集进行较大幅度且富有成效地扩充,使离线学习过程较大限度地摆脱对训练数据量的依赖。同时,经扩充的特征模式集具备识别未知程序行为的能力,能够有效降低检测结果的误报率。此外,快速的特征模式匹配能力及简洁的特征模式表达能力也是本方法的显著特色。
本发明的方法描述:
1、相关概念及定义:
在介绍具体的方法之前,首先给出相关概念及定义:
定义1:系统调用序列S:指进程在实际运行过程中产生的,并由系统调用捕捉程序获取的,所有系统调用的有序集合。S是进程运行轨迹及其包含的所有行为模式的体现。
定义2:系统调用序列片段S’:指系统调用序列S以某种预设的形式进行划分后,其中的某一序列片段,即
Figure GSB00000779409100071
S’又称为系统调用短序列,是进程运行轨迹中某一特定行为模式的体现。
定义3:系统调用总图G:指系统调用序列S经数据预处理后产生的有向图。G为一个三元组,即G=<V,E,W>。其中:
V为系统调用总图G中非空有穷结点集,V={labeli},labeli为相应系统调用的标号,i∈{1,2,…,n}。V中元素与系统调用一一对应。
E为系统调用总图G中有向边集,E={elabel ilabel j},elabel ilabel j为结点labeli到结点labelj的边,i,j∈{1,2,…,n}。E中元素与系统调用序列S中相邻系统调用对的先后关系一一对应。
W为系统调用总图G中有向边权值集,W={wlabel ilabel j},wlabel ilabel j为对应边elabel ilabel j的权值,代表系统调用labeli→labelj在系统调用序列S中出现的次数,i,j∈{1,2,…,n}。W中元素与E中相应边一一对应。
定义4:子图特征值C:指与该子图相对应的系统调用序列片段S’所反映出的进程运行时的正常程度。C值越大,说明该子图越趋于表征一个正常的进程行为;否则,说明该子图越趋于表征一个异常的进程行为。
定义5:候选子图GS:指在特征模式抽取过程中产生的任意连通子图。GS为一个四元组,即GS=<V,E,W,C>。其中:V、E、W的涵义与系统调用总图G中相应定义相同;C为候选子图GS的特征值。
定义6:原生特征模式GN:指与系统调用序列S中原本存在的、具有系统调用序列S局部特性的某种调用关系相对应的,并以图结构形式表征的特征模式。GN可以与系统调用序列S中的某一序列片段S’相互转化,即
定义7:衍生特征模式GD:指以系统调用序列S在转化为图结构后所展现出的全局特性为基础,通过子图挖掘过程衍生出来的,并以图结构形式表征的特征模式。GD不与系统调用序列S中任何一种调用关系相对应,即
Figure GSB00000779409100073
定义8:可序列化子图GSeqable:指在特征模式抽取过程中产生的边可遍历子图。可序列化子图与系统调用序列间可以相互转换。
定义9:不可序列化子图GUnSeqable:指在特征模式抽取过程中产生的边不可遍历子图。不可序列化子图与系统调用序列间不可以相互转换,是子图挖掘结果中无意义、无价值的衍生产物,故不能归入最终的特征模式集,需要对其进行剪枝。图2~5所示子图均为不可序列化子图。
数据预处理:
数据预处理过程首先将各个单体系统调用序列以某种特定形式符号化,然后按照进程实际运行时产生的系统调用的先后顺序,将其转换成有向图。以linux系统下sendmail邮件服务器各进程的统一启动流程为例,经过数据预处理过程后,转化结果如图6所示。
图中每个结点代表一个系统调用,结点标签与该系统调用所预设的符号相对应,结点间的有向连线则体现了各个系统调用间的先后顺序。
子图特征值设定:
在本发明中,子图特征值具有两个主要作用:
1、在特征模式集构造方法的子图挖掘与剪枝工作中,用于辅助判断衍生候选子图的衍生价值,即其所表征的程序行为的正常程度,最终决定将其舍弃还是保留并参与再衍生过程。
2、在实际系统调用序列检测过程的特征模式匹配工作中,用于辅助判断特征模式的选取。特征模式集中的各元素以特征值由高到低的顺序排列,因此特征值较高的特征模式相应地具有较高的匹配权。
其中,尽管子图特征值不直接作为判断进程行为正常与否的标准,但定义良好的子图特征值设定能够在保证所获取的衍生特征模式尽量与原系统调用序列相贴近的情况下,具有更高的衍生价值。同时,也对检测过程中的误报、漏报情况具有良性的影响。
根据多次实验及结果分析,本发明采用如下子图特征值设定:
C(GS)=Size(V(GS))*min(W(GS)),其中:
GS为待评估候选子图;
C(GS)为GS的子图特征值;
V(GS)为GS的非空有穷结点集;
Size(V(GS))为GS的结点集V(GS)中的结点个数,Size(V(GS))≥1;
W(GS)为GS的有向边权值集;
min(W(GS))为GS的有向边权值集W(GS)中的最小权值,min(W(GS))≥1;
依照上述设定,对于结点数目较少的候选子图,仅当该子图所对应的系统调用短序列在训练样本数据中频繁出现时,才会具有较高的子图特征值;对于与出现频度较低的系统调用短序列相对应的候选子图,即使其结点数目较多,依然会具有相应较低的子图特征值;而结点数目较小,且相应出现频度又较低的候选子图,则倾向于表征一种非惯用的,或者程序运行时偶然发生的错误的程序行为。该设定能够依照系统调用序列自身的不同情况,自动衡量特征模式长度的取舍,从而减小因特征模式过长或过短而引发的对检测结果误报率及漏报率的负面影响。同时,也为衍生特征模式的提取提供了良好的衍生基础。
子图扩展方法:
对于待扩展的候选子图GS,采用如下两种不同扩展方法:
方法1:每次扩展添加一个结点labeli,及该结点所有的相应边elabel jlabel i。其中,
labelj∈V(GS);
labeli∈(V(G)-V(GS));
elabel jlabel i∈(E(G)-E(GS));
方法2每次扩展仅仅添加一条边elabel ilabel j。其中,
elabel ilabel j∈(E(G)-E(GS));
labeli,labelj∈V(GS);
子图剪枝规则:
目前,无论采取何种子图挖掘方法,都可能会产生冗余候选子图。如果置之不理,将导致每层子图扩展所需处理的数据量以指数级递增,严重影响挖掘效率。此外,扩展过程中产生的某些衍生候选子图具有较低的子图特征值,代表了一种非惯用甚至可能为异常的程序行为。这些候选子图的引入等于为后续的扩展过程增加了噪声,势必会影响离线学习及实际检测结果的准确率。因此,必须对生成的候选子图进行合理而有效的剪枝。综合考虑有向图结构自身特性与系统调用检测需求,主要采用如下剪枝规则:
规则1为特征模式集构造方法设定各种限制性阈值,其中:
(1)阈值BeamWidth:用于设定每层子图扩展所需处理的候选子图数量上限。在扩展过程中,如果候选子图数量达到该扩展域宽上限,则对所有的候选子图依照特征值留大弃小的原则进行取舍;
(2)阈值MaxSubSize:用于设定候选子图结点数目上限,即应满足Size(V(GS))≤MaxSubSize;
(3)阈值MinSubSize:用于设定候选子图结点数目下限,即应满足Size(V(GS))≥MinSubSize;
(4)阈值MinChValue:用于设定候选子图特征值下限,即应满足C(GS)≥MinChValue。如果当前候选子图的特征值低于该下限,表明该子图不具备足够的衍生价值,不能参与下一层的衍生过程;
(5)阈值MaxBest:用于设定特征模式集规模上限。一旦超过该上限,取舍原则同阈值BeamWidth中的设定;
(6)阈值LoopLimit:用于限制子图扩展层数。
规则2忽略子图扩展过程中产生的所有不可序列化子图GUnSeqable
规则3在进行子图扩展时,只考虑待扩展结点的出边,忽略其入边。
特征模式集构造方法:
目前,频繁子图挖掘领域中已经存在诸多高效的算法,但由于应用的对象及问题背景的不同,这些算法的实际效果也具有极大的差异。Diane J.Cook等人提出了一种通用的频繁子图挖掘算法——Subdue算法。随后,Padmanabhan等人针对Subdue算法中数据处理规模的可控性进行了有效的扩展。本发明以此为基础,设计出适用于基于系统调用序列的异常入侵检测系统的特征子图挖掘算法——PatternsMining算法。
PatternsMining算法以符合阈值MinSubSize限定的所有候选子图的集合作为特征模式挖掘的起点,对初始候选子图集进行逐层扩展、剪枝及衍生操作,并将获取的特征模式划分为原生特征模式和衍生特征模式两种。算法流程图如图7所示。
PatternsMining算法的详细步骤如下:
第1步,通过数据预处理过程,将系统调用序列S转换为系统调用总图G;
第2步,创建待扩展候选子图列表、扩展候选子图列表、特征模式集列表,置其为空;创建扩展次数变量,置其为0值;
第3步,获取所有长度以阈值MinSubSize限定的原生候选子图,并以此完成对待扩展候选子图列表的初始化,其中的任一项称为父子图结构;
第4步,将待扩展候选子图列表的各项依照特征值降序插入到特征模式集列表中。如果特征模式集列表中特征模式数目超出阈值MaxBest的限定,则移除特征模式集列表中从末尾起的第一个非原生特征模式;
第5步,移除待扩展候选子图列表头部的父子图结构;
第6步,依照本发明中的子图扩展方法,对该父子图结构进行扩展,扩展结果称之为子子图结构;
第7步,如果子图结构的结点数大于阈值MaxSubSize限定,跳至第十步;
第8步,如果子子图结构为衍生候选子图,但不能通过本发明中的子图剪枝规则,则抛弃该子子图结构,跳至第十步;
第9步,计算子子图结构的特征值,并将其依照特征值降序插入到扩展候选子图列表中。如果扩展候选子图列表中子图数目超出阈值BeamWidth限定,则移除扩展候选子图列表中从末尾其的第一个非原生候选子图;
第10步,如果通过父子图结构能够扩展出其他子子图结构,回到第六步;
第11步,如果待扩展候选子图列表不为空,回到第五步;
第12步,将待扩展候选子图列表和扩展候选子图列表中内容进行互换;
第13步,如果扩展次数变量没有超出阈值LoopLimit限定,并且待扩展候选子图列表不为空,回到第四步;
第14步,将特征模式集列表作为最终结果返回,算法至此结束。
总体上,PatternsMining算法(即特征子图挖掘方法)本质上属于贪心算法。外层循环用于扩展候选子图集层次,内层循环则用于挖掘当前层次中局部最优子结构,最终得到整体近似最优解。结合子图剪枝规则,PatternsMining算法具有线性级的时间复杂度。
系统调用序列匹配及特征模式集更新:
本发明采用的系统调用序列匹配方法与目前惯用的检测手段差异不大,且其基本思想及特征模式集更新过程已于检测模型及基本思想一节中予以了较为详尽的介绍,故在此均不再赘述
与传统方法的对比及总结:
相对于传统的异常入侵检测模型构建方法,本发明方法主要具有如下特色:
1、较强的特征模式衍生能力
图结构丰富的语义表达能力决定了其强大的特征模式衍生能力。将系统调用序列转化为有向图结构后,序列形式下无法展现的全局性调用关系得以结构化地展现,为特征模式的衍生奠定了基础。
例如,假设在某训练数据样本中存在两个序列片段,分别如图8~9所示。
其中,A、B、C分别为相应系统调用的标号,且系统调用序列中不存在
Figure GSB00000779409100122
的调用关系。将系统调用序列转化为有向图结构后,系统调用关系
Figure GSB00000779409100123
Figure GSB00000779409100124
不再作为进程的局部行为孤立存在,而是融成一个整体(如图10所示),从而衍生出新的系统调用关系
Figure GSB00000779409100125
本发明正是利用这一特性,结合子图剪枝规则,实现对特征模式集的大幅且有效的扩充,从而减小离线学习过程对训练数据量的依赖性。
2、快速的特征模式匹配能力
通过对系统调用序列的研究发现,经入侵的系统调用序列具有以下特征:
特征1:正常行为仍构成系统调用序列的绝大部分成分;异常行为往往“体积”较小,且较为“孤立”,零散地分布在系统调用序列中。
特征2:在正常行为当中,各种特定行为模式的自身、交叉、嵌套循环往往占据相当一部分比例,平均约为系统调用序列的40%以上。
由特征1可知,如何快速“跳”过正常行为部分,直接定位到异常行为部分,是提高特征模式匹配速度的关键;而特征2则为上述目标提供了一条行之有效的途径。在本发明方法中,特征2中提及的各种循环将以如图11所示的形式得以展现。
其中,实线箭头连接所有参与循环的系统调用,表示一个基本循环;虚线箭头表示基本循环中可能存在的各种自身、交叉或嵌套循环。
在实际检测中,本发明方法在转向下一个待检项之前,首先检查后续结点是否包含在当前特征模式子图中,借此完成对整个循环序列的匹配。由于不必像传统方法那样产生一个待检项,则查找一次特征模式集,且特征模式子图中结点数目远远小于特征模式集规模,本发明方法可以有效地提高实际检测速度。
简洁的特征模式表达能力:
以图形式表征的特征模式具有简洁而完整的表达能力。考虑系统调用关系
Figure GSB00000779409100131
Figure GSB00000779409100132
Figure GSB00000779409100133
假设原系统调用中存在二者自身的循环调用或交叉循环调用(如上文所述,各种循环调用情况往往在系统调用序列中占据很大比例)。以传统的定长特征模式获取方法为例,如果将模式长度取值为3,则两种关系将分别产生3个特征模式;而将结点数取值为3的子图结构则仅分别对应于1个特征模式,且如果在特征模式挖掘过程中采纳如图12所示的衍化结果,相应特征模式的表达能力则得到进一步地提升。
不难发现,图结构形式下的特征模式所具备的匹配能力和表达能力均以其衍生能力为基础。
最后,由表1给出本发明方法与传统的定长模式、变长模式方法之间的简要对比与总结。
表1本发明方法与传统方法间的对比总结
  检测方法   衍生模式   模式长度   序列匹配   匹配速度
  传统定长模式   无   定长   定长匹配   较快
  传统变长模式   无   变长   固定变长匹配   快
  本发明方法   有   变长   灵活变长匹配   较快
在表2中描述了本发明方法中采用的实验数据集的简要信息。该实验数据集由sendmail守护进程分别在正常运行及遭受入侵情况下所产生的各种系统调用序列组成,源自美国新墨西哥大学(UNM)计算机科学实验室,目前已被广泛应用于基于系统调用序列的入侵监测系统研究当中。
在本发明方法验证过程的训练阶段,其中涉及的各阈值均采用如下设定:阈值MinSubSize限定为5,阈值MaxSubSize限定为8,阈值MinChValue限定为60,阈值BeamWidth、MaxBest及LoopLimit不做限制;而检测阶段采用目前惯用的检测方法,局部匹配时设定检测窗口(Window Size)大小为20,全局匹配时对检测窗口大小不做限制。
实验一:
具体操作:取bounce系列样本作为训练数据;取plus样本作为被检数据,为了便于对比,将其按序列长度平均划分为10段,用于验证衍生特征模式的衍生价值,即其对正常被检数据误报率的影响。局部匹配结果如图13所示,全局匹配结果如表3所示。
结果分析:在衍生特性所必需的单体系统调用数目完备的情况下,无论对于局部匹配,还是对于全局匹配,采用衍生特征模式都能够较大幅度地提高正常系统调用序列的匹配率,相应地,降低了正常系统调用序列被误报的可能。
实验二:
具体操作:取sendmail特权进程所有正常数据样本的约20%作为训练数据,用于产生较大规模的特征模式集;取所有异常数据样本作为被检数据,用于验证在较大特征模式集规模的情况下,其中的衍生特征模式是否具有负面作用,即其对异常被检数据漏报率的影响。局部匹配结果如图14所示。
结果分析:在采用衍生特征模式的情况下,异常数据样本fwd-loops-2的匹配率有所提升,但远未超出异常序列匹配阈值;而其他异常数据样本的匹配率均未发生变化。结合实验1可知,衍生特征模式能够保证在较大幅度降低正常系统调用序列误报率的情况下,不会对异常系统调用序列的漏报率产生显著影响。
实验三:
具体操作:取bounce系列样本作为训练数据,用模拟训练数据不足的情况,并记录特征模式集中不同特征模式的原始比重;取plus样本作为被检数据,用于模拟实际检测中,衍生特征模式被采纳及转化情况。衍生特征模式被采纳情况如图15所示,不同特征模式原始比重及转化情况如表4所示。
结果分析:通过本发明方法获取的特征模式集中,衍生特征模式占据较大比重。结合实验1可知,当训练数据不足时,衍生特征模式能够对特征模式集进行较为显著且富有成效的扩充,减小离线学习过程对训练数据量的依赖。且图15中的转化曲线并没有在达到一定的序列长度后趋于稳定,而是处于一种持续上升的状态,即随着更多被检序列的加入,表4中的转化幅度必将相应提升。
表2实验数据描述
Figure GSB00000779409100141
表3正常序列的全局匹配结果
Figure GSB00000779409100152
表4不同特征模式原始比重及转化情况
  特征模式类型   转化前数目   所占比重   转化后数目   转化幅度
  原生特征模式   714   42.45%   886   +24.09%
  衍生特征模式   968   57.55%   796   -17.56%

Claims (2)

1.一种基于频繁子图挖掘的异常入侵检测方法,其特征是:按以下方式进行:
检测方法的模型分为2个阶段:训练阶段和检测阶段;训练阶段用于完成特征模式集的构建;而检测阶段用于完成系统调用序列的匹配及特征模式集的更新;模型的参数配置部分用于设定训练阶段中特征子图挖掘方法及检测阶段中系统调用序列匹配方法所需的各种阈值;
1)采用特征子图挖掘方法进行特征模式集的构建:
将训练数据样本中的系统调用序列转换为有向图结构;再通过特征子图挖掘方法,发掘出具有代表性的候选子图结构;所挖掘的候选子图结构中,一部分为与系统调用序列相对应的原生候选子图,其余部分则是以当前系统调用序列为基础,由图结构衍生而来、用于检测未知程序行为的衍生候选子图;
最后,对所有的候选子图结构进行重复性的剪枝及扩展工作,经取舍以后,完成对特征模式集的构建;
在上述特征模式集构建的子图挖掘与剪枝工作中,通过子图特征值辅助判断衍生候选子图的衍生价值,最终决定将其舍弃还是保留并参与衍生过程;以及,在实际系统调用序列检测过程的特征模式匹配工作中,通过子图特征值辅助判断特征模式的选取,特征模式集中的各元素按特征值由高到低的顺序排列,其中,特征值较高的特征模式相应地具有较高的匹配权;
子图特征值设定如下:
C(Gs)=Size(V(Gs))*min(W(Gs)),其中:
Gs为待评估候选子图;
C(Gs)为Gs的子图特征值;
V(Gs)为Gs的非空有穷结点集;
Size(V(Gs))为Gs的结点集V(Gs)中的结点个数,Size(V(Gs))≥1;
W(Gs)为Gs的有向边权值集;
min(W(Gs))为Gs的有向边权值集W(Gs)中的最小权值,min(W(Gs))≥1;
上述所有的候选子图按以下子图剪枝规则进行剪枝:
规则1为特征模式集构建方法设定各种限制性阈值,其中:
①阈值BeamWidth:用于设定每层子图扩展所需处理的候选子图数量上限;在扩展过程中,如果候选子图数量达到该扩展域宽上限,则对所有的候选子图依照特征值留大弃小的原则进行取舍;
②阈值MaxSubSize:用于设定候选子图结点数目上限,即应满足Size(V(Gs))≤MaxSubSize;
③阈值MinSubSize:用于设定候选子图结点数目下限,即应满足Size(V(Gs))≥MinSubSize;
④阈值MinChValue:用于设定候选子图特征值下限,即应满足C(Gs)≥MinChValue;如果当前候选子图的特征值低于该下限,表明该子图不具备足够的衍生价值,不能参与下一层的衍生过程;
⑤阈值MaxBest:用于设定特征模式集规模上限;一旦超过该上限,取舍原则同阈值BeamWidth中的设定;
⑥阈值LoopLimit:用于限制子图扩展层数;
规则2忽略子图扩展过程中产生的所有不可序列化子图;
规则3在进行子图扩展时,只考虑待扩展结点的出边,忽略其入边;
上述子图扩展方法为:每次扩展添加一个结点,及该结点所有的相应边,或者,每次扩展仅仅添加一条边;
2)在模型的检测阶段,采用系统调用序列匹配方法:
首先,设置检测窗口阈值,以限制局部检测范围,然后重复如下过程:依次读入窗口序列中的单体系统调用,构成待检项,并与相应的特征模式进行匹配,完成窗口序列的局部匹配过程;将检测窗口顺移,准备下一次局部匹配过程,直至全部系统调用序列匹配完毕;并且,结合系统调用序列及图形式下的特征模式各自的特性,在检测过程中减少待检项匹配次数,降低整体匹配时耗;以及在进行特征模式匹配工作的同时,记录衍生特征模式成功匹配而被采纳的情况,检测结束后,根据该记录将被采纳的衍生特征模式转化为原生特征模式,完成对特征模式集的更新,并同时剔除长期未被采纳的冗余衍生特征模式,精简特征模式集规模,从而进一步提升检测效率;上述原生特征模式是指与系统调用序列中原本存在的、具有系统调用序列局部特征的某种调用关系,相对应的,并以图结构形式表征的特征模式;衍生特征模式是指以系统调用序列在转化为图结构后所展现出的全局特性为基础,通过子图挖掘过程衍生出来的,并以图结构形式表征的特征模式。
2.根据权利要求1所述基于频繁子图挖掘的异常入侵检测方法,其特征是:所述特征子图挖掘方法如下:
第1步,通过数据预处理过程,将系统调用序列转换为系统调用总图;
第2步,创建待扩展候选子图列表、扩展候选子图列表、特征模式集列表,置其为空;创建扩展次数变量,置其为0值;
第3步,获取所有长度以阈值MinSubSize限定的原生候选子图,并以此完成对待扩展候选子图列表的初始化,其中的任一项称为父子图结构;
第4步,将待扩展候选子图列表的各项依照特征值降序插入到特征模式集列表中;如果特征模式集列表中特征模式数目超出阈值MaxBest的限定,则移除特征模式集列表中从末尾起的第一个非原生特征模式;
第5步,移除待扩展候选子图列表头部的父子图结构;
第6步,依照所述的子图扩展方法,对该父子图结构进行扩展,扩展结果称之为子子图结构;
第7步,如果子子图结构的结点数大于阈值MaxSubSize限定,跳至第十步;
第8步,如果子子图结构为衍生候选子图,但不能通过所述子图剪枝规则,则抛弃该子子图结构,跳至第十步;
第9步,计算子子图结构的特征值,并将其依照特征值降序插入到扩展候选子图列表中;如果扩展候选子图列表中子图数目超出阈值BeamWidth限定,则移除扩展候选子图列表中从末尾起的第一个非原生候选子图;
第10步,如果通过父子图结构能够扩展出其他子子图结构,回到第六步;
第11步,如果待扩展候选子图列表不为空,回到第五步;
第12步,将待扩展候选子图列表和扩展候选子图列表中内容进行互换;
第13步,如果扩展次数变量没有超出阈值LoopLimit限定,并且待扩展候选子图列表不为空,回到第四步;
第14步,将特征模式集列表作为最终结果返回,算法至此结束。
CN 201010285726 2010-09-19 2010-09-19 基于频繁子图挖掘的异常入侵检测方法 Active CN101976313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010285726 CN101976313B (zh) 2010-09-19 2010-09-19 基于频繁子图挖掘的异常入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010285726 CN101976313B (zh) 2010-09-19 2010-09-19 基于频繁子图挖掘的异常入侵检测方法

Publications (2)

Publication Number Publication Date
CN101976313A CN101976313A (zh) 2011-02-16
CN101976313B true CN101976313B (zh) 2012-09-26

Family

ID=43576198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010285726 Active CN101976313B (zh) 2010-09-19 2010-09-19 基于频繁子图挖掘的异常入侵检测方法

Country Status (1)

Country Link
CN (1) CN101976313B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096719A (zh) * 2011-02-18 2011-06-15 中国科学院计算技术研究所 一种基于图的存储模式挖掘方法
CN102411687B (zh) * 2011-11-22 2014-04-23 华北电力大学 未知恶意代码的深度学习检测方法
CN103971054A (zh) * 2014-04-25 2014-08-06 天津大学 一种基于行为序列的浏览器扩展漏洞的检测方法
CN105426764A (zh) * 2015-11-16 2016-03-23 北京航空航天大学 一种基于子模优化的并行异常子图检测方法与系统
CN106446161B (zh) * 2016-09-23 2019-10-01 中山大学 一种使用Hadoop的极大频繁子图挖掘方法
CN106682514B (zh) * 2016-12-15 2020-07-28 哈尔滨工程大学 基于子图挖掘的系统调用序列特征模式集生成方法
CN107135093B (zh) * 2017-03-17 2020-05-05 西安电子科技大学 一种基于有限自动机的物联网入侵检测方法及检测系统
CN109271288B (zh) * 2017-07-17 2021-09-21 展讯通信(上海)有限公司 处理器硅前性能评估方法
CN107992426A (zh) * 2017-12-26 2018-05-04 河南工业大学 一种基于频繁子图挖掘的软件错误定位方法及处理装置
CN108762908B (zh) * 2018-05-31 2021-12-07 创新先进技术有限公司 系统调用异常检测方法及装置
CN110334508B (zh) * 2019-07-03 2021-01-05 广东省信息安全测评中心 一种主机序列入侵检测方法
CN111415168B (zh) * 2020-03-06 2023-08-22 中国建设银行股份有限公司 一种交易告警的方法和装置
CN112395198B (zh) * 2020-11-19 2022-04-22 东北大学 一种基于区分子图挖掘的软件缺陷发现方法
CN112418200B (zh) * 2021-01-25 2021-04-02 成都点泽智能科技有限公司 基于热成像的对象检测方法、装置及服务器
CN113434747A (zh) * 2021-06-09 2021-09-24 佳源科技股份有限公司 一种基于序列模式的异常行为跟踪装置及方法
CN113239110A (zh) * 2021-06-11 2021-08-10 国网甘肃省电力公司电力科学研究院 一种面向新能源大数据的异常检测方法
CN115018280A (zh) * 2022-05-24 2022-09-06 支付宝(杭州)信息技术有限公司 风险图模式的挖掘方法、风险识别方法及对应装置
CN115296857A (zh) * 2022-07-12 2022-11-04 四川大学 基于拓扑结构和DeepLearning-AIS的网络威胁感知及免疫方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0985995A1 (en) * 1998-09-09 2000-03-15 International Business Machines Corporation Method and apparatus for intrusion detection in computers and computer networks
CN1649312A (zh) * 2005-03-23 2005-08-03 北京首信科技有限公司 基于序列模式挖掘的程序级入侵检测系统和方法
CN101252440A (zh) * 2008-04-02 2008-08-27 电子科技大学 基于固有子序列模式分解的网络入侵检测方法
CN101789931A (zh) * 2009-12-31 2010-07-28 暨南大学 一种基于数据挖掘的网络入侵检测系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0985995A1 (en) * 1998-09-09 2000-03-15 International Business Machines Corporation Method and apparatus for intrusion detection in computers and computer networks
CN1649312A (zh) * 2005-03-23 2005-08-03 北京首信科技有限公司 基于序列模式挖掘的程序级入侵检测系统和方法
CN101252440A (zh) * 2008-04-02 2008-08-27 电子科技大学 基于固有子序列模式分解的网络入侵检测方法
CN101789931A (zh) * 2009-12-31 2010-07-28 暨南大学 一种基于数据挖掘的网络入侵检测系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tian Xinguang 等.Intrusion detection based on system calls and homogeneous Markov chains.《Journal of Systems Engineering and Electronics》.2008,第19卷(第3期),598-605. *

Also Published As

Publication number Publication date
CN101976313A (zh) 2011-02-16

Similar Documents

Publication Publication Date Title
CN101976313B (zh) 基于频繁子图挖掘的异常入侵检测方法
CN104732070B (zh) 一种基于信息向量机的岩爆等级预测方法
CN104008090A (zh) 一种基于概念向量模型的多主题提取方法
CN109102032A (zh) 一种基于深度森林和自编码的泵站机组诊断方法
CN103970730A (zh) 一种从单个中文文本中提取多主题词的方法
CN110135558B (zh) 基于可变强度组合测试的深度神经网络测试充分性方法
CN109670039A (zh) 基于三部图和聚类分析的半监督电商评论情感分析方法
CN101727391B (zh) 一种软件漏洞特征操作序列的提取方法
CN113961922A (zh) 一种基于深度学习的恶意软件行为检测与分类系统
CN109145114B (zh) 基于Kleinberg在线状态机的社交网络事件检测方法
CN103324745A (zh) 基于贝叶斯模型的文本垃圾识别方法和系统
CN111598179A (zh) 电力监控系统用户异常行为分析方法、存储介质和设备
CN105654144A (zh) 一种基于机器学习的社交网络本体构建方法
CN104317794B (zh) 基于动态项权值的中文特征词关联模式挖掘方法及其系统
CN106611243A (zh) 一种基于garch模型的风速预测残差修正方法
CN105306439A (zh) 一种基于决策树自修复的特征规则检测方法
Le et al. A novel algorithm for mining high utility itemsets
CN113626812A (zh) 基于结构特征筛选及负载扩展的机器学习木马检测方法
CN104933365A (zh) 一种基于调用习惯的恶意代码自动化同源判定方法及系统
CN102298681B (zh) 一种基于数据流切片的软件识别方法
CN109308411A (zh) 基于人工智能决策树的分层检测软件行为缺陷的方法和系统
CN116340952A (zh) 一种基于操作码程序依赖图的智能合约漏洞检测方法
CN106990768A (zh) 基于Limited‑DTW的MKPCA间歇过程故障监测方法
CN113760358A (zh) 一种面向源代码分类模型的对抗样本生成方法
CN105224733A (zh) 风电功率弃风数据特征识别的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant