虚假IP地址攻击如何溯源?
2023-01-17 13:49:32 【

当攻击数据包中的源IP地址是伪造的时,如何找到发送攻击数据包的真实IP地址?这一问题也被称为IP追踪(IPTraceback)。对该问题, 需要按照不同背景、情况,不同分类方法来实施溯源方法。


①背景:取证人员可以控制骨干网络上的全部或大部分路由器,并且可以修改路由软件。


取证人员可以在事先给骨干网络的路由器增加新的功能,在不影响正常路由的情况下修改标准的IP协议,以帮助发现真实的IP地址。


基于这一条件的方法主要有概率包标记算法、确定包标记算法、ICMP标记算法等。同时还有一些组合方法,例如采用数据包标记和数据包记录的混合方法;综合了 ICMP 和 PPM 算法, 路由器对于 IP 数据包以一定概率进行标记, 并且同时把IP地址填入ICMP包中等等。


②背景:取证人员可以控制骨干网络上的路由器,但不能修改路由软件。


根据此种情况,取证人员可以事先观察记录流经骨干网络路由器的IP数据包,但不能改变标准的路由协议。


主要思路是,在路由器上记录所有流经的数据包,当攻击发生时,受害主机向其上游路由器进行查询,路由器比对所记录的数据包,可以构造出该数据包所经过的路径。该方法优点是可以回溯单个数据包,但缺点是需要考虑路由器存储空间受限的问题。


所以针对此种情况,Alex C.Snoeren、Craig Partridge等人在《Single-packet IP traceback》设计了一个追踪系统SPIE,不是让路由器记录整个数据包,而是利用bloom filter记录数据包的摘要,大大减少了所需的存储空间。然后通过查询每个路由器上的数据包摘要,可以重构出攻击路径。


还可以根据部分路由器进行数据包记录的情况, 并且对于多个攻击源问题, 该方法只需要追踪属于多个攻击源的数据包就可以识别出多个攻击源。


在《Session based logging (SBL) for IP-traceback on network forensics》中提出一种基于Session的数据包记录方法, 即只记录TCP数据流中的连接建立请求SYN数据包和连接终止 FIN 数据包, 忽略掉流中间的数据包, 从而大大减少所需的存储空间。


在《Passive IP traceback: disclosing the locations of IP spoofers from path backscatter》中针对跨自治域的追踪问题,可以利用路由器的IP包记录方法, 结合链路层的MAC地址来识别虚假IP地址, 实现了一个原型系统。


由于在这种情况下不能改变现有路由结构, 另外一个思路是在现有路由结构上建立一个覆盖网络(Overlay Network), 通过新设计的覆盖网络来实现数据包跟踪。


③背景:取证人员不能控制骨干网络上的路由器,但可以在网络上部署监控器。


这种情况下,取证人员只能在网络合适的位置部署监控器收集数据包,这里的网络不是指骨干网络,而是指终端网络。


在大流量数据包情况下,由于网络阻塞等各种原因,路由器会有一定几率产生目标不可达的ICMP报文,由于攻击数据包的源IP地址是虚假的,一般是随机产生的,这些ICMP报文会被发往这些虚假的IP地址,其中包含路由器的IP地址以及原数据包的源和目的IP地址。


因此部署在网络上的监控器会收到这些ICMP报文,根据发送这些ICMP报文的路由器,可以构造出这些数据包的攻击路径。Robert Stone和Centertrack在《an IP overlay network for tracking DoS floods》提出了,利用NetworkTelescope 项目(能够覆盖1/256的IPv4地址)收集的数据,结合骨干网的拓扑结构,可以在一定程度上发现攻击源。


但是溯源追踪的方法要求攻击数据包的流量比较大,并且在攻击正在进行的时候实施,一旦攻击结束,这种方法就无法找到真实的IP地址。


④背景:取证人员既不能控制骨干路由器, 也不能部署监控器, 但知道骨干网络拓扑结构。


在取证人员只知道骨干网络的拓扑结构, 没有权限控制骨干网中的路由器, 也没有条件部署遍及全网的监控器的情况下,我们可以采取以下几种追踪溯源的方法。


Hal Burch和Bill Cheswick在《Tracing anonymous packets to their approximate source》提出了一种链路测试的方法。在大流量数据包的情况下,从被攻击目标出发,由近及远,依次对被攻击目标的上游路由器进行UDP泛洪。若某条链路上存在攻击流量,由于泛洪流量的存在,将导致攻击流量丢包。根据这一现象,即可以判断出某条链路上是否存在攻击流量,从而构造出攻击路径。


不过该方法只能对单个攻击流量进行检测,若同时存在多个攻击流量,则很难区分不同的攻击流量。这种方法同样要求攻击数据包流量较大,并且一旦攻击结束,方法也就失效了。另外,这种方法本身就是一种 DoS攻击,会影响正常的数据流量。


也可以采取一种基于蚁群的算法, 即受害主机发出一些蚁群, 这些蚁群根据链路中负载的程度来选择路径, 链路负载越 大说明越可能是攻击流量, 因此蚁群选择该路径的概率越大。当所有蚁群达到所监控网络边缘时, 根据 蚁群所走过的路径, 则可以构造出最有可能的攻击路径。


所以对于一般虚假IP溯源问题的解决,可以根据情况的不同采用不同的检测方法进行追溯。不过现如今网络攻击环境、攻击手法复杂且技术不断升级,我们也需要升级我们的检测方法,提高网络攻击溯源的技术水平,这样才能更好地保护我们的网络安全。


】【打印关闭】 【返回顶部
上一篇没有了 下一篇微软发现可以绕过安全审查,开启M..