前言
2022年1月18日,知道創宇區塊鏈安全實驗室監測到BSC上Crosswise遭遇攻擊,此次攻擊導致協議損失87.9萬美元。
攻擊者僅用1個CRSStoken便獲取CrosswiseMasterChef池中價值87.9萬美元的692K個CRSS。實驗室將對本次事件深入跟蹤并進行分析。
基礎信息
攻擊交易哈希:
0xd02e444d0ef7ff063e3c2cecceba67eae832acf3f9cf817733af9139145f479b
攻擊者地址:
0x748346113B6d61870Aa0961C6D3FB38742fc5089
攻擊合約:
0x530B338261F8686e49403D1b5264E7a1E169F06b
特斯拉、MicroStrategy和Block在本輪熊市中合計損失近25億美元:金色財經報道,根據特斯拉、MicroStrategy和Block的 BTC 持倉數據顯示,這三家公司在本輪熊市中已損失近 25 億美元,其中:
1、特斯拉持有 43,200 枚 BTC(相當于流通中的 2100 萬個比特幣總供應量的 0.206%)價值已下跌超 7 億美元;
2、Microstrategy 持有 129,218 枚 BTC(約占流通中比特幣總量的 0.615%)價值已損失接近 16 億美元;
3、Jack Dorsey 旗下支付公司 Block 持有 8,027 枚 BTC(約占流通中比特幣總量的 0.038%)價值已損失近 1.5 億美元。
MicroStrategy 首席執行官 Michael Saylor 此前在社交媒體上透露,該公司有 2.05 億美元的定期貸款,需要維持價值 4.1 億美元的抵押品,但 MicroStrategy 已經預測到波動性并構建了資產負債表以便在熊市中繼續 HODL。[2022/6/19 4:38:37]
MasterChef:
MicroStrategy CEO:比特幣挖礦是最賺錢的能源利用方式:5月25日消息,MicroStrategy首席執行官Michael Saylor周二表示,基于區塊鏈的比特幣挖礦是世界上最賺錢的能源利用方式。Saylor強調:“我認為我們應該擁抱數字能源。”
此外,Saylor稱:“我認為比特幣挖礦將在美國各地蔓延。請注意,美國是世界上最大的比特幣挖礦國,如果我們沒有受到敵意監管,將繼續領先。”(Seeking Alpha)[2022/5/25 3:40:23]
0x70873211CB64c1D4EC027Ea63A399A7d07c4085B
CrosswiseRouter:
0x8B6e0Aa1E9363765Ea106fa42Fc665C691443b63
Microstrategy CEO:戰爭造成通貨膨脹使BTC更具有吸引力:2月27日消息,Microstrategy首席執行官Michael Saylor認為,戰爭會造成通貨膨脹并削弱商業活動。根據其說法,這反過來又使比特幣具有吸引力,因為它可以作為對沖上述通貨膨脹的替代品。(Ethereum World News)[2022/2/27 10:18:42]
CRSS:
0x99FEFBC5cA74cc740395D65D384EDD52Cb3088Bb
攻擊核心
此次攻擊的核心在于,Crosswise中的MasterChef合約Owner地址設置即transferOwnership函數能夠被攻擊者繞過,使得攻擊者能夠成為新的Owner并對MasterChef池子進行攻擊利用。我們將本次攻擊過程分為兩個階段進行分析:獲取Owner權限攻擊和MasterChef池攻擊。
慢霧:Crosswise遭受攻擊因setTrustedForwarder函數未做權限限制:據慢霧區情報,2022年1月18日,bsc鏈上Crosswise項目遭受攻擊。慢霧安全團隊進行分析后表示,此次攻擊是由于setTrustedForwarder函數未做權限限制,且在獲取調用者地址的函數_msg.sender()中,寫了一個特殊的判斷,導致后續owner權限被轉移以及后續對池子的攻擊利用。[2022/1/19 8:57:48]
獲取Owner權限攻擊
1.由于在MasterChef合約中setTrustedForwarder函數為公開可見性且未作權限設置,攻擊者先將自己的地址設置為TrustedForwarde地址。
MicroStrategy聲明將繼續投資比特幣:根據MicroStrategy于2月24日發布的聲明,MicroStrategy近期并不打算停止投資比特幣。Microstrategy首席執行官Michael Saylor于聲明中表示,將繼續追求公司的比特幣戰略,用多余的現金購買比特幣。他稱:“我們可能會不時地,根據市場條件,在融資交易中發行債務或股權證券,目的是利用收益購買更多的比特幣。”他稱Microstrategy的比特幣策略,包括其持有比特幣相關的活動都是對其公司軟件業務的補充。[2021/2/25 17:53:13]
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權限更改能被繞過。知道創宇區塊鏈安全實驗室在此提醒,任何有關合約權限問題的操作都需要慎重考慮,合約審計、風控措施、應急計劃等都有必要切實落實。
格林納達常駐世界貿易組織代表、特命全權大使、波場TRON創始人孫宇晨先生閣下受邀參與的紀錄片《AligningTheFuture》中英字幕完整版已正式上線.
1900/1/1 0:00:00March2022,SimonDataSource:FootprintAnalyticsGamingCoinsGameFi雖然Game在前.
1900/1/1 0:00:00Solidity事件對于智能合約開發者來說是不可或缺的,它允許我們對智能合約中特定變量進行測試,以自動化的方式改變前端等.
1900/1/1 0:00:002022年EthDenver上,協議專家DanielOlshansky就Pocketnetwork進行了演講,同時他們為那些與Pocket集成的最佳項目分發多個獎品來支持生態系統的發展.
1900/1/1 0:00:00俄羅斯最大的社交網絡VKontakte的技術總監AlexanderTobol在接受俄媒采訪時表示,計劃在其運營中集成NFT和區塊鏈技術.
1900/1/1 0:00:00AndreCronje,這位精通南非荷蘭語、德語、拉丁語、英語,熱愛拳舉重,并且從法律專業轉行到開發的年輕人,在進入加密行業的短短4年,便站到了DeFi領域的頂峰.
1900/1/1 0:00:00