IP追踪方法
IP追踪方法分为主动追踪和反应追踪(也称被动追踪)。主动追踪技术为了追踪IP源地址,需要在传输数据包时添加一些额外信息信息,并利用这些信息识别攻击源。
主动追踪法在数据包通过网络时记录追踪信息,受害主机可以使用其产生的追踪数据重建攻击路径,并最终识别攻击者。主动追踪包括数据包记录、消息传递和数据包标记。
而反应追踪却是在检测到攻击之后,才开始利用各种手段从攻击目标反向追踪到攻击的发起点。但是反应追踪必须在攻击还在实施时完成追踪,否则,一旦攻击停止,反应追踪技术就会无效,反应追踪的措施有输入调试和可控涌塞。
通常,大部分反应追踪很大程度上需要与ISP合作,这样会造成大量的管理负担以及法律和政策问题,因此有效的IP追踪方法应该尽量不需要和ISP合作为好。
IP追踪技术的关键需求包括:
与现有网络协议的兼容;
网络业务开销可以忽略;
支持新增的设备和主机;
对付DDoS攻击的有效性;
在时间和资源方面的最小开销;
不需要与ISP合作;
追踪的成功概率不取决于攻击的持续时间。
方法一、链路测试
链路测试法是通过测试路由器之间的网络链路来确定攻击源头。从最接近受害主机的路由器开始,测试它的上行链路以确定携带攻击数据包的路由器。
如果检测到了有地址欺骗的数据包(通过比较数据包的源IP地址和它的路由表信息),那么它就会登录到上一级路由器,并继续监视数据包。如果仍然检测到有地址欺骗的扩散攻击,就会登录到再上一级路由器上再次监视地址欺骗的数据包。重复执行这一过程,直到到达实际的攻击源。链路测试是反应追踪方法,要求攻击在完成追踪之前都一直存在。
输入调试和受控淹没是链路测试中的两种实现方法。大多数路由器能够确定特定数据包的输入网络链路。如果路由器操作人员知道攻击特征,那就有可能在路由器上确定输入网络链路。然后,ISP必须对连接到网络链路的上游路由器执行相同的处理过程,依次类推直到找到攻击源、或者直到踪迹离开了当前ISP的界线。
在后一种情况中,管理员必须联系上游ISP继续追踪过程。这个技术的最大缺点是ISP之间的通信和协作上的巨大管理开销,它在受害主机和ISP方面都需要时间和人力。这些问题在DDoS攻击中变得更加复杂,因为攻击可以来自属于许多不同ISP的计算机。
受控淹没技术是从受害网络向上游网络段产生一个突发网络流量,并且观察这个故意产生的流量涌塞是如何影响攻击强度的。受害主机使用周围已知的Internet拓扑结构图,选择最接近自己的那个路由器的上游链路中的主机,对这个路由器的每个输入网络链路分别进行强行淹没。
由于这些数据包同攻击者发起的数据包同时共享了路由器,因此增加了路由器丢包的可能性。受控淹没的最大问题是技术本身是一类DoS攻击,可能会对上一级路由器和网络上的合法业务产生较大的影响。
方法二、数据包记录
确定网络攻击真正起源的最有效方法是,在核心 路由器上记录数据包,然后使用数据读取技术提取有关攻击源的信息。尽管这个解决方法看上去很简单,并且可以对攻击做出准确分析(在攻击停止之后仍可进行),但是它的最大缺点是保存记录需要大量的处理能力和存储空间,而且保存和共享这些信息还存在法律及保密问题。 后来出现了一个称为SPIE(Source Path Isolation Engine)的数据包记录和IP追踪方法。它不是存储整个数据包,而是只保存有效存储结构中相应固定的Hash摘要。数据收集网络和分布式网络的分析可以使用这个方法提取重要的数据包信息,并且产生合理的攻击图,从而识别攻击源头。
当前基于数据包记录的追踪方法使用滑动时间窗来存储记录的数据,从而避免了当攻击正在进行时或者发生后不久,捕获攻击需要过多的存储和分析需求。
方法三、消息传递
2000年7月,Internet工程任务组(IETF)成立了一个工作组,专门开发基于iTrace的ICMP追踪消息。这个方法利用加载跟踪机制的路由器,以很低的概率发送一种特殊定义的ICMP数据包。
这个数据包包含局部路径信息:发送它的路由器的IP地址、前一跳和后一跳路由器的IP地址以及它的身份验证信息。可以通过查找相应的ICMP追踪消息,并检查它的源IP地址,来识别经过的路由器。
但是, 由于为每个分组创建一个ICMP追踪消息增加了网络业务,所以每个路由器以1/20,000的概率为经过它传输的分组创建ICMP追踪消息。如果攻击者发送了许多分组,那么目标网络就可以收集足够的ICMP追踪消息来识别它的攻击路径。
该算法的缺陷在于产生ICMP追踪消息数据包的概率不能太高,否则带宽耗用太高,所以该算法在攻击数据包数量很多时才比较有效。iTrace机制的缺点在DDoS攻击中变得更加明显。受害主机可能会从最近的路由器获得许多ICMP追踪消息,其中很少一部分是由接近“肉鸡”路由器产生的。
为了克服这个缺点,研究人员对iTrace提出了一种改进方法,称为Intension驱动的ICMP追踪。这个技术分开了判决模块和iTrace产生模块之间的消息传递功能。接收网络为路由表提供了特定的信息以指出它需要ICMP追踪消息。在路由表中提供的特定信息的基础上,判决模块将选择接着使用哪类数据包来产生iTrace消息。然后,iTrace产生模块处理这个选中数据包,并且发送一个新的iTrace消息。
Intention驱动的追踪还允许无论接收网络是否想接收iTrace 数据包,都可以发信号,这就增加了对接收网络有用消息的比例。如果特定网络怀疑或者检测到它正遭到攻击,那么这种方法也很有用:它可以向上一级路由器请求iTrace数据包,以识别攻击业务的源头。
方法四、数据包标记
数据包标记方法是在被追踪的IP数据包中插入追踪数据,从而在到目标主机的网络上的各个 路由器上标记数据包。数据包标记的最简单的实现是使用记录路由选项,在IP头的选项字段中存储路由器地址。 但是,这个方法增加了每个路由器中的数据包长度,直接导致一个数据包被分成更多段。而且,攻击者可以试图用假数据来填充这个保留字段,从而逃避追踪。
有人2001年提出了利用随机抽样和压缩的数据包标记算法。这个算法依赖随机数据包标记(PPM)的追踪机制,使用概率为1/25的随机抽样,从而避免了路由器数据包标记的过多开销。此外,每个数据包只存储它的路由信息的一部分,而不是整条路径的信息。只要攻击数据包足够多,就可以保证受害主机重构攻击路径上的每一个路由器。
压缩边缘分段抽样技术(CEFS)已经成为最著名的IP追踪机制之一。要执行一次成功的追踪,受害者必须搜集足够多的数据包来重建攻击路径的每个边缘和完整的攻击拓扑图。但是这在DDoS攻击中非常困难,因为正确地将分段和编码的路径边缘组织在一起很困难。
边缘识别PPM的方法通过存储每个IP地址的Hash值,进一步减少存储需求。这种方法假设受害主机拥有所有上级路由器的完整网络图。在重新组装边缘分段之后,该方法将产生的IP地址Hash值与从网络图得到的路由器IP地址的Hash值相比较,以便于重建攻击路径。这个方法比以前的方法对于DDoS攻击更加有效。
|