BGP 劫持是怎么回事?运营商级路由安全科普

定位 :网络基础与协议安全篇 · 互联网「导航系统」的信任危机

声明 :本文以科普与防御观测为主;擅自向公网宣告他人前缀属严重违法,勿在靶场外尝试。


一、从一封打不开的邮件说起

上一篇 邮件安全 里,SPF 检查的是「谁有权代表域名发信」。互联网路由层有一个更底层的问题:

text 复制代码
数据包去 203.0.113.50,走哪条路?

平常由 BGP(Border Gateway Protocol,边界网关协议) 回答。它像全球 GPS:各国/各运营商(AS)互相告诉对方「某段 IP 从我这里走」

问题在于:BGP 设计于 互信协作默认不验证宣告是否合法

text 复制代码
某 AS 突然喊:「203.0.113.0/24 在我这儿!」
全球路由器可能信以为真 → 流量改道 → BGP 劫持

这不是你家路由器 ARP 欺骗能比的------这是 运营商级、国家级 的路由.redirect。本文把它讲透:原理、案例、检测与 RPKI 防御。


二、BGP 是什么?(5 分钟版)

2.1 自治系统(AS)

text 复制代码
互联网 = 成千上万个 AS 互联

AS 101   某省电信
AS 15169 Google
AS 13335 Cloudflare
AS 64496 你家公司的多线 BGP(若有)

每个 AS 有 ASN(自治系统号) ,对外宣告自己拥有的 IP 前缀(Prefix) ,例如 203.0.113.0/24

2.2 BGP 做什么?

text 复制代码
AS A 与 AS B 建立 BGP 邻居(eBGP)
    ↓
互相交换「路由通告(NLRI)」
    ↓
各自路由器选「最优路径」写入路由表
    ↓
数据包按下一跳转发

BGP 不转发数据 ,只交换 「到某前缀该怎么走」 的元数据。

2.3 路径选择(简化)

路由器选路常见依据:

因素 说明
最长前缀匹配 /25/24 更「具体」,优先
AS_PATH 经过的 AS 列表,越短往往越优
LOCAL_PREF 本 AS 内部偏好
MED 多出口时的度量

劫持常利用「更具体前缀」或「更短 AS_PATH」抢流量。

2.4 与内网路由对比

内网 OSPF/静态 互联网 BGP
范围 企业/机房 全球 AS
信任 通常可控 半开放互信
攻击面 配置错误 恶意/错误宣告

三、BGP 劫持 / 路由泄漏是什么?

3.1 术语区分

类型 性质 典型原因
路由泄漏(Route Leak) 多为误配置 把客户路由泄露给对等体,打破「谷」原则
路由劫持(Route Hijack) 恶意或严重失误 宣告不属于自己的前缀
路由投毒 劫持子类 宣告更具体前缀「吸走」流量

3.2 劫持动画(逻辑)

正常:

text 复制代码
用户 ──► ISP-A ──► ISP-Core ──► 目标 AS(拥有 203.0.113.0/24)

劫持后:

text 复制代码
用户 ──► ISP-A ──► 恶意AS ──► ??? 
                      │
                      ├─► 黑洞(DoS)
                      ├─► 明文镜像再转发(被动 MITM 难,主动需配合)
                      └─► 冒充服务(配合 DNS/证书等)

关键 :流量 经过 攻击者 AS 的边界路由器。解密 HTTPS 仍困难,但可 阻断、测绘、对部分未加密流量嗅探 ,或配合 更靠近应用的攻击(钓鱼、DNS)。

3.3 为什么「更具体前缀」危险?

text 复制代码
合法:203.0.113.0/24  → AS 65001
攻击:203.0.113.128/25 → AS 66666  (更具体)

BGP 选路:/25 优先于 /24
→ 仅 128-255 这部分主机流量被劫走

更隐蔽,历史上真实攻击用过。


四、经典案例复盘

4.1 巴基斯坦屏蔽 YouTube(2008,路由泄漏)

text 复制代码
巴基斯坦 ISP 想屏蔽本国访问 YouTube
误将 208.81.0.0/22 宣告泄露给上游 PCCW
    ↓
全球大量网络以为 YouTube 走巴基斯坦
    ↓
YouTube 大面积不可达

教训 :一条错误 BGP 通告可在 分钟级 影响全球。

4.2 中国电信流量绕行(2010 前后,争议事件)

西方研究人员观测到大量美国前缀经 AS 4134(中国电信) 绕行,持续约 18 分钟量级事件被多次讨论。

