01 · BGP-4协议机制
1.1 会话与消息
BGP运行于TCP 179端口之上,采用有限状态机(Idle→Connect→Active→OpenSent→OpenConfirmed→Established)建立对等会话。协议定义四类核心消息(RFC 4271):
- OPEN:协商会话参数,交换ASN、Hold Time、BGP标识符与能力(如4字节ASN、多协议扩展MP-BGP RFC 4760、BGP角色RFC 9234等);
- UPDATE:宣告可达路由(携带路径属性)或撤销路由(Withdrawn Routes);
- KEEPALIVE:维持会话活性;
- NOTIFICATION:差错报告,发送后关闭会话。
1.2 通告、撤销与传播
当某AS需要将流量引入自身或客户网络时,它向对等体发送UPDATE宣告对应前缀及路径属性;路由撤销同样通过UPDATE中的撤销字段实现。BGP的传播特性决定了其脆弱性:一条恶意或错误的宣告,会沿会话关系逐跳扩散至全球——2008年YouTube事件中,巴基斯坦电信的一条错误宣告经PCCW一次未过滤的传播即影响全球。
1.3 防环机制的局限
BGP唯一的内置安全机制是AS_PATH防环:收到含自身ASN的路由即拒绝。但该机制有两个盲区:其一,它只防环不验源——AS_PATH中的每个条目都不做真实性校验;其二,对于AS_PATH操纵类劫持(攻击者重写或截短路径),防环机制完全无效。1990年代的S-BGP方案正是为填补这一空白而设计,但因需要全网同步部署密码学基础设施而未获采纳。
02 · 路径属性与选路决策
2.1 关键路径属性
| 属性 | 类别 | 作用与安全分析价值 |
|---|---|---|
| AS_PATH | 公认必遵 | 记录路径上的AS序列(倒序);防环依据;选路长度依据;路径操纵的主要篡改对象 |
| NEXT_HOP | 公认必遵 | 下一跳路由器地址;路径劫持中可被指向攻击者设备 |
| ORIGIN | 公认必遵 | 路由来源(IGP/EGP/INCOMPLETE),安全分析中作为弱辅助特征 |
| LOCAL_PREF | 公认任意 | 仅eBGP入口本地有效,是运营者影响出站选路的主要杠杆;跨AS不可见,无法在全局分析中观测 |
| MED | 可选非传递 | 向邻居表达入站偏好,通常仅在相邻AS间生效 |
| COMMUNITY | 可选传递 | 标签机制(如no-export),常用于精细策略;泄露事件中no-export标签被无视是重要判据 |
2.2 选路决策顺序(概念模型)
BGP选路遵循"公认规则优先级",业界通用概念顺序为:LOCAL_PREF最高 → 本地始发路由优先 → AS_PATH最短 → ORIGIN(IGP优于EGP优于INCOMPLETE) → MED → eBGP优于iBGP → 最低路由器ID等。与劫持分析直接相关的两点:
- 最长前缀匹配凌驾于选路之上:转发层面,/24优先于/16——这是sub-prefix劫持在技术上必然生效的根本原因;
- AS_PATH越短越优先:攻击者截短或伪造路径可提升其恶意宣告被采纳的概率;而prepending(自重复)是防御方与运营者的合法流量工程手段,会污染以"AS_PATH长度"为特征的检测模型。
03 · 信任模型缺陷与攻击面
BGP的安全缺陷可归纳为三个层面,每个层面对应不同的劫持手法:
| 缺陷层面 | 说明 | 对应攻击手法 |
|---|---|---|
| 起源无认证 | 协议不校验宣告者与前缀的归属关系 | 前缀起源劫持、sub-prefix劫持 |
| 路径无认证 | AS_PATH条目不校验真实性,可伪造/截短/插入 | AS_PATH操纵、路径劫持、泄露掩盖 |
| 传播无约束 | 协议不理解商业关系,路由可流向任何邻居 | 路由泄露(横向/向上泄露)、泄露放大劫持 |
对反钓鱼体系的特殊意义:上述缺陷的组合使"流量级"钓鱼成为可能——攻击者无需攻破目标站点、无需欺骗DNS域名,只需劫持目标所在前缀或权威DNS所在前缀的宣告,即可将用户流量整体导入钓鱼服务器。此类攻击不触碰应用层,邮件网关、URL信誉库、域名黑名单全部失效,路由层检测与RPKI部署因此成为反钓鱼纵深防御的必需一环。
04 · 劫持/泄露事件分类学
4.1 路由劫持分类
| 类型 | 技术特征 | 检测要点 |
|---|---|---|
| 前缀起源劫持 (Prefix Hijack) | AS宣告与自身无授权关系的完整前缀(与合法前缀同长度) | 与基线起源AS不一致;MOAS冲突;RPKI Invalid |
| 子前缀劫持 (Sub-prefix Hijack) | 宣告比合法路由更长的前缀,利用最长前缀匹配截流 | 新出现更具体前缀;被覆盖的短前缀持续正常;劫持前缀覆盖目标的关键主机段 |
| AS_PATH操纵 (Path Manipulation) | 伪造、截短或插入AS_PATH条目,掩盖真实路径或影响选路 | 路径与关系推断(Gao模型)冲突;上游锥(cone)突变;路径长度异常 |
| 连续/惯犯劫持 (Serial Hijacking) | 同一AS反复发起多 prefix 劫持(Testart等IMC 2019定义的行为画像对象) | 历史行为序列:劫持前缀数量、持续时间、目标多样性、与断租/被黑ASN的关联 |
4.2 路由泄露分类(RFC 7908问题框架)
RFC 7908(2016)首次以RFC形式系统描述泄露问题,将其界定为"违反既定策略/关系约束的路由传播",并给出典型场景的类型学描述。业界(含相关IETF草案与MANRS材料)通常按"谁泄露给谁"归纳为:
- 向对等体泄露:将从对等体(peer)学到的路由转发给另一对等体(横向泄露)——违反"不 transit 对等体流量"原则,常引发流量绕行与拥塞;
- 向上游泄露:将从某上游/对等体学到的路由转发给另一上游——使本AS成为意外transit路径,2017年11月MainOne→中国电信/TransTelecom事件(第6页)即属此类且被进一步传播;
- 向下游/客户不当扩散:把不应提供给客户的全局路由(如仅用于上游互联的地址块)扩散给客户;
- no-export等约束被无视:带no-export标签的路由被继续传播;
- 误配置导致的泛洪式泄露:过滤器缺失使少量错误宣告被大规模扩散(2019年美国东部事件的典型形态)。
术语严谨性说明:泄露的正式分类学长期以IETF草案(如route-leak分类草案)与RFC 7908的问题描述并行演化,不同类型编号在不同文献中口径不一。本课题在案例分析中采用"来源关系→传播方向"的描述性分类,不绑定某一编号体系,避免误导。
05 · 防御标准演进谱系
5.1 各标准的能力边界对比
| 机制 | 能防什么 | 不能防什么 | 部署形态 |
|---|---|---|---|
| IRR/RPSL过滤 | 明显的客户前缀越权宣告(前提:注册数据准确且过滤落实) | 注册数据失修场景;路径操纵;泄露 | 运营者自配置 |
| RPKI ROA + ROV | 起源劫持(可检出Invalid并丢弃) | 路由泄露;AS_PATH操纵;ROA未覆盖前缀 | 证书体系+RIR托管+RTR |
| ASPA(RFC 9015) | 基于"客户—提供商"授权声明的路径验证,可检出部分泄露与路径伪造 | 对等体间路径问题;部署双侧依赖 | 与RPKI共用基础设施 |
| 角色+OTC(RFC 9234) | 预防特定类型的泄露(OTC属性标记不可再传播) | 已发生的劫持;老旧设备不支持 | BGP OPEN能力协商 |
| BGPsec(RFC 8205) | AS_PATH逐跳签名验证 | 全网部署前对未签名路径无感知;性能开销大 | 缓慢推进中 |
06 · 新兴场景下的BGP路由安全
6.1 Anycast与DNS/CDN基础设施
Anycast(同一前缀由全球多节点同时宣告)在提升服务韧性的同时天然产生“合法MOAS”,使基于起源一致性的检测面对海量白名单条目;权威DNS与Anycast CDN成为劫持的“高价值目标前缀”,其主机前缀宣告(如2024年1.1.1.1/32事件)对传统过滤粒度与检测规则均构成挑战。
6.2 段路由(SRv6)与流量工程
SRv6在转发层面引入显式路径控制,但BGP仍是其控制面分发载体;SR政策不改变BGP起源与路径的可伪造性,防御重心仍在BGP层,SR场景下需额外关注“策略路径与BGP宣告不一致”引发的可达性问题。
6.3 SDN与自动化配置的双刃剑
控制器集中下发BGP策略提升了变更效率,也把“一次错误配置”的影响面从单台设备扩大到全网;2021年Facebook事件表明自动化系统的连锁故障是路由事故的新型根因,“配置下发前校验”与“变更灰度”应成为SDN控制面的标配能力。
6.4 生成式AI对路由运营的冲击
自然语言生成配置与AI辅助运维降低了配置门槛,同时引入“幻觉配置”(AI生成策略未经验证即下发)的新风险面;安全团队的BGP变更审计与异常检测需覆盖“AI生成”这一新型变更来源。
本节参考来源(第2页)
IETF RFC 4271(BGP-4现行规范):rfc-editor.org/rfc/rfc4271;RFC 4760(MP-BGP多协议扩展):rfc-editor.org/rfc/rfc4760。
IETF RFC 2622(RPSL):rfc-editor.org/rfc/rfc2622;RFC 7908(路由泄露问题分析):rfc-editor.org/rfc/rfc7908。
IETF RFC 6482(ROA):rfc-editor.org/rfc/rfc6482;RFC 6811(ROV):rfc-editor.org/rfc/rfc6811;RFC 8210(RTR):rfc-editor.org/rfc/rfc8210。
IETF RFC 9015(ASPA对象规范):rfc-editor.org/rfc/rfc9015;RFC 9234(BGP角色与OTC防泄露):rfc-editor.org/rfc/rfc9234;RFC 8205(BGPsec):rfc-editor.org/rfc/rfc8205。
Kent S. 等《Secure Border Gateway Protocol (S-BGP)》(IEEE JSAC, 2000);White R. soBGP相关IETF草案(2002—2004)——均为IETF/学术档案可查文献。
Testart C. 等《Profiling BGP Serial Hijackers》(ACM IMC 2019):doi.org/10.1145/3355369.3355581。惯犯劫持行为画像。
Gao L.《On Inferring Autonomous System Relationships in the Internet》(IEEE/ACM ToN, 2001):AS商业关系推断算法基础,CAIDA持续发布关系数据集。