比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

BNB:首發 | PancakeBunny閃崩事件最全技術細節剖析

Author:

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

5月20日,CertiK安全技術團隊發現幣安智能鏈DeFi收益聚合器PancakeBunny遭到閃電貸攻擊,發生代幣閃崩事件。

此次事件共損失114,631枚BNB和697,245枚BUNNY,按當時價格計算約合約4200萬美元。?

經CertiK安全團隊調查得出,由于該協議是使用PancakeSwapAMM來進行資產價格計算的,因此黑客惡意利用了閃電貸來操縱AMM池的價格,并利用Bunny在鑄造代幣的時候計算上的問題成功完成攻擊。

攻擊是如何發生的?

本次攻擊,攻擊者總共進行了8筆閃電貸。其中7筆閃電貸來自PancakeSwap流動性池的BNB,另外一筆則來自ForTubeBank的USDT。

技術細節分析

在文中,CertiK安全專家添加了地址標簽,使代幣的流向更加清晰。

攻擊者的地址:https://bscscan.com/address/0xa0acc61547f6bd066f7c9663c17a312b6ad7e187

LBank藍貝殼于4月10日01:00首發 BOSON,開放USDT交易:據官方公告,4月10日01:00,LBank藍貝殼首發BOSON(Boson Protocol),開放USDT交易,4月9日23:00開放充值,4月12日16:00開放提現。上線同一時間開啟充值交易BOSON瓜分10,000 USDT。

LBank藍貝殼于4月10日01:00開啟充值交易BOSON瓜分10,000 USDT。用戶凈充值數量不少于1枚BOSON ,可按凈充值量獲得等值1%的BOSON的USDT獎勵;交易賽將根據用戶的BOSON交易量進行排名,前30名可按個人交易量占比瓜分USDT。詳情請點擊官方公告。[2021/4/7 19:54:33]

攻擊者使用的合約地址:https://bscscan.com/address/0xcc598232a75fb1b361510bce4ca39d7bc39cf498

交易一:?

https://bscscan.com/tx/0x88fcffc3256faac76cde4bbd0df6ea3603b1438a5a0409b2e2b91e7c2ba3371a

LBANK藍貝殼于3月22日18:00首發 DORA,開放USDT交易:據官方公告,3月22日18:00,LBANK藍貝殼首發DORA(Dora Factory),開放USDT交易,現已開放充值。

資料顯示,Dora Factory 是基于波卡的 DAO 即服務基礎設施,基于 Substrate 的開放、可編程的鏈上治理協議平臺,為新一代去中心化組織和開發者提供二次方投票、曲線拍賣、Bounty 激勵、跨鏈資產管理等可插拔的治理功能。同時,開發者可以向這個 DAO 即服務平臺提交新的治理模塊,并獲得持續的激勵。[2021/3/22 19:07:06]

在第一筆交易中,攻擊者完成了兩件事:

①將BNB轉換成"USDT-BNBFLIP"。

②將"USDT-BNBFLIP"存入BUNNY的池子。

攻擊者將FLIP存入資金池,這樣當其在后期調用VaultFlipToFlip合約中的Withdraw()或getReward()函數時,資金池將鑄造BUNNY代幣。

《精靈達人3D》正式首發 Cocos-BCX 主網:據官方消息,近日,由生態合伙人 DAPPX 參與開發的《精靈達人3D》正式首發于游戲公鏈 Cocos-BCX 主網。《精靈達人3D》是一款以精靈寶可夢為題材的抓寵游戲,游戲美術采用全3D 制作。用戶可通過 CocosWallet , DAPPX 或 IMCOCOS 登錄 COCOS 主網賬號即可體驗。截至目前,Cocos-BCX 主網已上線《加密騎士團》《惡龍必須死》《XPEX怪獸世界》《Go Block》《可可奪幣》《熊貓運動會》等多款玩法多樣的趣味性鏈游,游戲公鏈生態在逐步壯大和完善。[2020/8/20]

①"Zap"所做的是將所提供的代幣的一半換成一對中的另一個代幣,并將兩個代幣提供給相應的PancakeSwap池。這也可以通過BUNNY的Dapp前端來完成。

②將USDT-BNBFLIP存入池中。

交易二:?

https://bscscan.com/tx/0x897c2de73dd55d7701e1b69ffb3a17b0f4801ced88b0c75fe1551c5fcce6a979

