2022年3月13日,成都链安链必应-区块链安全态势感知平台舆情监测显示,Paraluni合约遭受攻击,损失约170万美元,成都链安技术团队对此事件进行了相关分析。
#1总述
我们以第一笔攻击交易0xd0b4a1d4964cec578516bd3a2fcb6d46cadefe1fea5a2f18eec4c0a496e696f9为例:
地址列表
攻击地址:
0x94bC1d555E63eEA23fE7FDbf937ef3f9aC5fcF8F
攻击合约:
0x4770b5cb9d51EcB7AD5B14f0d4F2cEe8e5563645
ParaProxy:
Huobi Global:将重新上架GALA,项目方同意对事故发生前的持币用户进行全额赔付:11月4日消息,Huobi Global发布《关于GALA代币异常事件的处置公告(四)》,称通过与Gala项目沟通,Gala项目方已同意对事故发生前的Gala持币用户进行全额赔付,平台将重新上架Gala,并继续与项目方保持密切沟通。
本公告后,Huobi Global将会有Gala和Pgala两个资产,区分时间线以事故发生为时间节点。[2022/11/4 12:16:39]
0x633Fa755a83B015cCcDc451F82C57EA0Bd32b4B4
ParaImpl:
0xA386F30853A7EB7E6A25eC8389337a5C6973421D(MasterChef)
神鱼发微博称Harvest Finance项目方做事“鸡贼”:鱼池创始人神鱼凌晨发微博称,“好好做事的团队一不小心被黑了发的债权还能值个2折(黄瓜),更有BFX被盗12万BTC的债权最后溢价回购了。但是拖拉机这个项目方呢处处流露出鸡贼,先是不肯拿出开发团队的部分奖励,威胁社区发提案的人;操纵分配给债权人farm比例,今天给自家债权GRAIN定价0.2折 ,四舍五入约等于0啊。”[2020/12/8 14:31:43]
UGT:
0xbc5db89CE5AB8035A71c6Cd1cd0F0721aD28B508
UBT
0xcA2ca459Ec6E4F58AD88AEb7285D2e41747b9134
1.向CakeSwap(0x7EFaEf62)中通过闪电贷借贷224BSC-USD,224BUSD
动态 | DAI项目方Maker宣布管理投票合约“重大升级”:稳定币DAI的项目方Maker基金会在推特称,在与Coinbase和Zeppelin共同进行的智能合约审计过程中,发现Maker的管理投票合约存在问题,需要进行“重大升级”。Maker基金会建议,如果是Maker管理型代币MKR的持有者,目前在其管理合约中押注MKR权益,请将MKR移出合约,立即转回个人钱包。如果持有者没有用MKR参与投票,无需采取任何行动。[2019/5/7]
2.把第1步借到的代币向Para-LP(0x3fD4FbD7)中添加流动性,并将获得的222枚流动性代币的接收地址指定为UBT(0xcA2ca459)地址,这一步是为了后续的重入做准备。
斯坦福大学与区块链项目方EPIPHANY举办学术论坛:北美时间2018年4月9日,斯坦福大学与区块链项目方EPIPHANY在Stanford School of Medicine(斯坦福医学院)联合举办New Era of Economy - by the blockchain Generation Community学术论坛。
出席人员包括斯坦福大学信息创新部执行董事Allison Berk、斯坦福大学博士加密技术以及加密货币研究员Benedikt Bunz、Redpulse CEO Jon Ha、PTS信用数据平台创始人Sarah Zhang 等区块链技术、法律领域专家学者以及从业人员。论坛主要从美国目前正对区块链产业的政策以及影响、合规与技术等方面展开讨论。美国高校、NEO体系区块链项目与证券、法律领域专业人员均认为,在合规体系下运营项目,无论对纯粹的科技研究发展还是对区块链技术的金融领域应用均能起到积极作用。同时斯坦福大学也表示对区块链产业将保持高度的关注,并积极支持在校学生参与优质区块链项目的研究。[2018/4/10]
图1初始准备
3.攻击合约(0x4770b5cb)调用ParaProxy合约的depositByAddLiquidity函数,添加流动性代币抵押挖矿,此处传入的pid为18,对应的Para-LP(BSC-USD/BUSD)0x3fD4FbD7a83062942b6589A2E9e2436dd8e134D4,但是token0,token1传入的地址为UGT、UBT的地址,数量为1e18。
图2重入攻击
4.此处原本正常的逻辑为:添加流动性,并将流动性代币存入pid为18的流动性抵押池,但是本函数在代码中并未检查添加的流动性token0、token1得到的流动性代币是否与pid对应的流动性代币地址一致,导致了攻击的发生。注意,并不是所有的流动性池抵押都有该风险,由于第2524行代码,pool的ticket需要为零地址才能够通过该检查。
但是攻击者通过控制执行逻辑,实际执行的逻辑为:第2505,2506行将攻击者指定的1枚UGT、1枚UBT代币转入ParaProxy合约。然后在第2535行代码用于添加流动性,并在第2537行检查添加的流动性代币数量。
此时,vars.oldBalance为初始流动性代币数量。攻击者为了通过第2537行的检查,在添加流动性的过程中,进行了重入攻击。由于在添加流动性时调用了攻击者构造的恶意代币的transferFrom函数,攻击者在transferFrom函数中才将流动性通过deposit函数存入ParaProxy合约。这也是第2步时攻击合约将流动性代币接收地址指定为UBT合约的原因所在。
在重入过程中,UBT合约存入了真正的LP代币222枚,并计入ParaProxy的账本中。在重入完成后,ParaProxy合约地址新增了222枚LP代币,ParaProxy合约将其视为攻击合约添加的LP,并计入账本中。至此,UBT合约和攻击合约都新增了222枚LP的存取记录。
图3ParaImpl合约相关代码
重入相关过程如下图所示:
图4攻击流程示意图
5.UBT合约和攻击合约分别调用withdraw函数,从ParaProxy合约提取221枚LP,并归集到攻击合约,由攻击合约将LP移除流动性并获取对应的BSC-USD以及BUSD。
6.归还闪电贷225枚BSC-USD,225枚BUSD,并将获利的221枚BSC-USD、225枚BUSD发送到攻击者地址。整个攻击交易执行完成。
#2总结建议
攻击者一共执行了约40次攻击,共获利约170万美元。截止发稿时,攻击者通过跨链协议将其转到以太坊网络中,并将其中的660枚ETH转入Tornado.Cash,另外5枚ETH转入了0xDd52CE617cAF1b7C8cEaCC111DE2f1c54E20C1b0地址。
本次攻击主要由合约代码中存在逻辑缺陷以及存在资金操作的关键函数未进行防重入导致。建议合约开发者在开发过程中进行完整的测试以及第三方审计,并养成使用Openzeppelin库的ReentrancyGuard合约来进行重入攻击的防范。
推荐理由:本文讲述了ERC-721R合约标准出现的必要性以及想要实现的目的,接着讲述了合约标准的工作原理,并针对几个关于合约的典型问题进行解释,可以让读者更好地了解ERC-721R合约标准.
1900/1/1 0:00:00TRONDAO携手BitTorrentChain共同举办的2022波场黑客松大赛第二季强势回归,报名通道于5月16日开启.
1900/1/1 0:00:00区块链技术的核心价值主张正在从cryptocurrency转向智能合约,这与当年互联网从电子邮件发展至万维网的路径如出一辙。智能合约效率更高且对手方风险更小,因此势必将成为主流的数字协议.
1900/1/1 0:00:00Tether在波场网络上新增印钞10亿枚USDT波场网络补充了10亿枚USDT的库存。这是一笔已授权但未发行的交易该金额将用作下一次发行请求和链互换的库存.
1900/1/1 0:00:00合作社和DAOs可以互相学习什么协调和发挥作用的最佳框架可能不是在这两种模式之间做出选择,而是两者的结合.
1900/1/1 0:00:003月19日,由ByzantineDAO(亚洲社区)主办,AMMGLOBALMEDIALTD(亚洲心动娱乐)、MetaLife、BitkubCapitalCo.Ltd及CryptoPennyHun.
1900/1/1 0:00:00