前言
北京时间8月4日上午,知道创宇区块链安全实验室监测到以太坊上的DeFi协议PopsicleFinance遭遇闪电贷袭击,目前只有SorbettoFragola受到影响。实验室第一时间跟踪本次事件并分析。
分析
攻击者信息
攻击tx:
DAO magipop与iPollo元宇宙基础设施达成战略合作:据官方消息,Web3创作者DAO magipop与Nano Labs旗下的iPollo元宇宙基础设施达成战略合作,magipop于2022年曾获得了StepN的早期投资者、Prodigital Future Fund合伙人Curt Shi(侍海)的投资,在2023年的ETHDenver活动中,获得了NFT赛道bounty奖,证明了其在NFT领域的领先地位和实力。该合作将在iPollo元宇宙基础设施上提供更多创意和有趣的内容,吸引更多用户和社区参与,打造更加丰富的虚拟世界。[2023/3/23 13:22:20]
0xcd7dae143a4c0223349c16237ce4cd7696b1638d116a72755231ede872ab70fc
GameDAO旗下NFT交易市场POPNFTs,将开放支持HAI交易:4月28日消息,GameDAO旗下NFT交易市场POPNFTs宣布将开放支持HAI交易。GameDAO与去中心化稳定币借贷协议HaykerDAO此次达成深度战略合作,双方将在钱包的应用支持、社区合作、生态建设、市场拓展等多领域展开合作。此次强强联合将有利于巩固各自优势,全面推动生态发展壮大。
据悉,GameDAO是火币生态链(HECO)上NFT加密艺术品娱乐创作平台,集NFT创作平台(NFT By your)、全链NFT产品发行平台、互动娱乐系统,三大板块围绕NFT创造更多无限可能。
HaykerDAO是火币生态链(HECO)上的去中心化自治组织和智能合约系统,提供HECO上的去中心化稳定货币HAI ,HKR是HaykerDAO协议的治理代币。
HaykerDAO是一个质押加密资产即可生成1:1锚定美金的HAI的平台,一个安全可靠的借贷协议,一个人人都用得上的去中心化稳定币利器。[2021/4/28 21:07:17]
攻击合约:
SERO联合创始人Jason Pope:NFT出圈可以促进多样化的商品模型进入加密货币市场:金色财经现场报道,4月10日,金色财经主办的共为创新大会“DeFi的创新进阶”专场于上海举办,会上SERO联合创始人、基金会理事成员Jason Pope分享表示,加密货币市场里token其本身的属性或者说token的经济模型比较单一,其应用空间也有限,而NFT出圈后,可以看到很多多样化的商品模型被带入到了加密货币市场里,进行融合应用。[2021/4/10 20:05:52]
0xdFb6faB7f4bc9512d5620e679E90D1C91C4EAdE6
辅助攻击合约1:
0x576Cf5f8BA98E1643A2c93103881D8356C3550cF
加密货币盗窃案逃犯Vukasin Popovic已于巴黎被捕:金色财经报道,根据蒙特利尔周一的公告,窃取价值300万美元加密货币的逃犯Vukasin Popovic已于6月23日在巴黎被捕。据此前报道,Popovic于2月12日被加拿大拘留,后被保释并在家中使用跟踪装置。他于3月21日切断追踪装置逃亡国外以逃避法律程序。[2020/7/21]
辅助攻击合约2:
0xd282f740Bb0FF5d9e0A861dF024fcBd3c0bD0dc8
被攻击池信息:
PLP(USDT/WETH):0xc4ff55a4329f84f9Bf0F5619998aB570481EBB48
PLP(USDC/WETH):0xd63b340F6e9CCcF0c997c83C8d036fa53B113546
PLP(WBTC/WETH):0x0A8143EF65b0CE4C2fAD195165ef13772ff6Cca0
PLP(USDT/WETH):0x98d149e227C75D38F623A9aa9F030fB222B3FAa3
PLP(WBTC/USDC):0xB53Dc33Bb39efE6E9dB36d7eF290d6679fAcbEC7
PLP(USDC/WETH):0x6f3F35a268B3af45331471EABF3F9881b601F5aA
PLP(DAI/WETH):0xDD90112eAF865E4E0030000803ebBb4d84F14617
PLP(UNI/WETH):0xE22EACaC57A1ADFa38dCA1100EF17654E91EFd35
攻击流程:
PLP池合约方面调用流程
攻击合约0xdFb6调用PLP池合约的deposit()函数进行质押
将质押获得的shares转移给辅助攻击合约0x576C
通过辅助攻击合约0x576C调用PLP池合约的collectFees()函数
辅助攻击合约0x576C将步骤2获得的所有shares再次转移给下一个辅助攻击合约0xd282
同步骤3,辅助攻击合约0xd282调用PLP池合约的collectFees()函数
辅助攻击合约0xd282将步骤4获得的所有shares转移回攻击合约0xdFb6
攻击合约0xdFb6调用PLP池合约的withdraw()函数进行赎回,完成攻击
辅助攻击合约0x576C和0xd282调用PLP池合约的collectFees()函数提取手续费奖励
细节
攻击者通过AAVE闪电贷借来USDT、ETH、WBTC、USDC、DAI、UNI六种资产依次对PopsicleFinance的SorbettoFragola系列的8个PLP池进行了闪电贷攻击。
漏洞原因在于PLP池合约对手续费奖励的计算上,一方面在计算中直接采用了用户的LP余额值,而LP可被随意转账至另一账户;另一方面,用户的奖励债务并不会随着LP的转账而转移。
于是攻击者在质押后将LP依次转移给两个辅助攻击合约,并在辅助攻击合约调用collectFees()函数时传参0,为了触发updateVault以更新奖励数据,最后再通过collectFees()提取奖励。
总结
此次PopsicleFinance遭遇的闪电贷攻击的本质原因在于对手续费奖励计算的错误设计,未做全面考虑,从而使得攻击者通过多个地址循环利用资金流进行攻击套利。
近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。