8月4日,链必安-区块链安全态势感知平台(Beosin-Eagle Eye)舆情监测显示,跨链收益率提升平台Popsicle Finance下Sorbetto Fragola产品遭到攻击,导致了约2070万美元的损失,攻击者共获利2.6K WETH,5.4M USDC,5M USDT,160K DAI,10K UNI,和96 WBTC。
攻击如何发生 Event overview
首先,跟我们了解一下Popsicle Finance是什么?
这是一个很有意思的项目,主要做跨链流动性挖矿。在DeFi 大热的时候,大家都在找流动性挖矿的机会,希望让自己的资产收益最大化。但因以太坊主网 gas 费用居高不下,给了二层、侧链、其他区块链迅速发展壮大的机会。在多链时代下,Popsicle Finance就在这样的背景下诞生了。
慢雾:7月3日至7月7日期间?Web3生态因安全问题损失近1.3亿美元:7月10日消息,慢雾发推称,自7月3日至7月7日,Web3生态因安全问题遭遇攻击损失128,419,000美元,包括Encryption AI、AzukiDao、NFT Trader、MIKE&SID、Bryan Pellegrino、Aptos Foundation、Multichain、CivFund。其中,Multichain被攻击损失1.26亿美元。[2023/7/10 10:12:36]
在遭到黑客攻击后,Popsicle Finance团队成员立即发推表示,目前仅有 Sorbetto Fragola 一款产品受到影响。团队将在几周内修复漏洞并对用户损失进行赔偿。
攻击者如何得手 Event overview
扎克伯格因押注元宇宙损失近5000亿元:9月20日消息,脸书母公司Meta CEO马克·扎克伯格押注元宇宙的策略,已经让他在现实世界中付出了高昂代价。今年到目前为止,他的财富缩水了一半还多,达到了710亿美元(约合4975亿元人民币),是彭博亿万富翁指数追踪的超级富豪中损失最多的。
他目前的净资产为559亿美元,在全球亿万富翁中的排名从年初的第第6下滑至第20位。(凤凰网科技)[2022/9/20 7:07:18]
攻击者地址:
0xf9E3D08196F76f5078882d98941b71C0884BEa52
攻击合约:
A:
0xdfb6fab7f4bc9512d5620e679e90d1c91c4eade6
B:
0x576Cf5f8BA98E1643A2c93103881D8356C3550cF
澳大利亚2019年在加密货币局中损失近1500万美元:金色财经报道,2019年,澳大利亚提交了1810份与加密货币相关的局报告,总价值超过2160万澳元(约1490万美元)。根据澳大利亚竞争与消费者委员会下属机构Scamwatch的研究,年龄在25至34岁之间的澳大利亚年轻人是受加密投资局影响最大的群体。报告指出,云加密挖矿成为常见的局,其中大多数是庞氏局,不涉及真正的加密货币。[2020/6/23]
C:
0xd282f740Bb0FF5d9e0A861dF024fcBd3c0bD0dc8
攻击交易:
0xcd7dae143a4c0223349c16237ce4cd7696b1638d116a72755231ede872ab70fc
攻击者使用相同的攻击方式获利了多种代币,以下以USDT为例分析:
Round 1
数据:BitMex不到一个月损失近40%比特币:自从黑色星期四以来,BitMex用户一直在大量的从交易所中提取比特币。3月13日,BitMex持有306,814比特币(BTC),到4月9日,这一数字已降至222,025,这意味着比特币持有量减少了38%。尽管这与最近交易者普遍将比特币从集中交易中转移出去的趋势吻合,但就BitMex而言,这种下降更为明显。(Cointelegraph)[2020/4/13]
攻击者使用合约A通过闪电贷获取USDT和ETH。
Round 2
通过合约A调用SorbettoFragola的deposit函数获取凭证代币PLP。
历史上的今天 | EOS DApp损失近30万EOS:1、2018年12月19日,众多EOS DApp遭遇回滚攻击,BetDice损失20万EOS,EOSMax损失超5万EOS,ToBet损失22000EOS,Big.game 损失8000EOS。
2、2017年12月19日,俄罗斯联邦储蓄银行宣布,它正在与俄罗斯联邦反垄断局(FAS)合作,通过区块链实施文件传输和存储管理。据当地消息称,此举意味着政府在区块链技术领域的首次成功尝试。[2019/12/19]
Round 3
将PLP发送给合约B并执行SorbettoFragola的collectFee函数,这时输入的amount均为0,更新合约B的奖励参数。之后将PLP发送到合约C,进行同样的操作。合约C完成操作后将PLP发送回合约A。
因为合约B、C持币,所以会计算更新其奖励(不随代币转移清空),更新后的数值如下图所示:
Round 4
合约A执行SorbettoFragola的withdraw函数,销毁PLP代币。取出本金后更新相关参数为最新。
Round 5
接着合约B与合约C再度执行collectfee函数。
输入的amount为上面更新后的数值tokenReward。
这时因为满足此处条件,所以会到pool地址(UNIV3的对应交易对地址)去移除流动性,并将代币发送给合约B、C。
Round 6
合约C再次调用collectfee函数获利。
此时amount如下图所示:
最后,满足调用pay函数的条件,通过pay函数向合约C发送代币。
事件复盘
我们需要注意什么 Case Review
Popsicle Finance最初管理的是跨链流动性,于6月26日推出Sorbetto Fragola 以管理Uniswap v3流动性。
项目方应该也没有预料到,黑客会在今日进行攻击,导致了约2070万美元的损失。可见,安全预判是多么重要。
注意
成都链安在此建议,对于项目方而言,在PLP转移时,应该重新计算并更新PLP发送方与接收方的奖励值,避免奖励重复发放。此外,项目的逻辑缺陷一定要得到重视。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。