YFV是基于以太坊的一个DeFi项目,今天早些时候,YFV官方发文称遭到勒索。攻击者利用staking的合约漏洞,可以任意重置用户锁定的YFV。
并表示,此次事件可能和不久前的『pool0』事件相关,勒索者极有可能是在『pool0』事件中未取回资金的『愤怒的农民』。
漏洞分析
Gate.io完成YFV置换为VALUE代币并上线VALUE交易:据官方公告,Gate.io已经完成将平台用户持仓YFV按照1:1比例置换为VALUE代币,并已上线VALUE交易。请务必了留意市场行情变化,及时调整订单。[2020/10/15]
合约存在一个stakeOnBehalf函数使得攻击者可以为任意用户进行抵押,如下图所示:
Gate.io行情:YFV 24H最高涨幅37.29%:据Gate.io行情显示,截至今日10:30,交易对YFV/USDT 24H涨幅最高达37.29%,当前涨幅21.44%,24H最高价格6美元,当前报价5.55美元。近期行情波动较大,请注意控制风险。[2020/10/10]
此函数中的lastStakeTimes=block.timestamp;语句会更新用户地址映射的laseStakeTimes。而用户取出抵押所用的函数中又存在验证,要求用户取出时间必须大于lastStakeTimes+72小时。如下图所示:
火币将于9月9日上线YFII、SUSHI、YFV、PEARL、GXC和TRB永续合约:据火币合约官方公告,火币合约将于新加坡时间9月9日16点上线YFII(DFI.Money)、SUSHI(Sushi)、YFV(YFValue)、PEARL(Pearl)、GXC(GXChain)和TRB(Tellor)永续合约,13点开启资金划转,16点正式交易,支持1x-75x倍数。
此前,火币永续合约已涵盖BTC、ETH、LINK、CRV等在内的四十九大主流热门币种。据悉,新上线的六大热门币种永续合约均无交割日期,合约面值均为10美元/张,合约标的均为其对应数字资产的现货美元指数,且每8小时结算一次,结算时间戳分别为4:00、12:00和20:00(GMT+8),用户已实现盈利在结算后可立即提取。详情请查看火币合约官网公告。[2020/9/8]
UnfrozenStakeTime如下图所示:
综上所述,恶意用户可以向正常用户抵押小额的资金,从而锁定正常用户的资金。
根据链上信息,我们找到了两笔疑似攻击的交易,如下所示:
0xf8e155b3cb70c91c70963daaaf5041dee40877b3ce80e0cbd3abfc267da03fc9
0x8ae5e5b4f5a026bc27685f2b8cbf94e9e2c572f4905fcff1e263df24252965db
其中一笔如下图所示:
此两笔交易都来自同一地址,且均为极小值。由此我们可以基本判定这是一个测试锁死问题的交易。
总结
针对于本次事件,究其根本原因,还是没有做好上线前的代码审计工作。本次事件实际上是属于业务层面上的漏洞。
根据成都链安在代码审计方面的经验,个别项目方在进行代码审计时,未提供完整的项目相关资料,使得代码审计无法发现一些业务漏洞,导致上线后损失惨重。
成都链安·安全实验室在此提醒各项目方:安全是发展的基石,做好代码审计是上线的前提条件。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。