发明名称 基于免疫多目标约束的否定选择入侵检测方法
摘要 本发明公开了一种基于免疫多目标约束的否定选择入侵检测方法,主要用于解决现有技术中检测器耗费大和分布不合理的问题。其实现步骤为:(1)产生初始检测器集合,设置运行参数和终止条件;(2)对检测器集合进行克隆繁殖操作;(3)对检测器集合进行克隆变异操作;(4)合并父代和子代检测器集合;(5)计算个体检测器覆盖率;(6)计算个体检测器交叠区域;(7)保留精英检测器;(8)构造非支配检测器集合;(9)对检测器集合进行修剪操作;(10)判断终止条件;(11)测试待测数据,统计检测率和虚警率。本发明能够用更少的检测器覆盖更大面积的异常区域,有效提高了入侵检测检测率,可用于网络环境中对数据的检测。
申请公布号 CN101866402B 申请公布日期 2012.02.08
申请号 CN201010188082.9 申请日期 2010.05.31
申请人 西安电子科技大学 发明人 公茂果;刘芳;焦李成;张伟;王爽;马文萍;刘若辰;李阳阳
分类号 G06F21/00(2006.01)I;H04L12/24(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 1.一种基于免疫多目标约束的否定选择入侵检测方法,包括如下步骤:(1)用原始实值否定选择方法产生初始检测器集合,作为父代检测器集合,并设置运行参数以及终止条件:1a)采用限定迭代次数和规定检测器集合的期望覆盖率二者的混合形式作为终止条件;1b)设定检测运行参数,主要包括正常样本的半径r<sub>s</sub>∈[0,0.1]、最高迭代次数time∈[0,50]、初始检测器集合规模n、控制基因<img file="FSB00000649751900011.GIF" wi="322" he="138" />和期望覆盖率c<sub>0</sub>≥90%;1c)根据实值否定选择算法中欧氏距离匹配规则,产生初始的检测器集合,作为父代检测器集合,其产生方法是:随机生成一个检测器的中心向量c,根据欧氏距离匹配规则来判断是否被正常样本所覆盖,即判断检测器中心向量c到任一正常样本中心向量c<sub>s</sub>的距离是否小于该正常样本的半径r<sub>s</sub>,若小于则判断为覆盖,否则判断为未覆盖;若被覆盖则舍弃该检测器,并重新生成新的检测器中心向量,否则计算该检测器中心向量到离其最近的一个正常样本中心向量的欧氏距离dis,则该检测器的半径可定义为r=dis-r<sub>s</sub>,直到候选检测器数目达到初始检测器集合规模n,初始化过程结束,此时父代检测器集合表示为:D<sub>t</sub>(c,r)={d<sub>1</sub>(c,r),d<sub>2</sub>(c,r),…,d<sub>n</sub>(c,r)},t=0,其中n为检测器集合规模,d<sub>k</sub>为第k个检测器;(2)对父代检测器集合进行克隆繁殖操作,即在父代检测器集合D<sub>t</sub>(c,r)的基础上,对其中的每一个检测器进行等比例的克隆繁殖操作,定义克隆检测器集合规模为n<sub>c</sub>,则每一个检测器的复制个数为n<sub>c</sub>/n,此时克隆检测器集合可以表示为:<maths num="0001"><![CDATA[<math><mrow><msub><mi>D</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msub><mi>d</mi><mrow><mi>L</mi><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>d</mi><mrow><mi>L</mi><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>d</mi><msub><mi>Ln</mi><mi>c</mi></msub></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow></math>]]></maths>其中d<sub>Lk</sub>代表D<sub>L</sub>(c,r)中第k个检测器;(3)对克隆繁殖后的检测器集合进行克隆变异操作,形成子代检测器集合,即对克隆繁殖后检测器集合D<sub>L</sub>(c,r)的所有个体检测器的中心或半径在0~1范围内进行高斯扰动使其变异,该变异概率为100%,最终形成子代检测器集合,表示为:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>D</mi><mi>L</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msubsup><mi>d</mi><mrow><mi>L</mi><mn>1</mn></mrow><mo>*</mo></msubsup><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><msubsup><mi>d</mi><mrow><mi>L</mi><mn>2</mn></mrow><mo>*</mo></msubsup><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>d</mi><mrow><mi>L</mi><msub><mi>n</mi><mi>c</mi></msub></mrow><mo>*</mo></msubsup><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow></math>]]></maths>其中<img file="FSB00000649751900022.GIF" wi="66" he="58" />代表<img file="FSB00000649751900023.GIF" wi="161" he="100" />中第k个检测器;(4)对父代检测器集合和子代检测器集合进行合并,即将父代检测器集合与克隆变异后子代检测器集合进行合并,组成新的检测器集合,其规模为:N=n+n<sub>c</sub>,合并后的检测器集合可以表示为:<maths num="0003"><![CDATA[<math><mrow><msub><mi>D</mi><mi>T</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msub><mi>d</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>d</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>d</mi><mi>N</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>}</mo><mo>=</mo><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>&cup;</mo><msubsup><mi>D</mi><mi>L</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>(5)计算合并后检测器集合所有个体检测器d的覆盖率,将个体检测器d的覆盖率定义为第一个目标函数:f<sub>1</sub>(d)=Cov(d),其中f<sub>1</sub>是一个最大化问题,即希望得到最大的个体检测器覆盖率,具体步骤为:5a)根据假设检验的原理,假设初始检测器个数的上限为d<sub>num</sub>,得到检测器集合所能达到的理论最大覆盖率P<sub>max</sub>=1-5/d<sub>num</sub>;5b)在规定区域内进行随机采样,并记录随机采样被已有检测器所覆盖的次数,采样次数m可由m={5/p,5/(1-p)}来确定;5c)在进行m次采样试验中,若有<maths num="0004"><![CDATA[<math><mrow><mi>y</mi><mo>=</mo><msqrt><msub><mi>mp</mi><mi>max</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>p</mi><mi>max</mi></msub><mo>)</mo></mrow></msqrt><mrow><mo>(</mo><msub><mi>z</mi><mi>&alpha;</mi></msub><mo>+</mo><msqrt><mfrac><msub><mi>mp</mi><mi>max</mi></msub><mrow><mn>1</mn><mo>-</mo><msub><mi>p</mi><mi>max</mi></msub></mrow></mfrac></msqrt><mo>)</mo></mrow></mrow></math>]]></maths>次采样被已有检测器集合连续覆盖,则判定其满足期望覆盖率,其中α为置信区间,z<sub>α</sub>可由正态分布表查得;5d)若在当前采样试验中,仅有<img file="FSB00000649751900026.GIF" wi="31" he="60" />次采样被连续覆盖,则当前的覆盖率为:<maths num="0005"><![CDATA[<math><mrow><mi>Cov</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>-</mo><msub><mi>p</mi><mi>max</mi></msub></mrow><mi>y</mi></mfrac><mo>;</mo></mrow></math>]]></maths>(6)计算合并后检测器集合中所有个体检测器d与检测器集合中其它个体检测器的最大交叠区域,将个体检测器d与检测器集合中其它个体检测器的最大交叠区域定义为第二个目标函数:f<sub>2</sub>(d)=Φ-Lap(d),其中Φ为一个极大值,Lap(d)是一个最小化问题,即希望检测器之间的交叠区域最小,则此时f<sub>2</sub>被转化成为一个最大化问题,用下述公式来近似第i个检测器和第j个检测器之间的交叠程度:<img file="FSB00000649751900031.GIF" wi="1120" he="344" />其中dim为中心向量的维数,f<sub>2</sub>中的Lap(d)则表示检测器d与其余检测器交叠的最大值为:<maths num="0006"><![CDATA[<math><mrow><mi>Lap</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mi>max</mi><mo>{</mo><mi>Lap</mi><mrow><mo>(</mo><mi>d</mi><mo>,</mo><msup><mi>d</mi><mn>1</mn></msup><mo>)</mo></mrow><mo>,</mo><mi>Lap</mi><mrow><mo>(</mo><mi>d</mi><mo>,</mo><msup><mi>d</mi><mn>2</mn></msup><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>Lap</mi><mrow><mo>(</mo><mi>d</mi><mo>,</mo><msup><mi>d</mi><msub><mi>d</mi><mi>num</mi></msub></msup><mo>)</mo></mrow><mo>}</mo><mo>;</mo></mrow></math>]]></maths>(7)在合并后的检测器集合中寻找个体检测器中心向量未被其它任一检测器所覆盖的个体检测器,称为精英检测器<img file="FSB00000649751900033.GIF" wi="55" he="78" />并保留;(8)找出所有pareto支配关系中非支配的个体检测器组成非支配检测器集合,根据D<sub>T</sub>(c,r)中个体检测器的目标函数值,pareto支配关系可以定义为:当且仅当d<sub>A</sub>和d<sub>B</sub>满足<img file="FSB00000649751900034.GIF" wi="659" he="200" />时,称d<sub>A</sub>支配d<sub>B</sub>,记为d<sub>A</sub>>d<sub>B</sub>,若不存在其他d>d<sup>*</sup>,则d<sup>*</sup>即为非支配个体检测器;对于pareto支配关系的判断独立存在于每一父代检测器及与其对应的克隆后子代检测器所组成的检测器集合中,这样的集合被称为当前检测器集合的一个子集,子集的个数与父代检测器集合中检测器的个数相等;在每一个上述的子集中分别找到对应的非支配个体检测器,并最终将所有子集中的非支配个体检测器记录保存,得到非支配检测器集合:<maths num="0007"><![CDATA[<math><mrow><msub><mi>D</mi><mi>N</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msub><mi>d</mi><mrow><mi>N</mi><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>d</mi><mrow><mi>N</mi><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>d</mi><msup><mi>NN</mi><mo>*</mo></msup></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow></math>]]></maths>其中,N<sup>*</sup>表示当前检测器集合的规模,且满足关系:n≤N<sup>*</sup>≤N,其中d<sub>Nk</sub>代表D<sub>N</sub>(c,r)中第k个检测器;(9)对检测器集合进行如下两个策略的修剪操作:第一个修剪策略是:删除拥有最大交叠程度的检测器,检测器的交叠程度可以通过目标函数值中计算交叠的公式得到,当迭代次数小于控制基因时,则利用此修剪策略对检测器集合进行修剪,减少检测器集合中检测器的个数,通过此修剪策略,可以加快整个检测优化过程的收敛速度;第二个修剪策略是:删除拥有最小体积的检测器,当迭代次数大于控制基因时,则利用此修剪策略对检测器集合进行修剪,直到检测器种群的规模满足规定大小n时,修剪停止,修剪后的检测器集合可记为:D<sub>t+1</sub>(c,r)={d<sub>(t+1)1</sub>(c,r),d<sub>(t+1)2</sub>(c,r),…,d<sub>(t+1)n</sub>(c,r)},此时检测器集合D<sub>t+1</sub>(c,r)为新一轮迭代的父代检测器集合,其中d<sub>(t+1)k</sub>代表D<sub>t+1</sub>(c,r)中第k个检测器;(10)根据步骤(1)中设定的终止条件判断当前检测器集合是否满足终止条件,若满足则停止迭代循环执行步骤(11),否则步骤(2),直到满足终止条件为止;(11)用最终生成的检测器集合测试输入的待测数据,并统计检测率和虚警率,通过步骤1到步骤10对检测器分布的优化,得到成熟的检测器集合D<sub>time</sub>(c,r),其中time为最高迭代次数,此时根据步骤1中所用到的欧氏距离匹配规则对新输入的测试样本进匹配判断,若测试样本被任意检测器所覆盖,则认为其为“危险”样本,对应的行为则为疑似入侵行为,否则认为安全;通过对一组测试样本的匹配判断,得到检测率和虚警率,对每一个测试样本将会有4种不同的检测结果:1)样本是异常的,检测的结果也是异常的,称为正确肯定(tp);2)样本是异常的,检测器却未能检测出该样本,称为漏检(fn);3)样本是正常的,检测器也没有检测到该样本,称为正确否定(tn);4)样本是正常的,但却被检测为异常,称为虚检(fp),通过对这4种情况的统计得到对此次入侵检测的检测率和虚警率,表示为:<img file="FSB00000649751900041.GIF" wi="358" he="180" /><img file="FSB00000649751900042.GIF" wi="405" he="148" />
地址 710071 陕西省西安市太白南路2号