01引言
02ASPA工作原理
-
Provider/Customer:Provider为Customer提供中转服务,会向自己的其他客户和上游Provider宣告到达该Customer的路由。
-
Lateral peer:对等关系,互相为对方及其客户提供中转服务,向对方宣告自身及客户的路由,并向客户宣告对方及其客户的路由,但不会向上游Provider宣告对方的路由或将从上游Provider得到的路由宣告给对方。 -
Mutual-transit:兄弟关系,会互相为对方提供免费的中转服务,中转对方的所有流量,即互相为对方的Provider。 -
RS/RS-client:RS即IXP Route Server,可以认为是为多个互为对等体(Lateral peer)的AS(即RS-client)传达可达性信息,以节省全连接的开销。因此RS可以认为是RS-client的Provider。
-
VAP-SPAS中没有一项,使得其CAS等于AS(i),则返回”No Attestation”,对应AS(i)未注册ASPA的情况。 -
VAP-SPAS中存在一项,其CAS等于AS(i),且AS(j)在该项的SPAS中,则返回”Provider+”。 -
VAP-SPAS中存在一项,其CAS等于AS(i),但AS(j)不在该项的SPAS中,则返回”Not Provider+”。
-
如果,存在1 <= i <= N-1,使得hop(AS(i),AS(i+1))=”Not Provider+”,则路径认证结果为”Invalid”。 -
否则,如果存在1 <= i <= N-1,使得hop(AS(i),AS(i+1))=”No Attestation”,则路径认证结果为”Unknown”。 -
如果每一跳的结果满足”Provider+”,则路径认证结果为”Valid”。
图1 下行路经检查中的路径形式
图2 下行路径检查中顶层AS可能出现的关系
-
如果N<=2,则检查结果为“Valid”。 -
如果N>=3,先判断该路径是否为“Invalid”。找到最小的u使得hop(AS(u-1), AS(u))= “Not Provider+”,找到最大的v使得hop(AS(v+1), AS(v))= “Not Provider+”。则上行路径最晚在AS(u-1)处结束,下行路径最早从AS(v+1)开始,如果u <= v,说明对应上图中的L-K = v+1 - (u-1) >= 2,该路径是不合法的,检查结果为“Invalid”。 -
判断该路径是否是”Valid”。找到最大的i使得hop(AS(i-1),AS(i))=”Provider+”,找到最小的j使得hop(AS(j+1),AS(j)) = “Provider+”。则有ASPA认证的上行路径在AS(i)处结束,有ASPA认证的下行路径从AS(j)处开始,如果j-i <= 1,则该路径上行和下行部分都完全由ASPA认证,因此该路径一定是合法的,检查结果为”Valid”。 -
否则,从i到j之间的路径无法使用ASPA认证,检查结果”Unknown”。
图3 攻击者向上游AS宣告路径
图4 攻击者向下游AS宣告路径
图5 ASPA在部分部署情况下缓解路由劫持
-
Azimov, A., Uskov, E., Bush, R., Snijders, J., Housley, R., and B. Maddison, "A Profile for Autonomous System Provider Authorization", Work in Progress, Internet-Draft, draft-ietf-sidrops-aspa-profile-16, 10 July 2023. -
Azimov, A., Bogomazov, E., Bush, R., Patel, K., Snijders, J., and K. Sriram, "BGP AS_PATH Verification Based on Autonomous System Provider Authorization (ASPA) Objects", Work in Progress, Internet-Draft, draft-ietf-sidrops-aspa-verification-16, 29 Augest 2023
原文始发于微信公众号(风眼实验室):ASPA缓解路径劫持能力分析
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论