1.前言
北京时间2022年03月13日,知道创宇区块链安全实验室监测到BSC上Paraluni项目遭到攻击,黑客获利约170万美金。知道创宇区块链安全实验室将对本次事件深入跟踪并进行分析。
2.分析
2.1基础信息
攻击者地址:0x94bc1d555e63eea23fe7fdbf937ef3f9ac5fcf8f
攻击者合约:0x4770b5cb9d51ecb7ad5b14f0d4f2cee8e5563645
攻击交易哈希:0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54
Masterchef合约:0xa386f30853a7eb7e6a25ec8389337a5c6973421d
zkSync Era已支持Paradigm创建的模块化工具包Foundry:6月6日消息,据官方消息,开发人员现在可以使用 zkSync Era 的 Foundry alpha 版本来部署合约、桥接 L1 与 L2 间的资产、发送交易等。Foundry 由 Paradigm 等创建和维护,是一个用于以太坊开发的模块化工具包,可增强 EVM 链上的安全智能合约开发。
zkSync Era 的 Foundry alpha 版本中的 zkCast 与合约交互并存入、提取或查询区块链数据,如账户余额或区块信息;zkForge 使用特殊的编译器编译合约,并将它们部署到 zkSync Era Localnet、测试网和主网。[2023/6/6 21:19:50]
UBT代币合约:0xca2ca459ec6e4f58ad88aeb7285d2e41747b9134
Nick Chong宣布离开ParaFi Capital:12月29日消息,Nick Chong发推表示将于12月31日从ParaFi Capital离职,并将转变角色专注于从外部为其投资组合寻找早期代币机会的角色。[2021/12/29 8:12:19]
UGT代币合约:0xbc5db89ce5ab8035a71c6cd1cd0f0721ad28b508
2.2项目背景
Paraluni项目是新加坡ParallelUniverse基金会发布的一个基于币安智能链的匿名项目,用户可以通过与masterChef合约交互进行质押代币获取流动性收益。
2.3攻击流程
为了使得攻击流程更加清晰,我们将本次攻击分为两个阶段进行分析。
预攻击阶段
ParaFi地址在过去16小时增持20,746.45枚LUNA:12月15日消息,被KingData大户地址追踪标记为0x4655开头的ParaFi地址在过去16小时增持20,746.45枚LUNA,目前该地址共持有45.15万枚LUNA,总价值超2627.86万美金,占总资产的73.98%。[2021/12/15 7:41:17]
1.攻击者创建部署两个代币合约UBT和UGT。UBT:改写transferFrom函数,实现对MasterChef的deposit()函数和withdrawAsset()函数的调用。UGT:ERC20代币标准的代币合约2.攻击者使用闪电贷从pancakeSwap借出156,984BSC-USD和157,210BUSD。3.将借出的USDT和BUSD向对应的ParaPair添加流动性,获得155,935枚ParaluniLP代币到UBT合约中。此时获取的Lp代币为后续的攻击提供重要支持。
动态 | 日本Money Partners集团将和大和证券集团在区块链技术及区块链资讯领域进行合作:据Money Partners集团官网公告,3月25日,在其召开的股东大会上,该公司决议了和大和证券集团业务合作。两公司将在涉及区块链技术的业务和区块链技术相关咨询服务进行合作。据悉,Money Partners集团全资加密货币子公司Money Partners目前正作为准交易所(みなし業者)积极向日本金融厅申请牌照。[2019/3/25]
核心攻击阶段
1.调用MasterChef合约中的depositByAddLiquidity函数,传入参数为_pid:18,_token:,_amounts:,表示向18号池子添加1个UGT和1个UBT的流动性。
2.然后内部调用depositByAddLiquidityInternal函数,该函数的主要作用是调用addLiquidityInternal函数去铸造LP代币,然后调用_deposit函数存入LP代币到用户地址。但是函数并未校验用户传入的_tokens和池子编号为_pid的tokens是否匹配,这就造成攻击者能够利用自己创建部署的恶意代币进行后面重要操作。
3.depositByAddLiquidityInternal再内部调用addLiquidityInternal函数,该函数通过合约中LP代币余额变化计算出需要deposit的数量。
4.其中当addLiquidityInternal函数调用到paraRouter.addLiquidity时,会调用攻击者在预攻击阶段部署的UBT代币合约中的transferFrom函数完成添加流动性操作。
但该恶意合约改写transferFrom后会调用MasterChef的deposit()函数将预攻击阶段第三步获取的LP代币转入masterChef中,此时的masterChef中LP余额已经变化,然后会调用_deposit函数存入LP代币到用户地址,此时获取第一份LP代币。
然后加上恶意合约的transferFrom调用deposit()时也会调用_deposit函数存入LP代币到用户地址,就相当于获取了两份LP代币。
5.攻击者分别调用UBT合约中的withdrawAsset函数和利用攻击合约调用Mastechef合约中的withdraw函数提取两份相同的LP到攻击合约中;
6.最后移除流动性获取31万枚BSC-USD和31万枚BUSD,然后归还闪电贷完成攻击。
3.漏洞核心
本次的攻击主要是MasterCheif合约中的depositByAddLiquidity函数并未校验用户传入的_tokens和池子编号为_pid的tokens是否一致,且外部调用时并未考虑到重入问题添加重入锁,最终导致攻击者能够传入外部恶意代币合约进行重入攻击。
4.总结
知道创宇区块链安全实验室在此提醒,任何有关deposit等操作都需要慎重考虑,合约审计、风控措施、应急计划等都有必要切实落实。
继LooksRare之后,谁是OpenSea的下一个竞争者?顶级机构Paradigm投资的Zora是一个不容忽视的存在,原因主要有两点:1.股东背景豪华.
1900/1/1 0:00:00波卡一周观察,是我们针对波卡整个生态在上一周所发生的事情的一个梳理,同时也会以白话的形式分享一些我们对这些事件的观察。本文旨在提供信息和观点,不为任何项目作背书。任何提及的项目,均不作投资推荐,仅作信息展示.
1900/1/1 0:00:00今天许多最激动人心的初创企业在以前都尝试过各种不同的形式。假设你开发了一项对某些行业有价值的新技术。而旧的方法则是出售给该行业的现有公司或向他们授权你的技术。新的方法是建立一个完整的、端到端的产品或服务,且绕过现有公司.
1900/1/1 0:00:00DAOrayakiDAO研究奖金池:注意:本文假设读者已经熟悉二次方融资及其运转机制。如果您不熟悉,请先查看https://wtfisqf.com/! 寻求更好的社交网络.
1900/1/1 0:00:00治理V0版本在这里:ORCA代币持有者现在可以在我们全新的论坛上分享他们的想法,并在governance.orca.so上提交链上的提案。从第一天起,我们就致力于建立一个由社区管理的开放平台.
1900/1/1 0:00:002022年2月22日,LunarCrush的2月22日ALTrank排名中,WMT荣登榜首,LunarCrush一直专注于“用社交网络监控加密货币”,ALTrank作为LunarCrush专有的KPI,依照货币整体健康状况.
1900/1/1 0:00:00