1、前言
北京時間3月5日,知道創宇區塊鏈安全實驗室監測到BaconProtocol遭受黑客攻擊損失約958,166美元,本次攻擊利用重入漏洞,并憑借閃電貸擴大收益額。目前攻擊者地址還沒有被加入USDC的黑名單中。
2、分析
攻擊事件如下圖所示,該次攻擊事件的問題點在于lend()函數,攻擊者利用該函數進行重入攻擊。
2.1基礎信息
攻擊合約:0x580cac65c2620d194371ef29eb887a7d8dcc91bf
攻擊者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593
攻擊tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31
寶萊塢明星Amitabh Bachchan將在BeyondLife.club推出NFT系列:8月31日消息,Rhiti Entertainment和GuardianLink.io合資成立的BeyondLife.club周一表示,寶萊塢明星Amitabh Bachchan將在該平臺上推出他的NFT系列。(economictimes)[2021/8/31 22:48:52]
漏洞合約:0x781ad73f140815763d9A4D4752DAf9203361D07D
2.2流程
1.攻擊者通過UniswapV2閃電貸借出6,360,000USDC。
2.用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行2次重入攻擊調用了3次lend()函數鑄造共8,465,943.180104bHOME。
BHEX幣長老:美元貶值將利好加密貨幣和大宗商品:金色財經報道,在5月28日舉辦的《金色百家談 | 美元大幅貶值 穩定幣突破千億 解讀美元貶值對加密后市的影響》直播節目中,BHEX高級研究員、國家黃金分析師幣長老認為,美元貶值對大宗商品是絕對的利好,大宗商品市場在5月前保持了非常強的上漲趨勢,本月由于多種原因出現了大幅調整。加密貨幣從本質上來說,也是一種特殊的商品,在美元泛濫和通脹回歸的時候,大概率會表現的非常強勢。
而對于美元穩定幣市值突破1000億,這說明場外資金還在快速的流入加密市場。雖然近期比特幣價格出現了大幅下跌,但從前100持幣地址的變化趨勢來看,持幣量從5月初的13.2%上升到了13.69%,頭部地址的持幣數量還在小幅增加。目前是519暴跌之后的弱勢尋底階段,可能去測試27000等位置,但是長期看,還是非常看好后期走勢的。[2021/5/28 22:53:01]
3.將剛才重入獲得的bHOME拿去銷毀贖回獲得7,336,924.998USDC。
BHD錢包更新到 v1.4.0:據BHD官網公告,BHD錢包已更新到v1.4.0,此版本錢包更新包含以下內容:
1.Bitcoin Core 升級到 v0.19.1;
2.優化了區塊同步效率;
3.添加 OmniCore v0.8.1 支持;
4.添加對Linux riscv64支持;
5.“getnewaddress” 現在會生成新地址了,其私鑰保存在錢包文件中,
Omni 默認為關閉狀態,需要通過“-omni=1”或在Qt錢包的設置中開啟;
6.官方 Docker 鏡像上架 Docker Hub;
從 v1.4.0 版本開始,BHD錢包將同步更新到 Docker Hub. 詳請見原文鏈接。[2020/6/30]
4、歸還閃電貸借出的6,360,000USDC,并支付19,716的手續費,最后將剩余的957,208.998USDC轉入自己的賬戶。
2.3細節
今日BHD最高漲幅29.3%:據火幣全球站數據顯示,比特硬幣BHD今日最高漲幅29.3%,現報價11.3USDT/枚, 24小時成交額6.38億人民幣,BHD連續兩日持續上漲,累計最高漲幅超57%。[2020/5/2]
該次攻擊事件重點在于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。
公告 | BHEX Chain測試網即將上線:據官方消息,BHEX宣布完成BHEX Chain公鏈的內部開發測試,即將上線開放公測,本次上線的核心功能是通過去中心化托管賦能各類成熟公鏈,實現公鏈之間的資產跨鏈互操作性,公鏈基于獲得了全球專利的MPC私鑰分片技術和分布式賬本技術構建,從密碼學應用的方向實現了創新技術突破,主網上線后,可以通過該公鏈賦能所有公鏈,使所有接入托管的公鏈,都具備和BTC和ETH等主流資產的跨鏈互操作性,比如可以輕松實現在ETH網絡上發行1比1抵押的ERC20 BTC代幣,對去中心化抵押借貸、DEX等應用的生態完善和用戶體驗提升將帶來巨大的幫助。[2020/2/26]
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修飾器來防止重入攻擊的發生。
作為全球最受歡迎的公鏈之一,波場TRON自創立以來始終保持高速發展,生態建設全面開花,各項數據突飛猛進.
1900/1/1 0:00:00薩爾瓦多總統:比特幣火山債券將通過Bitfinex發行據路透社報道,薩爾瓦多正在尋求加密貨幣交易平臺Binance的支持,以完善比特幣作為法定貨幣并發行比特幣債券.
1900/1/1 0:00:00繼前期系列文章,我們探討關于DAO增長規模、二元治理等問題之后,本篇文章DAOrayaki社區將繼續編譯,DAOMMORPG傳說工匠的問題。這個話題已經引起了DAO人的迅速關注.
1900/1/1 0:00:00元宇宙是虛擬增強的物理現實和物理持久的虛擬空間的融合,允許用戶將其作為其中之一來體驗。該術語于1992年在科幻小說《雪崩》中首次提出,由前綴"meta"和詞根"ve.
1900/1/1 0:00:00推薦理由:本文講述了ERC-721R合約標準出現的必要性以及想要實現的目的,接著講述了合約標準的工作原理,并針對幾個關于合約的典型問題進行解釋,可以讓讀者更好地了解ERC-721R合約標準.
1900/1/1 0:00:00音樂有了新的畫布。 通過NFTs直接評價創造者的工作,沒有中間層的干擾。我們正在見證一場新音頻運動革命的早期階段,它憑借“稀缺性”、“粉絲”和“訪問量”驅動.
1900/1/1 0:00:00