以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

SDC:OneRing Finance閃電貸攻擊事件分析-ODAILY

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

流程

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

NFL愛國者隊新秀Mac Jones將向其隊友贈送比特幣作為圣誕節禮物:12月25日消息,2021年NFL愛國者隊新秀MacJones宣布將向其隊友贈送比特幣作為今年圣誕節禮物,包括DavidAndrews,TrentBrown、YodnyCajuste、YasirDurant、JamesFerentz、JustinHerron、TedKarras、ShaqMason、MikeOnwenu、AlexRedmond、WillSherman、IsaiahWynn。他表示,“我已經研究比特幣有一段時間了。今年我只知道我必須給我的隊友們一些比特幣。”他們將通過SwanBlackCard完成贈送和領取流程。(BitcoinMagazine)[2021/12/25 8:02:38]

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

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

3.使用depositSafe存入79999997的USDC。

Coinone將Ripple支持的無邊界付款擴展至12條走廊:金色財經報道,韓國加密交易平臺Coinone的子公司Coinone Transfer表示,其正在從與Ripple的合作中獲益。其零售匯款服務已將Ripple支持的無邊界付款擴展到12條走廊。當其與合作伙伴在RippleNet上合作時,可以輕松地與解決方案集成,并且由于共享標準流程,因此運營成本較低。[2020/3/3]

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

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

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

公告丨DragonEx上線TAC/USDT交易對:DragonEx將于新加坡時間 2018年6月26日15:30(UTC+8)上線 TAC/USDT 交易對。具體時間如下:6月25日16:00 開放充幣,6月26日15:30 開放交易 。[2018/6/25]

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

8.把1.501miMATIC兌換成1.433USDC。

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

Monex首席執行官:加密貨幣可類比當年衍生品市場:日本在線經紀公司、Coindesk的收購者Monex Group的首席執行官Oki Matsumoto發表言論稱:1980年時,衍生品的概念是令人困惑的,當時只有類似火箭科學家層次的人才能理解,監管機構也很討厭衍生品。但不久之后,監管機構就真正地接受了它們,世界上最大的學校也都開設了金融衍生品的相關課程。如今加密貨幣世界里發生的事情與上世紀80年代的衍生品市場非常相似,該領域的監管框架遲早會被調整到適應它們的發展。[2018/5/2]

細節

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

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

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

Monex的首席運營官Toshihiko Katsuya將出任Coincheck的總裁:據日經新聞最新消息,日本在線券商Monnex將收購數字貨幣交易所Coincheck。收購完成后,Monex的首席運營官Toshihiko Katsuya將出任Coincheck的總裁;Coincheck原總裁和原首席運營官將立即卸任。收購將在本周五左右結束,估值934萬美元。[2018/4/5]

查看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:USDANCNCESDCANONUSD幣Yfive FinanceKuber FinanceUSDC幣

酷幣交易所
DOT:波卡生態周報:Gavin發推分享開發者報告結果:波卡開發者增長顯著,生態遙遙領先-ODAILY

Polkadot生態研究院出品,必屬精品波卡一周觀察,是我們針對波卡整個生態在上一周所發生的事情的一個梳理,同時也會以白話的形式分享一些我們對這些事件的觀察.

1900/1/1 0:00:00
RON:波場TRON賬戶總數突破9100萬-ODAILY

5月7日,據區塊鏈瀏覽器TRONSCAN數據,波場TRON賬戶總數達到91,000,577,正式突破9100萬.

1900/1/1 0:00:00
DOT:波卡生態周報:XCM v3正在接受審查和安全審計 -ODAILY

將質押參數更改為最低提名金額為10DOT、最多提名人為50,000的50號公投已經通過并執行!請注意,這次公投通過并不一定意味著所有提名人都將獲得Staking獎勵.

1900/1/1 0:00:00
CHA:World Mobile與Chainlink達成戰略技術合作-ODAILY

WorldMobileToken很高興地宣布我們與行業領先的去中心化預言機網絡Chainlink達成技術合作.

1900/1/1 0:00:00
GAME:分析GameFi項目的3個指標-ODAILY

Mar.2022,VincyDataSource:FootprintAnalytics-GameFiDatabyChainGameFi的熱度在持續發酵著,涌現許多公鏈和游戲項目.

1900/1/1 0:00:00
RES:如何參加Minterest LBP通證活動-ODAILY

MinterestLBP通證活動 如何參加 開創性借貸協議Minterest由行業領導者創建,通過為用戶提供最高的DeFi的長期收益率旨在為數十億TVL提供服務,挑戰現有DeFi項目.

1900/1/1 0:00:00
ads