1、前言
北京時間3月5日,知道創宇區塊鏈安全實驗室?監測到?BaconProtocol?遭受黑客攻擊損失約958,166美元,本次攻擊利用重入漏洞,并憑借閃電貸擴大收益額。目前攻擊者地址還沒有被加入USDC的黑名單中。
2、分析
攻擊事件如下圖所示,該次攻擊事件的問題點在于lend()函數,攻擊者利用該函數進行重入攻擊。
2.1基礎信息
攻擊合約:0x580cac65c2620d194371ef29eb887a7d8dcc91bf
攻擊者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593
Binance推出受巴林央行全面監管的平臺binance.bh:金色財經報道,繼2022年5月獲得巴林中央銀行加密資產服務提供商(CASP)許可證后,Binance宣布推出其巴林平臺binance.bh。該平臺受巴林中央銀行全面監管,巴林用戶可以在巴林中央銀行的監管下訪問Binance的所有受監管的加密資產交易服務以及當地銀行選項,包括當地貨幣的直接存款和取款。[2022/10/27 11:48:39]
攻擊tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31
漏洞合約:0x781ad73f140815763d9A4D4752DAf9203361D07D
BHD突破2.5美金關口 日內漲幅為7.43%:火幣全球站數據顯示,BHD短線上漲,最高漲至2.5美元,現報2.4230美元,日內漲幅達到7.43%,行情波動較大,請做好風險控制。[2021/1/18 16:27:08]
2.2流程
1.攻擊者通過UniswapV2閃電貸借出6,360,000USDC。
2.用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行2次重入攻擊調用了3次lend()函數鑄造共8,465,943.180104bHOME。
3.將剛才重入獲得的bHOME拿去銷毀贖回獲得7,336,924.998USDC。
4、歸還閃電貸借出的6,360,000USDC,并支付19,716的手續費,最后將剩余的957,208.998USDC轉入自己的賬戶。
BHD兩日連續上漲 漲幅約30%:據火幣全球站數據顯示,比特硬幣BHD今日漲幅11.1%,連現報價7.8美金/枚,24小時成交額1.05億人民幣,BHD連續兩日持續上漲,累計漲幅約30%。[2020/5/27]
2.3細節
該次攻擊事件重點在于lend()函數,由于合約https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未驗證開源,所以我們只能從交易的Debugger中尋找線索。
1、攻擊者通過UniswapV2閃電貸借出6,360,000USDC。
2、用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行重入攻擊2次調用?lend()函數鑄造共8,465,943.180104bHOME。
袋鼠錢包與BHD全球社區達成合作:據官方消息,近日,數字資產理財借貸專業工具——袋鼠錢包已與BHD全球社區達成合作,為全球BHD愛好者提供基于BHD的理財借貸業務。袋鼠錢包由專業金融背景的管理團隊運營,一經推出,就獲得了迪拜數字科技投資集團,硅谷區塊鏈行業知名投資機構認可和深度合作。
袋鼠錢包還會在基于BTC,ETH,USDT,BCH,BHD的基礎上,提供更多優質數字資產的理財借貸服務。[2020/4/25]
3、將剛才重入獲得的bHOME拿去銷毀贖回獲得7,336,924.998USDC。
4、歸還閃電貸借出的6,360,000USDC,并支付19,716的手續費,最后將剩余的957,208.998USDC轉入自己的賬戶。
2.3細節
該次攻擊事件重點在于?lend()?函數,由于合約?https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code?并未驗證開源,所以我們只能從交易的Debugger中尋找線索。
分析Debugger可以看到下圖是第一次調用函數,接著進行了2次重入。
從重入攻擊中可以找到INPUT中調用函數的字節碼為?0xa6aa57ce。
通過字節簽名可以知道重入攻擊調用的是?lend()?函數。
從Debugger中我們可以發現攻擊合約的地址?0x781ad73f140815763d9a4d4752daf9203361d07d。
通過反編譯合約?0x781ad73f140815763d9a4d4752daf9203361d07d?得到合約偽代碼內容,可以找到?lend()?函數。
我們在反編譯的代碼中可以看到該合約使用的ERC777協議,會查詢?recipient?的回調合約并回調?tokensReceived()?函數用以重入攻擊。
通過分析可以發現?_index?就是傳入的USDC數量。
totalSupply?和?balanceOf?的增量都和?_index?是正比關系,和?stor104?是反比關系,并且這兩個變量的更新發生在重入攻擊之前,每次都會更新。
stor104?記錄的是用戶存入的USDC總量,該變量的更新發生在重入之后,那么在重入的過程中?stor104?的值是不變的,而上面的?totalSupply?是在變大,所以最后return的值也會相應的增大,從而使得攻擊者通過重入攻擊鑄造得到比正常邏輯更多的bHOME代幣。
除了該次攻擊事件,BlockSecTeam還阻斷了后面發生的攻擊并將金額返還給了項目方。
交易hash:0xf3bd801f5a75ec8177af654374f2901b5ad928abcc0a99432fb5a20981e7bbd1
3、總結
此次攻擊事件是由于項目方使用了ERC777協議但沒有對回調合約的安全性進行考慮從而導致了重入攻擊的發生,當項目合約有涉及資產的轉移時,建議使用「檢查-生效-交互」模式來保證邏輯代碼的安全,當然我們也可以使用OpenZeppelin官方提供的ReentrancyGuard修飾器來防止重入攻擊的發生。
Tags:USDSDCUSDCBHD$USDEBTsdcoin幣交易所PoolTogether USDC Ticketbhd幣未來價值
Gate.io將於2022年3月15日22:00-22:15開始進行BTC,USDT以及USD結算的永續合約引擎升級,時間約爲15分鐘,升級期間可能帶來永續合約部分服務不可用.
1900/1/1 0:00:00SupraOracles很高興地宣布與次世代交易平臺Mizar合作。Mizar是次世代交易平臺,允許交易者找到安全分配資金的策略,并使用各種交易工具啟動其資產.
1900/1/1 0:00:00isaspecialeventthatwillbeheldeveryMondayfromMarch8.
1900/1/1 0:00:00導語:近日,區塊鏈游戲《Ageofnavigation》在海外游戲市場大火,這是一款以航海為主題,以NFT、Defi、DAO為切入點,整合游戲、社交和金融為一體的新一代元宇宙項目.
1900/1/1 0:00:00尊敬的WEEX用戶您好!早春活動百萬交易員征集令 活動四:天天空投 活動方式: 活動期間每天抽出10位有完成合約交易的用戶隨機送8、18、38、68、88USDT,周一至周五不限幣種.
1900/1/1 0:00:00Withlotsofloveandsupportfromourusers,Gate.ioheldthefirstInfluencerInterviewintheEnglishChatroomre.
1900/1/1 0:00:00