摘 要 拒绝服务攻击是目前最难处理的网络难题之一,研究人员对其提出了多种解决方案,其中ip溯源是比较理想的一种。ip溯源技术利用路由器作为中间媒介,可以追溯到发送带有伪造地址报文的攻击者的真实位置。本文介绍了几种常见的ip溯源技术,分析比较了它们的优缺点,并对该技术的发展提出了展望。
关键词 ip溯源;dos;拒绝服务
1 引言
在制定目前因特网上使用的网络协议标准时,设计者把“端到端的透明性”作为互联网体系架构的核心设计理念,将互联网上通信相关的部分(ip网络)与高层应用(端实体)分离,大大简化了网络设计,但由此也带来了很多缺陷。例如与报文安全相关的服务,如可靠传输、集中控制和安全认证,都发生在进行通信的端实体上。网络报文的内容包括头信息,都是由报文的发送者自行填入,这就产生了协议漏洞:报文发送者可以填入伪造的虚假源地址。这一点往往被攻击者利用,他们可以隐藏自己的真实ip地址,冒充其它终端进行通信。dos攻击就是利用了该协议漏洞进行攻击。
ip溯源技术的最终目标是能够定位攻击源的位置,推断出攻击报文在网络中的穿行路线,从而找到攻击者。成熟有效的溯源技术对网络黑客有一定的震慑作用,可以迫使他们为了防止被追踪到而减少甚至停止恶意攻击行为。本文首先介绍了常见的dos攻击方式,接着对几种有代表性的ip溯源技术进行较详细的分析探讨,并指出了它们的优缺点。WwW.133229.COM
2 dos攻击
2.1 dos攻击简介
dos(denial-of-service)攻击,是一种常见的网络攻击行为。这种攻击通过发送带有虚假源地址的数据包请求,使网络中大量充斥待回复的信息,消耗网络的带宽或者系统资源,使网络或者系统服务负载过重,服务质量下降,直至瘫痪而停止正常服务。有时攻击者为了提高攻击的效果,往往会联合多个攻击站点向受害者发动进攻。
2.2 常见的dos攻击方式
1)tcp syn attack
tcp协议中,如果通信双方要建立连接,必须先完成三次握手过程。如果在握手过程中,客户端向服务端发出一个请求syn之后,对于服务端发出的syn+ack置之不理,则服务端永远无法得到客户端的ack包来完成三次握手,于是服务端就会等到超时再把这个连接结束掉。攻击者利用这个特性,在短时间内发送大量的syn要求,造成服务端保持的连接数达到最大限度,无法再接收任何正常的连接请求,从而达到拒绝服务的目的。
2)udp flood attack
针对使用udp协议的服务,由于通信双方不用事先建立连接,因此攻击者可以发送大量的udp封包到服务端,并且将地址伪造成另一台服务器,从而造成这两台服务器之间的网络流量持续不断的存在。
3)icmp flood attack
icmp(intenet control message protocol)用来测试网络的状态,最常用的便是ping命令。攻击者常在伪造源ip之后,将大量的icmp封包大量的送至服务端,则服务器主机回应等量的icmp封包到假造来源的ip网络上,直接造成服务器与被伪造ip之间的网络流量大量增加,没有多余的带宽可以让正常使用者使用。
4)icmp smurf flood attack
这种攻击方式也是利用icmp协议,只不过把目标指向广播地址。如果攻击者在源地址中填入某个网络的广播地址,那么被攻击者送回的响应包将发往整个子网域,因而造成网络拥塞。
2.3 dos攻击盛行的原因
统计表明,近年来拒绝服务攻击事件持续上升。究其原因,一方面dos攻击极易实施,网络上存在多种方便的工具,攻击者只需下载这些工具,就可以利用它们对受害者发动攻击;另一方面,与特权提升攻击不同,dos攻击一般不需要攻击者与受害者之间进行交互,这样攻击者就可能伪造攻击数据包中的源ip地址,使得受害者不知攻击来自于何方,从而难以采取有效的措施防范攻击或者缓解攻击所造成的影响,又难以找到攻击者,追究其责任。此外,分布式拒绝服务攻击使得多个拥有较少资源的攻击者通过协同工作可能有效的攻击资源丰富的受害者,病毒、蠕虫也加剧了dos攻击中业已不平衡的攻击者与受害者的关系,使受害者越发处于不利地位。
dos的防范非常困难,如果我们能够通过有效的方法追踪到攻击者,使得攻击者能够受到法律上的和道德上的约束,则拒绝服务攻击就可以大为减少。
3 链接测试法(link testing)
多数的溯源技术都是从最接近受害者的路由器开始,逐步检查上行数据链,直到找到攻击流量发起源。理想情况下,这个过程可以递归执行直到找到攻击源头。这种方法只在攻击进行的过程中有效,很难在攻击结束后或者间歇性攻击的情况下追踪。
3.1 入流量调试(input debugging)
许多路由器都提供入流量调试的功能。这允许管理员在一些出口点过滤特定的数据包,并决定它们来自哪个入口点。这种特性可以被用来用ip溯源。首先受害者确定自己受到了攻击,并且能够从所有的数据包中提取出攻击包标志。通过这些标志,网络管理员在上行的出口端配置合适的入流量调试,发现攻击报文来自哪个入口点,以及与该入口点相应的上行路由器。接着在上行路由器继续入流量调试过程。该过程重复执行,直到发现攻击报文的源头。
入流量调试技术的最大弱点是管理负担比较重,很多工作依靠手工完成。需要网络管理人员有较高的技术水平,并能够积极地配合和交流,甚至可能需要联系多个网络服务提供商(isp),因此需要较高的技术和大量的时间,几乎不可能完成。
3.2 可控洪泛法(controlled flooding)
该方法采用向连接发送大量报文(即洪水)来观察对攻击报文传输产生的影响。受害者需要首先掌握网络的拓扑情况,强制处于上行路由的主机或者路由器向每一个连接分别发送洪水。由于路由器的缓冲区是共享的,因此来自负载较重的连接上的报文,其被丢失的概率也相应较大。这样,通过向某个连接发送“洪水”后攻击报文减少的情况,就可以确定该连接是否传输了攻击报文。
这种方法最大的缺点是本身就是一种dos攻击,会对一些信任路径也进行dos;而且要求有一个几乎覆盖整个网络的拓扑图。这种方法只对正在进行中的攻击有效。
目前cisco路由器的cef(cisco express forwarding)实际上就是一种链级测试,如果整个链路上都使用cisco的路由器,并且都支持cef,就可以追踪到源头。
4 日志记录法
在路由器中记录下与报文相关的日志,然后再采用数据挖掘技术得到报文传输的路径。这种方法最大的优势在于它能够在攻击结束后进行追踪,没有实时性的要求。但它对网络资源的需求也是巨大的,它可能需要很大的日志量才能综合出结果,因此路由器必须有足够的处理能力和存储日志的空间。
5 icmp溯源法
这种方法依靠路由器自身产生的icmp追踪消息。每个路由器都以很低的概率(例如1/20000)随机复制某个报文的内容,附加该报文下一跳的路由信息后,将其封装在icmp控制报文中,发送到该报文的目的地址。受害主机负责收集这些特殊的icmp报文,一旦收集到足够的信息即可重构报文的传输路径。
由于路由器复制报文的概率很低,因此负载不会有较大的增加,该方法对网络资源的占用也很少。但是icmp报文在某些网络中会被过滤掉,攻击者也有可能发送伪造的icmp溯源报文,而且攻击报文掺杂在正常报文中,被复制到的概率就更低,这就降低了信息的完整性,受害机器也需要花较长的时间来收集报文,对于不完整的信息则无法准确地重构攻击报文的传输路径。
6 数据包标记(marking packets)
该方法的思想与icmp溯源法有类似之处,它是路由器在转发报文的过程中,以一定的概率给报文做标记,标识负责转发它的路由器信息。受害机器即可利用报文中的信息来重构它的传输路径。出于避免加重路由器处理负担的考虑,标记算法要求信息的压缩性很强,即用最少的数据代表最多的信息。
由于数据包在途中经分段处理的情况是很少出现的(不超过0.25%),因此ip头中的识别号域(identification field)便很少使用。于是savage等人建议将路径信息嵌入到16bits的识别号域中,路由器的ip地址及另外的32bits校验码共64bits被分成8块,每块8bits,以0到7对其编号(称为偏移)。为了顺利进行路径的重构,还需要一个距离域表示路由器到受害者之间的距离,由于路径极少有超过25路的,因此用5bits的空间就够了。当一个路由器标记一个数据包时,其随机的从8个分块中选取一块(8bits),连同对应的偏移(3bits),以及距离(5bits)填入该数据包的标记域(即识别号域)中。当路由器选择不标记一个数据包时,它先检查距离域的值是否为0,如果是,则把自己的与标记域中偏移量对应的分块与包中已有的分块异或后再填入原有的位置,然后把距离增1;如果距离不是0,则它只需把距离增1。这样一来,数据包中的标记信息实际上是两个相邻路由器之间的连接信息,这个方案中,至少需要8个数据包才能传送一个路由器的完整信息。
其它的标记方案与上面的原理类似。有的标记方法8个分块不再是ip地址和检验码,而是ip地址的8个不同的hash值(共有8个不同的hash函数)。
以上的标记方案,所有的路由器在决定是否标记一个数据包所采用的概率p是固定的、统一的,一般选0.04。一个路由器标记一个包之后,该数据包可能被后续的路由器重新标记,使原有的标记信息被覆盖。因此到达受害者的数据包,其中的标记信息包含离攻击者最近的路由器信息的可能性最小。这使得受害者必须收集较多的包才能获得该路由器的信息。因此有的研究者提出了自适应包标记的方案。利用包标记方案中的距离域,路由器根据此域的值决定标记的概率,以期收集最少的包就可以重构攻击的路径。
在实验室条件下,该方法获得了不错的效果。在实际应用中,需要路由器厂商和因特网服务提供商的支持。该方法在重构攻击路径时,需要网络拓扑的信息。
7 结束语
通过以上的比较可以看出,icmp溯源法和标记报文法对网络负担、管理负担和路由器负载的影响比较小,可以进行分布式追踪和攻击结束后追踪,从整体性能上优于其它的追踪方法。目前的溯源技术还只是限于小范围的实验性信息溯源,全网大范围的溯源技术研究尚处于起步阶段。用户很容易伪造自己的ip地址、大量动态ip地址和私有ip地址的使用、设备很少能长时间保存日志等不利因素,使得溯源时查找特定时间的特定地址租用者比较困难。
ip溯源技术是当前和未来一段时间的网络研究的热点和难点问题,信息产业部、科技部、国家发改委共同制定的《我们信息产业拥有自主知识产权的关键技术和重要产品目录》中,把网络溯源和分析技术作为未来十五年实现信息产业自主创新和跨越式发展的重要技术来研究。研究简单有效的ip溯源技术,对杜绝dos攻击,维护网络环境的安全稳定,将产生重要意义。
参考文献
[1]tanenbaum a s. computer networks 4th edition[m]. pearson education inc.,2003
[2]stefan savage,david wetherall,member ieee,anna karlin,and tom anderson.network support for ip traceback[j]. ieee/acm transactions on networking vol.9,no.3,june 2001
[3]stefan savage,david wetherall,anna karlin and tom anderson. practical network support for ip traceback[j]. proceedings of the 2000 acm sigcomm conference[c],stockholm,sweden,august 2000. pp295-306
[4]张静,龚俭.网络入侵追踪研究综述[j].计算机科学.2003年10期
[5]李德全,徐一丁等.ip追踪中的自适应包标记[j].电子学报.2004年32卷8期
[6]刘振绪.有效的动态几率封包标记[r].逢甲大学硕士学位论文.2002年5月
[7]信息产业部,科技部,国家发改委.我国信息产业拥有自主知识产权的关键技术和重要产品目录[r].2006年12月25日