发明名称 一种基于人工免疫的MANET网络攻击检测方法
摘要 本发明公开了一种基于人工免疫的MANET网络攻击检测方法,达到了较低的误判率和较快的检测速度。本发明方法包括:节点传帧计数序列的记录、信道传帧计数序列的记录、双元累积滑窗检测方法、残差滑窗阈值判别法、基因匹配检测法五个部分。针对恶意攻击记录信道每隔Δt时间传帧计数序列作为特征序列,采用双元累积滑窗检测方法;针对自私性攻击检测区分两种情况:当检测节点处于饱和状态时,记录每个节点每隔Δt时间传帧计数序列,采用残差滑窗阈值判别法进行初始检测,将自私节点的退避时间序列进行记录、编码和基因化后作为基因检测体;当检测节点处于非饱和状态时采用基因匹配检测法。本发明适用于MANET网络MAC层攻击的综合检测。
申请公布号 CN101977129B 申请公布日期 2012.10.10
申请号 CN201010517270.1 申请日期 2010.10.19
申请人 青海师范大学 发明人 杜秀娟;金志刚;杜秀菊;黄科军
分类号 H04L12/26(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/26(2006.01)I
代理机构 西宁金语专利代理事务所 63101 代理人 哈庆华
主权项 1.一种基于人工免疫的MANET网络攻击检测方法,其特征在于:所述的检测方法包括如下步骤:1)对恶意攻击,采用双元累积滑窗检测方法;2)对自私性攻击检测区分两种情况:当检测节点处于饱和状态时,采用残差滑窗阈值判别法进行初始检测,并将检测到的攻击节点的退避时间序列进行记录、编码和基因化后作为基因检测体;当检测节点处于非饱和状态时采用基因匹配检测法;所述的恶意攻击检测步骤为:1)检测节点记录信道每隔Δt时间的传帧计数序列;2)以信道的传帧计数序列作为特征序列,采用双元累积滑窗检测方法;所述的双元累积滑窗检测方法包含以下步骤:1)令Y<sub>n</sub>=μ-X<sub>n</sub>,则Y<sub>n</sub>的均值为零;其中X<sub>n</sub>为信道传帧计数序列,μ=E(X<sub>n</sub>);当网络中出现恶意攻击行为时,Y<sub>n</sub>的均值在变化点j处从0阶跃至δ,δ∈[a,b];2)为了加快检测速度,对Y<sub>n</sub>的值在u个Δt时间内累积,得到<img file="FSB00000859458600011.GIF" wi="39" he="60" />值,<maths num="0001"><![CDATA[<math><mrow><msub><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>(</mo><msub><mi>Y</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>+</mo></msup></mrow><mi>n</mi></mfrac></mtd><mtd><mi>n</mi><mo>&lt;</mo><mi>u</mi></mtd></mtr><mtr><mtd><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>n</mi><mo>-</mo><mi>u</mi><mo>+</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>(</mo><msub><mi>Y</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>+</mo></msup></mrow><mi>u</mi></mfrac></mtd><mtd><mi>n</mi><mo>&GreaterEqual;</mo><mi>u</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>3)定义恶意攻击决策函数d<sub>h</sub>(D<sub>u</sub>),给定判别间隔h,执行攻击判定<img file="FSB00000859458600013.GIF" wi="916" he="174" />其中,<maths num="0002"><![CDATA[<math><mrow><msub><mi>D</mi><mi>u</mi></msub><mo>=</mo><mi>max</mi><mo>{</mo><msub><mi>k</mi><mn>1</mn></msub><msub><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msup><msub><mi>k</mi><mn>1</mn></msub><mn>2</mn></msup><mo>,</mo><msub><mi>k</mi><mn>2</mn></msub><msub><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msup><msub><mi>k</mi><mn>2</mn></msub><mn>2</mn></msup><mo>}</mo><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>k</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><mn>3</mn><mi>a</mi><mo>+</mo><mi>b</mi></mrow><mn>8</mn></mfrac><mo>,</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mi>k</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><mi>a</mi><mo>+</mo><mn>3</mn><mi>b</mi></mrow><mn>8</mn></mfrac></mrow></math>]]></maths>所述的检测节点处于饱和状态时的检测步骤为:1)记录自身和每个邻居节点每隔Δt时间的传帧计数序列;2)以上述序列为参数,采用残差滑窗阈值判别法进行初始检测;3)对攻击节点的退避时间进行记录、编码和基因化,生成基因检测体;所述的残差滑窗阈值判别法包含以下步骤:1)检测节点0计算邻居节点i的传帧计数差值序列<img file="FSB00000859458600024.GIF" wi="96" he="75" />及其均值μ<sup>i</sup>:<maths num="0005"><![CDATA[<math><mrow><mo>{</mo><msubsup><mi>Y</mi><mi>j</mi><mi>i</mi></msubsup><mo>}</mo><mo>=</mo><mo>{</mo><msubsup><mi>X</mi><mi>j</mi><mi>i</mi></msubsup><mo>-</mo><msubsup><mi>X</mi><mi>j</mi><mn>0</mn></msubsup><mo>}</mo></mrow></math>]]></maths>其中<img file="FSB00000859458600026.GIF" wi="54" he="62" />为节点0第j个传帧计数,<img file="FSB00000859458600027.GIF" wi="72" he="85" />为节点i的第j个传帧计数,<img file="FSB00000859458600028.GIF" wi="63" he="80" />表示节点0与节点i的传帧计数差值序列中的第j个差值;2)将节点i的<img file="FSB00000859458600029.GIF" wi="81" he="62" />在u个Δt时间内进行滑窗累积:<maths num="0006"><![CDATA[<math><mrow><msubsup><mi>y</mi><mi>j</mi><mo>'</mo></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>j</mi></munderover><msubsup><mi>Y</mi><mi>k</mi><mi>i</mi></msubsup></mtd><mtd><mi>j</mi><mo>&lt;</mo><mi>u</mi></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>j</mi><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn></mrow><mi>j</mi></munderover><msubsup><mi>Y</mi><mi>k</mi><mi>i</mi></msubsup></mtd><mtd><mi>j</mi><mo>&GreaterEqual;</mo><mi>u</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>3)攻击决策函数为:<maths num="0007"><![CDATA[<math><mrow><msub><mi>d</mi><mi>b</mi></msub><mrow><mo>(</mo><msub><msup><mi>y</mi><mo>'</mo></msup><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><msub><msup><mi>y</mi><mo>'</mo></msup><mi>j</mi></msub><mo>&lt;</mo><mi>h</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><msub><msup><mi>y</mi><mo>'</mo></msup><mi>j</mi></msub><mo>&GreaterEqual;</mo><mi>h</mi></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>所述的检测节点处于非饱和状态时的基因匹配检测法步骤为:1)计算基因检测体与被检节点抗原的匹配程度;2)根据判别函数判断被检节点是否可疑。
地址 810008 青海省西宁市五四西路38号