论文部分内容阅读
随着信息技术的快速发展,互联网的应用已深入到社会各个行业,人们在感受互联网所带来众多优势的同时,也越来越重视网络安全问题。僵尸网络(Botnet)已经成为现代社会中最严重的网络安全威胁之一,尤其是利用P2P技术的僵尸网络,更是网络安全界共同关心的热点,如何有效地检测和防御P2P僵尸网络已经成为当前安全研究机构紧迫的研究课题。目前,僵尸网络的检测方法大部分集中在对IRC协议僵尸网络的检测,而对P2P协议的僵尸网络的检测还处于研究阶段,尚未有相对完善的检测方法,所以探讨对P2P僵尸网络的检测具有重要的实际意义。为了应对P2P僵尸网络的威胁,提高主机的防护能力,保证局域网络的安全,需要不断研究新的、更加有效的检测方法。针对P2P僵尸网络的检测问题,本文在借鉴一些已有的P2P僵尸程序检测方法的基础上,提出了一种基于主机与网络联合的P2P僵尸程序检测方法。该方法由主机端检测和服务器端检测两部分构成,可以根据P2P僵尸程序在不同状态下所呈现出的行为特点进行检测,既能够在主机端对活跃态的僵尸程序进行快速检测,又可以在服务器端对处于稳定态的P2P僵尸程序进行检测,解决了一些方法中对处于稳定态的僵尸程序检测效率低的问题。本文首先在基于主机端的检测方法中,分析了P2P应用程序通信的流量特点,提出了识别P2P流量的算法;研究了利用Detours技术监视进程API函数调用的过程,设计了依据N-gram模型提取指定进程API函数序列特征子串的算法;运用LDA分析,设计了通过进程特征子串的概率区分正常程序和P2P僵尸程序的方法。然后,在基于服务器端的检测方法中,研究了稳定态下P2P僵尸程序的通信特点,提出了依据自相关性原理检测周期性流量的方法,以及通过聚类分析和结构检验判断P2P僵尸主机的方法。最后,联合这两种方法,提出了基于主机与网络联合的P2P僵尸程序检测方法,并在进行了需求分析的基础上,实现了依据这种方法设计的P2P Bot Detector原型系统,该检测系统可以对局域网内部主机进行监视,及时检测P2P僵尸程序的存在,以实现保护局域网络内部主机安全的目的。在各部分的实验中,验证了本文所提出检测方法的有效性,不论在主机端检测还是在网络服务器端检测,都能实现较好的检测效果。