首發 | 百度財報體現區塊鏈 BaaS平臺成為新戰略重點:金色財經報道,2020年2月28日,百度(股票代碼BAIDU)公布財報,其中將區塊鏈BaaS平臺相關的進展進行了單獨敘述,依托于百度智能云的區塊鏈平臺有望成為技術創新方向的新增長引擎。在AI服務上,百度與上海浦東發展銀行達成合作,共建區塊鏈聯盟,在百度區塊鏈服務(BaaS)平臺上實現跨行信息驗證。[2020/2/28]

在完成第一筆交易將"USDT-BNBFLIP"存入BUNNY資金池之后,攻擊者進行了第二筆交易,這也是大多數人最關注的交易。

接下來把第二筆交易中的發生的所有代幣的轉移分解成多個部分:

①攻擊者從7個不同的PancakeSwap流動性池中利用閃電貸共借了232萬BNB,從ForTube用閃電貸款借了296萬USDT。

然后攻擊者向"USDT-BNB''池提供了7700枚BNB和296萬USDT的流動性,獲得了14.4萬LP代幣。

②攻擊者將從閃電貸中獲得的232萬BNB在PancakeSwapV1池中換取了383萬USDT。

首發 | 《一起來捉妖》中玩家達到22級將會接觸到專屬貓的玩法 ?:今日騰訊上線首款區塊鏈游戲《一起來捉妖》,經金色財經查證,游戲中玩家達到22級將會接觸到專屬貓的玩法,而非此前官方對外宣稱的15級。除了誘貓鈴鐺召喚出的0代貓以及部分通過運營活動獎勵的專屬貓以外,游戲中所有的貓默認都是未上鏈狀態。未上鏈的貓不能出售,也無法進入市場與其他玩家配對;但是你可以使用這些貓與你的QQ/微信好友進行配對,產出新的小貓。使用道具“天書筆”可以將你的貓記錄到區塊鏈。當貓被記錄到區塊鏈以后,這些貓就可以進入市場,通過配對賺取點券,或者出售賺取點券。專屬貓是否上鏈,并不影響它的增益效果。但只有上鏈后,它才能面對全服務器所有的玩家進行繁殖、交易。

?

《一起來捉妖》中的專屬貓玩法,基于騰訊區塊鏈技術,游戲中的虛擬數字資產得到有效保護。此外,基于騰訊區塊鏈技術,貓也可以自由繁殖,并且運用區塊鏈技術存儲、永不消失。[2019/4/11]

由于V1池的BNB和USDT儲備遠少于V2池,V1池的價格更容易被操縱,在將BNB換成USDT后,BNB價格急劇下降。

③上文提到攻擊者在"交易一?"中把"USDT-BNBFLIP"存到BUNNY池,現在攻擊者可以調用"getReward()"函數來鑄造BUNNY。

在調用"VaultFlipToFlip"合約中的"getReward()"函數時產生了大量代幣轉移記錄,如截圖所示。

上圖中這個函數發生的細節如下:

?BUNNYMinterV2從USDT-BNBv2池中取出流動性——從池中取出296萬USDT和7744枚BNB。

?將USDT換成BNB。在ZapBSC合約中使用的是V1PancakeSwapRouter而不是V2。

由于V1池的價格已經被操縱,攻擊者能夠將296萬USDT換成231萬BNB。

然后,一半的BNB被換成BUNNY,另一半的BNB和換來的BUNNY被添加到BNB-BUNNY池中。

現在,大量的BNB被加入到BNB-BUNNY池中,這增加了BNB(reserve0)的數量。

當之后計算要鑄造的BUNNY數量時,這將被用來操縱"valueInBNB"變量。

ZapBSC合約地址https://bscscan.com/address/0xf4c17e321a8c566d21cf8a9f090ef38f727913d5#code

?把標記?中移除流動性獲得的7700BNB交換一半到BUNNY,并將另一半BNB與BUNNY配對,以提供"BNB-BUNNY"池中的流動性。

注意標記?、?和?發生在"BUNNYMinterV2"合約的"mintForV2"函數中的"_zapAssetsToBUNNYBNB"函數調用。

BunnyMinterV2合約地址:https://bscscan.com/address/0x819eea71d3f93bb604816f1797d4828c90219b5d#code

?從標記?和?產生的所有LP代幣都被送到PancakeSwap的BUNNY池中,這是BunnyMinterV2合約中"mintForV2"函數中的這行代碼所執行的結果:

