发明名称 基于主机流量功率谱相似性度量的僵尸网络检测方法
摘要 本发明公开了一种基于主机流量功率谱相似性度量的僵尸网络检测方法,属于网络通信安全领域。对采集到的网络出口流量数据进行预处理后,利用自相关函数对其进行描述,自相关函数取离散傅里叶变换得到各主机流量功率谱序列,计算主机对功率谱序列的优化DTW距离,将优化DTW距离小于阈值的主机对放入主机对集合,最后利用时空关联算法计算主机对集合中的各主机对所处状态的可信度,根据该值的大小判断被检测网络中是否存在僵尸网络,实现僵尸网络的检测。采用优化DTW距离描述主机对流量功率谱的相似性,避免了僵尸主机个体差异给检测效果带来的影响;时空关联法分析主机对所处状态的可信度,充分利用了主机流量在时间和空间上的相关性,提高检测效果。
申请公布号 CN102801719A 申请公布日期 2012.11.28
申请号 CN201210279978.7 申请日期 2012.08.08
申请人 中国人民解放军装备学院 发明人 邹鹏;郑黎明;李润恒;贾焰;王宇;韩伟杰
分类号 H04L29/06(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 郭德忠;杨志兵
主权项 1.一种基于主机流量功率谱相似性度量的僵尸网络检测方法,其特征在于:该方法的具体实现步骤为:步骤一、网络出口流量数据采集基于libpcap/winpcap工具软件在企业网的出口处采集所有的网络流量,作为检测的原始数据,并根据不同的内网主机对采集到的网络流量进行分类,最后将流量数据存入数据中心;步骤二、对流量数据进行预处理后,计算网络主机在固定时间长度内的通讯量,并进行归一化处理,得到网络主机的通讯量函数,即网络主机流量函数,记为x(t),t=1,2,…,N,其中,N为观测的时间步长,在时间间距为L时,网络主机流量的自相关函数定义为:R<sub>x</sub>(L)=E[x(t)x(t+L)]其中,E[·]表示取数学期望;步骤三、通过离散傅里叶变换得到各主机流量功率谱序列通过对主机流量的自相关函数取离散傅里叶变换来获得主机流量功率谱序列,表示为:<maths num="0001"><![CDATA[<math><mrow><mi>&psi;</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><msub><mi>R</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><msup><mi>e</mi><mrow><mo>-</mo><mi>j</mi><mn>2</mn><mi>&pi;ki</mi><mo>/</mo><mi>N</mi></mrow></msup><mo>)</mo></mrow><mo>,</mo><mi>k</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤四、主机对流量功率谱的相似性度量提取步骤三中主机流量功率谱序列的特征点,得到特征点的数目q,并记录特征点的序号i<sub>s</sub>;将长度为N的主机流量功率谱序列转换为长度为f的功率谱特征序列,并分别计算转换前后序列的查询上届和查询下界;计算主机对功率谱特征序列的优化DTW距离,若距离值小于设定的阈值,则将主机对加入主机对集合A<sub>SB</sub>,以备下一步的检测;所述的长度为N的主机流量功率谱序列是指主机流量功率谱序列包含N个元素;步骤五、时空关联分析首先利用空间关联分析法分析主机对处于每种状态的可信度,即通过基本概率赋值函数bpa(·)将主机对的优化DTW距离转换为主机对所处状态的可信度;再利用时间关联分析法对主机对中存在僵尸主机的可信度进行修正,得到更精确的检测结果;最后判断待检测网络是否为僵尸网络;所述的主机对所处状态包括主机对处于非工作状态、主机对中存在僵尸主机、主机对中不存在僵尸主机和不能确定主机对中是否存在僵尸主机;(1)空间关联分析采用D-S证据理论实现空间关联分析,设辨识框架<img file="FDA00001985225100021.GIF" wi="282" he="62" />表示主机所处状态的集合,其中C表示主机是僵尸主机;<img file="FDA00001985225100022.GIF" wi="70" he="35" />表示主机不是僵尸主机;则主机对所处状态的集合,即辨识框架U的幂集合2<sup>U</sup>为:<img file="FDA00001985225100023.GIF" wi="737" he="70" />其中,<img file="FDA00001985225100024.GIF" wi="36" he="36" />表示主机对处于非工作状态;<img file="FDA00001985225100025.GIF" wi="197" he="62" />表示主机对所处的状态无法判断,即主机对中可能存在僵尸主机,也可能不存在僵尸主机;幂集合2<sup>U</sup>中各元素的基本概率赋值函数bpa(2<sup>U</sup>)定义为:<maths num="0002"><![CDATA[<math><mrow><mi>m</mi><mrow><mo>(</mo><mi>C</mi><mo>)</mo></mrow><mo>=</mo><mn>0.8</mn><mo>/</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mo>-</mo><mrow><mo>(</mo><msub><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mi>t</mi></msub><mo>-</mo><mn>1.5</mn><mo>)</mo></mrow></mrow></msup><mo>)</mo></mrow><mo>+</mo><mn>0.0667</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mi>m</mi><mrow><mo>(</mo><mo>&Not;</mo><mi>C</mi><mo>)</mo></mrow><mo>=</mo><mn>0.8</mn><mo>/</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mo>(</mo><msub><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mi>t</mi></msub><mo>+</mo><mn>1.5</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>+</mo><mn>0.0667</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mi>m</mi><mrow><mo>(</mo><mover><mi>U</mi><mo>~</mo></mover><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><mi>m</mi><mrow><mo>(</mo><mi>C</mi><mo>)</mo></mrow><mo>-</mo><mi>m</mi><mrow><mo>(</mo><mo>&Not;</mo><mi>C</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>-</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,<img file="FDA00001985225100029.GIF" wi="444" he="70" /><maths num="0005"><![CDATA[<math><mrow><msub><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mi>t</mi></msub><mo>=</mo><mn>10</mn><mo>&times;</mo><mrow><mo>(</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><mi>max</mi><mrow><mo>(</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>min</mi><mrow><mo>(</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>Y<sub>t</sub>表示在当前t时刻,当前主机对流量功率谱特征序列的优化DTW距离;通过基本概率赋值函数bpa(·)将各主机对流量功率谱特征序列的优化DTW距离转换为主机对所处状态的可信度;(2)时间关联分析为了提高僵尸网络的检测精度,本发明通过时间关联分析,即利用主机对流量功率谱优化DTW距离的时间相关性,对主机对中存在僵尸主机的可信度m(C)进行修正;用原假设H<sub>0</sub>表示前一时刻主机对不是僵尸主机,备择假设H<sub>1</sub>表示前一时刻主机对是僵尸主机,则当H<sub>1</sub>成立时,该主机对流量功率谱的DTW距离为当前时刻的DTW距离的概率为P<sub>r</sub>(Y<sub>t</sub>|H<sub>1</sub>);当H<sub>0</sub>成立时,该主机对流量功率谱的DTW距离为当前时刻的DTW距离的概率为P<sub>r</sub>(Y<sub>t</sub>|H<sub>0</sub>);考虑到不同时刻,主机流量不会完全相同,因此功率谱序列也不会完全相同,所以在实际操作中,用P<sub>r</sub>(Y<sub>t</sub>≤ε|H<sub>0</sub>)、P<sub>r</sub>(Y<sub>t</sub>≤ε|H<sub>1</sub>)分别代替P<sub>r</sub>(Y<sub>t</sub>|H<sub>0</sub>)、P<sub>r</sub>(Y<sub>t</sub>|H<sub>1</sub>);定义:P<sub>r</sub>(Y<sub>t</sub>≤ε|H<sub>0</sub>)=θ<sub>0</sub>、P<sub>r</sub>(Y<sub>t</sub>≤ε|H<sub>1</sub>)=θ<sub>1</sub>,其中,θ<sub>0</sub>和θ<sub>1</sub>都是Y<sub>t</sub>和ε的函数,定义为:<maths num="0006"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mn>0</mn></msub><mrow><mo>(</mo><msub><mi>Y</mi><mi>i</mi></msub><mo>,</mo><mi>&epsiv;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>exp</mi><mrow><mo>(</mo><mrow><mo>(</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>-</mo><mi>&epsiv;</mi><mo>)</mo></mrow><mo>&times;</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>(8)<maths num="0007"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>Y</mi><mi>i</mi></msub><mo>,</mo><mi>&epsiv;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mrow><mo>(</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>-</mo><mi>&epsiv;</mi><mo>)</mo></mrow><mo>&times;</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>式中,k为系统参数,ε为不采用时间相关性分析时系统的阈值;那么,当前时刻主机对为僵尸主机的可信度的修正系数,即幂集合2<sup>U</sup>的子集{C}的基本概率值修正系数为:<maths num="0008"><![CDATA[<math><mrow><msub><mi>K</mi><mi>s</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>P</mi><mi>r</mi></msub><mrow><mo>(</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>|</mo><msub><mi>H</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>P</mi><mi>r</mi></msub><mrow><mo>(</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>|</mo><msub><mi>H</mi><mn>0</mn></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>修正后,该主机对在当前时刻为僵尸主机的可信度为:m'(C)=m(C)×K<sub>s</sub>              (10)步骤六、异常判断根据时空关联分析法分别计算出集合A<sub>SB</sub>中n<sub>1</sub>个主机对存在僵尸主机的可信度,用<img file="FDA00001985225100034.GIF" wi="373" he="45" />表示,则待检测网络为僵尸网络的可信度表示为:<maths num="0009"><![CDATA[<math><mrow><msub><mi>m</mi><mi>web</mi></msub><mo>=</mo><msub><mi>m</mi><mn>1</mn></msub><msub><mrow><mo>&CirclePlus;</mo><mi>m</mi></mrow><mn>2</mn></msub><mo>&CirclePlus;</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>&CirclePlus;</mo><msub><mi>m</mi><msub><mi>n</mi><mn>1</mn></msub></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,<img file="FDA00001985225100036.GIF" wi="34" he="36" />表示正交和;m<sub>web</sub>定义为:<img file="FDA00001985225100037.GIF" wi="1365" he="251" />其中,<img file="FDA00001985225100038.GIF" wi="541" he="170" /><img file="FDA00001985225100039.GIF" wi="257" he="146" />表示集合A<sub>SB</sub>中的n<sub>1</sub>个主机对都有僵尸主机存在,即待检测网络为僵尸网络;<img file="FDA00001985225100041.GIF" wi="262" he="147" />表示集合A<sub>SB</sub>中的n<sub>1</sub>个主机对均处于工作状态,且所处状态相同;m<sub>i</sub>(C<sub>i</sub>)表示在当前时刻第i个主机对中存在僵尸主机的可信度,即在当前时刻第i个主机对中存在僵尸主机的概率值为m<sub>i</sub>(C<sub>i</sub>),由式(10)计算得到;由式(12)得到待检测网络所处状态的可信度,判断待检测网络为僵尸网络的可信度是否大于给定的阈值,若是则认为待检测网络中存在僵尸网络;否则,认为待检测网络为安全网络。
地址 101416 北京市怀柔区怀柔3380信箱