论文部分内容阅读
僵尸网络是互联网上被僵尸主人控制的一群计算机,僵尸主人利用僵尸网络进行各种攻击或盗取机密信息。僵尸网络通过病毒或恶意软件传播,对计算机有很高的控制能力,危害程度高于一般的计算机病毒,已经成为了互联网安全的重大威胁。传统的僵尸网络使用集中的命令控制(C&C)服务器,服务器是僵尸网络中易受攻击的部分,如果服务器被关闭,整个僵尸网络将会失效。随着P2P技术的成熟,僵尸主人将P2P技术应用于僵尸网络。P2P僵尸网络的C&C不依赖于专门的服务器,具有较高的安全性,隐蔽性,分布广泛,规模比传统的僵尸网络更大。P2P僵尸网络近年来发展迅速,成为了僵尸网络中的主流,但针对P2P僵尸网络的研究还比较少。
P2P网络在给互联网带来便利的同时,它的自身也存在着安全问题,例如对P2P网络的滥用和对P2P网络的攻击。使用分布式哈希表(DHT)作为路由的结构化P2P网络容易受到针对DHT的攻击。Kademlia是一种常见的P2P协议,广泛应用于资源共享,KAD网络是Kademlia代表性的应用,大多数P2P网络也是基于Kademlia的。大规模的P2P网络的出现和开源的P2P协议为P2P僵尸网络提供了发展的机会。
本文的前几章介绍了僵尸网络的概念,特点,历史与研究现状,详细描述了P2P网络中的Kademlia协议与P2P僵尸网络的工作方式。结构化的P2P僵尸网络使用DHT作为C&C的通信方式,因此,可以将对DHT的攻击方式应用于破坏P2P僵尸网络的C&C机制并对其进行打击,本文在第五章把indexpoisoning和sybil攻击应用于反制基于KAD的P2P僵尸网络并进行理论分析与对比,并提出了一种利用KAD网络随机分配节点的特性,在公差区域内加入sybil节点的改进方法。Index poisoning是指在节点的索引中加入伪造的记录,sybil攻击是在P2P网络中加入可以返回错误信息的节点,对路由进行攻击,这些节点称为sybil节点。通过本文的分析和计算,index poisoning方法可以使用较低的成本干扰僵尸网络的C&C机制,攻击的效果受到公差区域,网络规模大小和查询步长的影响,其中查询步长是指在Kademlia协议中经过每次迭代的查询,距离目标ID所接近的比特数的期望值。普通的sybil攻击效率不如index poisoning攻击,但由于index poisoning攻击容易被僵尸主人防御而且需要定期维护,sybil攻击将会在反制僵尸网络中得到更多的应用,它的攻击效果取决于僵尸网络的大小和查询步长。本文提出的改进的sybil攻击方法有目的的在某个键值的公差区域内加入sybil节点,因此如果使用与普通sybil攻击相同数量的sybil节点,将会有更大的概率拦截到僵尸网络的C&C,与index poisoning类似,影响这种改进方法的参数有公差区域,网络大小和查询步长。新节点加入KAD网络时会随机生成一个与现有节点不重复的ID,一个节点如果反复的加入和退出网络,它就可以为自己选择一个与目标ID接近的ID,因此这种改进的sybil攻击方法是可行的。本文对改进后的方法进行了分析和计算,从结果中可以看出,它在效率上远高于普通的sybil攻击,接近index poisoning,与普通的sybil攻击一样可以广泛应用,而且在僵尸网络规模增大后,与前两种方法相比也能保持更好的效果。