ALU:YFV勒索事件分析:DeFi需做好上线前的代码审计工作

YFV是基于以太坊的一个DeFi项目,今天早些时候,YFV官方发文称遭到勒索。攻击者利用staking的合约漏洞,可以任意重置用户锁定的YFV。

并表示,此次事件可能和不久前的『pool0』事件相关,勒索者极有可能是在『pool0』事件中未取回资金的『愤怒的农民』。

MXC抹茶考核区上线VALUE(YFValue),开放USDT交易:据MXC抹茶官方公告,10月6日15:00,MXC抹茶考核区上线VALUE(YFValue),开放USDT交易市场,现已开放VALUE充值与提现。同时,MXC抹茶将第一时间支持YFV兑换为VALUE。

资料显示,VALUE 将具有与 YFV 相同的价格和治理能力,但 VALUE 将允许 YFValue 协议不断发展。VALUE 作为当前 YFV 令牌的技术升级,值可视为 YFV v2。详情请点击原文链接。[2020/10/6]

漏洞分析

火币YFII、SUSHI、YFV、PEARL、GXC和TRB永续合约已正式上线:据火币官方消息,火币YFII(DFI.Money)、SUSHI(Sushi)、YFV(YFValue)、PEARL(Pearl)、GXC(GXChain)和TRB(Tellor)永续合约已于新加坡时间9月9日16点正式上线。用户现可在平台进行划转、交易等操作。

据悉,火币永续合约在每个新品种上线前,平台均会提前配置一定额度风险准备金,以最大可能保护用户权益。在此六大币种上线前,火币合约已向其永续合约风险准备金余额中分别注入30个YFII、36,000个SUSHI、4,500个YFV、80个PEARL、170,000个GXC和3,000个TRB。

此次六大热门币同时上线后,火币永续合约已覆盖了包括LINK、COMP、CRV等24个优质DeFi资产在内的共计五十五大主流币种,成为 一家整体市场份额最大、DeFi等热门资产齐全的币本位衍生品交易所。详情请查看火币合约官网公告。[2020/9/9]

合约存在一个stakeOnBehalf函数使得攻击者可以为任意用户进行抵押,如下图所示:

SUSHI、YFV、UMA上线24H最高涨幅191.15%:据Gate.io行情显示,新交易对SUSHI/ USDT、YFV/ USDT、UMA/ USDT昨日上线后币价持续暴涨,其中SUSHI领涨新交易对,24H最高涨幅达191.15%,当前涨幅120.70%,当前报价2.982美元;YFV 24H最高涨幅127.5%,当前涨幅67.93%,当前报价47.24美元;UMA 24H最高涨幅78.57%,当前涨幅57.61%,当前报价16.55美元。详情见原文链接。[2020/8/31]

Yfv Finance:用户需停止在当前的staking pool中质押YFV,并提取资金:Yfv Finance团队今日发布公告称,团队于昨日发现YFV Staking池中存在一个漏洞,恶意参与者可通过该漏洞对质押中的YFV计时器进行单独重置。目前,已有某个恶意参与者正试图借此敲诈团队,团队已确认这个恶意行为者是一个心怀怨恨的farmer。尽管团队不断地通知和提醒,该恶意参与者还是没有在UTC时间7点52分关闭前将其资金从Pool 0中取出。当听说团队决定把是否拯救其资金的决定留给社区时,该恶意参与者决定诉诸威胁和勒索。

对此,Yfv Finance决定:

1. 通知所有质押用户停止在当前的staking pool中质押YFV,并在计时器允许的情况下尽快取出他们的资金。

2. 在下一个epoch(预计GMT时间8月28日下午2:00:38)销毁当前的YFV staking池。这将相当于15%的供应销毁。如果社区想要一个新的注池,我们会尽快制定一个新的迁移计划。

3. 目前被困在池中的救助资金。团队已经制定了一项解救计划,但出于安全考虑目前不会披露。

4. 将使用发展基金(约30万YFV),补偿任何受到计时器重置攻击而无法从救援计划中受益的社区成员。[2020/8/25]

此函数中的lastStakeTimes=block.timestamp;语句会更新用户地址映射的laseStakeTimes。而用户取出抵押所用的函数中又存在验证,要求用户取出时间必须大于lastStakeTimes+72小时。如下图所示:

UnfrozenStakeTime如下图所示:

综上所述,恶意用户可以向正常用户抵押小额的资金,从而锁定正常用户的资金。

根据链上信息,我们找到了两笔疑似攻击的交易,如下所示:

0xf8e155b3cb70c91c70963daaaf5041dee40877b3ce80e0cbd3abfc267da03fc9

0x8ae5e5b4f5a026bc27685f2b8cbf94e9e2c572f4905fcff1e263df24252965db

其中一笔如下图所示:

此两笔交易都来自同一地址,且均为极小值。由此我们可以基本判定这是一个测试锁死问题的交易。

总结

针对于本次事件,究其根本原因,还是没有做好上线前的代码审计工作。本次事件实际上是属于业务层面上的漏洞。

根据成都链安在代码审计方面的经验,个别项目方在进行代码审计时,未提供完整的项目相关资料,使得代码审计无法发现一些业务漏洞,导致上线后损失惨重。

成都链安·安全实验室在此提醒各项目方:安全是发展的基石,做好代码审计是上线的前提条件。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:46ms0-1:94ms