基于固有子序列模式分解的网络入侵检测方法

文档序号:7891019阅读:120来源:国知局

专利名称::基于固有子序列模式分解的网络入侵检测方法
技术领域
:本发明涉及计算机联网网络安全
技术领域
,具体涉及一种网络入侵检测方法。
背景技术
:计算机联网技术的发展改变了以单机为主的计算模式。但是,网络入侵的风险性和机会也相应地急剧增多。设计安全措施来防范未经授权访问系统的资源和数据,是当前网络安全领域的一个十分重要而迫切的问题。入侵检测就是在这样的背景下产生和发展起来的一种网络安全技术。具体来说,入侵检测就是对网络系统的运行状态进行监视,检测发现各种攻击企图、攻击行为或攻击结果,以保证系统资源的机密性、完整性和可用性。入侵检测技术主要分为误用检测(misusedetection)和异常检观'J(anomalydetection)两类。其中,误用检测是根据已知的攻击特征建立一个特征库,然后将采集的数据与特征库中特征进行匹配,若存在匹配的特征,则表明其是一个入侵行为。传统的特征码检测技术就是一种误用检测,其不能有效的检测出病毒的变种、加密病毒和新病毒等。而异常检测则是将用户正常的行为特征存储在特征数据库中,然后将用户当前行为与特征库中的特征进行比较,若偏离达到了一定程度,则说明发生了异常。这两种技术各有优缺点,误用检测能够准确检测到已知攻击事例,但对新型攻击行为却无能为力;异常检测可以检测到新型攻击,其误检率却比较高,且不能描述入侵行为的类别。中国专利200510056935.2公开了一种《基于序列模式挖掘的程序级入侵检测系统和方法》,4支术方案如下一种基于序列模式挖掘的程序级入侵检测系统和方法,该系统由控制模块、数据采集和预处理模块、训练模块、储存模块、检测模块、检测结果输出模块组成,配置在需要监控的服务器上。该系统采用基于数据挖掘的异常检测技术,通过监控网络服务器中特权进程的运行情况来检测网络中各种攻击活动;即以特权程序运行时产生的系统调用作为审计数据,利用数据挖掘技术中的序列模式表示一个特权程序的正常行为,根据序列的支持度或可信度在训练数据中挖掘正常的序列模式,并建立相应的正常序列模式库;检测时通过将当前序列模式和正常的序列模式进行比较和匹配来识别攻击行为,以便引起网络安全管理员的密切注意和采取相应的处理措施来保证安全。该系统的主要模块功能如下控制模块负责设置系统的工作状态和各种参数,并对数据采集和与处理模块、训练模块、检测模块和整个系统的运行进行控制;数据采集和预处理模块,负责从服务器中获取原始的训练数据或者审计数据,即程序运行过程中产生的系统调用,并将这些原始训练数据或者升级数据进行预处理,滤除系统调用参数后,分别送入训练模块或者检测模块,用于训练或检测;训练模块,负责利用训练数据进行训练,建立正常序列模式库;存储模块,用于存储训练模块所建立的正常序列模式库,并在检测时,供检测模块进行检索比较;检测结果输出模块,负责显示检测模块产生的判决值,并根据检测模块的报警信息对攻击行为进行报警。该发明"^供的基于序列模式挖掘的程序级入侵检测方法的步骤简述如下(1)系统启动;(2)系统等待工作信息和指令的输入时,由控制模块设置系统的工作状态和工作参数,以便在此后输入开始工作指令后,由控制模块自动查看系统设置情况,分别进入两种不同的工作状态如果系统被设置为训练状态,执行后续步骤;如果系统被设置为检测状态,则跳转执行步骤(7);(3)数据采集和预处理模块从预先设定的数据接口输入原始训练数据,并对该原始训练数据进行预处理后,将其输出至训练模块;(4)训练模块从控制模块读取步骤(2)中设置的训练方案,如果设置为第一种训练方案,执行后续步骤;如果设置为第二种训练方案,跳转执行步骤(6);(5)训练模块利用训练数据,根据第一种训练方案进行训练,建立正常的序列模式库,并将该序列模式库存入储存模块后,向控制模块发送训练结束的消息,结束训练工作,跳转执行步骤(7);(6)训练模块利用训练数据根据第二种训练方案进行训练,建立正常序列模式库,并将该序列模式库存入存储模块后,向控制模块发送训练结束的消息,结束训练工作;(7)控制模块自动查看步骤(2)种所设置的检测方案,如果设置为第一种检测方案,执行后续步骤;如果设置为第二种训练方案,跳转执行步骤(9);(8)系统按照第一种检测方案进行监测工作先由数据采集和预处理模块实时的从服务器中获取原始审计数据并对其进行预处理,再由检测模块按照第一种检测方案对预处理后的审计数据进行实时分析,生成至少包括判决值或报警信息的检测结果,检测结果输出模块实时显示该检测判决值,并根据报警信息对攻击行为进行报警,结束检测操作;系统按照第二种检测方案进行检测工作先由数据采集和预处理模块实时地从服务器中获得原始审计数据并对其进行预处理,再由检测模块按照第二种检测方案对预处理后的审计数据进行实时分析,生成至少包含判决值或^^警信息的检测结果,检测结果输出模块实时显示该检测判决值,并根据报警信息对攻击行为进行"^警,结束检测操作。上迷技术方案主要注重于挖掘正常序列中的频繁序列和可信度高的序列形成正常序列库用于异常检测,没有考虑到非频繁序列的重要性,并且不能检测到异常序列中与正常序列出现相同频繁序列或者可信度高的序列。同时其频繁序列的长度等参数需要人为设定,参数设置对于结果的影响较大,在复杂实时环境中的适应性不强。中国专利200710098609.7公开了一种主机入侵检测方法及系统,该发明涉及一种作为网络安全的重要产品之一主机入侵检测系统(HIDS:HostIntrusionDetectionSystem)。其核心关键主机入侵检测方法包括规则定义、部署和工作模式。规则定义把入侵和主机上的异常行为关联起来,并定义响应的方式。部署的方式支持多层次级联,可以适应较复杂的网络环境。工作模式定义了管理者如何与入侵检测系统交互和系统工作的特点。该方法特征在截获主机行为的基础之上,寻找主机行为与入侵行为间的关联性,并根据规则定义,产生报警6和其他指定行为;该方法包括如下步骤步骤l:定义规则;步骤2:在控制中心应用规则,规则被自动下发到所有主机引擎上并被应用;步骤3:根据入侵行为的增加、改变、实效更新规则库。其定义规则包括如下步骤定义事件规则:可以针对主机系统的注册表、文件系统、日志系统、网络驱动和关键应用程序的异常状况进行定义;定义事件响应规则针对事件规则中定义的异常提供只报警、只日志、阻断、报警+日志、日志+报警、报警+阻断、报警+日志+阻断的处理。该系统中定义规则包括事件变量和行为标识两大部分;事件变量包括事件名称、事件ID、事件分类ID、可支持逻辑操作符描述和事件文字描迷5个要素;行为标识为对于事件对象有意义的行为,依赖事件变量的分类不同而不同。该系统监控自身进程和检测结果被篡改的事件。对于系统检测到的异常,往往会有一个源头出现多次报警的情况,本系统定义一次事件和二次事件的概念来进行控制。在定义规则时,提供根据发生事件和重复次数为条件来进行控制。当条件被触发时,一次事件可以生成二次事件,任何情况下具有相似性可以被合并的一次事件不会发生重复出现。该系统使用内核监视技术确保进程和检测结果的安全性,当发现进程被人为停止、重启时报告侵害行为。当发现检测结果被违规墓改时,组织此行为并报告为侵害行为。该系统的规则定义库根据入侵行为的生命周期而更新。特定入侵方法从最初的产生、传播到被分析、产生对应的补丁,对它的行为规律的认识不断深化,直到所有可能被入侵的系统都已经被修改或者被淘汰,和此方法关联的事件从事件库中剔除。该系统包括一台或者多台部署控制端的Windows主机,一台或者多台部署引擎的Windows主机,网络连接设备等,其特征在于控制端形成层次性部署,部署主控制端的主机只有一台;所有引擎接受控制端的控制并向其反馈4艮警信息,规则匹配在引擎端发生。该系统监控的行为对象包括注册表键、值;文件和目录;危险系统管理行为;值得注意的SQLSERVER数据库操作;值得注意的IIS行为;不合常规的网络访问。该方案获取系统数据、生成相应规则和利用规则进行检测的过程4艮复杂。其检测规则库比较庞大,检测效率不高。由于其对系统行为的研究没有深入到系统的本质,因此其对系统行为特征的描述很复杂,且其生成的相应规则库比较冗余繁瑣导致检测效率不高。中国专利2005100443053.2公开了一种Windows环境下的主机入侵检测方法,技术方案如下该方案通过分析和建立Windows环境下指定进程的多阶NativeAPI—致模型和被检测进程产生的NativeAPI序列之间的相关性来发现异常入侵。实际训练阶段,收集指定进程的NativeAPIs数据并存储在数据库中。对原始数据的分析包括一阶分析和二阶分析,分析和处理数据集合中的一阶和二阶模型;在测试阶段,指数迭代检测算法计算NativeAPIs对应的一阶和二阶NativeAPIs的正常指数值。在实际系统中,设计了报警提取方法,使在指数迭代检测率的不断变化波动中,对出现的异常时间进行准确的发现和提取,并进行正确的报警。Windows环境下的主机入侵检测方法,其特征在于1)系统数据NativeAPIs的获取当指定的进程每一次发起系统服务调用请求时,首先通过DriverEntry例程加载驱动设备进入Windows系统的内核,此驱动设备利用KeServiceDescriptortable数据结构完成对系统服务分发表的访问和修改,并利用KeServiceDescriptortable的数据结构确定系统服务分配表的地址,系统先对系统原因的SSDT进行备份,其次,针对每个NativeAPI配置相应的截获函数,并将这些函数的调用地址写入到原系统服务分发表中,并——对应,使函数的指针指向截获函数,以此截获Windows主机的系统服务表来获取操作系统中指定进程产生的每个NativeAPI的所有相关数据,这些数据包括NativeAPI的名称,ID和参数长度信息,截获完这些信息后,退出截获过程,并返回到执行的被调用系统服务;2)通过获取到的NativeAPIs的数据信息对Windows操作系统中的进程建立正常的行为模型,并以此模型检测系统中的异常情况。通过多阶一致模型建立方法对获取的NativeAPIs数据进行训练,通过二元组(Bk,0^在数据库中建立一阶和二阶一致模型,一阶一致模型通过二元组(Bk,Ok)来表示,其中Bk是NativeAPISk在训练集合中出现的频率,Ok是一阶相关指数,通过对集合中所有Bk按照升序排列的位置大小,二元组(Bk,Ok)对训练集合中的每一个NativeAPI数据和被观察的进程之间建立了一个关系映射表。3)指数迭代检测方法,通过循环计算每个NativeAPI对应的正常指数来计算它和被检测进程之间的相关程度,从而通过被动指数的变化来发现异常入侵.4)通过提出的报警提取算法,使对不断变化的波动指数迭代检测率中出现的异常事件进行准确地发现和提取,并进行正确的报警。对出现了指数迭代检测值较小的进程,采取禁止当前的被观察进程或者线程的行为,采用PostThreadMessage或者PostMessage给指定的线程发送消息来强行中止恶意线程。该方法的计算量较大,一阶和二阶模型的建立、参数的计算以及对正常数据训练和建立模型过程非常复杂,运用于实际比较困难。并且该方法只是考虑到进程前后二步调用NativeAPI的关系,而实际情况中的NativeAPI调用过程很复杂,只考虑前后二步的关系模型不足以描述实际运行环境中进程对NativeAPI的复杂调用过程。因此该方法的只是适用于对某些入侵的检测,不能普遍适用于实时环境中的入侵检测。
发明内容本发明所要解决的技术问题是如何提供一种基于固有子序列模式分解的网络入侵检测方法,该方法克服了现有技术中虽存在的不足,能够准确、有效地识别已有的攻击和日益增多的新的攻击。本发明所提出的技术问题是这样解决的提供一种基于固有子序列模式分解的网络入侵检测方法,其特征在于,包括以下步骤①网络数据截取和预处理截获的数据包含网络数据的多个属性,将多维网络数据序列按照不同协议一维化;②将正常训练集的序列和疑似序列分别进行固有子序列模式挖掘将序列建立一个序列图,找出序列图中的封闭路径作为固有子序列模式的候选序列,在原序列中找出构成每个候选序列的固有子序列模式;③按照支持度分层分别将正常训练集的序列和疑似序列分解为若干层,每层含有相似支持度的固有子序列模式;④异常检测将疑似序列和正常训练集的序列的固有子序列模式按照支持度各自独立地组成若干层,然后在相应的层中对疑似序列的固有子序列模式与正常子序列模式进行匹配,根据匹配的数量,计算出异常程度从而判断疑似序列是否异常。按照本发明所提供的基于固有子序列模式分解的网络入侵检测方法,其特征在于,所述网络数据截取和预处理步骤中,采用WINCAP截获网络数据包,对截获的数据包的预处理过程如下①对每个属性二值化该属性取值范围的均值为M,则属性值大于M则属性值为l,反之为O,对每个属性的一维序列首先取一定长度的子序列,计算不同子序列的个数,选取序列个数较少的属性作为候选属性;②对于每个连接数据用上述选取的属性表示,计算出训练集中用这些属性表示的连接的种类,然后每种类型的连接用一个ID标志;③将多维网络数据序列表示为上述ID号的一维序列。按照本发明所提供的基于固有子序列模式分解的网络入侵检测方法,其特征在于,步骤②中的固有子序列模式挖掘方法包括以下步骤①构造序列图将序列T中每个不同数字编号对应于结点集V中的一个节点,LOC^L,…,L^记录V中每个结点在T中出现的位置;对T中每个长度为2的子序列,如果其对应的边存在于E中,则该边的权值增加l,如果该边不存在于E中,则建立该边,边权值为l;②固有子序列挖掘首先找到序列图中权值最大的边以及与该边;R值近似的边加入集合EE,然后算法找出EE中的所有近似封闭路径作为固有子序列模式的候选,然后,回到序列T中找出产生每个近似封闭路径的所有近似固有子序列模式,最后,算法对每个固有子序列模式在图中的相应边进行权值更新,将边的权值减去其固有子序列模式在T中出现次数,如果权值小于等于O,则删除该边,算法重复以上步骤直到序列图为空图。按照本发明所提供的固有子序列模式分解的网络入侵检测方法,其特征在于,所述异常检测包括以下步骤输入正常序列的固有子序列模式集NIS和疑似序列的子序列固有模式集TIS输出疑似序列的异常指数ADgreeAnomialyDetection(NIS,TIS)1)分别找出NIS和TIS中的最大支持度序列以及与其支持度接近的序列分别加入Nkyer和Tlayer,并在NIS和TIS中去掉这些序列;2)计算Tlayer中能与Nlayer中序列匹配的序列个数MA:3)对Tlayer中的每个序列,如果该序列对Nlayer中的某个序列满足DIS二二0,则MA增加1;4)Tkyer中序列的个数为N,ADgree=(N-MA)/MA,同时加上先前各层异常指数;5)如果ADgree〉,则返回ADgree,其中7为门限值;重复l),2),3),4)直到NIS或者TIS为空集,返回ADgcee;计算序列距离的函数DIS定义如下对于两条序列C和Q,如果C^Q,则DIS(C,Q)二O;其他,DIS(C,Q)=3。本发明根据网络连接数据序列的本质特征,提出基于固有子序列模式分解的算法检测异常序列,从而检测到异常入侵。一些基本定义如下入侵检测入侵检测就是对计算机网络和计算机系统的关键结点的信息进行收集分析,检测其中是否有违反安全策略的事件发生和攻击现象,并通知系统安全管理员。一般把用于入侵检测的软件、硬件合称为入侵检测系统——IDS(IntrusionDetectionSystem)。序列(T):序列T是其元素按照时间顺序排列的数据集。T4!,…,tn,n是序列的长度。支持度(Sup):子序列S的支持度Sup(S)为其在序列T中出现的次数。固有子序列模式(IS):序列T中,如果某个子序列的所有子序列的支持度与它的支持度相同,并且在序列T中,不存在与其支持度相同的子序列包含它,则该子序列被称为固有子序列模式(IntrinsicSubsequencePattern)。层(Layer):在序列T中,具有相似支持度的固有子序列模式组成一个层。序列分解(Decomposition):序列分解就是将一条较长的序列分解为一些固有子序列模式并形成相应的层。给定序列T,如果某个子序列的所有子序列的支持度与它的支持度相同,并且在序列T中,不存在与其支持度相同的子序列包含它,则该子序列被称为固有子序列模式,固有子序列模式的定义具有实际的含义,当出现某网络行为时,也会产生相应的网络数据序列,该序列也符合固有子序列模式的定义。具有相似支持度的固有子序列模式集构成一个层。网络入侵检测时,首先将网络数据序列按照不同协议分别一维化,将正常训练集的序列分解为固有子序列模式集,并对该集按照支持度分层,最后将疑似序列也做相应处理,并对疑似数据和训练数据按照相应的层分别匹配,根据匹配程度计算出异常程度。本方案提出的固有子序列模式反应了网络数据序列的本质特征,基于固有子序列模式分解的方法能够有效地检测到各种异常网络数据序列,并且该方法简单易于实现,有极好的应用性。具体实施方式以下结合实施例对本发明进一步说明。一、网络数数据获取和预处理本方案采用WINCAP截获网络数据包,WINPCAP是应用于Windows平台的数据包捕获与网络分析的一种第三方软件驱动包,为Windows应用程序提供访问网络底层的能力,其主要思想来源于Unix系统中著名的BSD包捕获构架。WINPCAP基本体系结构由3个模块组成。1、NPF(网络包过滤器),是WINPCAP体系结构的核心组成部分,它工作在系统核心级,用来过滤数据包,在包上加入时间戳、数据包长度等信息。NPF通过NDIS直接从数据链路层取得数据包,不加修改地转发给应用层程序。NPF也允许用户直接发送原始数据包(RawPacket)。2、第二个模块是Packet.dll低级动态链接库,它提供了Win32平台下的捕获包的驱动普通接口。它运行在用户级,其主要功能是把应用程序和数据包监听设备驱动隔离开来,这样就使得基于Packet.dll开发的应用程序能在不同的WINDOWS版本上运行。Packet.dll还包含了其他一些函数,它可以进行一些底层的操作,如获取网络适配器名或动态的加载驱动程序。Packet.dll还可以取得一些系统信息,如主机的MAC地址和一些硬件计数(以太网上冲突次数等等)。Packet.dll和NPF都依赖于操作系统,并且由于Windows95/98和W^indowsNT/2000之间操作系统结构的不同而在不同版本的操作系统上有所不同。3、第三个模块是Wpcap.dll,该库不依赖于操作系统,也工作在用户级,它和应用程序编译在一起,并使用低级动态连接库Packet.dll提供的服务向应用程序提供完善的监听接口。Wpcap.dll能自动调用Packet.dll。一个"高层"调用会被译成几个NPF系统调用。程序员一般使用Wpcap.dll,只有在为数不多的程序中才直接4吏用Packet.dll。截获的数据包含网络数据的多个属性,我们采取以下的方法将该多维序列压缩为一维序列(1)对每个属性二值化该属性取值范围的均值为M,则若属性值大于M则属性值为l,反之为0;对每个属性的一维序列首先取长度为5的子序列,计算不同子序列的个数,最后选取序列个数较少的属性作为候选属性。子序列个数越多说明该序列的规律性不强,反之规律性强,因此选取规律性强的属性用于序列一维化。(2)对于每个连接数据用前面选取的属性表示,计算出训练集中用这些属性表示的连接的种类,然后每种类型的连接用一个ID标志。最后多维网络数据序列表示为这些ID的一维序列。例如记录ID字段l字段2字段3100020103110则序列{{1,1,0},{0,0,0},{0,1,0},{0,1,0},{0,0,0}}可以表示为{3,1,2,2,1}。二、固有子序列模式挖掘方法在介绍方法之前首先给出相关的概念和定义定义1:序列图SG是序列T的关系图,它是一个四元组,即SG=<V,E,^W>,其中(1)V是图中的结点集,V中的节点与T中的不同数字编号一一对应;(2)图中的有向边集。T中的任何两个相邻元素之间的前后关系都与SG中相应节点之间的有向边--对应。(3)W是图中有向边权值集。E中每条边与W中的相应权值一一对应。E中每条边的权值即该条边对应的序列在T中出现的次数。定义2:路径在T的序列图SG中,如果序列S-XoX卜.Xm,满足对所有的i,0SSm,边XiXi+^E,则称S是SG中的一条路径。定义3:封闭路径在T的序列图SG中,R-XpXp+,…Xp+q,如果R中的所有的边权值相等,并且对于任何连接节点Xp-,和X内的边Xp.iXp和Xp+qXp^+,的权值与R中任何边的权值都不相等,则R是一条封闭路径。该步骤按照以下的步骤挖掘固有子序列模式(1)对序列建立一个序列图;(2)找出序列图中的封闭路径作为固有子序列模式的候选序列;(3)返回原序列找出构成每个候选序列的固有子序列模式。序列图SG构造方法如下:将T中每个不同数字编号对应于V中的一个结点;LOC^L!,…,L^记录V中每个结点在T中出现的位置;对T中每个长度为2的子序列,如果其对应的边存在于E中,则该边的权值增加l,如果该边不存在于E中,则建立该边,边权值为l。序列图SG的算法如下所示输入序列T输出序列图SGConstructSG(T)1)f!集合T的第k位数据Tk输入;2)如果边TkYTkeE,则其权值加l,否则,建立该边,权值为l;3)对集合T的每个元素依次重复以上1),2)。由于实际数据本身的复杂性以及其中存在的一些噪声数据,完全符合定义的封闭路径在实际的序列图中4艮少。因此,本算法寻找近似的封闭路径以及近似的固有子序列模式,认为具有相似权值的边为封闭路径中的相等权值边,具有相似出现次数的序列为相等出现次数的序列。固有子序列挖掘算法首先找到图中权值最大的边以及与该边权值近似的边加入集合EE,然后算法找出EE中的所有近似封闭路径作为固有子序列模式的候选,然后,回到序列T中找出产生每个近似封闭路径的所有近似固有子序列模式。最后,算法对每个固有子序列模式在图中的相应边进行权值更新将边的权值减去其固有子序列模式在T中出现次数,如果;f又值小于等于O,则删除该边。算法重复以上步骤直到SG为空图。固有子序列模式挖掘算法如下所示输入序列T,序列图SG和记录序列图中每个节点在T中出现位置的集合LOC输出固有子序列模式以及在T中的出现次数FindlntrinsicSubsequence(T,SQLOC)1)找出SG中权值最大的边以及与该边权值近似的所有边加入集合EE;2)找出EE中所有的近似封闭路径作为固有子序列模式的候选,并对每个候选回到原序列T中找出出现次数与权值近似并且长度最长的所有子序列作为与之对应的固有子序列模式并记录这些子序列的实际出现次数;3)更新SG图每个固有子序列模式的边权值减去其出现次数,如果边;f又值小于等于O,则删除该边;4)重复执行l),2),3)直到SG为空图。三、异常检测方法当序列出现异常时,通常会出现两种情况(1)出现正常序列中未出现过的子序列;(2)未出现新的子序列但是某些子序列的出现次数发生明显改变。我们的异常入侵检测方法是将固有子序列模式按照其出现次数分解为层,然后将正常的序列和疑似序列按层比较。如果出现第一种情况的异常,异常子序列会在其相应层内表现异常;如果出现第二种情况的异常,某些子序列在异常序列里出现的层与其在正常序列中的层是不相同的,因此,分层以后,第二类异常也能够被检测出来。同时由于分层比较子序列,比较的数据量缩小,某些徵弱的异常将显得更加明显。在实际系统运行中,出现入侵行为时候,序列中往往会出现大量的出现次数剧烈变大的子序列,这与入侵行为本身的特性是相符合的。因为系统被入侵时,入侵程序经常会在很短时间内完成对系统的入侵、破坏、以及自身的复制和传播。异常检测方法首先将疑似序列和正常序列的固有子序列模式各自独立地組成若干层。然后,在相应的层中对疑似序列的固有子序列模式与正常序列的固有子序列模式进行匹配,统计检测在该层中匹配的子序列数,匹配数除以该层序列的总数即为异常指数。当每层异常指数之和大于一个门限值/;以后,认为该疑似序列包含异常。本方案将每个进程分别收集其正常执行序列作为训练集,检测时也分别针对各个进程进行检测。异常检测方法如下输入正常序列的固有子序列模式集NIS和疑似序列的子序列固有模式集TIS输出疑似序列的异常指数ADgreeAnormalyDetection(NIS,TIS)1)分别找出NIS和TIS中的最大支持度序列以及与其支持度4妻近的序列分别加入Nlayer和Tlayer,并在NIS和TIS中去掉这些序列;2)计算Tlayer中能与Nlayer中序列匹配的序列个数MA:对Tlayer中的每个序列,如果该序列对Nlayer中的某个序列满足DIS==0,则MA增加1;3)Tlayer中序列的个数为N,ADgree=(N-MA)/MA,同时加上先前各层异常指数;4)如果ADgree>77,则返回ADgree;5)重复l),2),3),4)直到NIS或者TIS为空集,返回ADgree;由于数据编号是人为设定的,因此相似的编号可能代表的意义相差4艮远;同时对于固有子序列模式的分解方法是近似的冗余分解,因此如果一个序列是另外一个序列的子序列,则两个序列的距离为0。该算法中的关于计算序列距离的函数DIS定义如下对于两条序列C和Q,如果C;Q,则DIS(C,QhO;其他,DIS(C,Q)=oo。权利要求1.一种基于固有子序列模式分解的网络入侵检测方法,其特征在于,包括以下步骤①网络数据截取和预处理截获的数据包含网络数据的多个属性,将多维网络数据序列按照不同协议一维化;②将正常训练集的序列和疑似序列分别进行固有子序列模式挖掘将序列建立一个序列图,找出序列图中的封闭路径作为固有子序列模式的候选序列,根据原序列找出构成每个候选序列的固有子序列模式;③按照支持度分层将正常训练集的序列和疑似序列分别分解为若干层,每层含有相似支持度的固有子序列模式;④异常检测将疑似序列和正常训练集的序列的固有子序列模式按照支持度各自独立地组成若干层,然后在相应的层中对疑似序列的固有子序列模式与正常子序列模式进行匹配,根据匹配的数量,计算出异常程度从而判断疑似序列是否异常。2、根据权利要求1所述的基于固有子序列模式分解的网络入侵检测方法,其特征在于,所迷网络数据截取和预处理步骤中,采用WINCAP截获网络数据包,对截获的数据包的预处理过程如下①对每个属性二值化该属性取值范围的均值为M,则属性值大于M则属性值为l,反之为O,对每个属性的一维序列首先取一定长度的子序列,计算不同子序列的个数,选取序列个数较少的属性作为候选属性;②对于每个连接数据用上述选取的属性表示,计算出训练集中用这些属性表示的连^"的种类,然后每种类型的连接用一个ID标志;③将多维网络数据序列表示为上述ID号的一维序列。3、根据权利要求l所述的基于固有子序列模式分解的网络入侵检测方法,其特征在于,步骤②中的固有子序列模式挖掘方法包括以下步骤①构造序列图将序列T中每个不同数字编号对应于结点集V中的一个节点,LOC-《Li,…,LW记录V中每个结点在T中出现的位置;对T中每个长度为2的子序列,如果其对应的边存在于E中,则该边的权值增加l,如果该边不存在于E中,则建立该边,边;^又值为1;②固有子序列挖掘首先找到序列图中权值最大的边以及与该边权值近似的边加入集合EE,然后算法找出EE中的所有近似封闭路径作为固有子序列模式的候选,然后,回到序列T中找出产生每个近似封闭路径的所有近似固有子序列模式,最后,算法对每个固有子序列模式在图中的相应边进行权值更新,将边的权值减去其固有子序列模式在T中出现次数,如果权值小于等于O,则删除该边,算法重复以上步骤直到序列图为空图。4、根据权利要求l所述的固有子序列模式分解的网络入侵检测方法,其特征在于,所迷异常检测包括以下步骤输入正常序列的固有子序列模式集NIS和疑似序列的子序列固有模式集TIS输出疑似序列的异常指数ADgreeAnormalyDetection(NIS,TIS)1)分别找出NIS和TIS中的最大支持度序列以及与其支持度4姿近的序列分別加入Nlayer和Tlayer,并在NIS和TIS中去掉这些序列;2)计算Tlayer中能与Nkyer中序列匹配的序列个数MA:对Tlayer中的每个序列,如果该序列对Nkyer中的某个序列满足DIS==0,则MA增加1;3)Tlayer中序列的个数为N,ADgree=(N-MA)/MA,同时加上先前各层异常指数;4)如果ADgree〉7,则返回ADgree,其中7为门限值;5)重复l),2),3),4)直到NIS或者TIS为空集,返回ADgree;计算序列距离的函数DIS定义如下对于两条序列C和Q,如果CeQ,则DIS(C,Q)二0;其他,DIS(C,Q)二oo。全文摘要本发明一种基于固有子序列模式分解的网络入侵检测方法,包括以下步骤①网络数据截取和预处理;②将正常训练集的序列和疑似序列分别进行固有子序列模式挖掘将序列建立一个序列图,找出序列图中的封闭路径作为固有子序列模式的候选序列,根据原序列找出构成每个候选序列的固有子序列模式;③按照支持度分层;④异常检测首先将疑似序列和正常序列的固有子序列模式根据支持度各自独立地组成若干层,然后在相应的层中对疑似序列的固有子序列模式与正常子序列模式进行匹配,根据匹配的数量,计算出异常程度从而判断疑似序列是否异常。该方法克服了现有技术中存在的不足,能够准确、有效地识别已有的攻击和日益增多的新的攻击。文档编号H04L29/06GK101252440SQ20081004451公开日2008年8月27日申请日期2008年4月2日优先权日2008年4月2日发明者茂叶,喜孟,朱莺嘤,李丽娟,欣赵申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1