前言
2022年1月18日,知道創宇區塊鏈安全實驗室?監測到BSC上Crosswise遭遇攻擊,此次攻擊導致協議損失87.9萬美元。
攻擊者僅用1個CRSStoken便獲取CrosswiseMasterChef池中價值87.9萬美元的692K個CRSS。實驗室將對本次事件深入跟蹤并進行分析。
基礎信息
攻擊交易哈希:
0xd02e444d0ef7ff063e3c2cecceba67eae832acf3f9cf817733af9139145f479b
攻擊者地址:
0x748346113B6d61870Aa0961C6D3FB38742fc5089
CrownSwap生態應用登陸Poriot公鏈:據官方消息,Poriot公鏈首個生態應用CrownSwap將于11月3日正式上線,CrownSwap是一個建立在Poriot公鏈上的,采用主流AMM模型范式的去中心化交易所,CrownSwap首創單邊流動性挖礦機制,具有創新的經濟激勵模型和成熟的技術團隊。[2021/10/25 20:55:58]
攻擊合約:
0x530B338261F8686e49403D1b5264E7a1E169F06b
MasterChef:
0x70873211CB64c1D4EC027Ea63A399A7d07c4085B
CrosswiseRouter:
MicroStrategy CEO:公司與比特幣的相關策略是“長期的”:MicroStrategy CEO Michael Saylor表示,公司與比特幣相關的策略是“長期的”,與比特幣有關的債務也將是長期性的。不擔心比特幣的短期波動。此外,他表示比特幣挖礦是節能的。(金十)[2021/6/26 0:07:21]
0x8B6e0Aa1E9363765Ea106fa42Fc665C691443b63
CRSS:
0x99FEFBC5cA74cc740395D65D384EDD52Cb3088Bb
攻擊核心
此次攻擊的核心在于,Crosswise中的MasterChef合約Owner地址設置即transferOwnership函數能夠被攻擊者繞過,使得攻擊者能夠成為新的Owner并對MasterChef池子進行攻擊利用。我們將本次攻擊過程分為兩個階段進行分析:獲取Owner權限攻擊和MasterChef池攻擊。
物聯網區塊鏈平臺IoTeX與CrowdSupply正式達成合作伙伴關系:近日,物聯網區塊鏈平臺IoTeX與CrowdSupply正式達成合作伙伴關系。CrowdSupply是一個推廣、打造高新尖端硬件與制造產品的全方位服務和眾籌平臺,吸引了數千名來自全球各地的硬件開發人員和支持者。
IoTeX與CrowdSupply將合作推出Pebble Tracker追蹤器上線活動。Pebble Tracker追蹤器是由 IoTeX 賦能與半導體巨頭 Nordic 合作推出的可信硬件,是首款具有 4G 連接性和獨特追蹤功能,完全可信的智能 GPS 和環境跟蹤器。Pebble Tracker首次打通了物理世界的可驗證數據與鏈上DApp的交互通道,讓物理世界與數字世界互聯,將區塊鏈技術推向新高度。PebbleTracker 上線活動將于2月初正式開始。詳情見原文鏈接。[2021/1/23 16:50:10]
獲取Owner權限攻擊
三筆共10億枚XRP從Ripple Escrow錢包轉入Ripple:金色財經報道,Whale Alert數據顯示,北京時間12月02日00:57至00:59,三筆共10億枚XRP從Ripple Escrow錢包轉入Ripple,目前價值約6.15億美元。[2020/12/2 22:47:27]
1.由于在MasterChef合約中setTrustedForwarder?函數為公開可見性且未作權限設置,攻擊者先將自己的地址設置為TrustedForwarde地址。
2.Crosswisefi項目方對MasterChef的_msgSender()函數并未采取openzepplin的標準寫法且存在漏洞,導致攻擊者能夠通過構造惡意的calldata實現繞過onlyOwner限制完成合約Owner的獲取。
下圖為攻擊者繞過onlyOwner權限構造的惡意payload:
MasterChef池攻擊
1.攻擊者在CrosswiseRouter中用0.01個WBNB兌換出3.71個CRSS
2.攻擊者調用deposit將1個CRSS質押到CrosswiseMasterChef
3.由于上一階段攻擊者已經獲取到MasterChef的Owner權限,此時攻擊者調用set函數對MasterChef的pid為0的池子重新部署了一個未開源的策略合約:0xccddce9f0e241a5ea0e76465c59e9f0c41727003
4.攻擊者調用MasterChef的withdraw函數從池子中獲取692K的CRSS
5.最后攻擊者把692K的CRSS通過CrosswiseRouter合約swap兌換出547個BNB完成攻擊,獲利超87.9萬美元。
策略合約
猜想
由于攻擊者部署的策略合約并未開源,我們只能反向推導猜想策略合約的主要邏輯:
1.根據下圖第18行代碼可以推斷出合約中lockedAmount應該是一個極大值才能支撐攻擊者692k的代幣轉出;又根據第7-11行可以推導出攻擊者部署的strategy合約的LockeTotal()函數返回值極大、sharesTotal()返回值極小。
2.在上圖代碼23行當_amount>0時,會先計算出user的shareRemoved,然后在執行user.amount=user.amount.sub(shareRemoved);,此時若shareRemoved大于user.amount則代碼執行不會通過,可以推導出26行的shareRemoved值很小,又shareRemoved是調用攻擊者部署strategy合約中withdraw獲取,所以此時的strategy合約中withdraw的返回值會很小,小于之前質押的1個CRSS數量;再結合鏈上數據可推導攻擊者部署strategy合約中的withdraw調用返回值為0。
反編譯
為了證實我們的猜想是否正確,我們將攻擊者部署的策略合約進行反編譯。
反編譯后我們可以發現存在一個極大值和一個較小值的常量,即對應猜想1中LockeTotal和sharesTotal值,猜想1正確。
對于猜想2,經過反編譯后我們可以看到策略合約的withdraw最后的返回值為0,猜想2正確
總結
這次攻擊產生的主要原因是項目方使用錯誤的方法去獲取msgSender,導致合約的Owner權限更改能被繞過。知道創宇區塊鏈安全實驗室?在此提醒,任何有關合約權限問題的操作都需要慎重考慮,合約審計、風控措施、應急計劃等都有必要切實落實。
CoboLabs是亞太最大的加密貨幣托管平臺,最受機構歡迎的金融資管服務商Cobo的加密貨幣研究實驗室.
1900/1/1 0:00:002022年2月17日,在?Uniswap?V3上提供可編程流動性挖礦的創新協議?izumiFinance,宣布推出其去中心化自治組織。DAO將采用基于veNFT的二次投票機制來進行治理.
1900/1/1 0:00:00Gate.io已上線MMM/USDT交易對礦池,並於11:00就MMM/USDT交易礦池新增額外47,000MMM。屆時參與礦池交易的用戶,可獲得“常規手續費”與“額外獎勵”二重收益.
1900/1/1 0:00:00“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰.
1900/1/1 0:00:00尊敬的XT.COM用戶:因ATBFIG鏈上轉賬限製已解除,XT.COM現已開放ATBFIG充提業務以及開啟ATBFIG/USDT交易對.
1900/1/1 0:00:00爲期8天的“Gate.io華人春節,富及世界-2022農曆新年百萬比特幣紅包大放送”活動已圓滿結束.
1900/1/1 0:00:00