一個叫做“BGP劫持”的東西,讓黑客竊走了168萬元加密貨幣
“整整3 個多小時,亞馬遜無動於衷。”
不久前,黑客通過BGP 劫持,拿到了亞馬遜用於託管雲服務的約256 個IP 地址控制權,不少用戶淪為攻擊目標。
事情發生後,按照常理,亞馬遜應第一時間做出應急處置,溯源攻擊並儘快修復,但不知何故,亞馬遜遲遲沒有行動,直到3 個多小時後,大家在網上看到了黑客的炫耀發言。
受攻擊影響,32 個賬戶中價值23.5 萬美元(約合人民幣168 萬) 的加密貨幣被盜走,受害者紛紛指責亞馬遜的不作為。
那麼,這個讓亞馬遜焦頭爛額的“BGP 劫持”,究竟是怎麼一回事呢?
想像一下,你在路標上動了手腳,讓一輛運鈔車覺得你家才是銀行,從而直接把錢送到你家門口,這大概就是黑客對亞馬遜做的事情。
互聯網也是一種文明,它和人類社會一樣,通過各種規則來保障運轉秩序,BGP 協議就是互聯網眾多規則之一。
互聯網是個特別抽象的存在,看不到、摸不著,但正如樹葉起舞便是風的模樣,通過BGP 協議,我們就能看到互聯網的模樣:無數小網絡,被BGP 協議鏈接成一個整體。
BGP 是“邊界網關協議”的縮寫,它的角色類似空中交通管制員,負責不同區域間的信息交換,是互聯網上唯一使用的路由協議。
如果DNS 是互聯網的通訊簿,那麼BGP 就是互聯網的路線圖。
在說“BGP 劫持”之前,你需要了解兩個相關概念。
1、自治系統(AS)
自治系統,指在一個(有時是多個)組織管轄下的所有IP 網絡和路由器的全體,它們對互聯網執行共同的路由策略。
如果把自治系統AS 看作一個城市,裡面的路由器就是居民,而BGP 是一個引導居民互相通信的中間人。
2、BGP 協議:這是一套允許自治系統(AS)在互聯網上相互交換路由信息的機制。
剛才我們提到,可以把自治系統AS 看作一個城市,如果居民A,想去同城的B 家裡嘮家常,A 就去問BGP:我要去B 那裡,應該怎麼走?
BGP 會打開手裡一份實時更新的地圖,給A 指一條通往B 處最短的路線,這份同城地圖叫做IBGP。
那如果居民A,想找住在幾千公裡外另一座城市的C 聊天,同樣要問BGP:我要去外城C 那裡,應該怎麼走?
BGP 還是會打開手裡那份實時更新的地圖,給A 指一條通往C 處最短的路線,這份跨城地圖叫做EBGP。
不知你有沒有註意到,不管是同城還是跨域,BGP 始終指的都是一條距離最短、最特定能到達目標IP 地址的路。
例如在下圖中,左上AS1 的信息要發給右下的AS8,單從路線來看,有好多條路可選,但在BGP 的眼裡,只有一種選擇:黃色,因為它最短。
BGP 使得互聯網上工作的大型路由器能夠擁有龐大的、不斷更新的可能路由列表,從而將各個挽留過數據包送達最終的目的地。
若缺乏BGP,互聯網路由器將不知如何正確工作。畢竟Internet 的本意,就是在BGP 綁定之下、一個套著另一個的網絡。
BGP 又被稱作互聯網上的“郵局系統”或“空中交通管制員”,但事實上,它更像是一幅由眾人參與製作和更新的地圖,以引導用戶正確訪問油管或臉書等網絡服務。
在2018 年4 月,一家俄羅斯提供商宣稱了實際上屬於Route53 Amazon DNS 服務器的許多IP 前綴(IP 地址組)。
簡而言之,宣稱的最終結果是試圖登錄加密貨幣網站的用戶被重定向到由黑客控制的假冒網站,黑客因此竊取到大約價值152,000 美元的加密貨幣。
更具體地說:通過BGP 劫持,黑客劫持了Amazon DNS 查詢,因此針對myetherwallet.com 的DNS 查詢轉到了他們控制的服務器,返回了錯誤的IP 地址,並將HTTP 請求定向到了虛假網站。
無意造成的BGP 劫持實例也很普遍,可能對整個全球Internet 產生負面影響。
2008 年,巴基斯坦政府所有的巴基斯坦電信試圖通過更新網站的BGP 路由在巴基斯坦境內審查Youtube。
在看似偶然的情況下,宣布的新路線接往巴基斯坦電信的上游提供商,並從那裡廣播到整個互聯網。
突然,所有針對Youtube 的Web 請求都定向到了巴基斯坦電信,導致整個幾乎Internet 都有數個小時無法訪問該網站,使ISP 不堪重負。
對亞馬遜IP 地址的BGP 攻擊導致加密貨幣損失,已經不是第一次發生,事實上,亞馬遜也不是唯一一個在BGP 攻擊中失去IP 地址控制的雲運營商。
在過去的二十多年裡,因BGP 協議受欺騙而導致的財產損失,一點兒都不稀奇,畢竟它的正常運轉,靠的是所有IP 的誠實,如果有IP 被黑客控制,就能輕而易舉將用戶帶到假網站。