北京时间7月28日,收益聚合器PolyYeld.Finance遭到攻击,其代币YELD归零,攻击者获利25万美元。
SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。
一、事件分析
攻击者地址:
0x56ec01726b15b83c25e8c1db465c3b7f1d094756
0x1bdf24cb4c7395bf6260ebb7788c1cbf127e14c7
CME为Solana,Cardano,Polygon等币种增加参考利率:金色财经消息,芝加哥商品交易所集团(CME Group)与加密货币指数提供商CF benchmark合作,将于4月25日推出新的利率。新的参考价格将包括Algorand (ALGO)、比特币现金(BCH)、Cardano、Chainlink(LINK)、Cosmos(ATOM)、Litecoin(LTC)、Polkadot、Polygon(MATIC)、Solana、Stellar Lumens (XLM)和Uniswap(UNI)的指数定价。
参考汇率和指数本身不是可交易的投资产品。顾名思义,参考利率是一项资产的价格数据。但拥有这些数据是提供etf和期货合约等产品的重要前提。(decrypt)[2022/4/10 14:15:41]
从交易详情可以看出攻击者获取的奖励费用异常。
lpSupply值被操纵为1,导致1300行计算错误。
数据:当前Polygon上总锁仓量为42.4亿美元:金色财经报道,数据显示,目前Polygon上总锁仓量42.4亿美元,净锁仓量32.8亿美元。锁仓资产排名前五分别为Aave(18亿美元)、QuickSwap(0.86亿美元)、Curve(0.41亿美元)、SushiSwap(0.36亿美元)、Balancer V2(0.17亿美元)。[2021/10/9 20:17:02]
根本原因在于当前合约的LPToken的余额不是所有用户质押的LPTokn总额,其中还包含攻击者向当前合约转入的LP?Token金额,这导致了lpSuppy被操纵为1的情况,造成了错误的判断和计算。
详细函数分析
攻击者事先给16号池转入1LPToken
攻击者合约0x56ec01726b15b83c25e8c1db465c3b7f1d094756调用balanceOf函数查询lpSupply的值为1
Blocto宣布集成Polygon,支持Polygon dApps:可访问的区块链身份系统的一站式商店Blocto宣布集成Polygon,支持Polygon dApps,如QuickswapDEX等。[2021/8/18 22:22:15]
调用updatePool函数
调用balanceOf函数查询lpSupply的值
Web3基金会否决了重新命名Polkadot代币并将供应量提高100倍的提案:金色财经报道,Web3基金会否决了一项有争议的提案。该提案提议重新命名Polkadot的DOT代币,并将其总供应量扩大100倍。据悉,目前一枚DOT等于1万亿Plancks(Polkadot中最小的记账单位)。该提案将使DOT等于100亿个Plancks,相当于使每个用户的DOT持有量增加100倍,但网络份额不会改变。该基金会表示,一旦Polkadot启动,将在Polkadot网络对该提案进行最终投票。此外,Web3基金会还表示,本次投票有超过13%的Kusama利益相关者参与,是Kusama历史上参与投票最多一次。[2020/5/16]
此时由于lpSupply的值为1,判断条件不符,继续执行函数代码
调用getMultiplier函数获取差值
动态 | Poloniex重启BCH SV和BCH ABC充提业务:据Poloniex官方消息,该交易所现已重启BCH SV和BCH ABC的充提业务。[2018/11/29]
YeldPerBlock值为10000000000000000,allocPoint值为2000,totalAllocPoint值为29000。但下一步中将计算奖励的百分之十铸币给项目方,并未从给用户的奖励中扣除,这将导致通胀。
将铸造给项目方和当前合约地址的Token数量添加到totalSupply
此时YeldReward值为25517241379310344,乘上1e18,再除lpSupply的值1。
执行结束后,accYeldPerShare的值为25517241379310346060896017401670445
返回user.amount的值为249792662487644753291986140279580
计算完成后调用withdraw提取奖励,函数内调用payReferralCommission函数铸造通过上面计算得到的token数量。
事件分析总结,该项目存在多个问题:
项目方收取百分之十的收益时直接铸币并未从用户收益中扣除,导致通胀。
调用Masterchef合约实现推荐机制,即推荐者永久享受被推荐者收益的百分之二,但这百分之二并未从被推荐者收益中扣除。
正常情况下,合约计算收益的逻辑没有错误,lpSupply应该为合约中的总Token数,但攻击者通过操作,使得lpSupply为1,手动执行一次updatePool函数,使其计算出来的参数错误,再使用另外一攻击合约的地址正常质押提取,使得推荐者获得超出其本身应该获得的收益。
提要:对央行数字货币的研究与探讨仍在继续:新西兰联储周四在公开征求意见的文件中表示:“现金使用趋势和货币创新为联储考虑扩大央行货币范围以包括广泛可用的数字形式提供了机会.
1900/1/1 0:00:00互联网现在是一个每个人都有库存的地方。NFT意味着我们第一次在互联网上拥有类似数字对象的东西。这种变化的重要性远远超出了目前在加密领域流行的东西。它不包含在艺术市场、收藏品甚至游戏中.
1900/1/1 0:00:00据HollywoodReporter10月9日消息,好莱坞经纪公司CreativeArtistsagency已与加密巨鲸0xB1签约,并将通过认证及品牌合作将其NFT收藏变现.
1900/1/1 0:00:00巴比特讯,去中心化社交媒体NFT平台Enevti和创建DAO的平台Kalipo成为LiskGrantProgram第1波入选项目,将分别获得6万瑞士法郎赠款.
1900/1/1 0:00:00据Cryptopotato9月13日消息,美联储每7天发布一次资产负债表数据更新情况,最新数据显示,美联储的资产负债表现在达到令人难以置信的8.357万亿美元.
1900/1/1 0:00:00江苏省通信管理局今日发文指出,近日,国家发改委、工信部、部等部门发布通知,加强虚拟货币“挖矿”活动上下游全产业链监管,严禁以数据中心名义开展虚拟货币“挖矿”活动.
1900/1/1 0:00:00