AS-Path Prepending: there is no rose without a thorn
AS-Path Prepending:没有不带刺的玫瑰
ITE:宣布路线的过程,例如,最大化收入或最小化拥堵
AS Path Prepending (ASPP) :一种易于使用且广为人知的 ITE 技术,路由手册将其显示为影响其他 AS 路由决策的首批替代方案之一。
ASPP 包括膨胀 BGP AS 路径。由于 AS 路径的长度是 BGP 最佳路径选择中的第二个关键点,因此 ASPP 可以将流量引导到其他路由。
本文的核心是评价AS-Path Prepending的利用率,有效性,安全性。我们重点了解 ASPP 部署及其相关的潜在问题
纵向研究表明,AS 广泛部署 ASPP,尽管公开声明反对,但其利用率略有增加。
通过主动测量,我们表明 ASPP 作为 ITE 工具的有效性取决于 AS 位置和可用上游的数量; ASPP 安全影响是切实可行的;部分前置前缀包含不必要的前置,除了放大现有的路由安全风险之外没有任何明显的目标。
1 intro
ASPP:通过插入(后续)其 ASN 的重复条目来人为地膨胀 BGP AS 路径的技术。由于 AS 路径的长度是 BGP 最佳路径选择中第二重要的决定因素,因此 ASPP 可以将流量从一条路由引导到另一条路由。但是,它的效果取决于路由传播和其他 AS 做出的路由决策。
问题:运营商和研究人员对 ASPP 的评价参差不齐。
一方面,与其他 ITE 技术不同,ASPP 不需要其他 AS 的任何支持,也不需要可分解的前缀。
另一方面,它的需求、有效性和可预测性受到质疑 [37, 50, 65]。此外,有人担心 ASPP 会在多大程度上放大现有的路由不安全性 [38, 39, 64],以及不正确的 ASPP 配置会触发路由器软件中的错误的报告 [79, 80]
本文具体解决三个问题:
AS如何使用预置
预置如何发挥作用
预置是否会放大现有的路由安全风险?
2 primer
ASPP:AS 在发起/传播 BGP 路由之前将其自己的 AS 编号额外增加 (n ≥ 1),从而人为地将生成的 AS-Path 长度增加 n。
为了影响远程 AS 的路由选择 [52],AS 使用 ASPP 膨胀 AS 路径来影响第二个打破平局规则
FIG1 的三种情况:
在图 1a 中,我们说明了一个具有两个邻居的 AS 使用 ASPP。 AS A 向两个具有不同前置大小的邻居宣布前缀 P。通过延长一条路径,AS A 尝试影响远程 AS 通过 AS B 发送流量。此尝试的成功将取决于远程 AS 将如何接收通知。
在图 1b 中,我们描述了一种 ASPP 可以影响 AS F 决策的情况。即使穿越 AS C 的路径比通过 AS B 的路径少,AS F 更喜欢第二条路径,因为它是最短的。
在图 1c 中,我们展示了 AS A 的 ASPP 不能影响 AS F 的决策的情况,因为它具有较少的前置 - AS F 更喜欢穿越 AS C 的路径,因为它具有最小的 AS 路径长度。
这些案例强调 ASPP 无法保证远程路由更改和由此产生的入口流量分布。
AS 可以使用 ASPP 在上游之间进行负载平衡,以最小化传输成本(通过将流量从昂贵的上游转移),或建立备份链路。
AS前置分为起点前置和中间前置
如果 AS 前置是始发者,我们称它为 origin-prepending;否则,我们将其称为中间前置。当一个 AS 代表另一个 AS 进行前置时,我们将这种特殊形式的中间前置称为远程前置。
3 dataset
数据选取与数据卫生
数据卫生可能需要再看看。
4 使用 ASPP 的趋势
为了更好地了解 ASPP 的利用率,我们使用 BGPMonthly 数据集分析了过去十年的趋势。
我们注意到我们的数字代表实际 ASPP 利用率的下限,因为:
-
路由收集器的可见性是有限的
-
前置路径往往不如非前置路径有吸引力;
-
我们清理我们的数据
发现
三分之一的 AS 使用 origin-prepending。
我们还看到一小部分 (<1%) 仅使用中间前置,其中一些可能是由于 AS 提供了远程前置
前置前缀-来源对和地址的比例略有增加。
如果至少有一个 AS 不止一次(连续地)将其 ASN 添加到路径,我们认为前缀/IP 地址是前置的。
这两种迹象都表明虽然运营商说ASPP不好,但实际上使用它的比例却在逐年增加
对运营商来说:尽管他们认为ASPP有诸多缺点(要么是容量规划不好,要么是网络工程师缺乏经验。),但实际上对他的应用却在逐年增加,可能是因为:
- 在某些区域无法获得大于 /24 的地址空间(例如,RIPE[55, 56]);
- 扩大基础设施所需的资金; A
- SPP 的简单性;
- 其在路由器供应商手册中的突出地位
重点关注IPV4基于来源的预置
原因:大量中间前置前缀是少数大型 AS的路由策略的结果,且IPv6 仅占 2020 年 4 月 15 日预审总数的 6%。
5 在一般互联网环境的预置策略
ASPP 策略:前缀-来源对
-
前置=0
-
前置=N
-
前置=M ORN (主要)
-
前置=multi(第二)
变化趋势:3↓4↑
使用更细粒度策略的趋势可能与 AS 连接级别的提高有关
在 COVID-19 锁定期间进行更多预置以应对不断增长的流量需求,。
ASPP 策略:AS
按如下方式区分每个 AS ASPP 策略。当一个 AS 对它产生的所有前缀采用单一策略时,我们说它采用了已经定义的四种策略之一:无前置、统一、二进制或多样化。否则,我们说 AS 采用混合策略集。
大多数预先设置的 AS 使用多个策略。
混合策略的 AS 主要使用二元策略
统一前置
统一前置很普遍。(?)
超过 29k (3.6%) 个由 5.8k (8%) 个 AS 发起的统一前置前缀-来源对,其中 1.7k (2.5%) 个 AS 统一前置所有前缀
一些前缀始终使用统一策略。
统一前缀前置由小型 AS 主导。
其中一些前缀承载大量流量。(?)
对于 57% 的前缀,我们没有观察到任何流向它们的流量,对于 35%,我们观察到来自它们的流量,但没有观察到流向它们的流量。我们注意到只有少数前缀(<2%)承载具有代表性的流量,无论是考虑一个方向还是两个方向。我们观察到的绝大多数前缀都携带少量流量。
统一预置存在的原因:
缺乏知识:一个反复出现的观点是,许多网络运营商,尤其是来自小型 AS 的网络运营商,对 BGP 的了解有限。事实上,我们的分析表明,许多统一前置的案例来自小型 AS。
稳定性拖延:一些网络运营商知道 ASPP 的存在,但不愿意删除它,因为担心对其可达性和/或路由稳定性产生负面影响。
好消息传得快——坏消息传得慢:一些运营商表示,统一的前置可能有助于在需要时快速实施 ITE 政策。当需要一些更改时,无需等待插入前置,AS 可以提前前置,当时机成熟时,从上游移除以指示首选路由。由于“好消息”传播得很快,这种方法提供了更快的 BGP 收敛。
预置的大小:
前置大小在区域之间是两极分化且一致的。
6 评估 ASPP 的有效性
探讨前置路由的传播以及如今 ASPP 的有效性。
图 10 显示,对于不同的前置大小,预期传播范围的分布非常相似。然而,尚不清楚采用前置路径会在多大程度上影响实际流量,因为 (a) AS 中的不同路由器可能会选择不同的首选路径,(b) BGP 监视器仅覆盖 AS 的子集,以及 (c ) 一些 AS 甚至可能删除 ASPP(参见第 7.1 节)。
使用 PEERING 测试平台作为我们的有利位置进行主动测量实验。
我们宣布一条路线,其中一些上游有前置,而另一些上游没有前置(首选)。然后,我们对一组不同的目标使用 ICMP/TCP/UDP ping 探测来生成对 PEERING 测试平台 AS 的响应流量。如果流量通过首选 AS 之一进入,我们将结果称为“命中”,否则称为“未命中”。
设置的对照组实验包括:目标类别,上游情况
虽然我们观察到 Pre-schedule 的性能略好于 Post-schedule(参见图中两种调度类型的最大 prepend 大小的有效性),但路由年龄并没有显着影响我们的结果。
只有两个上游,ASPP 的有效性很大程度上取决于路由生态系统中的位置;而对于许多上游,ASPP 能够一致地转移几乎所有目标。
7 安全问题
首先分析 AS 是否操纵前置路径,即删除前置。
然后,我们在互联网上通过实验验证和评估劫持前置前缀的潜在影响,以此作为讨论前置前缀漏洞增加的基础。
最后,我们估计附加前缀的 AS 是否也使用基于 RPKI 的路由源验证 (ROV) 来保护其前缀免受劫持。
删除前置常见吗?
AS(可能)从路径中删除前置 AS 可能会从路径中删除(全部)前置以创建更短的路径并可能吸引更多流量。
仍然举例fig1:AS A 向其两个上游(AS B 和 AS C)宣布前缀 P。 AS B 接收非前置路由,而 AS C 接收具有三个额外前置的路由。 AS A 预计到前缀 P 的大部分流量将到达与 AS B 的链路上。现在假设 AS C 打算增加其收入。如果 AS C 删除了由 AS A 添加的(所有)前置,它会使它的路由更短,对其他人更有吸引力。
使用 PEERING 测试平台,通过 PEERING 一个 的上游宣布了带有三个前置的前缀,30 分钟后,将其撤回。退出后,我们再等待 30 分钟,然后使用不同的上游开始新的迭代。在遍历所有可用的上游之后,我们分析所有 BGP 更新(在路由收集器中可见)以查找我们的前缀。如果我们发现至少缺少一个前置的更新,我们标记上游以供进一步分析。最后,我们对标记的上游(删除了至少一个前置)进行了深入的实验。对于其中的每一个,我们都会宣布一条前置路径并等待 15 分钟让 BGP 收敛。
然后,我们通过 BGP 眼镜和路由服务器手动检查选择的最佳路由,以确定哪个 AS 可能是删除前置的那个。然后,我们撤回前缀。 45 分钟后,我们检查下一个标记的上游。
结果:**预先删除很少见。**不能将此归因于恶意行为,因为某些路由优化器可能会删除前置。
ASPP“缓解”前缀劫持?
通过人为地增加 AS 路径长度,AS 使路由对其他 AS 的“吸引力降低”。然而,这种行为可能会为其他 AS 为互联网生态系统的大部分劫持这个前缀创造机会,因为更长的路径更适合前缀劫持
假设一个 AS X(非)有意地为前缀 P 发起一条路径,其中包含 AS A 作为第一跳。使用前置路径的 AS 更有可能采用这条新路由(由 AS X 发起),因为它比最初由 AS C 传播的路由短。这种情况的可能变化反映了不同的前缀劫持类型和路由泄漏 。在所有这些情况下,“坏”路由可能会取代合法的前置路由。
具有至少三个前缀的路由更容易受到前缀劫持。
我们发现如果最初的公告使用三个前置,至少 94% 的监视器采用了被劫持的路线,
超过 18% 的前置前缀包含明显不必要的前置,这增加了它们遭受劫持和路由泄漏的风险。
6.9k 个 AS 产生了 38.5k 个具有此特征的前缀(占所有前置前缀的 18.6%0特征:至少有一个前置前缀到其所有邻居,
RPKI 覆盖的前置前缀
增强路由安全性的主要技术之一是 RPKI(资源公钥基础设施)。 RPKI 允许 AS 为其每个前缀创建 ROA(路由起源授权),其他 AS 可以使用 ROA(路由起源验证)[18,53,67] 来验证路由。尽管 ROV 无法避免删除前置(参见第 7.1 节),但它可以防止劫持者更改源 AS [17, 61] 的前缀劫持攻击。
ROA 不涵盖大多数前置前缀。
每个前置类中不超过 25% 的前缀具有 ROA
这表明大多数前置前缀甚至没有部分保护免受前缀劫持攻击,