事件背景:
DeFi借貸協議Lendf.Me今日遭受攻擊,開發團隊已在?Lendf.Me用戶界面用紅字提醒,呼吁用戶目前不要向合約存款,此事發生,瞬間引起了外界對于區塊鏈和數字貨幣安全的激烈討論。
Lendf.Me于去年?9月推出后因其鎖倉資產價值成為?DeFiPulse七大DeFi市場之一,今日攻擊者利用重入漏洞覆蓋自己的資金余額并使得可提現的資金量不斷翻倍,最終將Lendf.Me盜取一空。
黑客攻擊事件復盤:
據成都鏈安反洗錢合規和調查取證系統追蹤統計,目前?Lendf.Me?損失已超2500萬美元,完整攻擊過程復盤如下:
此次攻擊者地址為:0xA9BF70A420d364e923C74448D9D817d3F2A77822;攻擊合約為:0x538359785a8D5AB1A741A0bA94f26a800759D91D,攻擊者首先進行了多次攻擊測試:
在合約部署完成后的第三筆交易(0xe49304cd3ed)中,攻擊者進行了首次攻擊嘗試:
成都鏈安:GYM Network 項目的GymSinglePool遭受攻擊:6月8日消息,據成都鏈安安全輿情監控數據顯示,GYM Network 項目的GymSinglePool遭受了攻擊。因為_autoDeposit函數未轉入抵押的代幣,攻擊者惡意調用了depositFromOtherContract函數記賬,并憑空提取了GYM token,目前2000BNB已進了Tornado Cash,3000BNB存放在攻擊賬戶中,價值70W美元的ETH轉入了以太坊。[2022/6/8 4:10:43]
整個攻擊事件開始階段,攻擊者的初始交易發送腳本存在問題,導致只有區塊中的第一次攻擊才能攻擊成功,后面的交易全部拋出異常。
后面攻擊者對攻擊腳本做出了改動,一個區塊只發送一筆攻擊交易。首先分析這三筆成功的交易,可以看到攻擊者的資金基本上呈現一個倍增的關系,攻擊已經開始獲利:
https://etherscan.io/tx/0xae7d664bdfcc54220df4f18d339005c6faf6e62c9ca79c56387bc0389274363b
成都鏈安:Discover項目正在持續遭到閃電貸攻擊:6月6日消息,據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,Discover項目正在持續遭到閃電貸攻擊,攻擊者通過閃電貸使用BSC-USD大量重復兌換Discover代幣,其中一個攻擊者0x446...BA277獲利約49BNB已轉入龍卷風,攻擊交易:0x1dd4989052f69cd388f4dfbeb1690a3f3a323ebb73df816e5ef2466dc98fa4a4,攻擊合約:0xfa9c2157cf3d8cbfd54f6bef7388fbcd7dc90bd6
攻擊者地址:0x446247bb10B77D1BCa4D4A396E014526D1ABA277[2022/6/6 4:05:40]
https://etherscan.io/tx/0xa0e7c8e933be65854bee69df3816a07be37e108c43bbe7c7f2c3da01b79ad95e
https://etherscan.io/tx/0xf8ed32d4a4aad0b5bb150f7a0d6e95b5d264d6da6c167029a20c098a90ff39b4
成都鏈安:fortress被盜金額已被轉換成1048eth并轉入了Tornado Cash:5月9日消息,據成都鏈安安全輿情監控數據顯示,fortress 遭受預言機價格操控攻擊,被盜金額已被轉換成1048eth并轉入了Tornado Cash。經成都鏈安技術團隊分析,本次攻擊原因是由于fortress項目的預言機FortressPriceOracle的數據源Chain合約的價格提交函數submit中,將價格提交者的權限驗證代碼注釋了,導致任何地址都可以提交價格數據。攻擊者利用這個漏洞,提交一個超大的FST價格,導致抵押品價值計算被操控,進而借貸出了項目中所有的代幣。
攻擊交易:0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf
攻擊者地址:0xa6af2872176320015f8ddb2ba013b38cb35d22ad
攻擊者合約:0xcd337b920678cf35143322ab31ab8977c3463a45[2022/5/9 3:00:21]
到此時,攻擊者已經完成對攻擊過程的確認,之后的連續多個交易則是攻擊者注冊了多個代幣地址用于代幣兌換:
REV智能合約已通過Beosin(成都鏈安)的安全審計:據官方消息,Justswap上的明星項目,REV團隊釋放出REV智能合約審計報告,由Beosin(成都鏈安)安全審計完成。
據了解,REV(Revolution Token)是基于區塊鏈的新型社會實驗型代幣。其獨特之處在于內嵌了交易燃燒、尾單博弈、持幣分紅三種獨特的創新機制。
REV技術介紹:智能合約的整體設計清晰,邏輯縝密,代碼安全靠譜,從性能和功能上完全具備了區塊鏈頂級去中心化金融項目的一切條件。合約地址(認準唯一)
TSngG7y4RDSVG6QwoWM4MvVWJb3k8VLZJk。詳情點擊原文鏈接。[2020/9/16]
https://etherscan.io/tx/0xc906fc184c6fd453b01d3bc04612cf90e8d339edfe1611e25baa47eb6e9ec080
以0xc906fc184c6f交易為例,0x06af07097c9eeb7fd685c692751d5c66db49c215是代幣CHAI的合約地址,區塊高度9899740~9899741基本上全部在注冊代幣。
之后攻擊者繼續發起攻擊,可以看到,每次攻擊后,攻擊者持有的資金(imBTC)基本會翻一倍。
聲音 | Beosin(成都鏈安)預警:某EOS競猜類游戲遭受攻擊 損失超1200枚EOS:根據成都鏈安區塊鏈安全態勢感知系統Beosin-Eagle Eye檢測發現,今日上午 8:53:15開始,黑客yunmen****對EOS競猜類游戲th****sgames發起攻擊。截止到現在,該黑客已經獲利超過1200枚EOS。Beosin建議游戲項目方應該加強項目運維工作,在收到安全公司的安全提醒之后第一時間排查項目安全性,才能及時止損,同時也呼吁項目開發者應該重視游戲邏輯嚴謹性及代碼安全性。Beosin提醒類似項目方全方面做好合約安全審計并加強風控策略,必要時可聯系第三方專業審計團隊,在上鏈前進行完善的代碼安全審計,防患于未然。[2019/4/3]
通過這樣不斷翻倍的過程,在交易0xced7ca81308時,基本已達到imBTC的最大存量。
之后利用獲利的imBTC借入其他代幣,如下圖所示:
黑客攻擊手法分析:
以其中一筆交易0x111aef012df47efb97202d0a60780ec082125639936dcbd56b27551ce05c4214為例:
lendf.me合約地址:0x0eEe3E3828A45f7601D5F54bF49bB01d1A9dF5ea
imBTC合約地址:0x3212b29e33587a00fb1c83346f5dbfa69a458923
第1步,正常執行supply函數,存入113.21475453?imBTC,這里未進行重入。
第2步,再次調用supply函數,存入0.00000001imBTC,在這次交易中,如第3步攻擊者觸發了supply函數中利用transferFrom函數轉入代幣時會通知發送方的特性,在發送方的代碼中回調了Lendf.me的withdraw函數,取出了第1步supply中存入的113.21475453imBTC以及在本次交易的上一筆重入交易中的113.21475516imBTC,總共為226.42950969imBTC,重入之后再次回到transferFrom剩余的代碼中,繼續執行將0.00000001imBTC轉入lendf.me的操作。
重入攻擊的具體代碼執行過程如下:
1、進入supply函數
2.調用內部doTransferIn函數,該函數會調用imBTC的transferFrom函數進行代幣轉賬操作
3.在imBTC中,會調用攻擊者指定合約(0x538359785a8D5AB1A741A0bA94f26a800759D91D)的tokensToSend函數,攻擊者在函數中執行了重入操作,該重入操作調用了lendf.me的withdraw函數,取出了226.42950969imBTC。
4.?withdraw執行完成后,繼續從1583行后的supply函數剩余的代碼,這部分的代碼主要是記錄賬本數據,攻擊者余額翻倍的錯誤也是在此處發生的:
整個攻擊過程,舉個例子:
1>?原先攻擊者存款100imBTC,第一次supply存入100imBTC,攻擊者賬戶余額為200imBTC
2>?第二次supply存入0.1imBTC,這次發生了重入
2.1在supply之初,讀取用戶余額記錄,存入臨時變量temp,值為200.1
2.2調用imBTC的transferFrom函數轉入代幣時發生了重入,攻擊者調用withdraw取出了當前賬戶的200imBTC,攻擊者賬戶余額記錄為0,攻擊者獲得了200imBTC。withdraw執行完成后繼續執行transferFrom,將0.1imBTC轉入lendf.me
2.3繼續執行supply,用臨時變量temp(200.1)更新用戶余額記錄,攻擊者余額記錄變為200.1。
此時攻擊者余額記錄中為200.1imBTC,手中還有200imBTC,可以繼續翻倍攻擊。
安全防御建議:?
針對此次攻擊事件,我們給予區塊鏈企業如下的安全建議:
1、進行重入防護:比如使用OpenZeppelin的ReentrancyGuard;
2、先修改本合約狀態變量,再進行外部調用
3、上線前進行必要的安全審計
被盜資金流向:
攻擊者在攻擊得手后進行了資金轉移,目前資金去向地址如下:
imBTCToken
0x3212b29e33587a00fb1c83346f5dbfa69a458923
Tokenlon?交易所
0xdc6c91b569c98f9f6f74d90f9beff99fdaf4248b
OneInchExchange?交易所
0x11111254369792b2ca5d084ab5eea397ca8fa48b
CompoundUSDCoin?借貸平臺
0x39aa39c021dfbae8fac545936693ac917d5e7563
CompoundWrappedBTC?借貸平臺
0xc11b1268c1a384e55c48c2391d8d480264a3a7f4
錢包地址
0x3dfd23a6c5e8bbcfc9581d2e864a68feb6a076d3
ChaiToken
0x06af07097c9eeb7fd685c692751d5c66db49c215
AugustusSwapper?交易所
0xf92c1ad75005e6436b4ee84e88cb23ed8a290988
根據成都鏈安AML對攻擊者地址0xA9BF70A420d364e923C74448D9D817d3F2A77822的流出資金進行的持續監控,繪制的攻擊者資金流向圖如下:
曾經投資Slack和Uber等創業公司的硅谷風投公司BondCapital近日通過電子郵件告訴投資者,新冠疫情的高速傳播和影響與1906年舊金山大地震相似.
1900/1/1 0:00:00編者注:原標題為《為什么建議你不要做合約?》最近數字貨幣市場行情劇烈波動,昨天又聽到群里的一個朋友說自己做合約爆倉了,有些感慨,所以決定專門寫一篇關于合約的文章.
1900/1/1 0:00:004月20日消息,德國監管機構批準了新的“可逆ICO”,為這一有爭議的融資機制帶來了新的鏈上投資者保護。據悉,可逆ICO允許投資者逐步購買代幣,并在任何時候取消他們的支持和資金.
1900/1/1 0:00:00本文來源:騰訊研究院,原題《疫情下的區塊鏈產業:缺位、共識與機遇》新冠疫情的爆發,為各行各業帶來了嚴峻考驗,也為數字化技術、行業提供了新的發展契機.
1900/1/1 0:00:00作者:王翔,北京聚農科技董事長摘?要:個人健康數據,是一個私密性領域,此類數據的挖掘和應用,以前傳統的計算機平臺技術方式已經不足以支撐.
1900/1/1 0:00:00本文摘自中信出版社2020年5月新書《產業區塊鏈:中國核心技術自主創新的重要突破口》,為朱嘉明為本書所作推薦序,有刪改.
1900/1/1 0:00:00