文献来源于:Detecting and Recovering Prefix Hijacking using Multi-agent Inter-AS Diagnostic System

该文献提出一种基于多代理的域间诊断系统 ,核心聚焦前缀劫持的检测与恢复 两大功能:检测方面,通过跨 AS ping 测试(基于向量相似度判断) 和AS_PATH 变更验证(结合邻居关系与 IRR 的 AS_SET) 两种方法提升检测准确性,避免依赖过时的 IRR 数据库;恢复方面,设计劫持回夺(两阶段广告策略) 和前缀隔离(利用 BGP NO_EXPORT 标签) 两种临时方案,缩短通信中断时间;经实验验证,ping 测试可有效区分劫持与合法MOAS行为,AS_PATH 验证实现 17 次告警(含 1 起确认为劫持),两种恢复方案均能快速缓解劫持影响,无需修改 BGP 协议即可部署。

一、研究概述
- 核心问题:现有前缀劫持检测依赖过时的 IRR 数据库或单一 BGP 更新,难以区分劫持与合法路由变更(如打孔);恢复方案多需多路径支持,无法快速抑制劫持传播,导致通信中断时间过长。
- 研究创新:提出多代理协作架构,整合两种精准检测方法和两种临时恢复方案,无需修改 BGP 协议,兼顾检测准确性与恢复时效性。
- 核心目标:① 准确检测前缀劫持(含 AS 号伪造场景);② 快速恢复通信,缩短故障 downtime。
二、系统架构
- 多代理域间诊断系统 :
- 代理部署:在多个 AS 内部署代理,每个代理关联本地 BGP 路由器,监控路由更新。
- 信息交互:代理间同步各自 AS 的前缀信息,形成全局监控网络。
- 工作流程:当某代理检测到可疑 BGP 更新时,通知其他代理联动验证,确认是否为前缀劫持。
三、检测方法设计与实验
(一)ping 测试检测法(区分劫持与打孔)
- 核心痛点:前缀劫持与合法打孔(Punching-Hole,用于网络冗余)的 BGP 路由信息完全一致,传统方法无法区分。
- 设计逻辑 :
- 触发条件:代理收到可疑前缀的 BGP 更新时,联动其他 AS 的代理同时对该前缀执行 ping 测试。
- 结果表示:将 N 个地址的 ping 结果(成功 = 1、失败 =-1)表示为 N 维向量。
- 相似度计算:通过向量夹角公式(见下文)量化跨 AS ping 结果的相似度:

