论文部分内容阅读
僵尸网络是由攻击者控制的计算机群,能够执行诸如分布式拒绝服务攻击、垃圾邮件、钓鱼网站、敏感信息窃取等多种恶意活动,已经成为互联网的严重威胁之一。因而如何有效检测出僵尸网络也成为了当前重要的研究课题。目前僵尸网络检测主要通过分析网络流量来完成。这类检测方法取得了一些的研究成果,但也存在明显的不足:单纯利用僵尸主机行为相似性的方法容易出现误判;通常需要黑名单才能完成检测;依赖于僵尸主机的恶意攻击行为;检测效率较低等。本文针对现有僵尸网络检测方法的上述问题,提出了四种新的僵尸网络检测方法。具体贡献及创新如下:(1)提出了基于流量相似性及稳定性的僵尸网络检测方法。通常同一个僵尸网络中的僵尸主机会运行相同的僵尸程序,其流量具有相似性及稳定性。现有方法仅利用流量相似性来检测僵尸网络,容易出现误判等问题。本文提出了基于流量相似性和稳定性相结合的检测方法。该方法以聚合流为分析对象,首先对聚合流进行聚类并得出相似性分数,然后设计稳定性测量算法计算单个聚合流的稳定性分数,最后根据相似性和稳定性分数得出综合分析结果。实验结果表明该方法的检测率比单纯用稳定性的方法高,误报率比单纯用相似性的方法低,检测性能较好。(2)提出了面向DNS流量的可视化僵尸网络检测方法。为了逃避检测,僵尸网络会采用动态域名技术。僵尸主机要频繁地发起DNS查询以获取命令与控制服务器当前的IP地址,因而会产生大量DNS流量。‘针对现有利用DNS流量的检测方法需要用黑名单等问题,本文提出了面向DNS流量的可视化僵尸网络检测方法。该方法从DNS流量中提取出服务器-主机对及其特征,从而求出服务器-主机对的不相似度矩阵,然后用VAT(Visual Assessment of cluster Tendency)算法来检测僵尸网络。该方法能给出不相似度矩阵的像素图,从像素图中能明显地看出是否存在僵尸网络簇及簇的个数和大小。实验结果表明该方法可以有效检测出僵尸网络,并且和现有经典的基于DNS流量的检测方法相比,该方法的总错误率较低。(3)提出了基于流间关联关系的僵尸网络检测方法。分布式僵尸网络由于没有集中的命令与控制服务器,因而比集中式僵尸网络更难检测。分布式僵尸网络中每个僵尸主机维护一个邻居节点列表,并频繁地依次访问列表中的节点以获取命令或者更新,僵尸主机访问邻居列表中前后节点产生的流具有关联关系。针对这类僵尸网络,本文提出了基于流间关联关系的检测方法。该方法首先获取流,然后通过提取流间关联关系来检测僵尸网络。实验结果表明通过提取流间关联关系能有效检测出僵尸网络。与现有分布式僵尸网络检测方法相比,该方法不需要外部系统提供信息,不依赖于僵尸网络的攻击行为。(4)提出了云协同环境下的僵尸网络检测方法。僵尸网络的发展进化使得检测方法越来越复杂,其计算量也越来越大,因而在单服务器下运行的串行检测算法很难应对高速网络环境中的僵尸网络检测问题。而云计算具有强大的数据分析和处理能力,为僵尸网络的检测提供了解决方案。因而本文提出了云协同环境下的僵尸网络检测方法。该方法由云客户端和云服务器端协同完成僵尸网络的检测。云客户端上传自身可疑的流量信息到云服务器端。云服务器端收集各个云客户端上传的流量并预处理,然后利用基于MapReduce的并行检测算法实现僵尸网络的检测。实验结果表明该方法能有效检测出僵尸网络,并且当云服务器端的计算节点个数增多时检测效率提高。综上所述,本文提出了四种基于流量分析的僵尸网络检测方法,并取得了一定的研究成果,对促进僵尸网络检测工作的研究具有良好的意义和价值。