争议点 :故意劫持 vs 配置失误 vs 复杂对等策略。

安全启示路径异常监测 必要,不能假设 BGP 路径总最短、总合理。

4.3 加密货币 / 钱包服务劫持

近年多起事件:攻击者向部分对等体宣告 交易所或 DNS 相关前缀 ,短时间劫持流量,配合 DNS 投毒或钓鱼 窃取资产。

模式

text 复制代码
BGP 劫持前缀 → 用户连到攻击者边缘
    + DNS 篡改或伪造站点
    → 凭据/转账地址被替换

说明:BGP 常与 DNS、Web 层组合,不是孤立现象。

4.4 大型云厂商路由泄漏(2019--2024 多次)

Google、Cloudflare、Meta、AWS 等均发生过 路由泄漏 导致全球流量异常绕行或中断。

共性

  • 一条错误策略或脚本可波及全球
  • 修复依赖 快速撤回通告 + 上游过滤

4.5 案例对照表

事件 类型 影响
Pakistan YouTube 泄漏 全球可达性
前缀劫持 + 加密货币 劫持 资产盗窃
云厂商泄漏 泄漏 延迟飙升/中断
特定 /25 劫持 投毒 局部主机不可达

五、BGP 劫持能做什么、不能做什么?

5.1 攻击者可能做到

text 复制代码
✓ 让目标 IP 流量经过自己 AS(拓扑上)
✓ 造成 DoS(黑洞、拥塞)
✓ 对未加密协议嗅探(HTTP、SMTP 明文等,越来越少)
✓ 配合 DNS 欺骗、证书错误配置扩大伤害
✓ 测绘谁在和谁通信(元数据)

5.2 通常不能直接做到

text 复制代码
✗ 批量解密现代 HTTPS(TLS 1.3 + 正确证书)
✗ 在无物理/对等接入时劫持任意 AS(需成为路径一环)
✗ 长期稳定劫持一级云厂商全网段而不被迅速发现

与专栏前篇对照

层级 攻击
二层 ARP 欺骗 局域网 MITM
三层 DNS 欺骗 名不对 IP
BGP IP 段路径被改道

六、如何「看见」BGP?(读者可动手部分)

无需自建 AS,用公开工具 观测 即可。

6.1 BGPView / Hurricane Electric

text 复制代码
https://bgpview.io
https://bgp.he.net

查某前缀:

text 复制代码
搜索 8.8.8.0/24 或 AS 15169
看 Origin AS、Upstream、Peers

6.2 命令行查询

bash 复制代码
# whois 路由信息(RIPE/APNIC 等)
whois -h whois.radb.net -- '-i origin AS15169' | head

# traceroute 看路径是否异常
traceroute 8.8.8.8
mtr -rwzbc100 1.1.1.1

# 查某 IP 归属
whois 203.0.113.50

6.3 BGPStream / RouteView(概念)

学术与商业界用 RouteViews、RIPE RIS 收集全球 BGP 更新,BGPStream 对异常事件发告警。

安全工程师可订阅:

text 复制代码
· 自家前缀是否出现陌生 Origin AS
· 是否出现更具体的 hijack 前缀

6.4 实验:对比「正常」与「新闻事件」时段

text 复制代码
□ 1. 在 bgp.he.net 查你公司或常用云厂商前缀
□ 2. 记录 Origin ASN、RPKI 状态(若有)
□ 3. 读一条 BGPStream 历史事件报告
□ 4. traceroute 同一目标多次,看路径是否突变
□ 5. 写 200 字:BGP 与 DNS 劫持区别

七、防御体系:从业界互信到密码学验证

7.1 传统手段(仍重要)

手段 说明
前缀过滤(Prefix Filtering) 上游只接受客户合法前缀
IRR 注册 在 RADB/RIPE 注册 route 对象,供对端过滤
最大前缀限制 防意外宣告过多条目
MANRS 互连最小安全基线(过滤、防泄漏、协调)

MANRS 四大实践

text 复制代码
1. 过滤
2. 防路由泄漏
3. 地址空间防伪(转向 RPKI)
4. 全球可见性与协调

7.2 RPKI:给 BGP 加上「密码学出生证」

RPKI(Resource Public Key Infrastructure) 用数字证书证明:

text 复制代码
「AS 65001 有权宣告 203.0.113.0/24」

发布 ROA(Route Origin Authorization) 到 RPKI 仓库。

收信方做 ROV(Route Origin Validation)

验证结果 动作(可配置)
Valid 正常接受
Invalid 丢弃 非法起源通告
Not Found 多数仍接受(过渡态)

