移动IP环境下的IP追踪
李之棠 梁国臣
(华中科技大学计 算机学院, 湖北武汉 430074)
摘要:针对Dos和DDos攻击对移动IP环境下的IP追踪进行了详细的分析,给出其各个功能实体受攻击时如何进行IP追踪的方法,并且提出了一种新的ICMP消息来完善移动IP环境下IP追踪机制的方法。
关键词:移动IP,IP追踪,Dos攻击
IP TraceBack for Mobile IP
Liang Guo-Chen
(College of Computer Science & Technology, Huazhong University of Science & Tecjnology)
Abstract:The paper discuss, analyze the IP traceback methods for Dos attack and DDos attack in context of Mobile IP, and provides detailed IP traceback methods in case of attack for each function entity of Mobile IP. Finally, the paper proposes a new ICMP notification message for traceback co-operation.
Key Words:Mobile IP; IP TraceBack; Dos attack
引言
Dos(Denial of Service)攻击和DDos(Distributed Dos)[1]攻击是网络攻击的一种简单而又效果明显的攻击方法,攻击者为了既达到攻击的目的同时又隐藏其身份和位置信息,经常使用伪造的IP地址作为数据包的源IP地址向受害主机发出海量的服务请求数据包,消耗目标机的系统资源,占用其网络带宽,导致受害主机网络和CPU系统资源的耗尽,从而停止服务,甚至导致系统崩溃,因此防范和追查攻击者异常困难,图1是DDos的攻击路径图。
本文主要针对移动IP下的Dos攻击和DDos攻击进行分析,设法追踪到攻击者的真实地址和身份,从而进行有效的防范和打击。文章结构如下:第一节简单介绍了一下IP追踪和移动IP,第二节对移动IP环境下的各功能实体遭受攻击的情况进行了分析,给出了追踪的方法,并且提出了一种新的ICMP消息来完善IP追踪机制的方法,第三节是文章的结论。
图1 DDos攻击
1 IP追踪和移动IP
1.1 IP追踪技术
IP追踪的关键是找到一种有效的方法能够确定出攻击者的真实源IP地址,否则也就无法对攻击者进行防范和追查,因为攻击者为了隐藏自己的位置和身份信息,在进行攻击时一般会用伪造的IP地址作为源IP地址;而IP追踪的目标是花费最少的时间和空间来构造出攻击路径图。
IP[2]包在网上传输的过程中,IP协议首部的某些字段可能会被中间设备修改,比如TTL、校验和、分片以及IP选项等,到最后,受害主机收到的数据包跟攻击者发出的攻击数据包可能会有很大的不同,因此,IP追踪必须能够追踪数据包的路由信息,这样在进行IP追踪的时候才能不受接收到的数据包的限制。
主要有两种方案来对Dos和DDos攻击进行IP追踪:一种由网络来维护IP追踪所需要的信息,另一种是由终端主机来维护。第一种方案采用IP Logging[3]进行,第二种方案通常采用Packet Marking[3] [4]或者ICMP Traceback[3] [4]进行。
IP Logging 这种方法通过在主路由器上记录包,然后通过数据采集技术来决定这些数据包的穿越路径。虽然这种办法可以用于对攻击后的数据进行追踪,但它有很明显的缺点,比如要求大量的资源(存储空间等),并且需要处理大量的数据等问题。
ICMP Traceback 在包发送的过程中,由路由器小概率(如1/ 20000) 采样所转发的包,并生成一个特殊的ICMP追踪消息,发往包的目的地址。受害主机根据接收到的大量的这类包信息重构报文转发路径,并追踪到攻击主机。
Packet Marking 在网络中传输的数据包中存储了经过的每一个路由器的信息,所以路径信息随数据包一起到达目的地,而在ICMP Traceback方法中信息是网络上的路由器通过单独的ICMP包发给通信的终端主机的。这样的话,终端主机就可以根据收到的这些信息来进行IP追踪了。这种方法增加了路由器对于数据包的处理负担,路由器不再只是简单的转发数据包,还需要对数据包进行“填充”。
1.2 移动IP
移动I P[5]是由IETF(Internet工程任务组)制定的用于解决主机在跨网络随意移动和漫游中,在不改变现有网络IP地址、不中断网络通信和应用的情况下实现对网络的不间断访问的一种技术。移动IP协议定义了移动节点(Mobile Node,简称MN)、家乡代理(Home Agent,简称HA)和外地代理(Foreign Agent,简称FA)三种必须实现移动IP协议的功能实体。
图2是MN和其对端节点(Corresponding Node,简称CN)进行通信的示意图,其过程如下:
1) 当CN向MN发送数据报时,它以MN的家乡IP地址(Home Address)作为目的地址,把数据报发送到MN的家乡链路上(图2中a)。
2) HA收到这个数据报后,若发现MN在家乡链路上,则按正常的IP协议把该数据报发送给MN。否则,HA利用隧道[6]技术把该数据包进行封装(Encapsulate),然后把封装后的数据报转发到MN所在的外地链路上(图2中b)。
3) FA在收到这个封装的数据报后进行拆封(Decapsulate),再把拆封后的原始数据报发送给MN。当采用外地代理转交地址时,FA收到经隧道过来的数据包后,将数据包的封装剥去,恢复出原始(内层的)数据包,它会发现包的目的I P地址就是一台注册在案的MN,于是找到一个合适的端口将数据包送给该MN(图2中c)。在采用配置转交地址时,MN完成了类似的步骤,接收隧道上的数据包,剥去封装恢复出原始数据包,最后将数据包的内容送给协议栈上的高层协议处理(图2中c’)。
4) 反之,当MN向CN发送数据时,则按正常的IP协议,即MN以家乡IP地址作为数据报文的源地址,CN的IP地址作为目的地址进行发送(图2中d)。
图2 移动IP通信示意图
除了极少数特例,MN只用家乡地址和别的节点通信,即移动节点发出的所有包的源I P地址都是它的家乡地址,它接收的所有包的目的I P地址也都是它的家乡地址。
2 移动IP下的IP追踪
前面提到,移动IP定义了HA、FA和MN三种实体,加上通信对端节点CN,总共四种实体,他们通信的过程不同于普通的IP通信,中间有对数据包的封装和拆封,还有地址方面的处理,那么对于他门来说现有的IP追踪的方法在某些情况下就不能够有效地进行追踪了,下面就针对这四种实体的每一种实体可能遭受Dos和DDos攻击的情况进行分析:
2.1 HA受攻击
这种情况可以把HA看作一台普通的主机或者路由器,可以用第二部分所说的方法进行IP跟踪。
2.2 FA受攻击
如果MN采用的配置转交地址的话,通信的对端主机发送给移动节点的包实际上经由HA就直接通过隧道发送给MN了,实际上就没有外地代理了,所以下面关于FA受攻击的情况是指MN采用的外地代理转交地址的情况。
由于HA和FA之间的通信是通过隧道进行的,因此我们首先对于隧道假如验证头AH[6]来进行验证是不是HA发过来的包,如果验证失败说明这不是HA发过来的包,FA本身就可以认为这是一个攻击,而且攻击路径当中没有HA,这时外地代理可以按照第一部分的追踪方法进行追踪;如果验证成功说明隧道的入口一定是HA,那么实际上FA本身就无法判断是否是一个攻击,当然也就谈不上进行追踪了,这个时候FA唯一能够做的就是把从隧道拆封出来的包交给MN,由MN进行判断是否是一个攻击,进而决定是否进行追踪以及应该由谁发起追踪。
2.3 CN受攻击
由于从MN发往CN的数据包不需要隧道技术,不过MN发给CN的数据包中源IP地址不是MN的外地代理转交地址或者配置转交地址,而是MN的家乡地址,不过这对于IP追踪并没有什么影响,因为Dos和DDos攻击一般都是用伪造的IP地址作为数据包的源IP地址,所以CN受到攻击的情况可以采用第一部分介绍的IP追踪的方法进行追踪。
2.4 MN受攻击
当Mn位于家乡链路受到攻击时,没有什么特别的,可以用第一部分的追踪方法进行追踪;
当Mn位于外地链路时还分为两种情况,MN采用外地代理转交地址还是配置转交地址:
采用外地代理转交地址时根据2.2节中的做法,只有真正的通过隧道的AH验证之后的数据包才能够到达MN,通不过验证的非法包不会到达MN,那么当这些通过验证的包到达MN之后,如果MN认为是一个攻击的话,MN就应该进行IP追踪,但是由于MN收到的数据包是从隧道中拆封出来的,数据包的源IP地址和目的IP地址已经变了,不能作为追踪的依据了,因此,真正能够进行IP追踪的节点是隧道的入口节点HA,也就是说HA是Dos或者DDos攻击者的一个受控傀儡机,所以必须有一种信号机制通知HA,让HA进行IP追踪。
采用配置转交地址时,MN实际上就是隧道的终点,CN发给MN的数据包是经由HA通过隧道直接交送到MN的,MN对于这种情况下的攻击进行追踪采用的方法跟MN采用外地代理转交地址时FA受攻击进行追踪一样,通过对隧道加AH验证头进行验证,如果验证失败就可以直接进行追踪,如果验证正确但是是一个攻击的话,就应该通过信号通知机制来通知HA进行追踪。
2.5 ICMP信号通知机制
从上面的分析可以看出, MN需要一种信号通知机制来通知HA,让HA知道自己正在遭受攻击并且进行IP追踪,这里提出一种通过两条ICMP消息[7]来完成通知的功能的方法:ICMP追踪请求(图3)和ICMP追踪应答(图4)。
8位类型 8位代码 16位校验和
隧道中拆封出来的IP包
8位类型 8位代码 16位校验和
攻击者的源IP地址
图3 ICMP追踪请求消息 图4 ICMP追踪应答消息
当数据包经过带AH验证的隧道从HA到达FA或者MN,经过FA或者MN的拆封之后,如果被MN识别为一个攻击的话,MN就用自己收到的拆封出来的数据包构造一个ICMP追踪请求消息给HA,HA收到ICMP追踪请求消息之后就知道自己正在作为一个攻击者的跳板攻击MN,那么HA就根据ICMP请求消息中数据包的内容开始IP追踪,当追踪完成之后,HA就用追踪到的攻击者的IP地址构造一个ICMP追踪应答消息给MN,从而MN就得到了攻击者的IP地址,并且可以根据这个地址进行追查和打击。
2.6 三角路由优化
移动IP通信中如果对三角路由[8]问题进行了优化[9],那么CN就可以通过隧道直接将包发给MN的FA而不需要经过HA的中转,移动节点MN回包的时候和没有优化时唯一的区别就是发给CN的数据包中源地址不用填成家乡地址;由此可见,如果对三角路由进行了优化,那么当MN受到攻击时采用的策略和MN采用配置转交地址时的策略是一样的,只不过如果检测到是一个攻击的时候,需要发送ICMP追踪请求消息给CN而不是HA,其他情况是完全一样的。
3 小结
Dos和DDos攻击简单有效而且难以防范,在网络安全领域显得日益突出。本分介绍了Dos和DDos攻击的IP追踪方法,针对移动IP环境下的Dos和DDos攻击进行了详细的分析,最后提出了一种新的ICMP消息来完善移动IP环境下整个IP追踪系统。
参考文献
[1] 刘昕,吴秋峰,袁萌。 DDoS(分布式拒绝服务) 研究与探讨[J ] 。 计算机工程与应用, 2000,36(5).
[2] W. Richard Stevens.TCP/IP祥解,卷1:协议.机械工业出版社.
[3] Stefan Savage , David Wetherall , Anna Karlin , et al . NetworkSupport for IP Traceback [J ] . IEEE/ ACM Trans on Networking ,2001, 9(3) .
[4] Tatsuya Baba , Shigeyuki Matsuda. Tracing Network Attacks toTheir Sources [J ] . IEEE Internet Computing,2002,6 (2).
[5] Charles E. Perkins, Mobile IP. IEEE Communications Magazine, May 1997,35(5).
[6] Doraswamy N, Harkins D.IPSEC----新一代因特网安全标准.机械工业出版社.
[7] J. Postel RFC 792 - Internet Control Message Protocol.
[8] Perk ins C, IP mobility support [S ]. IETF RFC2002, 1996.
[9] Perk ins C, Johnson D B. Route optimization in mobile IP [S ]. IETF Internet D raft, 1997.
原文件地址:http://www.cernet2004.edu.cn/expert/paper/187.doc |