论文部分内容阅读
僵尸网络对于网络安全变得越来越具有威胁性,其平台性可使黑客进行分布式拒绝服务(DDoS:Distributed Denialof Service)攻击、获取虚拟货币、发送垃圾邮件等多种恶意活动,每年给全球造成的直接经济损失达数十亿美元。另外,随着各种物联网设备接入互联网,网络环境越来越复杂,这无疑使僵尸网络检测和追踪的难度越来越大。僵尸网络的检测方面,由于其通常有潜伏期,期间宿主机的行为表现与正常主机一般无二,要在其实施恶意行为之前提前检测就显得比较困难。目前僵尸网络的检测方法为将网络流量分析方法和主机行为分析方法相结合。前者分析主机间通信产生的流量,后者检测主机是否具有可疑行为。网络流量分析从网络流量中进行特征提取以用多维向量来表示主机间的交互模式。其包含两类方法,一类利用机器学习的分类方法在己知的僵尸网络样本中训练分类器,根据分类器来判断当前网络环境中是否存在己知僵尸网络。另一类利用机器学习的聚类算法对网络环境中所有的主机交互模式进行聚类分析,根据聚类结果来分析可疑的主机群。聚类算法的不确定性导致这种方法通常具有较高的误报率。针对这个问题,本文将图论中的异常点检测方法引入到僵尸网络的检测领域,提出将图的异常点检测方法与主机间交互模式相似性分析方法相结合的僵尸网络检测方法,可有效解决的误报率过高的问题。实验证明,本方法对多种协议(HTTP、TELNET)的集中式僵尸网络检测率达98%且误报率低于1%。僵尸网络的追踪方面,在未使用匿名网络的前提下,为了隐藏真实的C&C(Command and Control)服务器地址以躲避追踪,黑客会在服务器之前设置多个跳板。分析bot可以追踪到最外层的跳板,但无法依次向上溯源。基于网络流水印的僵尸网络追踪方法可以有效解决这一问题,其通常在bot发往服务器的数据包上添加水印,再在网络上检测添加的水印。目前在网络流水印领域己有多种通过调整网络层数据包的水印追踪方法,其主要难题是降低黑客在跳板处对数据流的加密、添加chaff包、分割流、重组数据包等情况对水印检测的干扰。僵尸网络的“心跳”数据包数量少导致这类方法不适用。另外,目前学术界对HTTP协议僵尸网络追踪方法的研究工作很少,其焦点主要在针对基于IRC协议僵尸网络的追踪方法上。其主要原因是IRC僵尸网络中黑客与bot之间只能直接通信,研究IRC协议僵尸网络的追踪技术可直接追踪到黑客IP地址。为了填补HTTP协议僵尸网络追踪研究领域的空白,本文为追踪HTTP协议僵尸网络真实C&C服务器地址,提出了在应用层添加冗余参数的动态水印追踪方法,其可以有效规避数据包的流分割、包重组等现象。实验表明,本方法追踪真实C&C服务器地址的成功率在85%以上。