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

文档序号:7760088阅读:190来源:国知局
专利名称:基于频繁子图挖掘的异常入侵检测方法
技术领域
本发明涉及一种网络安全中的入侵检测方法,特别是将频繁子图挖掘理论与系统 调用序列相结合来对网络中异常入侵进行检测的方法。
背景技术
随着计算机网络的迅猛发展,应用领域的日益广泛,计算机的安全问题受到人们 越来越多的关注。入侵检测技术作为保护计算机安全的一种有效手段,已逐步发展成为计 算机网络安全领域的核心研究方向。系统进程执行时产生的系统调用序列中包含了进程的某些特定行为模式,提取并 分析这些系统调用表现出的模式,并将该模式与进程实时产生的系统调用序列进行匹配, 能够有效地监管特权程序活动及识别针对主机的异常入侵行为,是入侵检测的重要检测途
径之一。时延嵌入序列(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) ^MinChValue0如果当前候选子图的特征值低于该下限,表明该子图不具备足够的 衍生价值,不能参与下一层的衍生过程;⑤阈值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以某种预设的形式进行划分后, 其中的某一序列片段,即S’ ^ S。S’又称为系统调用短序列,是进程运行轨迹中某一特定行 为模式的体现。定义3 系统调用总图G 指系统调用序列S经数据预处理后产生的有向图。G为 一个三元组,即G =〈V,E,W〉。其中V为系统调用总图G中非空有穷结点集,V = {label1},Iabeli为相应系统调用的 标号,ie {1,2,…,η}。V中元素与系统调用一一对应。E为系统调用总图G中有向边集,E = IelabeAiabeIjK为结点Iabeli到结 点label·.的边,i,j e {1,2,…,η}。E中元素与系统调用序列S中相邻系统调用对的先
后关系一一对应。W为系统调用总图G中有向边权值集,W= IwlabZlabel] ,WlabZlabe 为对应边^丄 labolJ的权值,代表系统调用Iabeli — Iabelj在系统调用序列S中出现的次数,i,j e {1, 2,…,η}。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’相互转化,即Gn ^ G。定义7 衍生特征模式Gd 指以系统调用序列S在转化为图结构后所展现出的全局特性为基础,通过子图挖掘过程衍生出来的,并以图结构形式表征的特征模式。Gd不与系统 调用序列S中任何一种调用关系相对应,即Gb C2 Go定义8 可序列化子图Gs-指在特征模式抽取过程中产生的边可遍历子图。可 序列化子图与系统调用序列间可以相互转换。定义9 不可序列化子图Guns-指在特征模式抽取过程中产生的边不可遍历子 图。不可序列化子图与系统调用序列间不可以相互转换,是子图挖掘结果中无意义、无价值 的衍生产物,故不能归入最终的特征模式集,需要对其进行剪枝。图2 5所示子图均为不 可序列化子图。数据预处理数据预处理过程首先将各个单体系统调用序列以某种特定形式符号化,然后按 照进程实际运行时产生的系统调用的先后顺序,将其转换成有向图。以Iinux系统下 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 每次扩展添加一个结点Iabeli,及该结点所有的相应边巧―、^。其中,Iabelj e V(Gs);Iabeli e (V (G) -V (Gs));ehb^ibJ e (E(G)-E(Gs));方法2每次扩展仅仅添加一条边其中,Glabel^labeIj e (E(G)-E(Gs));label1, Iabelj e V(Gs);子图剪枝规则目前,无论采取何种子图挖掘方法,都可能会产生冗余候选子图。如果置之不理, 将导致每层子图扩展所需处理的数据量以指数级递增,严重影响挖掘效率。此外,扩展过程 中产生的某些衍生候选子图具有较低的子图特征值,代表了一种非惯用甚至可能为异常的 程序行为。这些候选子图的引入等于为后续的扩展过程增加了噪声,势必会影响离线学习 及实际检测结果的准确率。因此,必须对生成的候选子图进行合理而有效的剪枝。综合考 虑有向图结构自身特性与系统调用检测需求,主要采用如下剪枝规则规则1为特征模式集构造方法设定各种限制性阈值,其中(1)阈值BeamWidth 用于设定每层子图扩展所需处理的候选子图数量上限。在扩 展过程中,如果候选子图数量达到该扩展域宽上限,则对所有的候选子图依照特征值留大 弃小的原则进行取舍;(2)阈值MaxSubSize 用于设定候选子图结点数目上限,即应满足 Size (V (Gs))彡 MaxSubSize ;(3)阈值MinSubSize 用于设定候选子图结点数目下限,即应满足 Size (V (Gs))彡 MinSubSize ;(4)阈值MinChValue 用于设定候选子图特征值下限,即应满足 C(Gs) ^MinChValue0如果当前候选子图的特征值低于该下限,表明该子图不具备足够的 衍生价值,不能参与下一层的衍生过程;(5)阈值MaxBest:用于设定特征模式集规模上限。一旦超过该上限,取舍原则同 阈值BeamWidth中的设定;(6)阈值LoopLimit 用于限制子图扩展层数。规则2忽略子图扩展过程中产生的所有不可序列化子图Guns-。规则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分别为相应系统调用的标号,且系统调用序列中不存在(S)— — 的 调用关系。将系统调用序列转化为有向图结构后,系统调用关系 — 和 —◎不再作为进 程的局部行为孤立存在,而是融成一个整体(如图10所示),从而衍生出新的系统调用关系
◎。本发明正是利用这一特性,结合子图剪枝规则,实现对特征模式集的大幅且有 效的扩充,从而减小离线学习过程对训练数据量的依赖性。2、快速的特征模式匹配能力通过对系统调用序列的研究发现,经入侵的系统调用序列具有以下特征特征1 正常行为仍构成系统调用序列的绝大部分成分;异常行为往往“体积”较 小,且较为“孤立”,零散地分布在系统调用序列中。特征2:在正常行为当中,各种特定行为模式的自身、交叉、嵌套循环往往占据相 当一部分比例,平均约为系统调用序列的40%以上。由特征1可知,如何快速“跳”过正常行为部分,直接定位到异常行为部分,是提高 特征模式匹配速度的关键;而特征2则为上述目标提供了一条行之有效的途径。在本发明 方法中,特征2中提及的各种循环将以如图11所示的形式得以展现。其中,实线箭头连接所有参与循环的系统调用,表示一个基本循环;虚线箭头表示 基本循环中可能存在的各种自身、交叉或嵌套循环。在实际检测中,本发明方法在转向下一个待检项之前,首先检查后续结点是否包 含在当前特征模式子图中,借此完成对整个循环序列的匹配。由于不必像传统方法那样产 生一个待检项,则查找一次特征模式集,且特征模式子图中结点数目远远小于特征模式集 规模,本发明方法可以有效地提高实际检测速度。简洁的特征模式表达能力以图形式表征的特征模式具有简洁而完整的表达能力。考虑系统调用关系(S) — — (D) — (S)及(S) — ◎ — — (3),假设原系统调用中存在二者自身的循环调用或交叉循环 调用(如上文所述,各种循环调用情况往往在系统调用序列中占据很大比例)。以传统的 定长特征模式获取方法为例,如果将模式长度取值为3,则两种关系将分别产生3个特征模 式;而将结点数取值为3的子图结构则仅分别对应于1个特征模式,且如果在特征模式挖掘 过程中采纳如图12所示的衍化结果,相应特征模式的表达能力则得到进一步地提升。不难发现,图结构形式下的特征模式所具备的匹配能力和表达能力均以其衍生能 力为基础。最后,由表1给出本发明方法与传统的定长模式、变长模式方法之间的简要对比
与总结。表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步,将特征模式集列表作为最终结果返回,算法至此结束。
全文摘要
一种基于频繁子图挖掘的异常入侵检测方法,属网络安全的入侵检测方法。本发明引入频繁子图挖掘理论,利用系统调用序列转化为有向图结构后所特有的衍生能力,能够以较小的训练数据规模获取数量可观且行之有效的衍生特征模式,较大程度地减少了离线学习过程对训练数据量的依赖,从而更易于应对实时检测中的各种情况。同时,经扩充的特征模式集具备识别未知程序行为的能力,能有效降低检测结果的误报率。
文档编号H04L29/06GK101976313SQ20101028572
公开日2011年2月16日 申请日期2010年9月19日 优先权日2010年9月19日
发明者佘春东, 刘辉, 王俊峰, 邢李泉, 高翔 申请人:四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1