BGP劫持

维基百科,自由的百科全书

边界网关协议(BGP)劫持是指通过一个自治系统错误宣称IP为其所有,使得使用边界网关协议维护的互联网路由表的路由器错误地将用户发送的数据传送给非数据传送目的地[1][2][3][4][5]

背景[编辑]

任何连接上互联网的主机,通过其自身的IP地址,能够与世界上任何连接上互联网的主机通信。主机将数据传送给路由器,每个路由器再将数据包传给另一个路由器,直到数据被传递给目的主机。为了顺利将数据传递到目的主机,每个路由器必须定期提供最新的路由表。具有相同的IP地址前缀的IP为同一家自治系统(AS)拥有,自治系统之间的路由器的路由表通过边界网关协议进行维护。边界网关协议能让路由表内保存最佳路由路线。

每个自治系统都通过边界网关协议来表明它可以向哪些IP前缀发送数据。例如如果IP前缀192.0.2.0/24位于AS 64496内,那么该自治系统就会将向其供应商表示它可以向192.0.2.0/24发送任何数据。

劫持[编辑]

可以通过以下几种方式进行劫持:

  • 一个自治系统宣称一些IP前缀归其所有,但实际上并不是
  • 一个自治系统声称拥有某个IP前缀范围比实际声明拥有某个IP前缀的自治系统要更小
  • 一个自治系统声称它可以通过一条比已知的更短的路径将数据传递到被劫持的自治系统,而不管该路径是否真的存在

这些方式的共同点是它们破坏了网络的正常路由,自治系统宣称的内容被添加至使用边界网关协议的路由器的路由表中,那路由器则会根据路由表将数据包传输给错误的自治系统,数据包最终无法被转发到目的地[6]

用例[编辑]

防火长城使用BGP劫持阻止到某些网站的连接[7][8]或执行中间人攻击

参考文献[编辑]

  1. ^ Zhang, Zheng. Practical Defenses Against BGP Prefix Hijacking (PDF). University of Michigan. [2018-04-24]. (原始内容存档 (PDF)于2020-12-22). 
  2. ^ Gavrichenkov, Artyom. Breaking HTTPS with BGP Hijacking (PDF). Black Hat. [2018-04-24]. (原始内容存档 (PDF)于2020-11-11). 
  3. ^ Birge-Lee, Henry. Using BGP to Acquire Bogus TLS Certificates. Princeton University. [2018-04-24]. (原始内容存档于2020-09-05). 
  4. ^ Julian, Zach. An Overview of BGP Hijacking - Bishop Fox. Bishop Fox. 2015-08-17 [2018-04-25]. (原始内容存档于2019-04-28) (美国英语). 
  5. ^ Zetter, Kim. Revealed: The Internet's Biggest Security Hole. WIRED. 2008-08-26 [2018-04-25]. (原始内容存档于2020-12-11) (美国英语). 
  6. ^ cloudflare. 什么是 BGP 劫持?. (原始内容存档于2020-11-24). 
  7. ^ 刘刚,云晓春,方滨兴,胡铭曾. 一种基于路由扩散的大规模网络控管方法. 2003. [失效链接]
  8. ^ Demchak, Chis; Shavitt, Yuval. China’s Maxim – Leave No Access Point Unexploited: The Hidden Story of China Telecom’s BGP Hijacking. [2021-05-09]. doi:10.5038/2378-0789.3.1.1050. (原始内容存档于2021-04-20).