比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Pol幣 > Info

技術拆解YFValue合約漏洞,一行代碼如何鎖定上億美元?_STA

Author:

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

編者按:本文來自慢霧科技,Odaily星球日報授權轉載。前言

據鏈聞消息,DeFi項目YFValue發布公告稱,團隊于昨日在YFV質押池中發現一個漏洞,惡意參與者借此漏洞對質押中的YFV計時器單獨重置。目前已有一個惡意參與者正試圖借此勒索團隊。慢霧安全團隊對此進行了深入分析,以下是相關技術細節。細節分析

以上是YFValue的官方說明(來源:https://medium.com/),從聲明中我們可以得知是YFV抵押池出現了問題,惡意的用戶可重置YFV抵押者的計時器,對YFV的抵押者造成不便,但這并不會導致資金損失。通過登陸YFValue的官方網站,(https://yfv.finance/staking),可以發現在YFValue的體系中,用戶可通過質押相關的代幣獲取對應的獎勵,目前YFValue支持的質押代幣池有以下幾個:

美國技術法案創建白宮區塊鏈和加密貨幣問題顧問:金色財經報道,一項旨在促進計算機芯片制造的美國法案將提交給總統拜登,該法案還將在其政府內部建立加密咨詢角色。周四眾議院投票后,兩黨立法通過了國會兩院,將設立一名新的區塊鏈和加密貨幣問題顧問,他將在科技政策辦公室工作。國會區塊鏈核心小組聯合主席、加密貨幣支持者、眾議員 Darren Soto表示,我很自豪能夠制定必要的政策,以確保我們的政府繼續形成創新。

白宮科學辦公室受總統關于加密的行政命令的指示,分析數字資產對氣候變化的影響,并在今年晚些時候提交一份報告。該辦公室在 3 月份就該報告征求了公眾意見。(Coindesk)[2022/7/29 2:45:14]

河北建設與華美宏道基于區塊鏈技術的I-REC完成10萬張交割:4月27日消息,近日,河北建投集團和華美宏道香港股份有限公司之間首筆基于區塊鏈技術的I-REC(國際可再生能源證書)跨國交易在極凈星球數字化碳資產OTC平臺上完成10萬張交割。據介紹,極凈星球是全球首個以區塊鏈為核心的碳資產平臺。(36氪)[2022/4/27 2:34:01]

可以看到,目前由于漏洞的原因,YFV的抵押池已經在UI界面關閉了抵押功能,但是合約上目前還沒關閉代幣抵押的功能,我們需要跟蹤代碼來分析具體的細節點。根據官網提供的Github地址,我們溯源到了相關的代碼倉庫(https://github.com/yfv-finance/audit),關于YFV抵押的相關邏輯在YFV_Stake.sol合約中,合約中關于抵押的函數有2個,分別是stake函數和stakeOnBehalf函數,以下是具體的代碼:

金色相對論 | 初夏虎:國內區塊鏈基礎技術和應用落地是占據優勢的:在今日的金色相對論中,元界創始人初夏虎發言指出:海外和國內的氛圍很不同,其實國內的基礎區塊鏈技術并不輸給海外,比如密碼學技術。區塊鏈應用落地,我們國內是領先于海外的,如同互聯網一樣,我們國內的應用場景非常豐富,用戶數量很大,培養用戶的習慣比海外用戶容易,資金也非常充足,所以我們區塊鏈落地應用會比海外要容易很多。但是,DEFI,分布式金融的研究和項目,在海外已經大有取代傳統金融之勢,我希望這個國內的區塊鏈研究者能快速跟上。[2020/1/22]

通過代碼不難發現,無論是stake函數還是stakeOnBehalf函數,邏輯基本是一樣的,首先是校驗了抵押金額不能為0,接著分別調用上層的tokenStake和tokenStakeOnBehalf函數。緊接著更新用戶的抵押時間。只不過stakeOnBehalf函數可以用于為他人抵押。tokenStake和tokenStakeOnBehalf的代碼如下:

動態 | 日本經濟產業省將利用區塊鏈技術在線發放大學學位證書:據日經消息,日本經濟產業省將利用區塊鏈技術在線發放大學學位證書。[2018/6/26]

可以看到這里只是簡單的把對應的token用transferFrom的方式轉入到合約中,沒有什么特別的邏輯點。到這里整個抵押流程就很清晰了,接下來是收益的過程。計算用戶收益的是stakeReward函數,領取收益的為withdraw函數,代碼分別如下:

通過分析計算收益和領取收益的代碼,發現邏輯也很簡單,stake函數首先是通過updateReward修飾器更新了用戶的獎勵,然后使用getReward函數計算了用戶的獎勵,并把抵押時間設置成當前區塊時間。最后,用戶在提取獎勵的時候,withdraw函數會首先計算當前的區塊時間,再與unfrozenStakeTime函數中計算出的時間進行對比,只有當前區塊時間大于unfrozenStakeTime計算出的時間,才允許提現。unfrozenStakeTime的代碼如下:

從代碼中得知,unfrozenStakeTime是使用用戶的上次抵押時間加上FROZEN_STAKING_TIME常量得出鎖定時間,只要超過時間,就能通過withdraw函數提現收益。整個抵押和領取收益的簡化流程如下:

分析了一大堆,回到我們最初的問題,惡意的用戶是怎么鎖定其他用戶的資產的呢?回到用戶抵押的邏輯,可以發現抵押邏輯中的stakeOnBehalf函數本意是幫助進行抵押,但是這里有個問題,如果這個用戶先前已經有抵押了呢?那通過對已經抵押的用戶再次進行抵押,比方說抵押1個YFV,是不是就能以極低的成本重置已抵押的用戶的計時器,導致用戶在withdraw時無法成功調用。更進一步,假設YFV抵押用戶已經成功調用了stakeReward函數,在快要達到unfrozenStakeTime所規定的時間時,惡意的用戶可以通過stakeOnBehalf函數給這個用戶抵押少量資產,即可再次對抵押獎勵進行鎖定,理論上這樣往復循環,即可使用戶無法取出自己的資產,但這個問題并不會導致資金損失。攻擊流程如下:

前車之鑒

這是本月出現的第二個沒有經過審計的DeFi項目所暴露出的風險,根據YFValue的官方聲明(https://medium.com/),項目代碼是由富有經驗的開發者進行開發的,同時借鑒了其他成功的項目的代碼,但是仍無可避免的出現了風險。術業有專攻,安全審計一方面需要項目方的正向思維,另一方面,還是需要專業的安全團隊的逆向思維,從專業的黑客角度進行模擬對抗,發現問題。修復方案

通過分析代碼和漏洞細節,針對本次漏洞,修復方案也很簡單,只要在抵押的時候檢查用戶的抵押狀態是否為已經抵押,如果已經抵押,則不允許再次抵押。或者對每次的抵押進行單獨的處理,不能對先前的抵押狀態產生影響。

Tags:STAKSTASTAKE區塊鏈Liquid Staking Derivativestars幣最新消息Ethereum Stake區塊鏈技術就業前景

Pol幣
星球前線|DeFi熱潮推動幣安8月期貨交易量創新高_DEF

本文來自 Decrypt ,作者:ShauryaMalwaOdaily星球日報譯者|余順遂 摘要: 幣安在8月份創下有史以來最高的期貨交易量。比特幣和各種山寨幣的期貨總交易額達到1950億美元.

1900/1/1 0:00:00
孫宇晨的黃粱大夢_UST

編者按:本文來自鏈捕手,作者:胡韜,Odaily星球日報經授權轉載。出師不利在以太坊DeFi生態如火如荼地涌現發展之際,孫宇晨與他的波場一如既往地「雖遲但到」.

1900/1/1 0:00:00
Filecoin測試網終上線,最終會被證偽嗎?_ECO

今天凌晨,Filecoin官方宣布已啟動測試網獎勵計劃,一直跳票推遲上線的Filecoin總算有了具體的消息.

1900/1/1 0:00:00
SushiSwap將迎來轉折點?FTX創始人SBF分享后期發展想法_SHI

編者按:本文來自藍狐筆記,Odaily星球日報經授權轉載。SushiSwap這兩周發生的事情絕對是加密史上最跌宕起伏的故事之一.

1900/1/1 0:00:00
壽司蹲完泡菜蹲千倍年化驚呆眾人,V神透露對DeFi挖礦的憂慮_CEL

編者按:本文來自風火輪社區,作者:佩佩,Odaily星球日報經授權轉載。是不是不睡覺就容易餓,怎么defi圈的項目都取的個菜名,最早說咱“干農活”的,種點各種蔬菜,也還對應,現在直接演變成各種美.

1900/1/1 0:00:00
比特幣價格將飆升至50萬美元?Winklevoss給出了最終看漲的理由_比特幣

編者按:本文來自Cointelegraph中文,作者:JOSEPHYOUNG,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
ads