当前位置: 首页 > 工具软件 > Crossfire > 使用案例 >

LFA攻击(crossfire攻击)过程

夏侯兴怀
2023-12-01

目标区域:目标区域是指网络中遭到攻击者攻击的区域;
目标链路:目标链路是目标网络区域中的关键链路,对手需要将其淹没,以切断目标区域与其他区域的网络连接。目标链接是攻击者根据网络拓扑选择的实际攻击目标,而目标区域是攻击者预期真正攻击的目标。
为了针对目标区域发起 Crossfire 攻击,攻击者首先会在目标区域内选择合适的公共服务器生成公共服务器集,在目标区域外选择合适的诱饵服务器生成诱饵服务器集。这些服务器很容易找到,因为它们是由公开访问的服务器提供的。生成公共服务器集的目的在于构建中心点为目标区域的攻击拓扑图,生成诱饵服务器集的目的则在于构建攻击流量。基于以上工作,攻击者可以轻松的构建一个“链接拓扑图”,即从傀儡机地址到可访问的公共服务器地址的第三层链接图。链接地图的创建为攻击者提供了可选择的最佳的目标链路,攻击者也因此能够轻松的生成目标链路集。这些链路的泛滥将有效地切断
目标区域与互联网的连接。接下来,攻击者协调诱饵服务器发动攻击流以淹没目标链路,这将最终阻止大部分流向目标区域的合法数据流,因为目标链路是由流向诱饵服务器的攻击流和流向目标区域的合法流所共享的。最后,攻击者为同一目标区域选择多个不相交的目标链路集,以避免触发路由的更改。启动 Crossfire 攻击所需要的四个主要步骤包
括:
1)构建链接地图;
2)设置攻击;
3)协调傀儡机;
4)滚动攻击。

具体如下:

1)构建链接地图
a. 从傀儡机到服务器的路由跟踪为了构建链接地图,攻击者指示它的傀儡机运行追踪路由,找到目标区域内公共服务器和诱饵服务器的所有路由。跟踪路由的结果是分配给路由上路由器接口的 IP 地址
序列,其中链路由相邻路由器接口的 IP 地址标识。因此,IP 地址序列代表攻击流量将要传输的第三层链路的序列。尽管单个三层链路由几个攻击者看不见的下层连接组成,但只要攻击者沿三层链路的最大带宽假设正确,三层链路上的攻击仍然有效。Crossfire 攻击的链接地图不同于典型的路由器拓扑图,后者试图构建路由器级连接,以分析拓扑特征(例如节点度)。这种攻击只需要列出第三层链路及其关系,就可以计算傀儡机到目标区域路由上的一组目标链路,而每个链路到特定路由器的成员身份是无关的。链接映射构造不需要 IP 别名解析,例如,确定同一路由器拥有的 IP 接口集是不必要的。因此,无论对手的 IP 别名解析有多不准确,他们都可以使用普通的跟踪路由来构建链接地图。一个傀儡机对同一台服务器进行多次追踪来确定一个路由的稳定性和多重性,其主要目的是用于选择有效的目标链路。跟踪路由的结果由攻击者收集并用于构建链接地图。
b. 链路持续性
由于路由的不稳定性,在上一步中获得的链接地图不能直接用于查找目标链路,因为不稳定的路线会使攻击性能下降。负载平衡过程,即多条路由转发流量,是造成路由具有不稳定性的主要原因。负载平衡的一个结果是,对于同一傀儡机到服务器对,一些链接并不一定与由调用多次 traceroute 所产生的路线轨迹重合。这些链接被称为暂时性链接,而那些总是出现在路线上的链接被称为持续性链接。攻击者会识别这些暂时性的链接,并将它们从潜在的目标链接集合中删除。

