科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道网络安全黑客技术大放送,欺骗IP攻击的追踪

黑客技术大放送,欺骗IP攻击的追踪

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

实际配置中的关键是对网络中的路由器作出修改,以便让这个机制能有效地实施,可以是新增配置,也可以是同现有的基础结构的向后兼容。我们描述一种追踪规则,只需要一点或者不需要路由器的临界向前路径,可以增加配置允许在子网路由器内追踪,来支持我们的设计。更进一步,我们要论证我们能通过这种方法得到重要的路径信息,并且不影响现有路由器、主机系统和通常的流量。

来源:比特网 2009年11月8日

关键字: 网络攻击 黑客

  • 评论
  • 分享微博
  • 分享邮件

  实际配置中的关键是对网络中的路由器作出修改,以便让这个机制能有效地实施,可以是新增配置,也可以是同现有的基础结构的向后兼容。我们描述一种追踪规则,只需要一点或者不需要路由器的临界向前路径,可以增加配置允许在子网路由器内追踪,来支持我们的设计。更进一步,我们要论证我们能通过这种方法得到重要的路径信息,并且不影响现有路由器、主机系统和通常的流量。

  在1985年的论文中,Morris指出:"The weakness in this scheme[the Internet Protocol] is that the source host itself fills in the IP source host id, and there is no provision in TCP/IP to discover the true origin of a packet."

  入口过滤 (Ingress filtering)

  一种对付匿名攻击的方法就是消除伪造源地址的能力。这种方法,通常就是入口过滤(ingress filtering),通过配置路由器去阻止不合理的源地址数据包通过。这要求路由器有足够能力去检查每个包的源地址,并且能够有足够的能力去区别正常的和不正常的地址。因此,入口过滤在ISP的边缘或者客户网络中更加有作用,这里处理数据包更加明确,并且流量负载相对低些。

  如果包是从多个ISP汇合进入,这就不能有足够的信息去明确决定是否数据包拥有"合法的"源地址。而且,以高速连接来说,对于许多路由器架构,入口过滤的消耗变得太不实际了。

  入口过滤的主要问题还是因为它的效能依赖于大范围或者全体的配置。不幸的是,主要的ISP,也许是绝大多数不提供这样的服务,也许他们没有被通知或者被阻碍,因为:管理负担、潜在的路由花费以及本身就是源地址欺骗的服务(比如:某些版本的移动IP,某些混合的卫星通讯体系)因素。第二个问题就是,即便入口过滤机制在客户-ISP之间普遍运用,攻击者仍然能够伪造客户网络中的成百上千的IP地址。

  很明显,入口过滤可能会戏剧性地发展网络的暴力拒绝服务攻击。同时,可以假设一个系统从来没有被欺骗过,因此,追踪(traceback)技术就显得很重要了。

  链级测试 (Link Testing)

  多数的追踪技术都是从最接近victim的路由器开始,然后开始检查上流数据链,直到找到攻击流量发起源。理想情况下,这种过程可以递归执行直到找到攻击源头。这种技术假设攻击一直保持活动直到完成追踪,因此很难在攻击结束后、间歇性攻击或对追踪进行攻击调整等情况进行追踪。

  1、Input debugging

  很多路由器都提供Input debugging特性,这能让管理员在一些出口端过滤特定的数据包,而且能决定可以达到那些入口。这种特性就被用来作traceback:首先,victim在确定被攻击时,要从所有的数据包中描述出攻击包标志。通过这些标志,管理员在上流的出口端配置合适的Input debugging。这个过滤会体现出相关的input端口,这个过滤过程可以一直朝上流进行,直到能够到达最初的源头。当然这种工作很多依靠手工,一些国外的ISP联合开发的工具能够在它们的网络中进行自动的追踪。

  但是这种办法最大的问题就是管理花费。联系多个ISP并同他们合作需要时间。因此这种办法需要大量的时间,而且几乎不可能完成。

  具体实例参考《追踪伪造的IP地址》(by refdom, 2002-11)。

  2、Controlled flooding

  Burch和 Cheswick提出的方法。这种方法实际上就是制造flood攻击,通过观察路由器的状态来判断攻击路径。首先应该有一张上游的路径图,当受到攻击的时候,可以从victim的上级路由器开始依照路径图对上游的路由器进行控制的flood,因为这些数据包同攻击者发起的数据包同时共享了路由器,因此增加了路由器丢包的可能性。通过这种沿路径图不断向上进行,就能够接近攻击发起的源头。

  这种想法很有独创性而且也很实际,但是有几个缺点和限制。最大的缺点就是这种办法本身就是一种DOS攻击,会对一些信任路径也进行DOS,这个缺点也很难用程序实施。而且,Controlled flooding要求有一个几乎覆盖整个网络的拓扑图。Burch和 Cheswick也指出,这种办法很难用于DDOS攻击的追踪。这种方法也只能对正在进行攻击的情况有效。

  3、Logging

  这种方法通过在主路由器上记录包,然后通过数据采集技术来决定这些数据包的穿越路径。虽然这种办法可以用于对攻击后的数据进行追踪,它也有很明显的缺点,比如可能要求大量的资源(或者取样),并且对付大量数据的综合问题。

  4、ICMP追踪

  这种方法主要依靠路由器自身产生的ICMP跟踪消息。每个路由器都有很低的概率(比如:1/200000),数据包可能会把内容复制到一个ICMP消息包中,并且包含了到临近源地址的路由器信息。当flood攻击开始的时候,victim就可以利用这些ICMP消息来重新构造攻击者的路径。这种方式同上面介绍的比较,有很多优点,但是也有一些缺点。比如:ICMP可能被从普通流量中过滤掉,并且,ICMP追踪消息还要同input debugging特性(将数据包同数据包input端口和/或者要到达的MAC地址关联的能力)相关,但是,可能一些路由器就没有这样的功能。同时,这种办法还必须有一种办法来处理攻击者可能发送的伪造ICMP Traceback消息,路由器处理的流量不一样,造成了贫穷路由器可能几乎很少发出追踪包,但是富裕路由器可能发送较多的追踪包。虽然,DOS攻击的路径有包大量增加,但是并不能肯定路径中贫穷路由器增加后的流量就可能大于那些正常的富裕路由器流量。。也就是说,我们可以把这种方式同其他办法一起使用来让跟踪机制更有效。

  请参考更多IETF iTrace Work Group

  5、数据包标记追踪

  Burch 和 Cheswick提及了通过标志数据包来追踪flood攻击的可能性,这即是统计的也可以是明确的,可以用来找到它们经过的路由器。这种办法以前没有深入研究过,但是它有很多潜在的优点。首先,它不需要同ISP进行合作因此可以避免input debugging的消费;它也不象controlled flooding那样需要额外的大网络流量,并且可以用来追踪多攻击源;而且,跟logging一样,也可以在攻击结束后进行追踪。最后,我们也发现标志机制不需要网络路由器的消耗。

  基本假设

  1、攻击者可以构造任意数据包

  2、多点攻击是相关联的

  3、攻击者可以会注意到他们正在被追踪

  4、数据包可能被丢失或者被重新排序

  5、攻击者发送无数的数据包

  6、在攻击者和受害者之间的路由器是稳定的

  7、路由器的CPU和内存是有限的

  8、路由器没有被入侵

  前四个假设是对现在攻击者的能力的网络限制的保守假设。在Internet环境设计一种追踪系统是一种极度挑战,因为这里实际上只有很少的东西值得信任。特别指出的是,攻击者创造数据包的能力将会极大地限制可能的方案。当路由器接收数据包的时候,它没有办法去判断是否这个包被上游路由器标志过的或者是否被攻击者伪造了这些信息的。实际上,只有这一点不会改变,那就是攻击者发起的数据包一定会经过源到victim的所有路由器。

  其他的假设,反映我们设计的基础和应该另外讨论的内容。首先(假设5),拒绝服务攻击只有在它们占用了victim资源的时候才有效,因此,多数攻击都由上百万或者千万的数据包构成。我们的方法也是建立在这些性?上的,因为我们只有很少的路径状态片来标志每一个数据包,Victim通过观察这些数据包来重构攻击的完整路径。如果,攻击是那种大量攻击机只发送单个数据包到Victim,比如Ping-of-death,那么我们就假设就无从谈起了。

  第二,测量明显表明整个网络路由器在变化,对于数据包在traceback操作中沿着许多不同路径花费很短的时间片段是极度稀有的。这个假设大大简化了整个过程,因此可以认为每个攻击者都只有一条主路径。如果网络已经发展成为允许多路由了,那么这个假设也就失效了。

  第三、在路由器的执行技术、连接速度方面都有很多值得考虑的改进。因此,我们断言,任何可行的执行方案都必须考虑这些因素,每个包处理都有消耗,而且不能让执行方案造成泛洪。

  最后、由于危险的路由器可能完全消除所有的上游路由提供的信息,可能就造成完全不能区别攻击者。在这种环境下,有安全危险的路由器必须在进行Traceback之前被首先处理。在普通环境下,我们相信这种假设是可以被接收的。

  整个方案中,路由都显得非常重要。

  基本标记算法

  附加节点

  最简单的标记算法--类似IP路由记录选项,就是把每一个节点地址附加在数据包的末尾,表明这是从哪里传入的。因此,每一个被目标接收的数据包都就是包含经过的路由器完整次序。

  这种算法能够很快集合起来,然后这里也有一系列的限制。首先,对于高速路由器来说将增加负担。再次,数据包的长度还不能推理得出,不可能确定包中的路由列表是无用的数据。这可能导致不必要的分片,或者因为MTU而破坏。这个问题被通过保留足够的空间来解决,因为攻击者完全可以自己填充这个空间,或者来误导路径信息。

  节点取样

  要减少路由的负担以及每个数据包的空间要求,可以通过在路径中的一个节点取样,让一个样本来代替整个路径。单个的静态节点可以保存在包头部中,对于IPv4,可以有足够的空间来容纳路由器的地址了。当接收到一个数据包,每个路由器就以概率p,选择性地将地址写到节点地址区间内。当足够的数据包被发送后,victim可以至少接收攻击路径上的每个路由器的一个样本。按照我们的假设,这些取样能够聚合起来构成攻击路径。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章