"IBEP20(BUNNY_BNB).safeTransfer(BUNNY_POOL,bunnyBNBAmount);"?

如標記?所示,該合約繼續執行,鑄造了700萬的BUNNY。

那么,是什么原因導致合約鑄造了這么多的BUNNY?呢?

在bunnyMinterV2合約中,要鑄造的BUNNY數量與"valueInBNB"變量有關,該變量是通過`priceCalculator.valueOfAsset(BUNNY_BNB,bunnyBNBAmount)`函數計算得出的。

在函數`valueOfAsset`中,valueInBNB的計算方法是:`valueInBNB=amount.mul(reserve0).mul(2).div(IPancakePair(asset).totalSupply())`

因為在BNB-BUNNY池中有大量的BNB,變量"reserve0"是一個非常大的值,使"valueInBNB"變得很大,所以它最終會增加鑄造的BUNNY數量。

④在收到700萬的BUNNY后,攻擊者在PancakeSwapBNB-BUNNYV1池和V2池中將BUNNY換成BNB。

⑤最后,攻擊者向ForTube和PancakeSwap的7個流動性池償還閃電貸,并將69.7萬枚BUNNY和11.4萬枚BNB轉移到攻擊者的地址。

這種攻擊奏效的原因之一是"ZapBSC"合約使用PancakeSwapV1流動性池,通過V1PancakeSwapRouter進行代幣交換。

很多DeFi項目無法從PancakeSwapV1過渡到V2,因為它們在合約中把PancakeSwapRouter和池子的地址寫死為V1的地址。

由于V1流動性池已經被放棄,它們的池子中代幣的儲備量很低,這使得攻擊者更容易操縱其中的代幣價格。

寫在最后

當前的加密世界中,這樣的閃電貸攻擊和惡意價格操縱必然不會是最后一次。

CertiK建議DeFi項目將其PancakeSwap集成從V1遷移到V2。

同時也可使用時間加權平均價格來避免價格異常波動所帶來的損失,以此防范黑客利用閃電貸攻擊價格預言機。

迄今為止,CertiK已進行了超過700次的審計,保護了超過300億美元的數字資產與軟件系統免受安全損失。

Tags:BNBUNNBUNNYBUNXMASBNB幣Node RunnersBunny InuBunicorn Universal Reward

Gate交易所
GAT:Gate.io Startup首發項目NOA PLAY (NOA)認購結果及上線交易公告

1.關于首發項目NOAPLAY(NOA)認購結果Gate.ioStartup首發項目NOAPLAY代幣NOA于2021年05月20日17:00開始認購下單,22小時內下單同等對待,總共有15.

1900/1/1 0:00:00
BBK:BBKX平臺關于暫停法幣交易與合約交易的公告

親愛的BBKX用戶 BBKX平臺將于2021年5月22日20時暫停法幣交易與合約交易服務,請持有合約倉位的用戶在5月22日18:00前平倉完成合約倉位交割并將您的資產劃轉至幣幣賬戶中.

1900/1/1 0:00:00
GAT:關于WBF上限DCIP理財的公告

尊敬的用戶: WBF將于新加坡時間2021年5月23日12:00上線DCIP定期理財活動,詳情如下: 活動說明: 1.本次活動APP端認購;2.認購后可在“理財”-“理財記錄”中查看詳情;3.額.

1900/1/1 0:00:00
USD:參與庫幣BTC披薩節,贏取最高86,000 USDT總獎金池!

親愛的庫幣用戶: 為了迎接第11次BTC“披薩節”,同時也為了感謝廣大用戶一如既往的支持,庫幣將開啟“披薩節福利回饋”活動,參與即有機會瓜分86.

1900/1/1 0:00:00
TPS:關于WBF上線PSG的公告

尊敬的用戶: WBF即將在開放區歐洲杯板塊上線PSG/USDT交易對,具體上線時間為:充值時間:2021年5月23日11:00交易時間:2021年5月23日11:00提幣時間:2021年5月23.

1900/1/1 0:00:00
比特幣:關于Bingbon開通BEP20(Binance Smart Chain, BSC)網絡充值、提現的說明

尊敬的用戶: 為滿足更多用戶的充提需求,Bingbon現已開通以下代幣的BEP20網絡的充值、提現業務.

1900/1/1 0:00:00
ads