YFV是基于以太坊的一个DeFi项目,今天早些时候,YFV官方发文称遭到勒索。攻击者利用staking的合约漏洞,可以任意重置用户锁定的YFV。
并表示,此次事件可能和不久前的『pool0』事件相关,勒索者极有可能是在『pool0』事件中未取回资金的『愤怒的农民』。
漏洞分析
Poloniex交易所开放YFL和YFV的交易:加密货币交易所Poloniex宣布开放YFL(YF Link)和YFV(YFVault)的交易。YFL目前价格为1618.33美元,近24小时上涨约8%。YFV目前价格为58.84美元,近24小时下跌近22%。[2020/9/3]
合约存在一个stakeOnBehalf函数使得攻击者可以为任意用户进行抵押,如下图所示:
BKEX Global将于今日17:30首发上线YFV:据BKEX Global公告,BKEX Global将于2020年8月23日17:30(UTC+8)首发上线YFV(YFValue),开放交易对:YFV/USDT。
YFV是YFValue协议的管理令牌。该项目旨在通过其独特功能(包括供应通货膨胀率的投票和自动转介系统),为所有用户提供真正的增产农业融资价值。完全在链上完成刻录。[2020/8/23]
此函数中的lastStakeTimes=block.timestamp;语句会更新用户地址映射的laseStakeTimes。而用户取出抵押所用的函数中又存在验证,要求用户取出时间必须大于lastStakeTimes+72小时。如下图所示:
DeFi项目YFValue针对包括小玩家在内的所有用户启动流动性挖矿计划:DeFi项目YFValue协议于本周启动流动性挖矿计划,致力于通过通货膨胀率可链上投票、自动推荐(Referral )等独特功能为包括小玩家在内的所有用户提供流动性挖矿收益,用户可直接质押稳定币和其他加密货币。
YFV是该协议的治理代币,YFV.Finance是DeFi 收益聚合器。YFV总供应量为2100万枚,分配在11个池子中,具体分发时间会根据YFV农耕者(Farmer)的投票进行更改。另外,YFValue还引入了两个基于弹性供应模型的新代币,分别为vUSD和vETH。vUSD和vETH将根据市场具体情况扩大或减少供应量,旨在将价格固定为1 vUSD 等于1美元,1vETH等于1 ETH。[2020/8/23]
UnfrozenStakeTime如下图所示:
综上所述,恶意用户可以向正常用户抵押小额的资金,从而锁定正常用户的资金。
根据链上信息,我们找到了两笔疑似攻击的交易,如下所示:
0xf8e155b3cb70c91c70963daaaf5041dee40877b3ce80e0cbd3abfc267da03fc9
0x8ae5e5b4f5a026bc27685f2b8cbf94e9e2c572f4905fcff1e263df24252965db
其中一笔如下图所示:
此两笔交易都来自同一地址,且均为极小值。由此我们可以基本判定这是一个测试锁死问题的交易。
总结
针对于本次事件,究其根本原因,还是没有做好上线前的代码审计工作。本次事件实际上是属于业务层面上的漏洞。
根据成都链安在代码审计方面的经验,个别项目方在进行代码审计时,未提供完整的项目相关资料,使得代码审计无法发现一些业务漏洞,导致上线后损失惨重。
成都链安·安全实验室在此提醒各项目方:安全是发展的基石,做好代码审计是上线的前提条件。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。