宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 屎币 > 正文

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

作者:

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

声音 | 贵州律师朱山:2019年法律服务应为区块链等新技术革命提供服务:贵州省大数据律师服务团团长朱山认为,法律服务市场日新月异,2019年将进入5G时代,以区块链、大数据、移动互联网、人工智能等新技术引领的新技术革命瞬息万变,法律服务应为新技术革命提供服务,同时也应该用新技术研究法律服务本身的规律特点,着力提高服务质量和水平(新华网)[2019/1/27]

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

声音 | 中国外汇交易中心技术开发副总经理:致力于成为区块链领域银行间行业的标准制定者:据腾讯报道,中国外汇交易中心技术开发部副总经理叶胜国表示,作为我国金融市场重要的金融基础设施之一,中国外汇交易中心积极探索实践区块链技术在银行间市场的应用场景,携手趣链科技推进金融领域区块链布局,致力于成为区块链领域银行间行业的标准制定者与行业生态的领头人。[2018/10/20]

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

政策 | 财政部:利用区块链等技术推动政府职能转变及监管方式创新:财政部发布《狠抓规范管理 强化示范引领——财政部前三批PPP示范项目整改情况通报》,《通报》指出,下一步,财政部将继续认真贯彻党中央、国务院决策部署,坚决打赢防范化解风险攻坚战。采用大数据手段创新管理方式。充分利用大数据、人工智能、云计算、区块链等信息技术,建立跨地域、全行业、穿透行政层级、全生命周期管理的大数据监管服务平台,推动政府职能的转变和监管方式的创新。[2018/9/14]

可以看到这里只是简单的把对应的token用transferFrom的方式转入到合约中,没有什么特别的逻辑点。到这里整个抵押流程就很清晰了,接下来是收益的过程。计算用户收益的是stakeReward函数,领取收益的为withdraw函数,代码分别如下:

分析 | Gartner:区块链技术吸引力正在减弱 或在未来10年达到成熟:据coindesk报道,研究机构Gartner最新发布的“新兴技术发展周期”报告显示,区块链技术的吸引力正在减弱。该研究机构将区块链及其他四种新兴技术列为可能模糊人与机器界限的五大趋势之一。区块链技术处于“幻灭的低谷”,这意味着对于该技术的兴趣随着实验和实施的失败而消失。只有幸存的供应商改进其产品以满足早期采用者的需求,投资才会继续。但Gartner仍预计该技术可能在未来10年内达到“生产力的平稳期”。Gartner副总裁Mike Walker在新闻发布会上表示,“数字化生态系统技术正快速进入炒作周期,区块链和物联网平台已经跨越了巅峰,我们相信它们将在未来五到十年内达到成熟。”[2018/8/21]

西维吉尼亚州的正对区块链技术初选选举投票活动进行审计:据ethnews,西维吉尼亚州的官员正在对最近的一次投票活动进行审计,这是美国大选中首次使用区块链技术记录投票结果。5月8日晚,西弗吉尼亚州的初选投票结束,这标志着美国历史上第一次由政府主导、采用区块链技术的投票结束。第二天早上,西弗吉尼亚州的通讯主管Mike Queen在接受采访时表示,“区块链确实为手机投票应用提供了更高的安全性”。[2018/5/10]

通过分析计算收益和领取收益的代码,发现逻辑也很简单,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/),项目代码是由富有经验的开发者进行开发的,同时借鉴了其他成功的项目的代码,但是仍无可避免的出现了风险。术业有专攻,安全审计一方面需要项目方的正向思维,另一方面,还是需要专业的安全团队的逆向思维,从专业的黑客角度进行模拟对抗,发现问题。修复方案

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

标签:STASTAKSTAKE区块链星链币starl未来价格STAKE价格Invest Like Stakeborg Index区块链运用的技术不包括

屎币热门资讯
DC/EP频繁“热搜”,已有公务员拿到数字货币形式的工资

编者按:本文来自01区块链,Odaily星球日报经授权转载。DC/EP相关工作稳步推进,已有公务员拿到数字货币工资8月3日,中国人民银行召开2020年下半年工作电视会议.

1900/1/1 0:00:00
CRV、YAM事件给我们带来的思考

本文作者ChrisPowers,由“CortexLabs”社区粉丝“Yong”翻译原地址:https://doseofdefi.substack.com/p/crv-yam-distribution-costs-and-games上周.

1900/1/1 0:00:00
读懂分红代币模型:从比特币矿工费到Uniswap资金池

编者按:本文来自matataki,作者:小岛美奈子,Odaily星球日报经授权转载。尽管美国证监会在2018年6月的一次报告中,曾经认为Ethereum不是一种证券,但社区中依然经常会出现相关的辩论,特别是在牛市的前夜.

1900/1/1 0:00:00
PeckShield:八月共发生安全事件28起,DeFi市场成重灾区

据PeckShield态势感知平台数据显示,过去一个月,整个区块链生态共发生28起较为突出的安全事件,危害程度评级为「中级」,涉及DeFi8起、钱包安全2起,公链安全6起,交易所相关1起,勒索相关4起,跑路7起等.

1900/1/1 0:00:00
DeFi还能玩吗?

编者按:本文来自小吒闲谈,Odaily星球日报经授权转载。前几天一场大跌,DeFi许多挖矿代币,血流成河。一时间DeFi的流动性挖矿的套娃模式泡沫破灭,不少人血本无归.

1900/1/1 0:00:00
加密稳定币报告:稳定币市值升至175.44亿美元,EOS上的DeFi持续升温

快速预览目前,主要稳定币的市场流通市值达到175.44亿美元,与上周相比增长9.81亿美元。过去一周,Tether在以太坊上增发了2.7亿USDT,在Tron上增发了5亿USDT.

1900/1/1 0:00:00