7.3 ROA 示例(概念)

text 复制代码
ROA: 203.0.113.0/24 最长 /24 由 AS 65001 宣告

若 AS 66666 也宣告该前缀 → ROV = Invalid → 被丢弃(在对端启用 ROV 时)。

7.4 全球 RPKI 部署现状(科普)

text 复制代码
· 大型 IX、云厂商、部分国家 ISP 已大量启用
· 并非 100% 覆盖;Not Found 仍常见
· 部署 RPKI 需与 IRR、前缀过滤配合

查询某前缀 RPKI 状态:

text 复制代码
https://rpki-validator.ripe.net/ui/
或 bgp.he.net 前缀页的 RPKI 标签

7.5 企业(非运营商)能做什么?

text 复制代码
□ 向 ISP 确认:对客户前缀做 RPKI ROA 了吗?
□ 监测自家前缀是否被劫持(BGPStream、Kentik、ThousandEyes 等)
□ 关键服务多地域 Anycast + DNS 多线路
□ 应用层仍假设网络不可信:HTTPS、证书固定、HSTS
□ 与 ISP 建立劫持告警联系人

单家企业通常不跑 BGP ,但 仍是受害者 ------所以要会 问对问题


八、路由泄漏的「谷原则」简图

BGP 商业关系:

text 复制代码
Customer(客户)─付费─► Provider(运营商)
Peer(对等)─互换─► Peer

谷原则(Gao-Rexford)

流量不应从 Provider 一侧「上坡」再「下坡」到另一 Provider(客户路由误泄露给对等体时常打破)。

text 复制代码
正常:Customer → Provider → Internet
泄漏:Customer 路由被 Provider 错误广播给 Peer
    → 全球绕行,路径变「绕地球」

防御 :出方向 路由策略 严格过滤客户路由,只向合法对端发布。


九、BGP 劫持与 DNS / 邮件的联动

text 复制代码
场景:攻击者劫持 DNS 服务器所在前缀

用户解析 dns.company.com
    ↓
BGP 已将 DNS IP 指到攻击者
    ↓
拿到虚假 A 记录 → 钓鱼站
    ↓
邮件 MX 若在同一前缀,SPF/DKIM 链路也被扰乱

纵深防御

text 复制代码
DNSSEC(防记录篡改)+ HTTPS(防内容)+ RPKI(防路径)
缺一层都可能被组合击穿

十、蓝队 / 运维监测清单

10.1 日常

text 复制代码
□ 公司公网前缀在 bgp.he.net 的 Origin AS 是否正确
□ ROA 是否 Valid
□ 关键 SaaS 出网 traceroute 基线
□ 订阅 BGP 异常告警(商用或开源)

10.2 事件响应(怀疑劫持时)

text 复制代码
1. 多地点 ping/traceroute/mtr 对比
2. 查 BGPView 该前缀实时 Origin / Upstream
3. 联系 ISP:撤回非法宣告、加紧急过滤
4. 查应用日志:异常登录 IP、证书错误激增
5. 必要时切换 Anycast / 备用入口
6. 对外 STATUS 页说明(若服务中断)

10.3 狩猎问题

text 复制代码
· 某国用户突然全部超时,是否区域路由问题?
· 只有某 /25 段用户报错?是否更具体前缀劫持?
· TLS 握手失败是否集中在某 ISP 用户?

十一、为何不能在家庭靶场「复现 BGP 劫持」?

text 复制代码
BGP 对等需要:
  · 公网 ASN
  · 与 ISP/IX 物理或隧道 BGP 会话
  · 全球传播通道

专栏 不在 VM 里教你宣告别人前缀 ------违法且影响真实互联网。

合法学习路径

text 复制代码
· GNS3/EVPN 实验 AS 内 iBGP/eBGP(不连公网)
· 阅读 MANRS、RIPE RPKI 文档
· 用公开观测平台看真实世界
· 考 ISOC BGP 安全课程 / NANOG 录像

11.1 本地纯模拟(可选进阶)

text 复制代码
FRRouting / BIRD 在封闭 Linux -namespace 里建 3 个 AS
仅学习 AS_PATH、prefix 传播,接口不接到公网

超出本文「科普」范围,有兴趣可单独开实验篇。


十二、常见误解

误解 事实
BGP 劫持 = 自动破 HTTPS 大多不能,需应用层配合
只有国家能做 任何错误配置的 AS 都可能泄漏
RPKI 一劳永逸 要 ROV 部署率,且不管路径只验证起源
我家宽带能防 BGP 终端无感,靠运营商与云厂商
traceroute 少一跳就是劫持 可能只是 MPLS 隐藏或策略路由

