北京时间2022年3月13日上午9:04,CertiK安全技术团队监测到Paraluni'sMasterChef?合约遭到攻击,大约170万美元的资金通过多笔交易从该项目中被盗。
下文CertiK安全团队将从该项目的操作及合约等方面为大家详细解读并分析。
漏洞交易
攻击者地址:?https://bscscan.com/address/0x94bc1d555e63eea23fe7fdbf937ef3f9ac5fcf8f?
交易实例:?https://bscscan.com/tx/0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54
LBANK蓝贝壳于3月22日18:00首发 DORA,开放USDT交易:据官方公告,3月22日18:00,LBANK蓝贝壳首发DORA(Dora Factory),开放USDT交易,现已开放充值。
资料显示,Dora Factory 是基于波卡的 DAO 即服务基础设施,基于 Substrate 的开放、可编程的链上治理协议平台,为新一代去中心化组织和开发者提供二次方投票、曲线拍卖、Bounty 激励、跨链资产管理等可插拔的治理功能。同时,开发者可以向这个 DAO 即服务平台提交新的治理模块,并获得持续的激励。[2021/3/22 19:07:06]
合约地址
Masterchef合约:?https://bscscan.com/address/0xa386f30853a7eb7e6a25ec8389337a5c6973421d#code
首发 | 百度财报体现区块链 BaaS平台成为新战略重点:金色财经报道,2020年2月28日,百度(股票代码BAIDU)公布财报,其中将区块链BaaS平台相关的进展进行了单独叙述,依托于百度智能云的区块链平台有望成为技术创新方向的新增长引擎。在AI服务上,百度与上海浦东发展银行达成合作,共建区块链联盟,在百度区块链服务(BaaS)平台上实现跨行信息验证。[2020/2/28]
攻击流程
注意,这个攻击流程是以下面这个交易为基础的:https://bscscan.com/tx/0x70f367b9420ac2654a5223cc311c7f9c361736a39fd4e7dff9ed1b85bab7ad54
准备阶段:
攻击者部署了两个恶意的代币合约UGT和UBT。
首发 | 嘉楠耘智宣布与Northern Data在AI、区块链等高性能计算领域达成战略合作:据官方消息,2020年2月17日,嘉楠耘智宣布与区块链解决方案及数据中心服务提供商Northern Data AG达成战略合作。本次合作的内容涵盖AI、区块链及数据中心运维等高性能计算领域。
嘉楠耘智拥有丰富的高性能计算专用ASIC芯片研发经验。Northern Data AG则专注于区块链和数据中心等高性能计算基础设施的建设。通过本次战略合作,双方将在AI、区块链等新兴领域进一步释放增长潜能。[2020/2/19]
在UBT代币合约中,有两个恶意的函数实现:
1.在"transferFrom()"函数中,攻击者实现了对MasterChef的"deposit()"函数的调用,以存入LP代币。
首发 | 蚂蚁矿机S17性能曝光 采用全新散热技术及全局优化定制方案:金色财经讯,日前,比特大陆即将发布的蚂蚁矿机S17性能曝光。据蚂蚁矿机S17产品经理朋友圈称,新品将采用新一代散热技术及全局优化定制方案。据了解,该散热技术可能是指芯片的封装技术,也有可能是机器的散热结构设计。至于S17产品“全局优化定制”方案未有细节透露。有声音评价,这或许是为决战丰水期做出的准备。[2019/3/22]
2.一个"withdrawAsset()"函数,将调用Masterchef的"withdraw()"来提取存入的LP代币。
攻击阶段:
攻击者利用闪电贷获得了156,984BSC-USD和157,210BUSD。
攻击者向ParaPair发送通过闪电贷获得的BSC-USD和BUSD代币,并收到155,935枚LP代币作为回报。
IMEOS首发 BM表示EOS合约具有整数溢出保护:据金色财经合作媒体IMEOS报道:近日ETH出现多个ERC20智能合约的处理溢出错误,BM在推特上发表评论:新的ETH契约Bug可能会破坏整个Token的供应,让持有者留下无价值Token.这就算为什么代码不能成为法律,随即表示EOS erc合约不容易受到这种攻击。而EOS官方群也有人表示担忧EOS是否具有整数溢出保护?BM回应:有很多C ++模板类可以封装类型并检查溢出。[2018/4/25]
然后,攻击者调用"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相关的各种社群预警信息。
学过历史的人可能还记得中世纪欧洲的城邦。当时,商人的商队带着奢侈品和远方的消息从一个城邦到另一个城邦。正是这种生活方式使这些商人有了流动和选择的自由.
1900/1/1 0:00:00在萨尔瓦多,比特币债券即将到来的发行在很大程度上依赖于散户投资者,但机构怀疑主义威胁着该项目的成功.
1900/1/1 0:00:00Web3.0一词最初是由GavinWood博士在一篇描述去中心化互联网将带来的突破的博客文章中创造的.
1900/1/1 0:00:00加密货币在主流采用方面面临一个主要障碍:用户操作是复杂的,对于加密新手来说,即使做最简单的事情——完全控制自己的数字资产,也并不容易。用户在投资加密货币时并不需要完全控制其资产.
1900/1/1 0:00:00继3月1日美国财政部正式将加密资产添加至对俄罗斯制裁指南中,包括欧盟、日本、新加坡等多个国家也加入了这一行列。3月3日,法国财长勒梅尔表示,欧盟财政部长们同意加强对俄罗斯的制裁.
1900/1/1 0:00:00去年此时,PANews发文全景式解析了NFT生态,盘点了当时主导市场且具有成长潜力的项目。时隔一年,无论是NFT的交易体量、用户规模,还是生态应用都发生了质的变化.
1900/1/1 0:00:00