76攻击源追踪技术概述李冬静 蒋平(南京师范大学南京100039)1 引言绝大多数攻击都使用伪造的IP地址,使我们很难确定攻击源的位置,从而很难对发动攻击的犯罪分子进行惩治和起到威慑作用,也不能更好地保护自己的网络,更不能采取有效的反击措施。
所以,攻击源追踪在网络安全领域、网络反击领域、网络主动防御领域、网络入侵取证领域都具有十分重要的意义。
攻击源追踪就是当攻击正在进行或已经结束后,根据现有的所能获得的信息来确定攻击者的位置。
通过查找攻击者使用机器的IP地址再寻找攻击者的蛛丝马迹。
攻击者在发动攻击时会使用各种方法来隐藏自【摘要】 网络犯罪日益猖獗,带来巨大的经济损失。
迫切地需要我们采取法律手段对网络犯罪进行打击和严惩。
大多数网络攻击都使用伪造的IP地址,很难确定攻击源的位置,从而不能对攻击方进行有效的法律制裁。
追踪报文的传输路径直至找到网络攻击的真正发起者,是网络安全领域的一大难点。
本文首先分析了攻击源追踪的困难以及追踪系统要实现的目标,接着介绍了攻击源追踪的主要技术并分析了每种技术的优缺点,最后展望了未来的发展方向。
【关键词】攻击源追踪包头压缩入侵取证概率性包标记【中图分类号】 S9012 【文献标识码】 A 【文章编号】 1672-2396 [2005] 08-07-08收稿日期:2005-07-06己,例如伪造报文的IP源地址、利用提供代理服务或存在安全漏洞的内部主机作为跳板。
不过尽管IP包头中的源地址是虚假的,每个数据包仍然要经过从攻击方到受害者之间的路由器进行转发,找到并记录下这些路由器可以恢复出攻击路径。
但是到目前为止,针对攻击源追踪问题,目前还没有完全可靠的方法,目前只能构造出所有可疑的攻击路径,需要再结合其它技术找到真正的攻击源。
2 攻击源追踪存在的困难当前的Internet在安全保护方面存在明显问题。
不足之处主要体现为:(1)Internet不是被设计用来跟踪和追踪用户行为的;(2)Internet设计时没有考虑到要阻止高不可信的用户的活动;(3)packet的源地址是不可信的,它严重干扰了跟踪,数据包的源地址是由发送者自行填入,因此报文的发送方可以填入假的源地址信息,或者是通过使用代理来改变源地址,从而隐藏自己的真实源地址,冒充其它终端进行通信。
对于报文的接收方来说,如果没有采取有效的认证方法,也无法判定该报文是否确实来自于报文中的源地址;(4)当前的危险环境已经远远超出了Internet的设计指标;(5)系统管理员的技术水平持续下降;(6)攻击经常是跨行政、司法区域和国界的;(7)高速设备大流量阻挠了跟踪;(8)隧道技术阻碍了跟踪;(9)黑客会销毁日志和审计数据;(10)匿名机制保护了隐私权却阻碍了跟踪;(11)特定IP地址与特定用户之间的关联正在逐渐消失。
3 攻击源追踪的目标3.1保持隐私追踪系统可以追踪某个甚至多个数据包的源,但是不能查看数据包的内容部分。
追踪必须是以维护用户隐私为前提的。
3.2追踪相同数据包的唯一地址这是由Internet协议本身的特征书写的,发送方有时候会向多个目的地址传送数据,这就用到广播和多播,这时路由结构自身会复制这些数据包并把这些数据包发往不同的主机。
追踪系统要能够追踪多个相同数据包的唯一源地址。
3.3追踪相同数据包的多个不同源地址攻击者可能会从多个源向网络注入多个相同的数据包,例如DDOS。
追踪系统要能追踪相同数据包的多个源地址。
3.4应对攻击方的破坏的能力攻击方可能控制了从攻击者到受害者之间路径上的路由器,当一个路由器被破坏时,追踪系统不能被破坏。
4 攻击源追踪相关技术回顾入侵追踪技术可以分为基于IP报文追踪技术和面向连接的追踪技术2类。
其中,IP报文追踪系统可以追溯到发送带有假冒源地址报文的攻击者的真实位置,还可以发现在网络连接链中“前一跳”系统的信息,其特点是需要利用路由器作为中间媒介。
如果攻击者使用“跳板系统”作为攻击手段,那么面向连接的追踪系统可以追溯这类绕道而行的攻击者,发现隐藏在跳板系统后面的真实攻击源。
4.1面向连接的追踪技术面积连接的追踪技术主要是依靠发现攻击链路的连接进行追踪的,它不依靠攻击包的提取。
4.1.1受控制的淹没法(controlled flooding)1999年,由Hal Burch和Bill Cheswick提出了“受控制的淹没”的方法。
这种方法要求首先采用一定的技术获得从被攻击者到每一个网络的Internet拓扑结构图。
然后,对可能位于攻击路径上的路由器发送突发性的流量,观察对攻击流的影响。
如果此攻击流位于攻击路径,则发送突发性流量必然导致路由器丢包率增加,使攻击流减弱。
“受控制的淹没”的方法不需要修改路由器的设置且对路由器的开销很小,但这种访求的缺点是:(1)受控制的淹没,不具有事后处理能力,只有在攻击行77为正在进行时才能成功;(2)受控淹没法本身就是一种拒绝服务攻击;(3)这种方法对于相对复杂的网络拓扑结构实现起来比较困难。
4.1.2基于水印的追踪系统(SWT)从概念上讲,“水印”就是能够被用来唯一区分一个连接的一小段信息。
实际上,水印应该容易注入并检索,而且对于网络应用的正常用户来说应该是不可见的。
为了相关,水印应该能遍历多个连接并且保持不变,因此水印应该属于应用层,并且是基于应用的。
基于水印的追踪系统的核心主要由三大部分组成:睡眠入侵响应模块,水印相关模块,和主动追踪模块。
睡眠入侵响应模块收到IDS的追踪请求后,协调主动追踪并跟踪入侵的追踪信息。
水印相关模块通过水印把连接的进入节点和出节点联系起来。
主动追踪模块协调网络中的不同模块合作起来追踪入侵的路径。
这三个部件通过SWT守护主机和SWT守护网关紧密地结合起来工作。
睡眠入侵响应模块接收到IDS的请求后,协调基于水印的应用和主动追踪模块触发守护主机和守护网关上的主动追踪。
在SWT守护网关上的主动追踪模块收到追踪请求后向水印相关模块提供水印。
水印相关模块通过入和出连接的水印相关性,向主动追踪模块提供下一个守护网关。
一旦SWT守护网关节发现关于入侵连接链的下一跳信息,主动追踪模块就会像最初发起追踪的主机发送跟踪消息并告诉下一跳SWT守护网关开始水印追踪。
4.2基于IP报文的追踪技术路由器是网络中进行报文转发的重要设备,如果在路由器中运行入侵追踪系统,就可以充分利用“报文中转站”的特点,获得大量的信息。
由于路由器分散在网络各处,使得入侵追踪系统的分布性取得了实现的基础。
目前业界广泛使用的IP报文追踪技术主要有:连接检测(Link Testing),根据日志记录追踪,ICMP追踪法,标记报文法(Marking packets)等。
4.2.1路径记录法在IP报文头部的IP选项里增加一项路径记录功能,可以来记录报文从攻击者的目的机所经过的路径上的各路由器的IP地址,路径记录法就是利用该功能来记录路径信息。
路径记录法的头部信息如图一所示。
在IP头部中“选项码”字段用来说明路由器在转发报文时,是否要将自己的IP地址添加到报文中。
“长度”字段指出IP数据报发送主机预先分配该IP地址存储区域的大小,“指针”指向该存储区域下一个用于存放IP地址的位置,如果预先分配的地址区域大小不足以记录全部路径,IP协议将放弃记录余下地址。
如果收到的攻击报文记录下了所有经过的路由器的路径,可以从收到的IP报文的路径记录选项中将IP按照堆栈的方式弹出,就可以得到攻击路径。
这种算法非常健壮,收敛很快(只需一个分组),而且重构路径过程比较简单。
但是,在分组传输中对分组增加数据给路由器带来高昂的耗费;另一方面,由于路径的长度不可知,所以无法确保分组中有足够的可用空间来存放完整的列表。
4.2.2入口过滤法1988年,P. Ferguson和D.Senie在RFC2267中图178出了“入口处过滤”算法,算法要求每一级的ISP在转发数据包时,考察数据包的源地址,发现并禁止伪造地址的数据包。
这个方法在ISP的网络边界非常有效。
这种方法在实践上具有一定的难度。
首先,启动报文源地址检查功能会给路由器的性能带来较大影响;其次不是所有的ISP都愿意为其下层提供该服务。
4.2.3包记录法Glenn Sage提出了“数据包记录”算法,该算法要求所有的边界路由器以一定的规则记录所有与它们链接的路上的数据包的某些特征,这些数据保留在路由器中,可以在攻击的进行时或者攻击发生后由受害者根据撮出的攻击数据包的共有特征,与这些保留在各级路由器中的信息进行比较,逐跳确定出攻击路径。
该算法可以进行事后处理,但是对路由器的负载很重,并且这种方法也需要数据库技术的支持。
4.2.4输入调试法(input debugging)1999年,由Robert Stone提出了“输入调试”的概念,这种方法在发生攻击时,网络管理员根据攻击报文的特征,在被攻击的网络的边界路由器上调试,跟踪网络报文,查找出攻击报文的输入接口,再调试、跟踪与此接口直接相连的路由器。
依次类推,直到找到攻击的源头。
这种方法存在如下缺点:首先,输入调试法的每一次调试都需要进行人工干预,增加了管理员的负担;其次,要求ISP的高度合作,实现起来速度很慢;再次,“输入调试”只有在攻击正在进行时才有效,如果攻击者间断性地发起攻击,则不能成功。
4.2.5ICMP追踪消息(ICMPtraceback message)Bellovin 领导的ICMP协议扩展小组,要求当一个数据包经过路由器时,路由器以一定的概率产生一个ICMP追踪消息(Itrace message),并把这个消息送往目的地,每个ICMP追踪消息都包括部分路径的信息,主要包括:发送它的路由器的IP地址、前一跳路由器的IP地址、下一跳路由器的IP地址、时间戳等。
如果收到足够多的ICMP追踪消息,就可以构造出完整的攻击路径。
为了节省带宽,只能以极小的概率产生ICMP追踪消息,因此这种方法只有在收到很多数据包的时候才能有效。
4.2.6Ipsec 鉴别(Ipsec authentication)该方法基于现有的IP安全协议。
当入侵检测系统(IDS)检测到一个攻击后,Internet密钥交换协议(IKE)在受害主机和管理域的一些路由器(如边界路由器)之间建立Ipsec安全关联(Sas)。
位于SA末端的路由器转发分组时需要增加Ipsec首部和包含路由器IP地址隧道IP首部。
如果某个SA检测到攻击分组,那么该攻击就一定是来自于相应路由器外面的网络。
接收者根据隧道IP首部的源地址可以找出转发攻击分组的路由器。
递归的重复这个过程,即可最终找到攻击源。
由于该技术采用了现有的Ipsec和IKE协议,所以在管理域内追踪时无需实现新的协议而在域之间追踪时则需要有专用的协作协议的支持。