2023年5月6日,据Beosin-Eagle?Eye态势感知平台消息,算法稳定币DEI项目合约遭受黑客攻击,黑客获利约630万美元。Beosin安全团队第一时间对事件进行了分析,结果如下。
事件相关信息
攻击交易
https://bscscan.com/tx/0xde2c8718a9efd8db0eaf9d8141089a22a89bca7d1415d04c05ba107dc1a190c3
https://arbiscan.io/tx/0xb1141785b7b94eb37c39c37f0272744c6e79ca1517529fec3f4af59d4c3c37ef
攻击者地址
Bsc:0x08e80ecb146dc0b835cf3d6c48da97556998f599
安全公司:MultiChainCapital遭受闪电贷攻击,黑客获利约10ETH:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,MultiChainCapital项目遭受闪电贷攻击(攻击交易:0xf72f1d10fc6923f87279ce6c0aef46e372c6652a696f280b0465a301a92f2e26),黑客利用通缩代币未将pair排除例外地址,使用deliver函数造成代币增发,最后通过swap函数将增发的代币兑换获利10ETH,目前资金存在黑客地址未转出。Beosin Trace将持续对资金流向进行监控。[2023/5/9 14:52:28]
Arbitrum:0x189cf534de3097c08b6beaf6eb2b9179dab122d1
Yearn Finance项目疑似遭受攻击,黑客获利超1000万美元:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,Yearn Finance项目疑似遭受到闪电贷攻击,黑客获利超1000万美元,目前资金全部存在黑客地址。 Beosin Trace将持续对资金流向进行监控。[2023/4/13 14:01:37]
被攻击合约
0xde1e704dae0b4051e80dabb26ab6ad6c12262da0
攻击流程
两条链上漏洞原理以及攻击手法相同,这里以Bsc链上交易为例进行分析:
1.攻击者调用攻击合约的0xf321f780函数发起攻击。
SushiSwap的BentoBoxv1合约遭受攻击,黑客获利约2.6万美元:金色财经报道,据区块链安全审计公司Beosin监测显示,SushiSwap的BentoBoxv1合约,据Beosin安全技术人员分析,该攻击是由于Kashi Medium Risk ChainLink价格更新晚于抵押/借贷后。在两笔攻击交易中,攻击者分别flashloan了574,275+785,560 个 xSUSHI, 在抵押和借贷之后,LINK Oracle中的kmxSUSHI/USDT 的价格从下降了16.9%。通过利用这一价格差距,攻击者可以调用 liquidate()函数清算从而获得15,429+11,333 个USDT,Beosin Trace追踪发现目前被盗资金还在攻击者的地址上:0xe7F7A0154Bf17B51C89d125F4BcA543E8821d92F。[2023/2/10 11:58:50]
2.攻击合约首先调用DEI合约的approve函数给pair授权一个很大的值,随后调用DEI合约的burnFrom函数,传入pair地址。
安全团队:以太坊上PEAKDEFI遭攻击,黑客获利约6.6万美元:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin?EagleEye 安全风险监控、预警与阻断平台监测显示,ETH链上的PEAKDEFI项目遭受攻击,攻击者利用合约中sellLeftoverToken()函数未进行权限校验。导致黑客合约中转走29832 BAT,5083 SUSHI,32508 matic,831 link,总价值66659美元。[2022/11/5 12:19:47]
Rari Capital在Fuse上的资金池遭到攻击,黑客获利近8000万美元:4月30日消息,Rari Capital在Fuse上的资金池遭到攻击,黑客获利近8000万美元。算法稳定币协议Fei Protocol表示如果黑客愿意归还被盗资金,愿意提供1000万美元赏金。[2022/4/30 2:42:33]
3.随后,攻击合约直接调用DEI合约的transferFrom函数将pair的DEI代币全部转移给攻击合约,只剩下一个单位的DEI代币。
4.之后,攻击合约调用pair的sync函数,更新储备量,此时pair中只有1个单位的DEI和超130万枚USDT。
5.最后,攻击合约使用所有的DEI将USDC全部兑换出来。
漏洞分析
我们从上述的攻击过程不难发现,本次事件的主要问题在于第2步与第3步,攻击者调用了approve和burnFrom函数之后,为什么就能直接调用transFrom函数将“其他人”的代币转移走?
我们看一下approve与burnFrom函数的代码,approve函数为正常授权函数,并没有什么问题,关键在于burnFrom函数,burnFrom函数正常逻辑是获取被销毁地址给调用者地址授权数量,之后将授权数量减去销毁数量的新值用于更新授权数量。可以看到,309行的代码函数获取用户授权值,而开发者将被销毁地址与调用者地址写反,导致获取的授权值是黑客可以任意设置的,在这之前,黑客调用approve函数授权了一个巨大的数,所以这里获取的值是一个巨大的值,在310行代码,将授权值进行更新,这里传递的值就是一个异常大的值,导致burnFrom函数调用结束后,pair地址给黑客地址授权了一个巨大的值,而黑客也能任意控制pair的代币。
资金追踪
截止发文时,被盗资金还未被攻击者转出。
总结
针对本次事件,Beosin安全团队建议:
1.合约开发时,涉及权限相关的函数一定要仔细思考其运行逻辑,并做好每一步的测试,防止因为粗心大意导致不可挽回的后果。
2.项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。
在SuiNetwork主网上线一周后的今天,加密研究员2?Lambroz对所有上线主网的DeFi项目进行了体验,将这些dApp的相关信息整理和汇总在了一个表格之中.
1900/1/1 0:00:002023年4月,温州多家科研机构、科技公司和社会组织共同发起了温州AIGC产业联盟,并与温州市服装商会共同发起“首届温州鞋服产业AIGC设计大赛”活动.
1900/1/1 0:00:001.一文看懂SovereignRollup运作原理人人都在谈论Sovereignrollup以及它们与基于智能合约的rollup有何不同,但却无人关注“它们实际上是如何运作的”.
1900/1/1 0:00:00游戏引擎在游戏开发中发挥着至关重要的作用。对于全链上游戏来说,同样需要一个能够帮助开发者快速部署游戏逻辑的工具.
1900/1/1 0:00:00近期,Bitget进行了一项关于人口年龄层变化与不同世代周期,对于加密资产持有率发展进程的研究.
1900/1/1 0:00:00来源:中国经营报4月14日,据外媒援引美国内华达州的一份文件报道,特斯拉、推特、SpaceX的公司CEO埃隆·马斯克已于3月9日注册了一家新的人工智能公司,名称为“X.AI”.
1900/1/1 0:00:00