以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

OneRing Finance閃電貸攻擊事件分析-ODAILY_USD

Author:

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

前言

北京時間2022年3月22日,知道創宇區塊鏈安全實驗室監測到Fantom生態穩定幣收益優化器OneRingFinance遭到閃電貸攻擊,黑客竊取逾145萬美元。

分析

攻擊事件如下圖所示,該次攻擊事件的問題點在于OneRingFinance直接使用交易對中的reserves來實時進行OShare的價格計算,攻擊者通過Swap操作提高reserves的量,最終拉升OShare的價格,獲取更多的資金。

基礎信息

攻擊合約:0x6A6d593ED7458B8213fa71F1adc4A9E5fD0B5A58

攻擊者地址:0x12EfeD3512EA7b76F79BcdE4a387216C7bcE905e

攻擊tx:0xca8dd33850e29cf138c8382e17a19e77d7331b57c7a8451648788bbb26a70145

漏洞合約:0xc06826f52f29b34c5d8b2c61abf844cebcf78abf

流程

攻擊者的核心攻擊流程如下:

Block.one委托咨詢公司Prysm Group分析EOS公鏈的質押獎勵模型:Block.one最近委托著名咨詢公司Prysm Group對EOS公鏈的質押獎勵模型的影響進行了分析,該分析并不是計劃,僅是對EOS社區的建議。

該分析中的主要思想之一涉及通貨膨脹。目前,EOS的膨脹率為1%,通過將通貨膨脹率提高到1.2%至3.8%之間,可以為投票者和區塊生產商提供經濟激勵。此外,區塊生產商如果表現不盡如人意,可能會引發懲罰效應,從而降低通脹帶來的回報。

從整體通脹率1.2%到3.8%,區塊生產商將獲得至少32%的總通脹回報,這取決于整體通脹率,應占EOS年總供應量的1.2%。根據整體通脹率的不同,質押者最多可獲得總通脹回報的68%。還考慮了提款限額,但前提是EOS社區認為對提款的限制是有益的。該模型建議每7天提款一次,每次提款限額為質押資金的67%。替代方案建議每天限制一次但不限額。

模型既有對良好行為的積極激勵,也有對損害網絡的行為的消極激勵。如果區塊生產商A未能生產,則所有區塊生產商和正在投票/質押的代幣持有人的獎勵也會在一段時間內下降。

Block.one發布了基于質押的投票和獎勵機制代碼,并且為代碼創建了bug賞金程序。(EOS.Writer)[2021/5/3 21:20:26]

攻擊者從USDC/MIM交易對中閃電貸借出8000W的USDC到攻擊合約中。

美國政府要求將OneCoin Konstantin Ignatov的判決日期延期約三個月:紐約南區法院繼續對欺詐性加密貨幣計劃OneCoin和一些與之相關的個人提起訴訟。4月6日,美國政府向法院遞交了一封信。FinanceFeeds看到的文件與KonstantinIgnatov有關。針對Ignatov的判決控制日期目前定為4月8日上午11:00。由于Ignatov的合作尚未完成,政府要求將判決日期推遲大約三個月。(FinanceFeeds)[2020/4/7]

2.攻擊者使用swap把1USDC兌換成1.001miMATIC。

3.使用depositSafe存入79999997的USDC。

4.合約mint給攻擊者41965509OShare,此時攻擊者還有2USDC和1.001miMATIC。

5.攻擊者將2USDC和0.326miMATIC添加流動性,獲得7.82x10<sup>-7</sup>spLP。

動態 | BigONE宣布支持 YAS 主網 并開通 YAS 主網幣交易:據官方消息,YAS 主網幣已在 BigONE 開通交易,“YAS Mainnet”充值和提現也已開啟。作為支持 YAS 主網的交易平臺,BigONE 與 YAS 項目方達成合作,YAS 用戶可以在 BigONE 方便快捷的置換 YAS 主網代幣。

?

YAS Network 是 EOS 的姐妹鏈。 EIDOS 和 YAS 可以雙向轉換。 用戶可以將一些 EIDOS 轉移到合約“ yasminttoken”,合約將返回相應的 YAS 數量。

?

BigONE 是一家誠信、安全、專業、共贏的全球區塊鏈數字資產托管及交易平臺,為用戶提供現貨交易、杠桿合約、托管理財等全品類、一站式的數字資產相關服務。[2020/2/10]

6.將41965509的OSharewithdraw兌換成81534750的USDC。

動態 | Block.one同意通過支付2400萬美元罰款與SEC和解:據SEC官網消息,美國證券交易委員會(SEC)今天裁定EOS背后的區塊鏈技術公司Block.one違反了聯邦證券法的注冊規定,要求其為未注冊的ICO支付2400萬美元罰款。據悉,Block.one被指控在2017年6月至2018年6月之間進行未經注冊的數字代幣ICO,籌集了相當于數十億美元的資金。該公司已同意通過支付2400萬美元的民事罰款來解決這些指控。 Block.one同意該命令,但不承認或否認其調查結果。[2019/10/1]

7.移除流動性獲取0.790USDC和0.862miMATIC。

8.把1.501miMATIC兌換成1.433USDC。

9.歸還8000WUSDC和80080USDC的手續費,最凈獲得1534750-80080=1454670USDC

EOS今日將上線韓國交易所COINONE:據韓國交易所COINONE公告,今日將上線EOS并支持將6月推出的EOS主網令牌交換(EOS MainNet Token Swap)。公告稱,將于4月24日9時開放EOS的充值業務,當日11點開放EOS/KRW交易。EOS現全球均價12.32美元,漲幅5.84%。[2018/4/24]

細節

攻擊者在攻擊之前通過CelerNetwork的cBridge跨鏈獲得了發起攻擊所需的gas。

