這次攻擊並不是因為智能合約和跨鏈協議的Bug 或相關服務器被入侵導致的,因此在cBridge 中鎖定的跨鏈資產也一直保持安全。
By:慢霧安全團隊Thinking & 愛上平頂山
事件背景
8 月18 日,Celer Network 官方表示,北京時間8 月18 日3:45 至6:00 期間,部分使用cBridge 的用戶被引導至惡意智能合約,cBridge 前端界面疑似遭受DNS Hijacking 攻擊。與之前如Nomad,Wormhole,Ronin,Harmony 等跨鏈橋黑客事件完全不同的是,這次攻擊並不是因為智能合約和跨鏈協議的Bug 或相關服務器被入侵導致的,因此在cBridge 中鎖定的跨鏈資產也一直保持安全。這次攻擊黑客直接針對Celer 系統之外的互聯網架構中的底層基礎設施,通過欺騙互聯網的底層路由協議(BGP),讓跨鏈用戶在一段時間內,訪問了一個“釣魚” 前端用戶界面。由於Celer Network 團隊有24 小時監控機制,客服在第一時間發現問題,後續團隊的處置速度及時、方法得當,用戶損失非常的小。同時慢霧安全團隊應Celer Network 團隊邀請也在第一時間參與應急並協助進行深入分析。
(https://twitter.com/CelerNetwork/status/1560022871564775424)
分析過程
開始的時候Celer Network 團隊初步懷疑是DNS Hijacking,在與Celer Network 團隊進行溝通討論後得到出問題的域名信息:cbridge-prod2.celer.network,並且根據用戶的反饋,在攻擊期間瀏覽器並沒有提示證書錯誤,因此先排查下DNS Hijacking 的可能性。 (這里特別感謝Twitter 用戶@greysign1 的幫助,協助我們快速排查DNS Hijacking 的可能性)
我們先看下相關證書相關信息:
(https://crt.sh/?q=celer.network)
很明顯證書突然發生了變化,原來Let’s Encrypt 簽發的證書被替換為GoGetSSL 簽發的偽造證書。
GoGetSSL 可以簽發免費90 天的證書:
(https://www.gogetssl.com/sslcerts/free-ssl/)
分析證書1:
https://crt.sh/?id=7356185959
SHA-256
A01A34FE398E56D80BDDA40EFB555D14654856B5FAA6C92BFEBEF2861D712732
證書出現CRL Check 錯誤,時間如下:
分析證書2:
https://crt.sh/?id=7356184952
SHA-256
579FABEE3A9F7EFECD43C99795744C4B93DC49A4FB93E174B201F8A333990C1A
證書也出現了CRL Check 錯誤,時間如下:
分析證書1 對應的IP、證書等信息,發現證書綁定的IP 為44.235.216.69:
(https://search.censys.io/hosts/44.235.216.69)
對證書2 的IP 進行調查,未能查詢到證書2 對應的IP 地址,這可能是因為攻擊持續的時間較短,互聯網搜索引擎未能採集到相關的信息。
因此慢霧安全團隊將調查的重點轉向查詢cbridge-prod2.celer.network 域名對應IP 解析記錄:
cbridge-prod2.celer.network 很長一段時間都解析到44.235.216.69:
- 疑問點:
cbridge-prod2.celer.network 長時間解析到44.235.216.69,證明這個IP 應該是屬於Celer Network 官方服務器的IP 地址,經過與Celer Network 團隊進行確認44.235.216.69 是屬於他們的IP,但是為什麼會有假證書綁定在這個44.235.216.69 IP 上呢?
於是我們開始對44.235.216.69 的AS 進行檢查,發現該IP 對應的AS 存在異常。
AS16509 提示AS16509 announces bogons:
查閱bogons 相關資料,這種情況經常出現在攻擊者偽造IP 進行攻擊的場景中:
https://forum.networklessons.com/t/what-are-bogons/6333
由於44.235.216.69 的AS 出現了異常,初步推測問題可能出現在BGP 上,於是慢霧安全團隊繼續和Celer Network 團隊進行溝通獲得攻擊IP: 54.84.236.100 ,對IP: 54.84.236.100 進行分析,發現該IP 所在的AS14618 也出現了異常( AS14618 也是announces bogons)。
並且巧合的是AS14618 的上游是AS16509 (AS16509 也是44.235.216.69 所在的AS),這時候慢霧安全團隊就警惕起來了,這種情況很有可能是一起BGP Hijacking 的攻擊。
繼續對攻擊IP: 54.84.236.100 進行調查,發現該IP 已被標記為惡意IP。
並且我們通過情報社區獲得54.84.236.100 相關情報,其中有一則情報提到54.84.236.100 與2014 年的一起BGP Hijacking 事件有關,但是由於這起事件的時間太久了,可能暫時不具備時效性。
(https://www.secureworks.com/research/bgp-hijacking-for-cryptocurrency-profit)
慢霧安全團隊順著BGP Hijacking 方向繼續深入的分析,並開始BGP Trace 記錄追踪:
追踪攻擊IP: 54.84.236.100 的BGP Trace 記錄,發現目前已經無法找到這條路由。
繼續追踪Celer 的IP: 44.235.216.69 的BGP Router Ttrace 記錄,能夠正常找到路由。
接著查詢BGP 節點變動記錄:
北京時間:8/18/2022 2:48 AM - 8/18/2022 7:48 AM UTC+8
發現北京時間8/18/2022 2:48 AM - 8/18/2022 7:48 AM 這個時間點,有大量的節點添加、刪除變動記錄。
我們繼續追踪AS 變動記錄,發現AS14618 歷史上包含了44.235.216.0/24 這條路由信息,但是後面將這條路徑發生了Withdrawn,這證明:
曾經AS14618 中的44.235.216.0/24 是最優路徑
現在AS14618 中的44.235.216.0/24 已經不是最優路徑,所以被Withdrawn。
(BGP Hijacking 發生的時候攻擊者會發布一條最優的路徑將流量引導到自己的服務器上)
(https://smakd.potaroo.net/cgi-bin/per-as?as=14618)
通過上述的分析其實已經有明顯的BGP Hijacking 的痕跡了,為了能夠得到更精準的數據,我們使用bgplay 查看44.235.216.69 相關路徑在攻擊時間前後的變化:
(https://stat.ripe.net/special/bgplay#bgplay_fetch.resource=44.235.216.69)
我們可以看到在2022-08-17 19:19:23 +UTC -- 2022-08-17 23:19:23 +UTC 時間段內,BGP 路由路徑的信息出現較大的波動性變化。
並且這種變化表現為:將44.235.216.0/24 的流量引導到AS14618,並在攻擊時間之後44.235.216.0/24 的流量路徑便從AS16509 中走。
因此,我們判斷這起事件大概率BGP Hijacking 問題,AS14618 應該是攻擊者可以控制的節點(AS14618 的Router 可能存在安全問題導致被攻擊者利用),攻擊持續4 個小時左右
攻擊者可以把證書1(假證書)綁定在Celer Network 的IP: 44.235.216.69 上,也是因為攻擊者有相同IP: 44.235.216.69 的惡意服務器,然後gogetssl 支持http 進行驗證,只要在惡意服務器上放一個gogetssl 提供的txt 就行,因此可以通過BGP Hijacking 將流量引導到相同IP 的惡意服務器上完成證書1 的綁定,這樣瀏覽器就不會有證書錯誤的提醒。
判斷AS14618 應該是攻擊者可以控制的理由:
攻擊者先將44.235.216.69 的流量引導到AS14618,攻擊結束後44.235.216.69 的路由回到了AS16509。
並且攻擊IP: 54.84.236.100 也在AS14618 裡面。
攻擊結束後AS14618 Withdrawn 了44.235.216.69 的路由。
- 疑問點解答:
cbridge-prod2.celer.network 長時間解析到44.235.216.69,證明這個IP 應該是屬於Celer Network 官方服務器的IP 地址,經過與Celer Network 團隊進行確認44.235.216.69 是屬於他們的IP,但是為什麼會有假證書綁定在這個44.235.216.69 IP 上呢?
使用HTTPS 協議進行通訊在沒辦法拿到證書私鑰的情況下是無法加/解密數據(包含客戶端/服務端通訊的數據)的,所以要想保證證書正確並且能夠進行中間人攻擊,攻擊者需要通過在權威機構申請的證書重新綁定在的有相同IP: 44.235.216.69 的惡意服務器上,這樣攻擊者就能夠解密客戶端的數據了,並且可以往響應包的數據中插入惡意的代碼。
分析結論
本次攻擊事件經過慢霧安全團隊與Celer Network 團隊共同配合,進行深入的分析,該事件為BGP Hijacking 攻擊導致的安全事件。這是針對Celer Network 進行的一次有目的性的BGP Hijacking 攻擊,攻擊者選的攻擊時間點、證書偽造、AS 控制等操作一氣呵成。
最後需要提醒的是,許多運營商已經很清楚BGP Hijacking 攻擊的風險,並為此做了充分準備。但不少項目方並不是很清楚,特別是像AS 變化引起的網絡路徑變化,沒有充分的準備和響應措施,所以將來很有可能會被同一攻擊者或其他攻擊者重複攻擊。因此,慢霧安全團隊建議項目方、互聯網服務提供商和服務器託管商應該認識到這類事件的風險,並一起協同防禦,避免此類事件再次發生,如果你需要協助請聯繫慢霧安全團隊。
附:
【1】BGP Hijacking 科普參考鏈接:
https://www.cloudflare.com/zh-cn/learning/security/glossary/bgp-hijacking/
【2】cbridge-prod2.celer.network DNS 變化圖:
展開全文打開碳鏈價值APP 查看更多精彩資訊