月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 比特币 > 正文

STAK:技术拆解YFValue合约漏洞,一行代码如何锁定上亿美元?_STAKE

作者:

时间: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支持的质押代币池有以下几个:

QTC CEO:搜索技术的升级将促进元宇宙的发展:据官方消息,近日,QTC CEO Shoaib Hayat接受专访时表示:QitChain的生态体系建设方案可概括为“三核二辐射带”,包括Qitchain Network、Qit Search、Qit Metaverse、服务辐射带、技术辐射带。同时介绍了QitChain如何在去中心化的前提下,确保数据的真实有效性与安全性,目前QitChain使用边缘计算技术,可以让数据在产生的时候即时的在个人web端就进行加密并存储,保证其真实性,分散性,安全性和完整性。

并表示,搜索技术的升级将能够更好的服务WEB3.0的基础设施,同时将促进元宇宙的发展。[2021/11/27 12:35:59]

声音 | 挪威工程院院士:区块链技术安全主要体现在分布式存储架构和去中心化两方面:据大河网报道,4月21日,河南省区块链技术研究会揭牌仪式暨中国区块链技术与产业高层峰会在郑州举行,挪威工程院院士容淳铭在接受大河网记者专访时表示, 简单地说,区块链就是一种去中心化的分布式账本数据库。去中心化,即与传统中心化的方式不同,这里是没有中心,或者说人人都是中心;分布式账本数据库,意味着记载方式不只是将账本数据存储在每个节点,而且每个节点会同步共享复制整个账本的数据。同时,区块链还具有去中介化、信息透明等特点。安全是区块链技术的一大特点,主要体现在两方面:一是分布式的存储架构,节点越多,数据存储的安全性越高;二是其防篡改和去中心化的巧妙设计,任何人都很难不按规则修改数据。[2019/4/22]

可以看到,目前由于漏洞的原因,YFV的抵押池已经在UI界面关闭了抵押功能,但是合约上目前还没关闭代币抵押的功能,我们需要跟踪代码来分析具体的细节点。根据官网提供的Github地址,我们溯源到了相关的代码仓库(https://github.com/yfv-finance/audit),关于YFV抵押的相关逻辑在YFV_Stake.sol合约中,合约中关于抵押的函数有2个,分别是stake函数和stakeOnBehalf函数,以下是具体的代码:

动态 | Ripple前首席技术官推出区块链项目封闭测试版:据coindesk报道,由Ripple前首席技术官Stefan Thomas创立的公司Coil推出了一个区块链项目的封闭测试版。该项目于5月宣布,旨在让网络内容创作者更好地将他们的工作货币。在一次采访中,Thomas详细介绍了该封闭测试版,并将该计划描述为一种为内容创作者提供公平竞争的方法。[2018/9/1]

通过代码不难发现,无论是stake函数还是stakeOnBehalf函数,逻辑基本是一样的,首先是校验了抵押金额不能为0,接着分别调用上层的tokenStake和tokenStakeOnBehalf函数。紧接着更新用户的抵押时间。只不过stakeOnBehalf函数可以用于为他人抵押。tokenStake和tokenStakeOnBehalf的代码如下:

蚂蚁金服副总裁蒋国飞:2018年业界会持续高度关注区块链技术发展 :蚂蚁金服副总裁、技术实验室负责人蒋国飞认为,2018年业界会持续高度关注区块链技术发展:1. 在金融服务和供应链管理等场景中,一些区块链应用会从概念性证明阶段(PoC)落地到实际商用系统。越来越多的传统行业会思考已有商业模式,拥抱尝试区块链技术。2. 共识机制和网络决策等核心技术发展会持续改善区块链系统的性能和规模。在比特币和以太坊后,会出现第三代区块链技术架构。3. 零知识证明等方面的进展会改进区块链系统上的安全和隐私模型, 进一步解决互信和隐私的矛盾。4. 在多个平台共存的情况下,跨平台多链互联,实现跨链价值转移和数据交换会成为区块链技术的一个重点。[2018/2/10]

可以看到这里只是简单的把对应的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/),项目代码是由富有经验的开发者进行开发的,同时借鉴了其他成功的项目的代码,但是仍无可避免的出现了风险。术业有专攻,安全审计一方面需要项目方的正向思维,另一方面,还是需要专业的安全团队的逆向思维,从专业的黑客角度进行模拟对抗,发现问题。修复方案

通过分析代码和漏洞细节,针对本次漏洞,修复方案也很简单,只要在抵押的时候检查用户的抵押状态是否为已经抵押,如果已经抵押,则不允许再次抵押。或者对每次的抵押进行单独的处理,不能对先前的抵押状态产生影响。

标签:STAKSTASTAKE区块链PSTAKE币Star Wars CatStakeWise国内最好的区块链公司

比特币热门资讯
EFI:参与DeFi项目的风险分析_defi币如何挖矿

我投资数字货币的风格是长线投资,但是偶尔也会关注一下一些谈短线操作的文章。这些文章基本上总会在某个币的价格走到一定高度时提示投资者止盈.

1900/1/1 0:00:00
YFI:YFI 和它的 IYO 时代_poolz币最新消息

作者:Kay,没有故事的男同学。本文经作者授权发布。太长不看这篇文章会很长,如果你不想读完,这里直接留给你结论。1.未经审视的人生是不值得过的,未经审计的合约是不值得薅的.

1900/1/1 0:00:00
DEX:从寻找下一个币安,到寻找下一个Uniswap_AMM

文|王也编辑|郝方舟出品|Odaily星球日报 从销毁平台币到跟风IEO,过去几年,“长尾”交易所们一直在复刻头部交易所的展业路线。这两个月,风向变了.

1900/1/1 0:00:00
ETH:市场宽幅震荡网格策略发威_eth价格今日行情美元人民币汇率网

上期回顾受DeFi热潮带动,ETH仍处于领涨市场状态,但其他主流币种出现不同程度回调。但当DeFi市场盈利资金回流之后,将推涨主流币种.

1900/1/1 0:00:00
CBD:星球前线|国际清算银行报告:2020年是央行数字货币起飞的一年_BIS

本文来自Cointelegraph,作者:MARIEHUILLETOdaily星球日报译者|余顺遂国际清算银行的一份新报告显示,2020年是中央银行数字货币发展势头真正起飞的一年.

1900/1/1 0:00:00
BTC:行情分析:关键阻力位未破,大盘继续顶部震荡_GMT

本文来自:哈希派,作者:哈希派分析团队,星球日报经授权转发。

1900/1/1 0:00:00