- 判断规则:夹角越小(相似度越高)→ 合法打孔;夹角越大(相似度越低)→ 前缀劫持。
- 实验结果 :
- 测试对象:3000 个前缀,跨 2 个 AS(AS-X、AS-Y)执行 ping 测试。
- 关键数据:夹角范围 0°-129°,1/3 前缀夹角为 0°,多数≤45°;前缀 a/b/c 的 ping 响应模式完全不同(夹角大),判定为高劫持概率;前缀 e/f 模式相似(夹角小),判定为低劫持概率。
(二)AS_PATH 变更验证法(检测 AS 号伪造)
- 核心场景:攻击者伪造与合法 AS 相同的 AS 号和前缀,通过更短的 AS_PATH 欺骗其他 AS 选择其路由。
- 设计逻辑 :
- 监控对象:AS_PATH 中除源 AS 外的变更内容。
- 验证维度:
- 直接验证:若变更涉及的 AS 部署代理,检查本地路由表确认邻居关系,结果分 A(高伪造概率)、C(低概率)。
- 间接验证:未部署代理时,查询 IRR 的 AS_SET(记录关联 AS),结果分 B(中概率)、C(低概率)。
- 最终判定:取最严格结果(如 A+B→最终 A)。
- 实验结果 :
- 部署规模:9 个 AS 部署代理,持续监控 2 个月。
- 告警数据:共产生 17 次告警(2 次 A 类、7 次 B 类、8 次 C 类);15 次 B/C 类为正常路由变更,1 次 A 类确认为 BGP 配置错误导致的劫持,1 次 A 类告警检测后立即清除无法分析。
四、恢复方法设计
(一)劫持回夺法(Hijacking Back)
- 设计思路:利用 BGP 路径优选规则,让受害者 AS 广告更具竞争力的路由,夺回流量控制权。
- 两阶段策略 :
- 阶段 1:受害者 AS 广告比劫持前缀更具体的前缀(如劫持 / 24 则广告 / 25),利用最长前缀匹配规则。
- 阶段 2:若阶段 1 无效(部分 AS 过滤长前缀),广告与劫持相同的前缀,利用 BGP 本地优先级等属性竞争最优路径。
- 优势与局限:无需额外配置,快速生效;局限是恢复范围依赖路由优选结果,可能仅覆盖部分互联网。
(二)前缀隔离法(Separation of Prefix Hijacking)
- 设计思路:阻止劫持前缀的跨 AS 传播,限制污染范围。
- 实现方式 :
- 受害者 AS 请求受污染 AS 的代理,为劫持前缀添加 BGP NO_EXPORT 标签。
- 同时将该前缀的 LOCALPREF 值 + 1,确保在本地 AS 内优先选择带标签的路由。
- 优势与局限:配置简单,利用现有 BGP 属性;局限是仅阻止跨 AS 传播,本地 AS 内仍可能受影响。
五、关键实验数据汇总
| 实验类型 | 实验条件 | 关键数据 | 实验结论 |
|---|---|---|---|
| ping 测试检测 | 3000 个前缀,跨 2 个 AS 执行 ping | 相似度角度 0°-129°,可区分高 / 低劫持概率前缀 | 能有效区分前缀劫持与合法打孔 |
| AS_PATH 验证检测 | 9 个 AS 部署代理,监控 2 个月 | 17 次告警(2A/7B/8C),1 起确认为劫持 | 可检测 AS 号伪造类劫持 |
| 恢复方案 | 无需修改 BGP 协议 | 临时缓解通信中断,缩短故障时长 | 两种方案均具备快速恢复能力 |
关键问题
问题 1:ping 测试法如何区分前缀劫持与合法的 "打孔(Punching-Hole)" 行为?核心判断依据是什么?
- 答案:核心依据是跨 AS ping 测试结果的向量相似度。两者的 BGP 路由信息完全一致,无法直接区分,但数据平面可达性存在差异:① 合法打孔时,不同 AS 的 ping 数据包最终到达同一网络,响应模式相似,向量夹角小(相似度高);② 前缀劫持时,不同 AS 的 ping 数据包分别到达受害者和攻击者网络,响应模式差异大,向量夹角大(相似度低)。通过计算两个 AS 的 ping 结果向量夹角(公式见正文),可量化相似度,进而区分两种行为。
问题 2:该文献提出的两种恢复方案(劫持回夺、前缀隔离)各有什么适用场景?核心优势是什么?
- 答案:适用场景与核心优势如下:① 劫持回夺适用于需要快速夺回流量控制权的场景,核心优势是无需依赖其他 AS 协作,受害者 AS 可独立执行,利用 BGP 天然的路径优选规则(最长前缀匹配、本地优先级)生效,无需额外配置;② 前缀隔离适用于需要限制劫持污染范围的场景,核心优势是配置简单,利用 BGP 标准 NO_EXPORT 标签,可快速阻止劫持前缀跨 AS 传播,配合 LOCALPREF 调整确保本地 AS 内路由正常,无需修改协议即可部署。
问题 3:AS_PATH 变更验证法如何判断 AS 号是否被伪造?核心验证维度和判定标准是什么?
- 答案:核心是通过 "两维度验证" 判断 AS_PATH 变更的合法性:① 直接验证(部署代理的 AS):检查变更涉及的 AS 是否为本地路由表中的邻居,若否则判定为 A(高伪造概率),若是则为 C(低概率);② 间接验证(未部署代理的 AS):查询 IRR 中该 AS 的 AS_SET(关联 AS 集合),若变更涉及的 AS 不在 AS_SET 中则为 B(中概率),若是则为 C(低概率)。最终取最严格的结果(A>B>C)作为判定结论,可有效检测攻击者伪造 AS 号的前缀劫持。