iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 11
0

前述提到,網際網路是以各個自治系統(AS)組成的。每個自治系統,都各自管轄了一些網段。
這些系統之間以 BGP 協定來交換路由資訊,因此這些自治系統本身就能夠知道,哪個封包往哪去,往哪走是最好的。

不過,BGP 協定本身並沒有考慮到「安全」。目前有人提出加強安全的協定了,不過還沒有廣泛地被使用。

BGPStream

是一個有趣的網站,顯示了目前全球網路上有哪些地方正在發生 BGP Leak/狹持。

BGP 狹持的機制

BGP 狹持,大概可以分成幾種。

  • 部分狹持,一個自治系統隨便宣告自己持有某個網段,這網段可能同時是別人持有的
    有可能一或兩個自治系統宣告說,擁有同一個網段,區間也相同。
    所以這個狀況之下,一個封包有可能依照「最短路徑」或是「最好路徑」(這個可以由自治系統本身決定)來傳遞封包。因此,這種狀況下,只有一定的機會會狹持到封包。
  • 完全狹持,一個自治系統,宣告網段時,宣告了比原本更大的區間(CIDR),故為完全狹持
  • 一個自治系統宣告說,自己有比其他人更好的路,這路很棒,叫大家趕快來

無論如何,這都會影響到網路的路由。要麼一個封包跑到最後是找不到目的地的,要麼就是這封包給別人攔截了。理論上,ISP 等單位都會針對 BGP 的宣告做一些基礎的檢查,限定只能宣告一些正常的網斷。不過,實務上就不一定了。

BGP 狹持也有可能用來搞 DDoS 攻擊。另外,有一種類似的情況,稱為 "BGP Leak"。

BGP Leak?

BGP Leak 理論上和 BGP 狹持是類似的,不過通常是「善意的錯誤」。例如:操作者不小心手滑,寫錯路由表。
比較常會發生的狀況是,有一個自治系統實際上和兩個 ISP 對接。這個自治系統只是為了其他因素,所以跟兩邊對接,他本身並不想要幫忙在兩間 ISP 之間傳資料。結果操作者不小心告訴兩家 ISP 的其中一邊說,自己有和另一邊接上,結果那邊就很快樂地把很多資料傳過來了。

fatfingersslang.jpg

簡單來說,BGP Leak 比較像是「接錯線」,而 BGP Hijack 則比較像是把線故意接去攻擊者那邊。

BGP Hijacking 的 完全狹持

完全狹持,即是自治系統在宣告的時候,其 CIDR 值是比別人「更精確一些」(即數字大)的。
由於在選擇路由時,通常是偏好「比較精確」的紀錄的,所以在完全狹持的狀況下,就會把別人的整個網段給蓋掉了。
CIDR 值,在這邊要解釋一下。

CIDR

使用 CIDR 值,可以用一組 IP 位置來表示「超過一個 IP 位置」。
IPv4 的地址,格式是 255.255.255.255 (十進位)。
有時候會看到 255.255.255.255/24,這就是帶有 CIDR 值的 IP 位置,這組 IP 代表 255.255.255.0255.255.255.255

IPv4 實際上是一組 32 位元值長的數字,CIDR 值代表說,前 n 個位數是「共用」的。
以上面 255.255.255.255/24 的例子來說,寫起來會是這樣:

位數          8       16       24       32                                
binary 11111111 11111111 11111111 11111111
                                 ^ CIDR
dec    255      255      255      255

下一篇會提到:

  • BGP Hijacking 帶來的危險
  • 目前存在的防禦機制

上一篇
BGP Hijacking: 何謂 BGP? EGP? AS?
下一篇
BGP Hijacking: 常見受到 BGP 狹持影響的服務及目前的防禦方式
系列文
網路安全概述31

尚未有邦友留言

立即登入留言