邊界網關協議(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]或執行中間人攻擊

參考文獻

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.