北京时间2021年8月4日早上6点,PopsicleFinance项目下的多个机池被攻击,损失金额超过两千万美元,是迄今为止DeFi领域发生的损失数额最大的单笔攻击之一。通过分析攻击交易及项目代码我们发现,此次攻击是一个利用项目的记账漏洞进行多次提取的攻击。下面我们通过代码和攻击流程分析此次攻击。代码分析
PopsicleFinance是一个涉及多个链的机池。用户首先调用deposit函数向机池存入一定的流动性,并获得PopsicleLPToken作为存款的份额证明。PopsicleFinance会将用户提供的流动性存入Uniswap等底层池子并获得收益。
用户还可以调用withdraw函数,根据用户持有的PLPToken所代表的流动性份额,从机池取回流动性。PopsicleFinance会将PLPToken对应的流动性从Uniswap等底层池子中取回给用户。
NFT科幻纸牌游戏制造商 Parallel推出基于ERC-6551的PFP Avatar项目:金色财经报道,NFT科幻纸牌游戏制造商 Parallel在其官推宣布推出基于ERC-6551的PFP Avatar项目,据悉Avatar将会在OpenSea上架,同时还会使用PFP Avatar来建立社区,并以此为基础进行扩展。据悉, Parallel目前正在对其PFP Avatar项目进行测试,借助ERC-6551技术,每个Avatar NFT都可以“拥有”数字资产(ERC-1155和PRIME),并且还能充当自己的NFT钱包,包括与购买、出售和交易其他Avatar NFT。[2023/7/12 10:49:28]
最后,用户在机池中存的流动性会随着时间产生一定的收益,会累计在合约的用户状态中。用户可以调用collectFees函数取回部分存款奖励。
加密行业成员称白宫正破坏创新:金色财经报道,白宫经济顾问委员会本周发布了年度报告,报告称,加密行业正寻求在政府范围之外生存,这注定会失败。 许多加密行业成员发现该报告令人不安,特别是考虑到它是在监管极度不确定的时期发布的。 其他人指出,该报告对加密货币的态度只会将公司推向海外,将创新从美国带走,并可能让投资者接触到有风险的商业行为。[2023/3/26 13:26:38]
本次攻击的核心函数正是collectFees函数。下面我们逐步分析其代码。首先获得存储在userInfo中的用户状态。其中用户状态中的token0Rewards和token1Rewards是由于用户存款而累积的奖励。接下来计算该合约中,对应机池的Token对的Balance。如果在合约中有足够的Balance,就按金额将Reward支付给用户;否则会调用pool.burnExactLiquidity从底层pool取回流动性返回给用户。最后,会将记录在userInfo中的Rewards状态进行更新。看到这里,机池的代码实现还是比较符合逻辑的。但是在函数开头我们发现了updateVaultmodifier,这个函数会在collectFees的函数体之前运行,漏洞也许在updateVault相关的函数中。
彭博社:英国数字、文化媒体和体育委员会将开始调查NFT并研究支持NFT的区块链技术:11月4日消息,据彭博社报道,英国议会下议院数字、文化、媒体和体育委员会表示,将开始调查(Inquiry)NFT,还将研究支持NFT的区块链技术。该委员会表示,预计国会议员将考虑NFT投资者是否会被市场置于风险之中。调查还可能研究NFT和区块链是否可以为英国经济提供的更广泛的利益。[2022/11/5 12:18:43]
以上是updateVault相关函数的实现。过程如下:首先调用_earnFees向底层pool获取积累的Fee;随后调用_tokenPerShare更新token0PerShareStored和token1PerShareStored参数,这两个参数代表了池子中每个share代表的token0和token1的数量,即机池的每个份额计代表的Token对数量;最后调用fee0Earned和fee1Earned更新对应到这个用户的存款Rewards。
A股收盘:深证区块链50指数下跌2.3%:金色财经消息,A股收盘,上证指数报3051.23点,收盘下跌1.2%,深证成指报10962.56点,收盘下跌0.4%,深证区块链50指数报2514.15点,收盘下跌2.3%。区块链板块收盘下跌2.54%,数字货币板块收盘下跌2.81%。[2022/9/26 7:21:37]
以上是fee0Earned和fee1Earned函数的实现,两个函数实现相同,都实现了这样一个公式:user.token0Rewards+=PLP.balanceOf(account)*(fee0PerShare-user.token0PerSharePaid)/1e18也就是说,该函数会在原有的user.token0Rewards基础上,根据用户拥有的PLPToken数量计算应给用户发放的Fee的份额。但我们注意到这个函数是增量的,也就是说即使用户并没有持有PLPToken,该函数仍会返回保存在user.token0Rewards中记账的存款奖励。因此对于整个合约,我们发现两个重要的逻辑缺陷:用户的存款奖励是记录在user.token0Rewards和user.token1Rewards中的,并不与任何PLPToken或其他东西有任何形式的绑定。用于取回存款收益的collectFees函数仅仅依赖于记账的user.token0Rewards和user.token1Rewards状态,即使用户并未持有PLPToken,仍可以取出对应的存款奖励。我们假想一个攻击流程:攻击者向机池中存入一定的流动性,获得一部分PLPToken。攻击者调用collectFees(0,0),后者会更新攻击者的存款奖励,即状态变量user.token0Rewards的值,但并没有真正取回存款奖励。攻击者将PLPToken转给自己控制的其他合约,再调用collectFees(0,0)更新状态变量user.token0Rewards。也就是说通过不断地流转PLPToken并调用collectFees(0,0),攻击者复制了这些PLPToken对应的存款奖励。最后,攻击者从以上各个地址调用collectFees函数,取回真正的奖励。此时虽然这些账户中并没有PLPToken,但由于记账在user.token0Rewards没有更新,攻击者因此得以取出多份奖励。用现实生活中的例子来描述这个攻击,相当于我向银行存钱,银行给了我一张存款凭证,但这张凭证没有防伪措施也没有和我绑定,我把凭证复印了几份发给不同的人,他们每个人都凭借这个凭证向银行取回了利息。攻击流程分析
日本监管机构正就废除加密货币上线交易所的严格规定进行讨论:6月8日消息,在日本首相岸田文雄的政府对现有系统表示不满后,该国监管机构正在就废除加密货币上线交易所的严格规定进行讨论。
据知情人士透露,负责监管数字货币上市的日本虚拟和加密资产交易所协会(JVCEA)已经就让当地交易所在不经过筛选程序的情况下上线加密货币进行了讨论。知情人士表示,与目前的立场不同,JVCEA将把重点放在资产上线后的监管上,而不是参与上线过程。 他们还表示,如果加密资产开始交易后出现问题,该委员会还在研究是否应该强制交易所将其下架。
知情人士说,新措施不适用于首次代币发行,JVCEA的目标是在今年年底前就是否改变规则做出最终决定。(彭博社)[2022/6/8 4:10:16]
通过以上的代码分析,我们发现了PopsicleFinance在机池实现上的漏洞。下面我们对攻击交易进行深入分析,看攻击者是怎样利用这个漏洞的。攻击者的总体流程如下:攻击者创建了三个交易合约。其中一个用于发起攻击交易,另外两个用于接收PLPToken并调用PopsicleFinance机池的collectFees函数取回存款奖励。通过闪电贷从AAVE借出大量流动性。攻击者选择了PopsicleFinance项目下的多个机池,向AAVE借出了对应这些机池的六种流动性。进行Deposit-Withdraw-CollectFees循环。攻击者一共进行了8次循环,分别攻击了PopsicleFinance项目下的多个机池,取出了大量流动性。向AAVE归还闪电贷,并将获利通过TornadoCash。
本次攻击交易主要由数个Deposit-Withdraw-CollectFees循环构成,每一个循环的示意图如上图所示。根据我们的分析,逻辑如下:攻击者首先将闪电贷借来的流动性存入机池中,获得一定量的PLPToken。攻击者将PLPToken转给攻击合约2。攻击合约2调用机池的collectFees(0,0)函数,设置合约2对应的user.token0Rewards和user.token1Rewards状态。攻击合约2将PLPToken转给攻击合约3。和攻击合约2的操作类似,攻击合约3调用机池的collectFees(0,0)函数,设置合约2对应的user.token0Rewards和user.token1Rewards状态。攻击合约2将PLPToken转回攻击合约,后者调用机池的withdraw函数Burn掉PLPToken,取回流动性。攻击合约2和攻击合约3调用collectFees函数,用虚假的tokenRewards状态取回了存款奖励。根据我们的以太坊交易追踪可视化系统给出的交易调用图如下,其中部分重要交易用红字进行标注:利润分析
本次攻击一共获利:2.56kWETH,96.2WBTC,160kDAI,5.39mUSDC,4.98mUSDT,10.5kUNI,获利共计超过20,000,000美元。在此次攻击之后攻击者通过首先通过Uniswap和WETH将攻击获得的其他token全部换成ETH,然后通过多次使用Tornado.Cash将ETH洗白。BlockSec团队以核心安全技术驱动,长期关注DeFi安全、数字货币反和基于隐私计算的数字资产存管,为DApp项目方提供合约安全和数字资产安全服务。团队发表20多篇顶级安全学术论文(CCS,USENIXSecurity,S&P),合伙人获得AMiner全球最具影响力的安全和隐私学者称号(2011-2020排名全球第六).研究成果获得中央电视台、新华社和海外媒体的报道。独立发现数十个DeFi安全漏洞和威胁,获得2019年美国美国国立卫生研究院隐私计算比赛(SGX赛道)全球第一名。团队以技术驱动,秉持开放共赢理念,与社区伙伴携手共建安全DeFi生态。扫描二维码,关注更多精彩https://www.blocksecteam.com/contact@blocksecteam.com
标签:TOKETOKTOKENKENGenshin Impact TokenESAX Token99Ex TokenColletrix Token
来源:移动支付网作者:余云峰7月16日,中国人民银行发布了《中国数字人民币的研发进展白皮书》,以阐明人民银行在数字人民币研发上的基本立场.
1900/1/1 0:00:00作者|秦晓峰编辑|郝方舟出品|Odaily星球日报过去的这个周末,是美国的国庆日,但美国IT软件管理公司Kaseya却被黑客搅得不得安宁.
1900/1/1 0:00:00原标题:Sun,Sand,andNFTTickets:HereComeDAOMusicFestivals来源:Decrypt作者:AdrianaHamacher据克罗地亚的CircusMaxim.
1900/1/1 0:00:00随着近期加密社区热切的讨论《美国基础设施法案》新增对加密货币领域的税务征收,无论此基建法案通过与否,对加密交易征税,本身就已在某种程度上宣布了这项技术或资产的合法性.
1900/1/1 0:00:00北京时间8月4日凌晨,去中心化衍生品项目方dYdX宣布铸造了10亿治理tokenDYDX,并将在5年内分配完毕.
1900/1/1 0:00:00头条美联储与耶鲁大学研究人员为稳定币制定两个监管框架美联储正在进行的关于央行数字货币的研究,已经扩大到包括稳定币以及它们是否能得到有效监管的问题.
1900/1/1 0:00:00