前言
2022年1月18日,知道創宇區塊鏈安全實驗室?監測到BSC上Crosswise遭遇攻擊,此次攻擊導致協議損失87.9萬美元。
攻擊者僅用1個CRSStoken便獲取CrosswiseMasterChef池中價值87.9萬美元的692K個CRSS。實驗室將對本次事件深入跟蹤并進行分析。
基礎信息
攻擊交易哈希:
0xd02e444d0ef7ff063e3c2cecceba67eae832acf3f9cf817733af9139145f479b
攻擊者地址:
0x748346113B6d61870Aa0961C6D3FB38742fc5089
WhaleChart:貝萊德和美國主要銀行正通過MicroStrategy購買比特幣:金色財經報道,WhaleChart在社交媒體上表示,貝萊德和美國主要銀行正在通過MicroStrategy購買創紀錄數量的比特幣。[2023/6/15 21:40:23]
攻擊合約:
0x530B338261F8686e49403D1b5264E7a1E169F06b
MasterChef:
0x70873211CB64c1D4EC027Ea63A399A7d07c4085B
CrosswiseRouter:
0x8B6e0Aa1E9363765Ea106fa42Fc665C691443b63
MicroStrategy的比特幣投資賬面損失了約3.3 億美元:金色財經報道,Watcher.Guru發推稱,MicroStrategy的比特幣投資賬面現在損失了約3.3 億美元。[2022/6/13 4:21:13]
CRSS:
0x99FEFBC5cA74cc740395D65D384EDD52Cb3088Bb
攻擊核心
此次攻擊的核心在于,Crosswise中的MasterChef合約Owner地址設置即transferOwnership函數能夠被攻擊者繞過,使得攻擊者能夠成為新的Owner并對MasterChef池子進行攻擊利用。我們將本次攻擊過程分為兩個階段進行分析:獲取Owner權限攻擊和MasterChef池攻擊。
MicroStrategy CEO:只要有閑置資金就會購入比特幣:5月28日消息,MicroStrategy首席執行官Michael Saylor在最近出席Fox News被問及“目前MicroStrategy的戰略”時表示,MicroStrategy未出售任何比特幣,且只要有閑置資金就會購入更多的比特幣。此外,Michael Saylor還表示,MicroStrategy計劃永遠在“頂部”價格購入比特幣。
據悉,截至4月5日,MicroStrategy持有129,218枚比特幣,在撰寫本文時價值3,723,248,686美元。(U.Today)[2022/5/29 3:47:55]
獲取Owner權限攻擊
1.由于在MasterChef合約中setTrustedForwarder?函數為公開可見性且未作權限設置,攻擊者先將自己的地址設置為TrustedForwarde地址。
挪威養老基金持有MicroStrategy 2%股份:最近科技公司MicroStrategy收購了4.25億美元的比特幣的,據Decrypt報道,挪威政府的養老基金持有MicroStrategy 2%的股份。
Decrypt在報道中提到:因此,每個挪威公民都間接擁有至少1.72美元的加密貨幣。
并且,挪威政府選擇投資MicroStrategy,是間接投資了世界上最大的加密貨幣,但同時也使其公民承受了加密貨幣市場的沖擊。(Decrypt)[2020/10/12]
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權限更改能被繞過。知道創宇區塊鏈安全實驗室?在此提醒,任何有關合約權限問題的操作都需要慎重考慮,合約審計、風控措施、應急計劃等都有必要切實落實。
關於Gate.ioStartup免費空投計劃爲回饋平臺用戶,Gate.io上線“免費空投計劃”,在Startup區不定期進行區塊鏈項目的免費空投計劃.
1900/1/1 0:00:00盡管在2022年年初,市場整體行情走勢低迷,但NFT板塊的交易量則絲毫沒有受到影響,并且不斷的突破前高。有數據顯示,僅今年1月,NFT交易量達到了61.3億美元.
1900/1/1 0:00:00尊敬的XT用戶: XT.COM即將上線LAW,並在主板區開放LAW/USDT,LAW/BNB交易對。具體開通時間,請關註後續公告.
1900/1/1 0:00:00Gate.io結構性理財今日上線新款鯊魚鰭2.0產品,正在認購中,U本位理財,年化收益率3%~18%,總倉位2,000,000USDT,鎖倉7天,價格區間爲$41,000~$46,000.
1900/1/1 0:00:00據CryptoSlate2月17日消息,為了進一步保護其網絡不受作惡者的影響,Cardano透露,如果有人發現并向其開發團隊報告網絡上的任何漏洞,他們會將漏洞賞金增加一倍.
1900/1/1 0:00:00隨著VICS代幣宣布在MEXCGlobal上市,將全球交易者、投資者和世界各地的加密貨幣愛好者聯系在一起.
1900/1/1 0:00:00