危險的授權轉账:Li.Finance 攻擊事件始末

2022-03-22 21:03:03

前言

北京時間3月20日晚,知道創宇區塊鏈安全實驗室 監測到以太坊上分布式跨鏈協議。Li.Finance 受到了攻擊,攻擊者執行了 37 次call注入,獲取了多個錢包中約 60 萬美元的資產(204個ETH)。此次資產損失並沒有非常大,但項目方對於攻擊的處理非常積極並值得學習與肯定(見後文),目前項目方已補償了協議損失並修復後重新部署了協議。

知道創宇區塊鏈安全實驗室 第一時間跟蹤本次事件並分析。


      危險的授權轉账:Li.Finance 攻擊事件始末

分析

1.攻擊者相關信息

攻擊tx:

0x4b4143cbe7f5475029cf23d6dcbb56856366d91794426f2e33819b9b1aac4e96

被攻擊合約:

0x5A9Fd7c39a6C488E715437D7b1f3C823d5596eD1--代理合約

0x73a499e043b03fc047189ab1ba72eb595ff1fc8e--邏輯合約

攻擊者地址:  

0xC6f2bDE06967E04caAf4bF4E43717c3342680d76 -- 部署地址

0x878099F08131a18Fab6bB0b4Cfc6B6DAe54b177E -- 收款地址

2.攻擊流程

攻擊調用流程

攻擊者構造 payload 並調用被攻擊合約 0x5a9fd7c3 的 swapAndStartBridgeTokensViaCBridge 函數:


      危險的授權轉账:Li.Finance 攻擊事件始末

具體使用的 Payload 如下--圖中選中部分即為利用授權轉账(transferFrom)部分的 payload:


      危險的授權轉账:Li.Finance 攻擊事件始末

調用一次正常50刀的跨鏈橋功能(為了能正常調用 swapAndStartBridgeTokensViaCBridge 函數):


      危險的授權轉账:Li.Finance 攻擊事件始末

在 payload 中包括多個call方法(調實際用transferFrom)。讓 0x5a9fd7c3 調用 37 個call,借此利用多個錢包對於 0x5a9fd7c3 合約的授權(approve)將錢包資產轉账到攻擊者地址:


      危險的授權轉账:Li.Finance 攻擊事件始末

後續執行正常的跨鏈橋邏輯 _startBridge(_cBridgeData); 這也是為什么第一個 swap 是正常的,這樣才能讓後續邏輯正常執行下去:


      危險的授權轉账:Li.Finance 攻擊事件始末

3.漏洞細節

導致本次問題的根本原因被攻擊合約0x5a9fd7c3的邏輯合約存在一個批量讓call 調用傳入數據的函數 swapAndStartBridgeTokensViaCBridge:


      危險的授權轉账:Li.Finance 攻擊事件始末

該合約將會取出payload中的多個_swapData 數據結構並調用,LibSwap.swap(...);實現如下:


      危險的授權轉账:Li.Finance 攻擊事件始末

借此,攻擊者利用該合約的 call 將各個錢包對 0x5a9fd7c3 合約的代碼授權轉走了多個錢包中的各種代幣。


      危險的授權轉账:Li.Finance 攻擊事件始末

4.項目方進展

在事件發生後,項目方第一時間對合約可能的方法進行了停用,並為其審計和安全性問題進行致歉:


      危險的授權轉账:Li.Finance 攻擊事件始末

而後,項目方還聯系了黑客,希望能與其取得聯系並和平解決:


      危險的授權轉账:Li.Finance 攻擊事件始末

同時,最快的時間將漏洞合約修復後上线:


      危險的授權轉账:Li.Finance 攻擊事件始末

並將錢包(以Matic為例)對於之前被攻擊合約的授權取消,對新的合約進行了重新授權:


      危險的授權轉账:Li.Finance 攻擊事件始末

最後,將用戶資產進行補回:


      危險的授權轉账:Li.Finance 攻擊事件始末

同時我們關注到,其在 polygon 鏈上的合約也已實現了新的部署:


      危險的授權轉账:Li.Finance 攻擊事件始末

總結

此次攻擊的根本原因是項目方對於 swapAndStartBridgeTokensViaCBridge 合約的實現過度自由化所導致的 call 調用注入,但項目方積極的面對問題的態度和後續補救的及時性值得學習和肯定。不貴於無過,而貴與改過。

但我們仍希望能將錯誤扼殺在發生之前,應從他人的錯誤中學習並避免自己未來的錯誤,正如 Li.Finance 所說的那樣:“我們的使命是最大化用戶體驗,現在我們痛苦地了解到,為了遵循這種精神,我們的安全措施必須大幅改進。”

近期,各類合約漏洞安全事件頻發,合約審計、風控措施、應急計劃等都有必要切實落實。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

突破傳統預言機:Chaos Labs 發布 Edge,如何保障超 300 億美元交易的安全?

從隱祕中嶄露頭角:Edge Oracle Network 今天,@chaos_labs 推出了 E...

coincaso
22 6天前

mETH協議將迎來爆發:參與Methamorphosis活動,解鎖$COOK空投和重質押收益

mETH協議正在“COOK-ing”。$mETH已經是第四大ETH LST,有50萬枚$ETH被質...

coincaso
25 1周前

Hypernative 榮獲1600 萬美元融資,如何打造 Web3 安全防线

隨着 DeFi 的不斷發展,安全性仍然是該生態系統面臨的重大挑战,每年因安全問題而導致的資產損失高...

coincaso
33 2周前

特朗普強勢入局加密市場!DeFi項目首度曝光,創始團隊引發軒然大波

World Liberty Financial 白皮書中列出的四名團隊成員之前曾在 Dough F...

coincaso
50 2周前

ENA代幣暴跌超80%,算法穩定幣將陷入死亡螺旋?

在加密貨幣的世界裏,算法穩定幣一直是投資者和开發者心中的白月光,它代表着一種理想狀態,即使在最不確...

coincaso
37 2周前

Polymarket獨領風騷,萬字盤點各鏈預測市場現狀

以太坊創始人Vitalik Buterin,近期對公衆對預測市場的普遍誤解進行了深刻闡釋。他堅決地...

coincaso
45 3周前