1、前言
北京時間3月5日,知道創宇區塊鏈安全實驗室監測到BaconProtocol遭受黑客攻擊損失約958,166美元,本次攻擊利用重入漏洞,并憑借閃電貸擴大收益額。目前攻擊者地址還沒有被加入USDC的黑名單中。
2、分析
攻擊事件如下圖所示,該次攻擊事件的問題點在于lend()函數,攻擊者利用該函數進行重入攻擊。
2.1基礎信息
攻擊合約:0x580cac65c2620d194371ef29eb887a7d8dcc91bf
攻擊者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593
攻擊tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31
BHEX完成部分以太坊映射發行的HBC銷毀,HBC流通總量降至814萬枚:BHEX官方消息,Bluehelix主網已經正式上線安全運行1個月24天,由于原ERC20?HBC是主網上線前發行的ERC20代幣,現根據市場上各交易所ERC20代幣流通使用情況,決定將以太坊網絡上映射發行的ERC20?HBC代幣部分銷毀,實現ERC20 HBC流通量縮減到400萬枚的目標。
本次共計完成15,005,351枚HBC的銷毀,其中有10,862,449枚HBC代幣屬于公司過去通過自有資金回購、股東持有和團隊持有的期權代幣,這些代幣銷毀后將不再流通到二級市場,而是通過在Bluehelix主網通過節點挖礦和流動性挖礦的方式按經濟模型定義重新鑄造產出,之前已經通過回購銷毀的HBC不會再挖礦產出。[2021/8/31 22:50:13]
漏洞合約:0x781ad73f140815763d9A4D4752DAf9203361D07D
2.2流程
1.攻擊者通過UniswapV2閃電貸借出6,360,000USDC。
今日BHD最高漲幅29.3%:據火幣全球站數據顯示,比特硬幣BHD今日最高漲幅29.3%,現報價11.3USDT/枚, 24小時成交額6.38億人民幣,BHD連續兩日持續上漲,累計最高漲幅超57%。[2020/5/2]
2.用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行2次重入攻擊調用了3次lend()函數鑄造共8,465,943.180104bHOME。
3.將剛才重入獲得的bHOME拿去銷毀贖回獲得7,336,924.998USDC。
BHD 24小時上漲20.14%:AICoin行情數據顯示,截至17:30,BHD報價8.96 USDT,24小時上漲20.14%。目前,MXC抹茶BHD杠桿擂臺賽進行中,據規則,4月29日0:00-5月1日24:00,在MXC平臺參與BHD/USDT杠桿交易,交易量不少于2000 USDT且排名前10名的用戶,可根據交易量占比共同瓜分2BTC等值BHD,擂主(即第1名)可獲得1 BTC等值BHD。本次活動代幣獎勵,由BHD官方提供。以上信息不構成投資意見,注意投資風險。[2020/5/1]
4、歸還閃電貸借出的6,360,000USDC,并支付19,716的手續費,最后將剩余的957,208.998USDC轉入自己的賬戶。
2.3細節
該次攻擊事件重點在于lend()函數,由于合約https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未驗證開源,所以我們只能從交易的Debugger中尋找線索。
HBTC霍比特(原BHEX交易所)創始人巨建華公布全新平臺通證HBC:今日,HBTC霍比特(原BHEX交易所)創始人巨建華在2周年發布會上公布HBTC霍比特全新升級的通證模型HBC。
巨建華表示:“HBC是HBTC霍比特交易平臺發行的區塊鏈通證,是前BHEX交易平臺通證BHT的升級Pro版。HBC代表了HBTC霍比特交易平臺、 HBTC Chain、幣核云 BlueHelix Cloud 三大業務的核心權益。”
據悉,獲得HBC的方式包括:BHT持幣用戶通過HBTC霍比特官網接下來開放的為期半年的兌換窗口進行兌換;HBC正式上線一定期內,用戶在HBTC霍比特交易平臺通過幣幣、合約、期權交易產生手續費后,系統會等比例贈送HBC,直到活動贈送額度用完。[2020/4/17]
1、攻擊者通過UniswapV2閃電貸借出6,360,000USDC。
2、用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行重入攻擊2次調用lend()函數鑄造共8,465,943.180104bHOME。
合約帝實盤接入BHEX永續 實現數據合約全面對接:據合約帝官方消息,北京時間3月2日,合約帝平臺宣布正式完成BHEX永續合約實盤賬戶的數據對接工作,用戶可以使用合約帝App在自己的賬號中接入BHEX永續合約賬戶的實盤API,同時在合約帝平臺上參與收益展示、數據分析、行情解讀共享等社交活動。[2020/3/2]
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修飾器來防止重入攻擊的發生。
智能合約生態正在朝著多鏈方向發展,區塊鏈的應用不再局限于某一個網絡,而是跨越各個去中心化賬本,共同形成了一個生態。其中每條區塊鏈都有自己獨特的價值主張和技術特點.
1900/1/1 0:00:00超6億美金加密貨幣被盜 3月29日,區塊鏈項目平臺Ronin宣布被黑,約超6億美元的加密貨幣被盜.
1900/1/1 0:00:002021年1月14日21:00,由EOS網絡基金會發起的非正式柚談002期開播!本期我們邀請到了邀請到了EOSNationCEODanielKeyes一起聊聊EOS生態二次眾籌平臺Pomelo以.
1900/1/1 0:00:00哈嘍大家好,我是DeFiworld的布哥,2ChoicesDAO的出題貢獻者。今天的話題是:美聯儲加息對Crypto有怎樣的影響?這一期內容我會以普通人的視角來講,讓你盡可能的理解我的每一句話.
1900/1/1 0:00:00美國司法部在2022年2月的一份聲明中宣布,在控制了被盜資金的錢包后,它已成功扣押了2016年對加密交易所Bitifinex的黑客攻擊中流失的大部分比特幣.
1900/1/1 0:00:00近兩年,NFT的熱度持續攀升,還入選了《柯林斯詞典》2021年度熱詞第一名。在明星效應和賺錢效應的刺激下,NFT正以不可阻擋之勢風靡全球.
1900/1/1 0:00:00