论文部分内容阅读
僵尸网络是指控制者出于恶意目的使用僵尸程序感染大量网络主机并对其进行控制从而形成的一种攻击网络,它主要通过命令与控制(C&C)信道进行通信。僵尸网络可以用来执行分布式拒绝服务(DDoS)攻击、发送垃圾邮件、窃取个人信息等网络恶意行为,从而给互联网安全带来了严重的威胁。随着僵尸网络技术的不断发展,新的僵尸类型及其变种屡见不鲜,僵尸网络的检测技术也在不断更新。然而时至今日,还没有一种方法能够对所有类型的僵尸网络进行检测,每种检测方法只能对部分僵尸样本或者某一个僵尸族有比较好的检测效果。但是在僵尸网络及其检测技术发展的历程中,可以看到:为了增强僵尸网络的鲁棒性和健壮性,越来越多的僵尸网络控制者倾向于使用加密的通信方式从而躲避检测;僵尸网络控制者通过C&C信道向僵尸机发布命令从而对其进行控制,C&C通信的检测能够很好地表征僵尸网络的存在;僵尸网络由于其群体性以及协同工作机制的存在,其内部主机产生的消息响应或行为响应具有一定的时空关联性。针对上述问题的存在,本文主要对加密流量识别、C&C通信检测以及僵尸网络的时空关联性进行了研究与分析,在这些工作的基础上设计并实现了一个基于时空关联性的僵尸网络检测系统。本文的主要工作有:(1)利用流量加密前后有效负载的混乱性和随机性发生变化这一特性,提出了基于流的加密流量识别方法,使用相对熵和Monte CarloPI估计误差作为特征,与仅使用相对熵作为特征向量的方法相比,准确率较高且误报率低;(2)HTTP僵尸主机在与C&C服务器进行通信时的流量属性不同于正常网络主机通信时的流量属性,在得到区分度明显的特性后,使用综合分析方法对网络通信流量进行处理,从而检测僵尸网络的C&C通信;(3)对僵尸网络的时空关联性进行分析后,使用IP聚集的Bloom Filter算法和基于响应组密度的SPRT算法实现检测系统并对网络流量进行分析,判断是否有僵尸网络的存在。实验结果表明,该方法能有效地对僵尸网络进行检测,并能够将误报率和漏报率控制在一定的范围内。