2023年5月6日,据Beosin-Eagle?Eye态势感知平台消息,算法稳定币DEI项目合约遭受黑客攻击,黑客获利约630万美元。Beosin安全团队第一时间对事件进行了分析,结果如下。
事件相关信息
攻击交易
https://bscscan.com/tx/0xde2c8718a9efd8db0eaf9d8141089a22a89bca7d1415d04c05ba107dc1a190c3
https://arbiscan.io/tx/0xb1141785b7b94eb37c39c37f0272744c6e79ca1517529fec3f4af59d4c3c37ef
攻击者地址
Bsc:0x08e80ecb146dc0b835cf3d6c48da97556998f599
安全团队:BNBChain上加密项目ORT被利用,黑客获利约7万美元:金色财经报道,据区块链安全审计公司Beosin监测显示,BNBChain上的加密项目ORT被利用,黑客获利约7万美元。
其中黑客首先调用INVEST函数,这个函数会调用_Check_reward函数来计算用户的奖励,但是黑客的duration变量为0,所以会直接返回total_percent变量作为reward参数,然后黑客调用withdraw And Claim函数提取奖励,获取total_percent数量的ORT代币,重复上述步骤获利。[2023/1/17 11:16:00]
Arbitrum:0x189cf534de3097c08b6beaf6eb2b9179dab122d1
被攻击合约
0xde1e704dae0b4051e80dabb26ab6ad6c12262da0
派盾:多链钱包UvToken遭遇攻击,黑客获利约150万美元:金色财经报道,据派盾预警监测,多链钱包UvToken遭遇攻击,UVT代币价格下跌99%,攻击者已将盗取的约5011枚BNB(价值约150万美元)转入Tornado Cash。[2022/10/27 11:47:58]
攻击流程
两条链上漏洞原理以及攻击手法相同,这里以Bsc链上交易为例进行分析:
1.攻击者调用攻击合约的0xf321f780函数发起攻击。
NFT 借贷协议 XCarnival 遭到攻击,黑客获利约 380 万美元:6月26日消息,PeckShield 发推称,NFT 借贷协议 XCarnival 遭到攻击,黑客获利 3087 枚以太坊(约 380 万美元),而协议损失可能更高。黑客地址为 0xb7CBB4d43F1e08327A90B32A8417688C9D0B800a,PeckShield 表示本次攻击或由于已解除抵押的 NFT 仍被作为抵押品所致。[2022/6/27 1:33:01]
2.攻击合约首先调用DEI合约的approve函数给pair授权一个很大的值,随后调用DEI合约的burnFrom函数,传入pair地址。
Wormhole通过Immunefi平台修复一高危漏洞,黑客获1000万美元奖励:5月21日,据Immunefi官方消息,白帽黑客satya0x通过该平台为跨链桥Wormhole检举出一高危漏洞,并因此获得1000万美元奖励金,创下Immunefi平台获奖金额最高记录。该漏洞很快得到修复,没有用户资金受到影响。[2022/5/21 3:32:04]
3.随后,攻击合约直接调用DEI合约的transferFrom函数将pair的DEI代币全部转移给攻击合约,只剩下一个单位的DEI代币。
BSC生态项目PancakeHunny 遭遇黑客攻击 黑客获利 43 ETH:据PeckShield派盾追踪分析,PancakeBunny的仿盘PancakeHunny遭到黑客攻击,黑客获利43ETH(合计10余万美元)。[2021/6/3 23:07:40]
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.项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。
作者:Karen,ForesightNews本文汇总了近30个Web3教育平台以及Layer1/Layer2推出的官方入门和开发者资源网站,供读者一起学习和探讨.
1900/1/1 0:00:00本文来自UnchainedCrypto&Paradigm原文作者:RamiAl-Sabeq&Galaga&Pacman&Toad&DanRobinson&.
1900/1/1 0:00:00来源:财联社编辑刘蕊 图片来源:由无界AI工具生成随着全球对AI聊天机器人ChatGPT的兴趣高涨,一些黑客也开始利用这一热潮.
1900/1/1 0:00:00原文作者:DonovanChoy原文编译:深潮TechFlow当EIP-1559于2021年8月在以太坊上实施时,这标志着网络开始销毁ETH.
1900/1/1 0:00:00原文作者:StaderEthereum原文编译:深潮TechFlow代币化保险库,作为一种新兴的数字资产管理方式,已经在以太坊上得到广泛应用.
1900/1/1 0:00:00在ChatGPT?的影响下,目前?OpenAI?成为了全球最火爆的AI公司。然而回顾过去,它与马斯克之间的恩怨从创立之初就埋下了.
1900/1/1 0:00:00