十三、完整「观测型」实验步骤(60 分钟)

text 复制代码
□ 1. 打开 bgp.he.net,查 1.1.1.1/24 与 8.8.8.0/24 的 Origin AS
□ 2. 查看 RPKI Valid/Invalid/None 标记
□ 3. whois 对应 AS 的组织信息
□ 4. 本机 mtr 1.1.1.1 与 8.8.8.8 各 20 次,记录 AS 路径是否稳定
□ 5. 阅读 BGPStream 一篇历史劫持报告(英文可翻译摘要)
□ 6. 列出 MANRS 四条实践用自己的话解释
□ 7. 若你有公司前缀:让运维确认 ROA 是否发布
□ 8. 写对比表:ARP vs DNS vs BGP 三层「.redirect」

十四、法律与伦理

text 复制代码
❌ 向公网宣告不属于自己的 IP 前缀
❌ 利用劫持窃取流量、加密货币、用户数据
❌ 干扰关键基础设施(DNS 根、核心 IX)

✅ 使用公开观测工具学习
✅ 在授权运营商环境做路由安全审计
✅ 推动本单位前缀 RPKI 部署

多国将 故意 BGP 劫持 视为严重计算机犯罪。


十五、本篇小结

text 复制代码
┌─────────────────────────────────────────────────────────────┐
│  BGP 劫持 核心记忆                                          │
├─────────────────────────────────────────────────────────────┤
│  BGP = AS 间交换「到某前缀怎么走」,默认弱信任              │
│  劫持/泄漏 = 错误宣告前缀,流量改道或中断                    │
│  更具体前缀可精准「吸」流量                                  │
│  防御:过滤、MANRS、IRR + RPKI/ROV 验证起源                 │
│  企业:监测自家前缀 + 应用层 HTTPS/DNSSEC 纵深               │
│  学习用 bgp.he.net / BGPStream 观测,勿公网乱宣告           │
└─────────────────────────────────────────────────────────────┘

下一篇预告:《IPv6 安全新战场:邻居发现欺骗与过渡方案风险》------从全球 IPv4 路由跳到下一代协议的本地攻击面。


附录 A:工具与链接

工具 用途
bgp.he.net 前缀、AS、邻居
bgpview.io 多视角 BGP
BGPStream 劫持事件情报
RIPE RPKI Validator ROV 查询
MANRS 路由安全基线
mtr / traceroute 路径基线

附录 B:缩写表

缩写 全称
AS Autonomous System
ASN AS Number
NLRI Network Layer Reachability Information
ROA Route Origin Authorization
ROV Route Origin Validation
IRR Internet Routing Registry
IX Internet Exchange

附录 C:与专栏前篇关联

前篇 关联
DNS 安全 劫持 DNS 前缀组合攻击
邮件安全 MX 记录 IP 路径被改道
ARP/MITM 局域网 vs 运营商级路径劫持
TCP/IP 数据平面仍走 IP 转发

相关推荐
启雀AI14 小时前
生物医疗行业如何建设合规、安全、可复用的知识库?
人工智能·安全·软件构建·知识图谱·知识库
楷哥爱开发14 小时前
如何使用 Claude Fable 5 进行网页抓取?2026最新实战教程
大数据·网络·人工智能
Sirius Wu14 小时前
OpenClaw Skill:Matplotlib 可视化技能 + 沙箱双层隔离完整详解
服务器·网络·人工智能·安全·ai·架构·aigc
酣大智15 小时前
常用 IP 协议号大全(IP 层承载的上层协议)
网络·网络协议·tcp/ip
zbtlink15 小时前
5G路由器买回家,网速没起飞?
智能路由器
冬奇Lab15 小时前
每日一个开源项目(第160篇):Destructive Command Guard - 在 AI Agent 运行 rm -rf 之前拦截它
人工智能·安全·开源
ChainSafeAI00216 小时前
Summer.fi 遭600万美元漏洞攻击,安全警报拉响
安全
大公产经晚间消息18 小时前
《寻访独角兽》首期走进太仓,探访小科智行的硬科技“突围”
网络·人工智能·科技
一勺菠萝丶19 小时前
生产环境平滑升级实战-Nginx维护页数据库迁移与安全回滚
数据库·nginx·安全
JoyCong199819 小时前
ToDesk新功能科普:屏幕墙、协作模式、设备别名、USB映射...
网络·科技·电脑·远程工作·远程操作