IPv6和IPv4的网络安全性之比较 前言:这个是给CIW写的,征得他们同意后,先在这里发一下。考虑到面向的读者有可能不象论坛上的兄弟这么专业,我把这个写的有点科普,请做技术的兄弟不要笑话另外,如果里面有哪些技术上不准确的地方,请一定一定指出,以便保证质量。先谢过了。 张大民是在国内互联网黑客圈子里小有名气的黑客。不但知道如何使用各种黑客工具来找到所谓的“肉鸡”,也就是漏洞大开的主机。而且知道如何把它们组织起来,做一些事情。张大民对互联网的结构也小有研究,知道整个互联港口如何运行和其中的弱点。张大民不甘心只使用别人开发的黑客程序,只做一个script kiddie(脚本小子)。他还努力学习网络安全知识,想成为一个白帽子黑客,能独立找到程序中的漏洞。 而且,张大民对如何攻击网络结构,而不是单一的一台电脑也很感兴趣,对各种层次上的数据报文也很有研究。由于对网络安全的热爱和不懈的努力,张大民逐渐在国内的黑客圈子里建立了一定的权威。但他并没有就此满足,而是对新出现的网络技术一直感兴趣,并尽量从网络安全方面来加以学习。最近,国家对IPv6的支持越来越明显,阅批已经把实行IPv6作为一个战略目标来进行,将来国内的互联网将以运行IPv6为主。黑客张大民也对IPv6,尤其是IPv6的安全性产生了极大的兴趣,想好好研究一番,成为一个精通IPv6安全的网络黑客。 张大民是攻击IPv4的黑客高手了,对网络侦察,第三层第四层报文的源地址伪装,基本的针对IPv4的攻击手段如拒绝服务的攻击(DOS),病毒和网络蠕虫都小有研究。对于一些基本的攻击工具象Land,Smurf等都烂熟于胸。但让张大民头痛的是,关于如何攻击IPv6的资料很少,在国内自己还是开始进行研究的先驱,到底如何下手呢?张大民的名气也不是白得的,他想出来一个很聪明的方法:既然我知道如何攻击IPv4,那我就用相同的方法和工具来攻击IPv6,研究一下这些攻击方法在IPv6上可行与不可行,在这个研究过程中,也对IPv6的安全性有了了解。 张大民对能想到这个方法很满意,也说做就做,开始了他对IPv6安全性的研究。 网络侦察 首先张大民开始了对IPv6网络侦察的研究。对IPv4网络的侦察是张大民要做的日常工作。如使用ping进行IPv4地址段的主机扫描,来看哪一个IPv4的主机在线上。使用NMAP对一段IP地址进行端口扫描,看主机都提供哪些网络服务。对主机上运行的应用程序进行脆弱性扫描等等。网络侦察是黑客进行网络攻击的第一步,肉鸡都是这么找出来的。那对IPv6的网络如何进行侦察呢?张大民首先发现,IPv6的地址是128位的,也就是说,有可能2的128次方个IPv6网络地址。而且和IPv4可变长度的子网掩码不同的是,IPv6中规定所有的子网掩码长度统一是64位。也就是说,任何一个IPv6的网络,都可能有2的64次方台主机。这个发现让张大民倒吸了一口冷气,因为他知道,2的64次方是一个非常大的数字。整个IPv4的可能的IP地址数目也就是2的32次方个,而在IPv6上,一个网络上可能的主机数目就远远超过了这个数目,这是一个天文数字。 我们再也不愁缺少IP地址了,张大民在想,如果火星上的母鸡也想要一个IP地址也没问题了。但对于这些天文数字的IP地址数目,让我如何进行网络侦察啊!大民想到这里,心情变得非常沮丧。他也做了一下计算,用现在的电脑,如果能每秒钟进行一百万千主机的扫描,哪怕只对IPv6中一个单一的小网络进行网络侦察,扫描整个2的64次方个IPv6地址,也要至少二十八年的时间。 “我可没这个功夫”,张大民沮丧的想。看样子在IPv6的世界中,对IPv6网络进行类似IPv4的按照IP地址段进行网络侦察是不可能了。 难道IPv6就真的没有安全问题了么?黑客张大民不甘心,而且以他多年的网络安全工作经验,他知道任何网络系统都是有安全问题的。他潜下心来,对IPv6和相关的技术进行了研究,还是发现了一下在IPv6世界里找到主机的方法。首先,不管是IPv4还是IPv6,都需要使用DNS,还是应该很容易发现一个IPv6网络中的DNS服务器的。也就是说,虽然无法对整个网络进行系统的网络侦察,但在每个IPv6的网络中,总有那么几台主机是大家都知道网络名字的,也可以对这些主机进行攻击。 而且,因为IPv6的地址空间实在是太大了,很多IPv6的网络都会使用动态的DNS服务。而如果攻击者可以攻占这台动态DNS服务器,就可以得到大量的在线IPv6的主机地址。另外,因为IPv6的地址是128位,很不好记,网络管理员们可能会常常使用一下好记的IPv6地址,这些好记的IPv6地址可能会被编辑成一个类似字典的东西,系统的找到IPv6主机的可能性小,但猜到IPv6主机的可能性会大一些。而且由郁IPv6和IPv4要共存相当长一段时间,很多网络管理员会把IPv4的地址放到IPv6地址的后32位中,黑客也可能按照这个方法来猜测可能的在线IPv6地址。 研究到这里,张大民的心情稍微好了一些,看样子虽然难度增大了,但还不是没有办法的。随着研究的深入,张大民发现,IPv6中的组发地址(定义在RFC2375中)定义方式也给攻击者带来了一些机会。例如,IPv6地址FF05::3是所有的DHCP服务器,就是说,如果向这个地址发布一个IPv6报文,这个报文可以到达网络中所有的DHCP服务器。所以可能会有一些专门攻击这些服务器的拒绝服务的攻击。