北京时间2022年3月13日上午9:04,CertiK安全技术团队监测到Paraluni'sMasterChef?合约遭到攻击,大约170万美元的资金通过多笔交易从该项目中被盗。
下文CertiK安全团队将从该项目的操作及合约等方面为大家详细解读并分析。
漏洞交易
攻击者地址:?https://bscscan.com/address/0x94bc1d555e63eea23fe7fdbf937ef3f9ac5fcf8f?
交易实例:?https://bscscan.com/tx/0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54
首发 | imKey正式支持Filecoin,成为首批Filecoin硬件钱包:12月1日,随着imToken2.7.2版本上线,imKey同步支持Filecoin,成为业内首批正式支持FIL的硬件钱包。Filecoin作为imKey多链支持的优先级项目之一,成为继BTC、ETH、EOS和COSMOS四条公链后的第五条公链。
据悉,imKey团队已在Q4全面启动多链支持计划,计划实现imToken已经支持的所有公链项目,本次imKey升级更新,无需更换硬件,不涉及固件升级,通过应用(Applet)自动升级,即可实现imKey对Filecoin的支持及FIL的代币管理。[2020/12/2 22:52:32]
合约地址
Masterchef合约:?https://bscscan.com/address/0xa386f30853a7eb7e6a25ec8389337a5c6973421d#code
首发 | 欧科云链推出“天眼方案”推动链上安全系统再升级:8月28日,区块链产业集团欧科云链宣布推出区块链“天眼方案”,主要通过链上数据追踪系统研发、对外技术支持、凝聚企业众力等途径,全面助力区块链安全提升和产业平稳健康发展。
据了解,在“天眼方案”下,欧科云链集团将打造链上数据追踪系统,通过溯源数字资产、监控非法交易等手段,全力遏制等非法行为;协助执法机关办案,并为打造法务等区块链系统提供技术支持;为联盟链和基于各类业务的链上数据提供区块链+大数据的解决方案。[2020/8/28]
攻击流程
注意,这个攻击流程是以下面这个交易为基础的:https://bscscan.com/tx/0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54
首发 | 嘉楠耘智宣布与Northern Data在AI、区块链等高性能计算领域达成战略合作:据官方消息,2020年2月17日,嘉楠耘智宣布与区块链解决方案及数据中心服务提供商Northern Data AG达成战略合作。本次合作的内容涵盖AI、区块链及数据中心运维等高性能计算领域。
嘉楠耘智拥有丰富的高性能计算专用ASIC芯片研发经验。Northern Data AG则专注于区块链和数据中心等高性能计算基础设施的建设。通过本次战略合作,双方将在AI、区块链等新兴领域进一步释放增长潜能。[2020/2/19]
准备阶段:
攻击者部署了两个恶意的代币合约UGT和UBT。
在UBT代币合约中,有两个恶意的函数实现:
1.在"transferFrom()"函数中,攻击者实现了对MasterChef的"deposit()"函数的调用,以存入LP代币。
首发 | 此前18000枚BTC转账是交易所Bithumb内部整理:北京链安链上监测系统发现,北京时间10月24日,17:07分发生了一笔18000枚BTC的转账,经分析,这实际上是交易所Bithumb的内部整理工作,将大量100到200枚BTC为单位的UTXO打包成了18笔1000枚BTC的UTXO后转入其内部地址。通常,对各种“面值”的UTXO进行整数级别的整理,属于交易所的规律性操作。[2019/10/24]
2.一个"withdrawAsset()"函数,将调用Masterchef的"withdraw()"来提取存入的LP代币。
攻击阶段:
攻击者利用闪电贷获得了156,984BSC-USD和157,210BUSD。
首发 | 百度推动246家博物馆线上藏品上链:金色财经讯,近日,百度超级链联合百度百科,基于区块链技术创建 “文博艺术链”,推动百科博物馆计划中的246家博物馆线上藏品上链。基于“文博艺术链”,百度将与博物馆共同推动线上藏品版权的确权与维护,同时探索线上藏品版权数字化交易方式,为合作的博物馆提供更全面的服务和更多的权益。据介绍,此项目将分阶段进行,一期将完成线上藏品的入链确权,为每一件藏品生产专属的版权存证证书。让每一名用户可以在百度百科博物馆计划的PC端和WAP端的藏品页查看证书。后续,百度还将推动AI与区块链技术在文博领域的结合应用,用来保障上链数据与藏品相匹配,为后续进行藏品图像版权数字化交易奠定基础。[2019/1/30]
攻击者向ParaPair发送通过闪电贷获得的BSC-USD和BUSD代币,并收到155,935枚LP代币作为回报。
然后,攻击者调用"depositByAddLiquidity()"函数,将LP代币存入资金池。
1.在调用此函数时:输入参数“_pid”为18,“_tokens”为。
2.因为depositByAddLiquidity()会调用“UBT.transferFrom()”函数,因此MasterChef.deposit()函数会被触发并且向合约存入155,935LP代币。
3.因此,155,935LP代币被存入了两次并且攻击者获得了两份“userInfo”的记录(一次是从UBT,另一次是从攻击者的合约)。
最后,攻击者提取了两次:
1.?第一次是通过函数“UBT.withdrawAsset()”。
2.另一个是来自攻击者对“Masterchef.withdraw()”函数的调用。最后,攻击者删除了流动资金并返还了闪电贷。
合约漏洞分析
在函数`MasterChef.depositByAddLiquidity()`中,作为参数传入的`_tokens`可以与池中的编号为`_pid`的tokens不匹配。
`depositByAddLiquidity()`函数通过调用`addLiquidityInternal()`函数,触发了传入恶意代币的“transferFrom”函数,进而导致了重入的问题。因此,同一份LP代币被存入两次。
资产去向
截至3月13日,总共有价值约170万美元的资产被盗。3000个BNB仍然在攻击者在BSC的地址中,235个ETHs则通过Birdge转移到以太坊,并通过Tornado进行洗白。
写在最后
该次事件可通过安全审计发现相关风险:审计可以发现重入问题和外部依赖问题。
同时,CertiK的安全专家建议:
时刻关注函数的外部输入,尽量避免传入合约地址作为参数。
关注外部调用,为所有可能出现重入危险的外部调用函数加上“nonReentrant”修饰函数。
本次事件的预警已于第一时间在CertiK项目预警推特
除此之外,CertiK官网已添加社群预警功能。在官网上,大家可以随时看到与漏洞、黑客袭击以及RugPull相关的各种社群预警信息。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。