2022年7月1日,成都链安链必应-区块链安全态势感知平台舆情监测显示,OPtimism链的Quixotic项目遭受黑客攻击,黑客获利847个BNB。成都链安安全团队对事件进行了分析,结果如下。
事件相关信息
据悉,Quixotic是一个可以使用ERC20代币和NFT进行买卖的平台,本次攻击事件发生后,平台目前所有市场活动都已暂停。
O(1) Labs和RISC Zero提出在Optimism上??添加两项 zk-proofs 的提案:7月21日消息,O(1) Labs 和 RISC Zero 的两项提案正在 Optimism 推进,以向 OP 链添加 zk-proofs。这些提交是为了响应旨在实现安全高效的跨链通信的提案请求。Optimism 基金会正在直接联系 O(1) 实验室和 RISC Zero,以“启动该项目并更详细地讨论期望”。
据悉,Zk-proof 基础设施和工具公司 RISC Zero 建议升级 Optimism 现有的故障协议,使用零知识证明来确保 Optimism 上状态更改的正确性,减少实现最终确定的时间。孵化 Mina 协议的 O(1) Labs 提议使用 Kimchi(Mina 协议目前使用的 zk 证明系统)创建一种新的防错解决方案,以有效地证明交易的正确执行。然后,这些证明用于通过智能合约更新以太坊网络的状态。[2023/7/22 15:51:32]
?攻击者地址
NFT铸造聚合器mint.fun已支持铸造Zora Network和Optimism网络NFT:7月20日消息,Web3追踪工具Context推出的铸造聚合器mint.fun已支持铸造Zora Network和Optimism网络NFT,并在Optimism网络上推出可免费铸造的NFT,用户可在PT时间7月21日9:00前铸造。此外用户在mint.fun上铸造一个L2NFT,可获得10个积分,每个NFT系列最多可获得100积分。[2023/7/20 11:06:23]
攻击者:
0x0A0805082EA0fc8bfdCc6218a986efda6704eFE5
攻击者合约:
0xbe81eabdbd437cba43e4c1c330c63022772c2520
?攻击交易
Optimism Goerli测试网已升级至Bedrock架构,存取款已恢复:1月13日消息,据官方推特,OP Labs现已将Optimism Goerli测试网升级至Bedrock架构,并重新启用存款和取款服务,Optimism Goerli Sequencer(定序器)也已恢复运行。
此前金色财经报道,OP Labs表示,此次升级将减少大约20%的Gas费,缩短存款时间,构建更安全、稳定的代码库和产品,并简化节点基础架构。此外,根据官方升级指南显示,Optimism主网升级将至少提前三周宣布2023年2月的正式日期和时间。[2023/1/13 11:09:50]
0xcdfb8b3cbe85452192196713f371e3afdeb908c3198f0eec334beff9462ab5df
0x1b0fd785391f804a373575ace3e81a28f4a35ade934c15b5dc62ddfbbde659b4
开源支付网络Celo推出的跨链通信机制Optics已在一些测试网部署:官方消息,以太坊核心开发者更新跨链通信机制Optics状态,已在一些测试网部署;今天从goerli向alfajores发送了一条信息;由于默克尔树同步中的错误,该消息位于 alfajores 收件箱中,未送达;关闭代理并重新部署。
此前消息,开源支付网络Celo(CELO)宣布推出高能效跨链通信机制Optics,目前正在开发的首个通道是Celo到以太坊间的网桥。[2021/6/1 23:00:38]
?被攻击合约:
0x065e8A87b8F11aED6fAcf9447aBe5E8C5D7502b6
#攻击过程
1.攻击者先创建NFT攻击合约,如图所示。
2.因为用户将ERC20代币过度授权给了ExchangeV4,并且ExchangeV4合约存在漏洞。导致攻击者利用ExchangeV4合约的fillSellOrder函数进行NFT订单创建通过向用户出售攻击合约中的NFT来转移用户向ExchangeV4合约授权的代币。
3.攻击完成后,攻击者将所盗资产转移至Tornado.Cash。
漏洞分析
本次攻击主要利用了在ExchangeV4合约中创建的NFT订单地址可以被指定,并且在交易中只验证了卖方签名就进行转账,导致用户在有向ExchangeV4进行ERC20代币授权的情况下,攻击者可以创建自己的NFT单方面进行交易,将虚假的NFT转移给用户换出用户向ExchangeV4合约授权的代币。
在fillSellOrder函数中,攻击者可以指定出售的NFT地址,并且在验证中只验证了攻击者的签名,而未验证买方的签名。那么攻击者可以通过验证,并在调用_fillSellOrder函数时,将攻击合约的NFT转移给买方,并执行_sendERC20PaymentsWithRoyalties函数转移买方向合约授权的ERC20代币
资金追踪
截止发文时,攻击者获利约847个BNB,当前攻击者已将所盗资金向Tornado.Cash转移。
总结
针对本次事件,成都链安安全团队建议:
1.在实现签名交易的功能时,需要验证买卖双方的签名。
2.用户需要避免过度授权保证财产安全。
3.项目上线前,建议选择专业的安全审计公司进行全面的安全审计,以规避安全风险。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。