買以太坊 買以太坊
Ctrl+D 買以太坊
ads

SDC:bHOME重入攻擊事件分析_sdc幣交易

Author:

Time:1900/1/1 0:00:00

1、前言

北京時間3月5日,知道創宇區塊鏈安全實驗室?監測到?BaconProtocol?遭受黑客攻擊損失約958,166美元,本次攻擊利用重入漏洞,并憑借閃電貸擴大收益額。目前攻擊者地址還沒有被加入USDC的黑名單中。

2、分析

攻擊事件如下圖所示,該次攻擊事件的問題點在于lend()函數,攻擊者利用該函數進行重入攻擊。

2.1基礎信息

攻擊合約:0x580cac65c2620d194371ef29eb887a7d8dcc91bf

攻擊者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593

BHD活動總監劉友建:BHD要做共識機制的龍頭幣:據悉,2020年7月4日,由LBank主辦,金色財經聯合協辦的“LBank和他的朋友們-2020百城計劃”分享會在濟南舉行。會上劉友建就“BHD的發展”發表了主題演講,其中就“POC容量證明共識機制”展開了分享:POC與POW一樣安全,幣價有支撐,但是能耗低、噪音少,人人可以參與。同時,他還提及,BHD未來全網容量會達到10,000P,基于容量本位的分布式加密穩定貨幣系統,為應用層服務,做共識機制的龍頭幣。[2020/7/4]

攻擊tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31

漏洞合約:0x781ad73f140815763d9A4D4752DAf9203361D07D

WBF交易所將于6月4日正式上線BHD:據官方消息,新加坡WBF交易所將于2020年6月4日 18:00正式上線BHD,并在主板上線BHD/USDT交易對。

BitcoinHD,中文名“比特硬幣”,代號“BHD”。BHD是基于 Conditioned Proof Of Capacity 的新型加密貨幣,其主要創新點是采用新型的條件化容量證明共識機制,使用硬盤作為共識的參與者,降低電力資源消耗的同時,也降低了參與門檻,讓人人都能開采加密貨幣。硬盤挖礦使得BHD更趨向去中心化,通過以數學算法和分布式開采由此產生信用和價值,增強了共識結構的強度、廣度及安全性。[2020/6/4]

2.2流程

1.攻擊者通過UniswapV2閃電貸借出6,360,000USDC。

動態 | BHD Community 發起的支援武漢活動現已收到1562枚BHD募捐:據BHD Community消息,截止2020年1月30日,BHD Community已收到1562枚BHD的捐贈,價值約78000元,捐款地址:39F8GoUqZDWFh5YHNgEk3UzvBvvbF5DuiA,后續將會換成同等價值的USDT捐贈區塊鏈公益組織,為武漢疫情作出貢獻!疫情不滅,捐款不停,武漢加油![2020/1/30]

2.用閃電貸借出的6,360,000USDC分成3份,去bHOME中進行2次重入攻擊調用了3次lend()函數鑄造共8,465,943.180104bHOME。

3.將剛才重入獲得的bHOME拿去銷毀贖回獲得7,336,924.998USDC。

聲音 | 比特幣龐氏大頭目Amit Bhardwaj:愿意償還最初的投資給受害者:7月19日消息,比特幣龐氏大頭目Amit Bhardwaj提出,愿意向那些因他的騙局而蒙受損失的人償還最初的印度盧比投資。然而受害者想要的是他們加密貨幣的當前價值,而不是最初的投資。印度最大的加密交易所之一Zebpay也被要求協助調查 。[2018/7/19]

4、歸還閃電貸借出的6,360,000USDC,并支付19,716的手續費,最后將剩余的957,208.998USDC轉入自己的賬戶。

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。

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:BHDUSDUSDCSDC比特硬幣bhd有沒有價值USDS幣USDC價格sdc幣交易

酷幣下載
HTT:【獎勵發放】第二彈Animoca Brands 專題活動結束及獎勵發放的公告_USD

尊敬的AAX用戶: AAX於2022年3月4日17:00-2022年3月11日17:00(東八區時間)舉辦的“第二彈AnimocaBrands專題活動--贏取20.

1900/1/1 0:00:00
GATE:Gate.io Presents High Quality Trading Strategies To Facilitate Your Trading Experience_TRA

Gate.ioCopyTradingisnowhometo16quantitativeproducts.

1900/1/1 0:00:00
GAL:Gala Games:傳統游戲人如何打造Web3版Steam平臺_GALA

談及各類區塊鏈游戲,GalaGames一定是我們繞不開的項目。在過去的時間中,GalaGames已經為我們帶來了足夠多的驚喜。NFT)發行在以太坊上.

1900/1/1 0:00:00
NFT:Gate.io NFT INO項目Dragon SB鏈遊NFT已正式上線_NFTY幣

INO鏈遊項目DragonSB限定NFT已正式上線Gate.io,作品總量500個,單個售價150美金,數量有限.

1900/1/1 0:00:00
數字資產:ZT完成KIBA新舊合約置換開放KIBA/USDT交易_數字資產什么意思

親愛的ZT用戶: ZT支持並已經完成KIBA新舊合約置換,新幣已分發完成,用戶的KIBA資產可通過「資產--幣幣賬戶」查詢。充提業務已恢復.

1900/1/1 0:00:00
LABS:Yuga Labs收購之后,CryptoPunks擁有了「商業許可」_PUNT

BoredApeYachtClub和CryptoPunks是目前NFT市場內按市值和底價計算的兩個價值最高的系列.

1900/1/1 0:00:00
ads