论文部分内容阅读
近年来,随着互联网的不断普及和我国网民数量的不断增加,僵尸网络(Botnet)问题也越来越受到人们的关注。尤其是在2004年我国首例僵尸网络攻击事件发生之后,人们开始清楚地意识到,僵尸网络作为危害性极强的新型攻击手段,已不是一个简单的病毒或者木马,而是一个攻击平台。攻击者不仅可以使用这个平台来进行多种攻击,还可以利用它传播其他病毒木马等恶意程序。在这种情况下,传统的基于主机的检测手段(包括防病毒软件、个人防火墙等)虽然可以有效地查杀木马、病毒等僵尸程序,可以抵挡一些网络攻击,但是近几年出现的某些杀毒软件的误删事件,证明基于主机的检测手段在防范和检测木马、病毒等僵尸程序时已经力不从心。安装在僵尸主机上的僵尸客户端为了隐藏自己,除了在文件、进程等方面隐藏自己外,还会在数据包层面隐藏自己,将特征串缩短,并分散于多个数据包中。这使得传统的通过数据包过滤来检测僵尸主机的方法很难奏效,精确度也大幅下降。本文提出了一种基于组特征过滤器的检测方法,使用多个成员特征对内网主机数据包进行过滤,以O(t·mn)的空间开销为代价,应对短特征串和特征串的包分散问题,并能与传统的特征匹配算法相兼容。本文先后论述了组特征检测算法和检测系统的实现细节,并对仿真环境实验和天津市教育城域骨干网真实流量实验进行了展示,同时对系统的检测结果进行了分析。实验证明本文提出的基于组特征过滤算法的僵尸网络检测方法是切实可行的,基于组特征过滤技术的僵尸主机检测系统是有效的。此外,本文所实现的检测系统解决了在高速网络流量下的实时捕包问题,使用C/C++、WinPcap和多线程等手段,在处理1Gbps的网络流量时也不会发生丢包,而且系统的资源占用较低;实现了检测结果的可视化显示,检测系统可提供树形和Traffic Map两种显示模式,网管人员可以随时查看实时数据和历史数据;实现了数据包特征的描述和存储,提高了系统的易用性,在发现新的僵尸木马程序的通信数据包特征后,可以很方便地将新特征添加到检测系统中去。