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).