发明名称 一步预测卡尔曼滤波检测LDoS攻击的方法
摘要 低速率拒绝服务LDoS(Low-rate Denial of Service)攻击是一种新型的DoS攻击。它利用TCP协议超时重传RTO(Retransmission Time Out)机制,向受害者发送周期性的脉冲(Pulse)攻击。LDoS平均攻击速率较低,因此它能躲避传统的检测方法。本发明针对LDoS攻击提出了一种基于卡尔曼(Kalman)滤波的检测方法。首先设定一个检测周期对受害端的流量进行采样;然后对采样数据进行小波变换,利用小波系数提取波形趋势;再采用卡尔曼滤波算法以一步预测与最优估算的误差值作为检测突变的依据;最后利用t假设检验来判定攻击的开始与结束。试验结果表明采用本发明所提出的方法能有效的检测出LDoS攻击。
申请公布号 CN101577642B 申请公布日期 2013.05.01
申请号 CN200810094189.X 申请日期 2008.05.08
申请人 吴志军;岳猛 发明人 吴志军;岳猛
分类号 H04L12/26(2006.01)I;H04L12/811(2013.01)I;H04L29/06(2006.01)I 主分类号 H04L12/26(2006.01)I
代理机构 代理人
主权项 1.一种基于卡尔曼滤波算法的LDoS(Low-rate Denial of Service)的检测方法,其特征在于:是通过以下步骤实现的:(1)在受害端对流量进行采样;(2)用小波分析的方法对采样信号进行平滑处理;(3)利用流量矩阵模型,将处理过的数据看作一个离散控制过程;(4)基于卡尔曼滤波算法利用一步预测和最优估计的误差值作为检测依据;(5)如果误差值大于门限C,则判定为有突变;(6)利用t假设检验法判定突变的原因是攻击的开始还是结束,如果是攻击开始则报警;其中,步骤(1)是在受害端的上一跳路由监测流量,每隔t秒的间隔对流量进行取样,一个取样周期为T秒,抽样数据就成为一个离散的序列;步骤(2)对采样的信号做小波分解,取平滑信号部分,这样信号变得平滑了,只有在攻击开始与结束的时候波形有突变;步骤(3)在上面小波分析的基础上建立一个流量矩阵模型并用卡尔曼滤波算法进行预测和估算,把平滑信号作为观测值Y<sub>t</sub>,它与实际的系统状态值X<sub>t</sub>的关系可以用线性方程表示为:Y<sub>t</sub>=A<sub>t</sub>X<sub>t</sub>+V<sub>t</sub>其中A<sub>t</sub>表示路由器矩阵,V<sub>t</sub>表示一个非相关,零均值的高斯白噪声,对下一时刻状态的一步预测表示为:X<sub>t+1</sub>=C<sub>t</sub>X<sub>t</sub>+W<sub>t</sub>其中C<sub>t</sub>反映了流量的时空相关性,W<sub>t</sub>是非相关,零均值的高斯白噪声,由流的随机波动造成;步骤(4)根据卡尔曼滤波的原理,基于上一状态可预测出现在的状态,同时更新X<sub>t</sub>的自协方差P<sub>t</sub>,用公式表示为<maths num="0001"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><mo>=</mo><msub><mi>C</mi><mi>t</mi></msub><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>t</mi><mo>|</mo><mi>t</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>P</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><mo>=</mo><msub><mi>C</mi><mi>t</mi></msub><msub><mi>P</mi><mrow><mi>t</mi><mo>|</mo><mi>t</mi></mrow></msub><msubsup><mi>C</mi><mi>t</mi><mi>T</mi></msubsup><mo>+</mo><msub><mi>Q</mi><mi>t</mi></msub></mtd></mtr></mtable></mfenced></math>]]></maths>其中<img file="FSB00000962250200012.GIF" wi="93" he="68" />表示一步预测,P<sub>t+1|t</sub>表示预测方差,Q<sub>t</sub>表示W<sub>t</sub>的协方差,<maths num="0002"><![CDATA[<math><mrow><mi>E</mi><mo>[</mo><msub><mi>W</mi><mi>k</mi></msub><msubsup><mi>W</mi><mi>l</mi><mi>T</mi></msubsup><mo>]</mo><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>Q</mi><mi>k</mi></msub><mo>,</mo><mi>ifk</mi><mo>=</mo><mi>l</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>otherwise</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>有了现在状态的预测结果,然后再收集现在状态的测量值,结合预测值和测量值,可以得到状态t+1的最优化估计值<img file="FSB00000962250200014.GIF" wi="147" he="67" />同时更新t+1状态下X<sub>t+1|t+1</sub>的自协方差P<sub>t+1|t+1</sub>:<maths num="0003"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><mo>+</mo><msub><mi>K</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>[</mo><msub><mi>Y</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>A</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>P</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mrow><mo>(</mo><mi>I</mi><mo>-</mo><msub><mi>K</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>A</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><msub><mi>P</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><msup><mrow><mo>(</mo><mi>I</mi><mo>-</mo><msub><mi>K</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>A</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mi>T</mi></msup><mo>+</mo><msub><mi>K</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>R</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><msubsup><mi>K</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow><mi>T</mi></msubsup></mtd></mtr></mtable></mfenced></math>]]></maths>其中<maths num="0004"><![CDATA[<math><mrow><msub><mi>K</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>P</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><msubsup><mi>A</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow><mi>T</mi></msubsup><msup><mrow><mo>[</mo><msub><mi>A</mi><mi>t</mi></msub><msub><mi>P</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><msubsup><mi>A</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow><mi>T</mi></msubsup><mo>+</mo><msub><mi>R</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>]</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>,</mo></mrow></math>]]></maths>R<sub>t</sub>表示V<sub>t</sub>的协方差,<maths num="0005"><![CDATA[<math><mrow><mi>E</mi><mo>[</mo><msub><mi>V</mi><mi>k</mi></msub><msubsup><mi>V</mi><mi>l</mi><mi>T</mi></msubsup><mo>]</mo><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>R</mi><mi>k</mi></msub><mo>,</mo><mi>ifk</mi><mo>=</mo><mi>l</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>otherwise</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>随着卡尔曼的工作,X会逐渐的收敛;对t+1时刻的一步预测值与最优估算值进行比较,误差表达式为:<maths num="0006"><![CDATA[<math><mrow><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mo>|</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>t</mi><mo>+</mo><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi></mrow></msub><mo>-</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></math>]]></maths>步骤(5)门限值C是通过学习得到的;步骤(6)在(5)判定突变之后,对下一个周期T内的流量进行t假设检验,需要检验:H<sub>0</sub>:μ≥μ<sub>0</sub>=M<sub>k</sub>/nH<sub>1</sub>:μ<M<sub>k</sub> /nM<sub>k</sub>是在正常情况下通过学习得到的一个流量的数学期望,拒绝域为:<maths num="0007"><![CDATA[<math><mrow><mi>t</mi><mo>=</mo><mfrac><mrow><msub><mi>F</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mn>0</mn></msub></mrow><mrow><mi>s</mi><mo>/</mo><msqrt><mi>n</mi></msqrt></mrow></mfrac><mo>&lt;</mo><msub><mi>t</mi><mrow><mn>1</mn><mo>-</mo><mi>&alpha;</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>F<sub>avg</sub>为这一段时间流量的平均值。
地址 300300 天津市津北公路2898号中国民航大学电子信息工程学院