通過流程第二步我們可以看出當時USDC和miMATIC的兌換率為約1:1.001,而通過流程第三步和第四步的swap后可以在第五步中看到USDC和miMATIC的兌換率變成了約1:0.163,所以我們需要重點分析deposit函數和withdraw中計算價格的問題。

分析交易的Debugger,可以看到調用的是depositSafe函數。

查看depositSafe函數,其內部會調用_deposit函數,繼續跟進,發現在_deposit函數中又調用了_doHardWorkAll函數,最后mintOShare給攻擊者。

而在_doHardWorkAll函數中使用了for循環將部分存入的USDC全部兌換成其他的代幣。

執行此次depositSafe函數時getSharePrice計算的OShare價格為1062758591235248117。

接下來我們看下getSharePrice函數的代碼,在getSharePrice函數中調用了balanceWithInvested函數,而在balanceWithInvested函數中又調用了investedBalanceInUSD函數。

繼續跟進,investedBalanceInUSD函數是在合約MasterChefBaseStrategy中,其合約地址為:https://ftmscan.com/address/0xdbc07e219ba0cb5fddcd0fa0c5cc1eddfb77e082#code

investedBalanceInUSD函數返回的是getUSDBalanceFromUnderlyingBalance函數,在getUSDBalanceFromUnderlyingBalance函數中可以發現合約使用兩個代幣的數量進行計算,而前面攻擊者由于閃電貸存入了大量的USDC,從而使得最終的_amount的值也變大了。再次回到getSharePrice函數中就可以發現,_sharePrice也會相應變大。

流程第六步使用了withdraw函數。

在withdraw函數中我們發現同樣調用了getSharePrice計算OShare價格,在該階段為1136563707735425848,OShare的價格的確變大了,而最終的取款數量是通過內部調用_withdraw函數計算得到的。

_withdraw函數中最終取款的值為_realWithdraw,而_realWithdraw=_toWithdraw.mul(uint256(10)**uint256(ERC20(_underlying).decimals())).div(uint256(10)**uint256(decimals()));,所以我們再看到_toWithdraw,發現其值同樣是由balanceWithInvested計算得到的,所以這就會導致最終將OShare兌換成USDC變多。

總結一下:

USDC↑->_amount↑->getUSDBalanceFromUnderlyingBalance(_underlyingBal)↑->investedBalanceInUSD()↑->balanceWithInvested()↑->_sharePrice↑

USDC↑->_amount↑->getUSDBalanceFromUnderlyingBalance(_underlyingBal)↑->investedBalanceInUSD()↑->balanceWithInvested()↑->_toWithdraw()↑->_realWithdraw()↑

后續處理

針對此次攻擊,OneRingFinance團隊采取了四種補救措施,包括暫停保險庫,分析、調試、修復漏洞,通過財政庫還款,以及提供漏洞賞金。

保險庫狀態:保險庫已暫停,OneRingFinance團隊正在努力重新設置。

分析、調試、修復:OneRingFinance團隊已工作了很多小時,來修復允許黑客執行這次攻擊的問題,團隊已與許多合格開發者、協議合作,以查漏協議中所有的代碼,協議有漏洞是完全出乎意料的,甚至對一些高級開發人員來說也是如此,因為他們以前審查過OneRingFinance的代碼。

通過協議財政部還款:該團隊正在制定一項計劃,為受影響的人提供具體的中長期還款計劃。

賞金:團隊將提供被盜資金的15%以及100萬RING代幣,作為黑客返還資金的賞金。

總結

該次攻擊事件是由于項目使用實時儲備量來計算價格導致攻擊者通過閃電貸借出大量USDC并存入使得儲備量增大拉升OShare價格造成差值從而獲利。

Tags:USDANCNCEONEUSDFL幣Rotex FinanceNew Chance Tokenonekeytools怎么安裝到PPT

中幣下載
談談DEX:深入研究去中心化的交易所-ODAILY_DEX

也許你已經知道WMT上線CardanoDex的消息。為防止你在我們的Telegram頻道看到“WENDEX”時滿頭問號,今天我們來講講“DEX”.

1900/1/1 0:00:00
DAOrayaki:抽簽二次方投票-ODAILY_DAO

包括二次方投票在內的所有投票的弱點之一是,對于任何大規模的問題,每個人影響結果的能力是如此之小。因此,深刻反映和理解自己對問題的真實信念的動力是微乎其微的。以美國大選為例.

1900/1/1 0:00:00
Crosswise攻擊事件分析:“一兩撥千金”-ODAILY_CRO

前言 2022年1月18日,知道創宇區塊鏈安全實驗室監測到BSC上Crosswise遭遇攻擊,此次攻擊導致協議損失87.9萬美元.

1900/1/1 0:00:00
Ronin安全事件分析-ODAILY_RON

前言 Ronin是新加坡游戲工作室SkyMavis開發的,是為支持游戲AxieInfinity而構建的以太坊側鏈,使得用戶能夠自由地將資產轉移到其他鏈上.

1900/1/1 0:00:00
俄烏局勢帶崩股市比特幣,區塊鏈究竟是不是「羅生門」?-ODAILY_區塊鏈

北京時間2月24日,俄羅斯總統普京正式宣布于烏克蘭頓巴斯地區開展“軍事行動”,烏克蘭總統隨即宣布全國進入戰時狀態。對,不是吃雞,不是坦克世界,而是真正的戰爭.

1900/1/1 0:00:00
SupraOracles專題報告:詳解流動性挖礦-ODAILY_SUP

流動性挖礦涉及在智能合約中存入加密資產,以換取收益 流動性挖礦可能涉及相當大的風險。本文僅用于教育目的,不應被視為財務建議。在做出任何投資決定之前,請考慮您的個人風險狀況.

1900/1/1 0:00:00
ads