基于新颖发现和窗函数的分类融合入侵检测方法

文档序号:7945680阅读:152来源:国知局

专利名称::基于新颖发现和窗函数的分类融合入侵检测方法
技术领域
:本发明属于网络安全
技术领域
,特别是涉及一种入侵检测方法,可用于检测网络异常入侵行为。技术背景入侵检测系统IDS是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处在于,IDS是一种积极主动的安全防护设备。入侵检测系统IDS以信息来源的不同和检测方法的差异分为几类。根据信息来源可分为基于主机IDS和基于网络的IDS,根据检测方法又可分为异常入侵检测和滥用入侵检测。不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是IDS应当挂接在所有所关注流量都必须流经的链路上。在这里,"所关注流量"指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。在如今的网络拓扑中,已经很难找到以前的集线器HUB式的共享介质冲突域的网络,绝大部分的网络区域都己经全面升级到交换式的网络结构。因此,IDS在交换式网络中的位置一般选择在(l)尽可能靠近攻击源;(2)尽可能靠近受保护资源,这些位置通常是服务器区域的交换机上、Internet接入路由器之后的第一台交换机上、重点保护网段的局域网交换机上。针对于预定义信息的类型,入侵检测系统IDS又可分为两类一种基于标志,另一种基于异常情况。对于基于标识的检测方法来说,首先要定义违背安全策略的事件的特征,如网络数据包的某些头信息。检测主要判别这类特征是否在所收集到的数据中出现。然后将系统运行时的数值与所定义的"正常"情况比较,得出是否有被攻击的迹象。这种检测方式的核心在于如何定义所谓的"正常"情况。两种检测方法所得出的结论有非常大的差异。基于标志检测方法的核心是维护一个知识库,对于已知的攻击,它可以详细、准确的报告出攻击类型,但是对未知攻击却效果有限,而且知识库必须不断更新。基于异常的检测方法则无法准确判别出攻击的手法,但它可以判别更广泛甚至未发觉的攻击。现有的基于异常的入侵检测的方法很多,如神经网络方法、支持向量机分类方法等、其中支持向量机分类方法存在着检测率不够高,计算复杂度较高不适用于复杂的入侵检测等问题。
发明内容本发明的目的在于克服以上所述的支持向量机分类方法的缺点,提出了一种基于新颖发现和窗函数的分类融合入侵检测方法,以提高入侵检测的检测率,降低虚警率和复杂度。本发明的技术方案是将网络行为向量化作为样本,对正常的网络行为当作训练样本进行建模,用两种不同的方法对未知的网络行为进行检测,根据融合的测试结果来确定是否要采取预警措施。具体实现步骤如下:(1)当主机进行网络数据包的传送时,对主机的网络行为进行采集,得到描述网络行为的数据集,并对该数据集进行映射和归一化后得到特征^(2)从已采集到的数据集中选择非入侵行为的正常数据的特征向量作为训练样本集,并用SVND算法训练生成第一分类器,使得样本集经过非线性核函数映射到特征空间得到向量模型产生决策函数f,该函数记正常样本输出为+1,异常样本输出为-h(3)重新采集新的网络行为数据集作为新样本输入,计算其决策函数f值,并通过指数转换将该函数f输出的结果转换成概率估计形式;(4)将步骤(2)中的正常数据的特征向量作为训练样本集,用PARZEN窗函数方法对其进行概率密度分布估计来训练第二分类器;(5)将步骤G)中的新的数据集作为新样本输入,根据贝叶斯决策,对异常样本进行预先建模,并根据步骤(4)中的概率密度分布估计设定概率密度阈值,如果新样本的概率密度分布估计值大于该阈值分类器输出为正常,反之则记为异常;(6)将以上第一分类器与第二分类器的输出结果按如下公式进行加权融合Xti(^(如W)+(1-D(々(如D+(尸2(如"2)+(尸2(如《))式中/,j为样本X的决策函数值,A(4^)指对于第一分类器样本X属于类别叫的概率密度估计,g(xl叫)指对于第二分类器样本X属于类别叫的概率密度估计,P指权值,6(设定为0.5,《设定为0.8;(7)根据加权融合的结果y(x)决定网络行为是否为入侵行为,如果融合的结果y(x)小于设定阈值则判定为入侵行为,采取预警措施,否则重复步骤(3)。本发明具有如下优点1、计算复杂度低传统的神经网络方法或者支持向量机分类方法,需要对全部的网络行为数据集进行支持向量的估计和建模,与现有方法不同的是,本发明仅需要首先训练非攻击行为的正常样本集,然后对新采集的样本集进行判别,大大降低了复杂度。2、具有较好的鲁棒性由于本发明采取了两种不同的分类器进行融合,一种是基于距离量度的分类器,另一种是基于概率密度估计的分类器,这两种差异较大的分类器融合后可以拥有更好的鲁棒性。仿真实验结果表明,与现有的支持向量机分类方法相比,本发明将检测率提高到98.63%-100%,将虚警率降低到0-12.09%,本发明采取两种分类器的加权融合,提升了单个分类器的性能,对非入侵行为的正常数据用两种不同方法训练,全面地描述了非入侵行为的正常数据,敏感识别入侵行为,使得本发明在保持较高检测率的同时,也拥有较低的虚警率。图1是本发明的主要操作过程示意图;图2是用SVND算法训练生成的第一分类器原理图;图3是用PARZEN窗函数训练生成的第二类分类器原理图;图4是第一分类器对数据集的检测效果图;图5是第二分类器对数据集的检测效果图;图6是两种分类器融合后对数据集的检测效果图。具体实施方式参照图l,本发明的实施过程如下步骤l,采集主机网络行为数据集,处理数据集得到特征向量。主机在两个IP地址之间传送网络数据包序列的同时,在一段时间内对主机的网络行为进行采集,得到描述网络行为的数据集,并对该数据集进行映射和归一化后得到特征向量。这里以KDDCUP1999数据集为例,其中例[l]描述的是数据集中一个拒绝攻击服务器的网络行为的数据记录;例[2]描述的是针对HTTP服务器的攻击行为的数据记录。这些数据记录被描述为一个包含38个持续变量和3个符号变量以及反映入侵或正常网络行为的最后一位标签的网络行为,数据记录中的每一位都代表不同的意义,如cpu占用率、内存利用率等。'[l]:102,tcp,http,SF,181,5450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,1,0,0,9,9,1,0,0.11,0,0,0,0,normal.[2]:0,icmp,ecri,SF,1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,511,511,0,0,0,0,1,0,0,255,255,1,0,1,0,0,0,0,0,smurf.在检测数据之前,通常要对这些数据先进行处理首先,将每个不同的符号串映射到相应的数字上,例如,icmp—0,tcp—1,udp—2,http—19,SF—7;然后,将数据集归一化到单位超立方体[O,l]上。通过对这些数据的处理,将例[1]和例[2]可以转化为如下形式[l]:0.001748701,0.5,0.275362319,0.7,2.61042E-07,4.1605E-06,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.015655577,0.015655577,0,0,0,0,1,0,0,0.035294118,0.035294118,1,0,0.11,0,0,0,0,0,0[2]:0,0,0.144927536,0.7,1.48837E-06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,1,0,1,0,0,0,0,0,1。步骤2,选择非入侵行为的正常数据集作为训练样本集,训练生成第一分类器。从步骤1中已采集到的描述网络行为的数据集中选择非入侵行为的正常数据的特征向量作为训练样本集,并采用SVND算法训练生成第一分类器,图2是SVND算法的原理图,图2a为初始空间中的样本集,黑色点为异常样本,白色点为正常样本,样本集经非线性核函数O从初始空间映射到特征空间得到向量模型产生决策函数f,如图2b该函数将正常样本和异常样本在特征空间分开,该函数记正常样本输出为+1,异常样本输出为-l;该决策函数f的产生是指对一个包含N个样本的样本集",/=l,...,A^,对于一个新的输入样本x,其决策函数计算公式为式中a为拉普拉斯算子,A为映射核函数,p表示的是分类超平面中的常数项,其计算公式为式中w表示分离超平面的法向量,O(x)表示映射函数,本发明选取的映射核函数为高斯核函数&(X,',X)二式中g为高斯参数。步骤3,重新采集数据集,计算决策函数f中的距离测度p并将它转换成概率估计形式。重新采集新的网络行为数据集作为新样本输入,计算其决策函数f值中的距离测度户并通过指数转换将该距离测度转换成概率估计形式,对于第一分类器~,按下式进行转换:P(x|6;r)=exp(-p(xl)/s)式中p(X^r)为样本x属于类别叫的距离测度,s是0-l之间的任意实数,户(xl叫)为转换后的概率估计形式。步骤4,用PARZEN窗函数方法训练第二分类器。用PARZEN窗函数方法训练第二分类器,是指一个包含N个样本的样本集{、,/=1,...,7\^,对于一个新的输入样本X,估计输入样本的概率密度分布估计值,按照如下公式计算2》W=拳一』{-"^"}式中X,为描述正常行为特征的训练样本,d为数据空间的维数,CT为调节参数,^(X)是估计出的概率密度值。步骤5,对步骤3中的数据集进行概率密度分布估计,并根据贝叶斯决策设定概率密度阈值。将步骤3中的新的数据集作为新样本输入,对异常样本进行预先建模,假设异常样本是均匀分布的,估计新样本的概率密度分布估计值;根据贝叶斯决策,将概率密度阈值设定为训练样本的概率密度分布估计的最小值。图3是第二类分类器的原理图,其中i。为正常样本所属区域,A为异常样本所属区域,当新样本的概率密度分布估计值大于设定阈值时则落入区域i。,否则则落入区域i,。步骤6,将第一分类器与第二分类器的输出结果进行加权融合。根据多种分类方法的加权投票的融合公式,针对于本发明中的第一分类器和第二分类器两种分类器,提出以下新的融合公式对两种分类器的输出结果进行加权融合x力4(^(^^k)w)+(1—/")(《(4^)〈《)+(尸2(4^)"2)+(尸2(H叫)〈《))式中为样本X的决策函数值,/(xk)指对于第一分类器样本X属于类别叫的概率密度估计,g(xl叫)指对于第二分类器样本X属于类别叫的概率密度估计,6>指权值,6设定为0.5,《设定为0.8;步骤7,根据加权融合的结果y(x)决定网络行为是否为入侵行为。设定阈值为0.7,如果加权融合的结果y(x)小于设定阈值,则判定该网络行为为入侵行为,系统采取预警措施,将该网络行为纳入病毒库;对于加权融合的结果yOO大于设定阈值的情况则重复步骤3,继续采集新的网络行为数据样本集进行判别。以下给出仿真实验结果分析,以进一步说明本发明的效果-数据集分为30个子集,每个子集都包含39256条异常数据以及9727条正常数据,测试方法为随机选取一个正常数据子集进行训练,测试的时候则在全部数据集上进行测试,记录每次测试的检测率以及虚警率。分别用第一分类器、第二分类器以及第一分类器和第二分类器的融合对数据集进行测试。检测率以及虚警率评价标准检测率和虚警率的定义如下检测率=正确分出的异常样本/全部的异常样本,虚警率=错误分出的正常样本/全部的正常样本,图4、图5、图6,分别是用第一分类器、第二分类器以及第一分类器和第二分类器的融合对数据集进行测试的效果图。从这三种方法的效果图可以看出,第一分类器和第二分类器的融合效果无论是检测率还是虚警率都要优于单一的第一分类器和第二分类器。用第一分类器、第二分类器、第一分类器和第二分类器的融合随机选择一个正常数据集进行训练,并在9个不同的数据子集上进行测试,其检测率和虚警率如表1所示。表1三种分类方法在不同子集上的测试结果<table>tableseeoriginaldocumentpage10</column></row><table>从表1可以看出,在这9个数据子集上第一分类器和第二分类器的融合的检测率都比单一的第一分类器和第二分类器要高,同样虚警率也低于单一的第一分类器和第二分类器。将第一分类器、第二分类器、第一分类器和第二分类器的融合以及支持向量机分类方法在全部数据子集中进行比较,总的检测率和虚警率范围如表2所示,表2四种检测方法的效果比较<table>tableseeoriginaldocumentpage11</column></row><table>从表2可以看出,第一分类器与第二分类器融合后的性能效果要优于单一的第一、第二分类器和支持向量机分类方法。权利要求1、一种基于新颖发现和窗函数的分类融合入侵检测方法,包括如下步骤(1)当主机进行网络数据包的传送时,对主机的网络行为进行采集,得到描述网络行为的数据集,并对该数据集进行映射和归一化后得到特征向量;(2)从已采集到的数据集中选择非入侵行为的正常数据的特征向量作为训练样本集,并用SVND算法训练生成第一分类器,使得样本集经非线性核函数映射到特征空间得到向量模型产生决策函数f,该函数记正常样本输出为+1,异常样本输出为-1;(3)重新采集新的网络行为数据集作为新样本输入,计算其决策函数f值,并通过指数转换将该函数f输出的结果转换成概率估计形式;(4)将步骤(2)中的正常数据的特征向量作为训练样本集,用PARZEN窗函数算法对其进行概率密度分布估计来训练第二分类器;(5)将步骤(3)中的新的数据集作为新样本输入,根据贝叶斯决策,对异常样本进行预先建模,并根据步骤(4)中的概率密度分布估计设定概率密度阈值,如果新样本的概率密度分布估计值大于该阈值分类器输出为正常,反之则记为异常;(6)将以上第一分类器与第二分类器的输出结果按如下公式进行加权融合<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mi>y</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><msub><mi>f</mi><mrow><mi>T</mi><mo>,</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msub><mi>P</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>|</mo><msub><mi>&omega;</mi><mi>T</mi></msub><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>f</mi><mrow><mi>T</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>P</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>|</mo><msub><mi>&omega;</mi><mi>T</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mi>P</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>|</mo><msub><mi>&omega;</mi><mi>T</mi></msub><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>&theta;</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mi>P</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>|</mo><msub><mi>&omega;</mi><mi>T</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow>]]></math></maths>式中fT,1为样本x的决策函数值,P1(x|ωT)指对于第一分类器样本x属于类别ωT的概率密度估计,P2(x|ωT)指对于第二分类器样本x属于类别ωT的概率密度估计,θ指权值,θ1设定为0.5,θ2设定为0.8;(7)根据加权融合的结果y(x)决定网络行为是否为入侵行为,如果融合的结果y(x)小于设定阈值则判定为入侵行为,采取预警措施,否则重复步骤(3)。2、根据权利要求1所述的入侵检测方法,其中步骤(2)所述的训练生成第一分类器,是指对于一个包含N个样本的样本集",/=l,...,A^,对于一个新的输入样本X,其决策函数计算公式为其中a为拉普拉斯算子,/t为映射核函数,表示的是分类超平面中的常数项,其计算公式为-p=(w.d)=兀",(",x,)其中w表示分离超平面的法向量,O(JC)表示映射函数,本发明选取的映射核函数为高斯核函数A(X,.,X)A:(x,,x)=其中g为高斯参数。全文摘要本发明公开一种基于新颖发现和窗函数的分类融合入侵检测方法,主要解决现有支持向量机分类方法检测率低,复杂度高的问题。其实现步骤为(1)采集主机网络行为数据集,处理数据集得到特征向量;(2)选择非入侵行为的正常数据集作为训练样本集,训练生成第一分类器;(3)重新采集数据集,计算决策函数f并将它转换成概率估计形式;(4)用PARZEN窗函数方法训练第二分类器;(5)对步骤3中的数据集进行概率密度分布估计,并根据贝叶斯决策设定概率密度阈值;(6)将第一分类器与第二分类器的输出结果进行加权融合(7)根据加权融合的结果y(x)对网络行为采取预警或重复步骤(3)。本发明具有检测率高、虚警率低的优点,适用于网络入侵检测。文档编号H04L9/36GK101594352SQ200910023169公开日2009年12月2日申请日期2009年7月2日优先权日2009年7月2日发明者彪侯,公茂果,芳刘,周伟达,康张,焦李成,爽王,马文萍,高宜楠申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1