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

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

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支持的質押代幣池有以下幾個:

五部門:利用區塊鏈等現代信息技術 推進銀行函證數字化轉型工作:1月30日消息,財政部發布《關于開展銀行函證試點工作的通知》,財政部、人民銀行、國資委、銀保監會、證監會聯合在部分上市公司、會計師事務所和銀行業金融機構開展銀行函證試點工作。《通知》指出,試點會計師事務所、試點銀行應分別整合內部函證申請和回函業務,集中開展銀行函證工作,保障函證質量,防范舞弊風險。利用區塊鏈等現代信息技術,推進函證數字化轉型工作,加快銀行函證數字平臺建設,提升函證工作效率效果。(財聯社)[2022/1/30 9:22:21]

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

江蘇:農村土地流轉基于區塊鏈技術實現“云簽約”:江蘇省鹽城市射陽縣是全國土地流轉合同網簽試點縣,農村土地流轉合同“云簽約”活動6日在射陽舉行。流出方、流入方、鑒證方在各自辦公地,分別通過江蘇省農村產權交易信息服務平臺網站或手機App,基于區塊鏈技術完成合同網上簽署。江蘇省委農辦主任、省農業農村廳廳長楊時云介紹,這是江蘇首次在農村產權交易領域引入區塊鏈技術開展的電子合同簽署及存證應用,實現了農村產權交易電子合同簽署過程中“簽署主體身份真實有效、簽署時間客觀真實”,保證了電子合同安全可靠。(新華網)[2020/5/8]

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

聲音 | 上交所王建國:區塊鏈技術開始探索在資產證券化領域的運用:據證券日報報道,?5月18日,《清華金融評論》·金融大家評第18期在清華大學主樓后廳舉辦,上海證券交易所債券業務中心副總經理王建國表示,金融科技創新開始滲透到債券市場的方方面面,并展示出巨大的發展空間。在產品創新方面,以資產支持證券(ABS)為例,金融科技在ABS基礎資產形成、產品設計、存續期管理和風控等各個環節均有應用場景。區塊鏈技術也開始探索在資產證券化領域的運用,借助區塊鏈技術,資產證券化參與各方可對底層資產進行更有效的動態,有助于提升信息透明度、提高操作效率并降低風險。[2019/5/21]

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

金色財經獨家分析 區塊鏈“硬提升” 推動技術突破:昨日消息,嘉楠耘智申請赴港IPO,招股書中披露了4倍的營收增長和接近7倍的凈利潤增長,融資金額有望達到1000億元。提供硬件支持,無疑是在做實業。此前工信部于佳寧一行調研嘉楠耘智曾經表示了對于嘉楠耘智的看好,并稱贊其為區塊鏈正能量,也體現出專注芯片領域對于整個信息技術產業的價值所在。金色財經分析,技術的提升不僅包括軟件的提升,硬件也不可缺少,而且相互作用。摩爾定律揭示了信息技術進步的速度,安迪-比爾定律體現了軟件功能的增強和改進要不斷地吃掉硬件性能的提升。而在區塊鏈領域,更加飛速的進展對硬件提出新的要求,尤其是在加密數字領域,硬件的發展也在推動軟件的進步。日前Penta首席科學家Steve Melnikoff也再次指出,區塊鏈在量子計算面前并非毫無招架之力,比特幣和其他加密貨幣也會采取相應措施,比如提高芯片性能,但區塊鏈公司必須提前布局,在一定程度上對平臺和基礎設施進行靈活設計,確保其系統能夠盡可能方便地從傳統架構轉移到后量子架構。可見,硬件的發展對于區塊鏈行業至關重要,也將不斷推動區塊鏈技術的提升。[2018/5/16]

通過分析計算收益和領取收益的代碼,發現邏輯也很簡單,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:STASTAKSTAKE區塊鏈Hest Stakestake幣最新消息PSTAKE區塊鏈技術發展現狀和趨勢

酷幣交易所
USH:從戰略高度看DeFi的光明前景

這場大跌還在持續,并且絲毫沒有緩和的跡象,很多幣已經跌到面目全非,看上去比特幣隨時可能跌穿1萬美元、以太坊隨時跌穿300美元.

1900/1/1 0:00:00
HEDG:Synthetix生態的資產管理協議dHedge為何受眾DeFi投資基金青睞?

編者按:本文來自鏈聞ChainNews,星球日報經授權發布。dHedge預計將在今年9月推出,為普通投資者提供一個「讓自己成為加密對沖基金經理」的機會.

1900/1/1 0:00:00
EFI:幣市飛瀑, 又現一夜暴「負」

“好嗨喲!感覺人生已經到達了高潮,感覺人生已經到達了巔峰……”9月的第一天,祁強興奮地在微信朋友圈這樣寫道.

1900/1/1 0:00:00
ERA:Deribit期權市場播報:0908 — IV高企

隨著期權市場的快速發展,隱含波動率IV作為期權最重要的一項數據被越來越多的交易者重視。IV一般隨著行情波動而上升,隨著開始橫盤而下降.

1900/1/1 0:00:00
數字貨幣:和你息息相關:DCEP 能否領跑?各國數字貨幣都在搞什么?

2020年8月29日,有細心的朋友發現建設銀行突然在App內短暫上線了DCEP數字錢包,為我們展現了DCEP應用的廬山真面目.

1900/1/1 0:00:00
DEF:全球DeFi孵化工場DeFictory成立,并公布首批理事會成員

8月28日,全球DeFi孵化工場DeFictory在京宣布成立,DeFictory由區塊鏈行業媒體平臺Odaily星球日報和區塊鏈營銷咨詢公司WXY聯合創立.

1900/1/1 0:00:00
ads