2)设置攻击
攻击者使用获得的链路地图发现目标链路集,其攻击切断了到目标区域的最大数量的路由。显然,在所有可能到达目标区域的路线中,被切断的路线所占的比例越大,攻击就越强。攻击设置步骤包括以下两个子步骤:
a. 流密度计算
攻击者通过链路地图选择目标区域,并通过选定的特定目标区域中的所有网络链路计算“攻击流密度”。持久链接的攻击流密度定义为通过该链接创建的傀儡机与目标区域中可访问的公共服务器之间的流数量。因此,攻击流密度是一个仅限于目标区域的特
定指标,在不同的目标区域之间可能存在很大差异。链路的攻击流密度越高,则表明该链路可以向目标区域提供的攻击和合法信息越多,该链路成为攻击目标的概率也就越大。
b.目标链路选择
在这一步中,攻击者可以对不相交的多个目标链接集发动攻击。为了实现攻击的持久性,两组或两组以上的不相交链路将被持续选择。目标链接由攻击者通过综合链接地图和攻击流密度选择,其目的是最大化攻击目标区域的流量。攻击者通过计算目标区域的退化率来量化由目标链路集切断的通信量。退化率定义为所有目标区域内被攻击的路由数,即包含被攻击的目标链路的路由数,与所有可能的目标区域路由数之比。

3)协调傀儡机
攻击者确定了目标链接后,会协调傀儡机以淹没目标链路。为了给一组给定的目标链接创建攻击流量,攻击者会向傀儡机下发生成的诱饵服务器集以及分配数据包到诱饵服务器的发送速率。分配发送速率的含义为,协调每个傀儡机分配较低强度(带宽较低)的单个攻击流到每个诱饵服务器,而所有分配的攻击流的总带宽足以淹没所有目标链路。
该步骤包含两步,即攻击流的分配和目标链路泛洪。
a. 攻击流的分配
分配攻击流的目的在于保证所有分配的攻击流的总带宽高于目标链路的最大带宽,从而使这些链路中的所有合法流量严重退化。攻击流必须满足两个约束条件。首先,攻击者协调傀儡机保证每条流的强度足够低,以便攻击流在具有网络保护机制的服务器、路由器或入侵检测系统中不被定义为恶意流量。这样就使得攻击流具有不可区分性。其次,攻击者均匀地将淹没目标链路所需的攻击总流量分配给多个傀儡机和诱饵服务器,极大的提高了攻击的不可检测性。目标链路上的攻击流速率受流密度的下限限制。目标链路上每个流量的平均值应高于目标链路的最大带宽除以目标链路上最大可用攻击流数,该数量与其攻击流密度成正比。分配攻击流必须考虑流量的上限,从而尽可能地保证攻击流地速率较低,数量较多。 对手还必须平均分配每个傀儡机和每个诱饵服务器的速率,同时记录该速率,以便通过分配新的攻击流而增强攻击的不可检测性。尽管攻击者会谨慎地分配攻击流,但仍需要注意协调攻击流数量、速率与目标链路的带宽以及目标区域的大小与傀儡机的密度,以避免早期拥塞。
b.目标链路泛洪
攻击者协调傀儡机生成多个攻击流,单个攻击流须具有相应的发送速率。傀儡机根据链路的状态动态地调整攻击流的发送速率,使检测机制无法区分,一旦攻击流地聚合带宽高于目标链路的实际带宽,目标链路将被淹没,傀儡机停止增加攻击流量。

4)滚动攻击
对手可以动态更改目标链路集(在之前发现的多个链路集中),以达到延长 Crossfire攻击时间的目的。然而,连续对某组目标链路进行攻击会导致路由器触发检测机制,并更改服务器的路由。因此,改变目标链路集可以确保攻击的持久性,并使攻击保持纯粹的数据平面攻击。攻击者还可以通过傀儡机集的动态更新,以达到增强攻击难以检测的目的。

摘自[1]孙文悦. SDN网络中LFA攻击检测方法的研究[D].江苏大学, 2022.DOI:10.27170/ d.cnki.gjsuu.2022.001587.

 类似资料: