一、前言
北京时间3月20日晚,知道创宇区块链安全实验室监测到以太坊上分布式跨链协议Li.Finance受到了攻击,攻击者执行了37次call注入获取了多个钱包中约60万美元的资产。此次资产损失并没有非常大,但项目方对于攻击的处理非常积极并值得学习与肯定(见后文),目前项目方已补偿了协议损失并修复后重新部署了协议。知道创宇区块链安全实验室第一时间跟踪本次事件并分析。
二、分析
1.攻击者相关信息
攻击tx:0x4b4143cbe7f5475029cf23d6dcbb56856366d91794426f2e33819b9b1aac4e96
ITM Trading首席市场分析师警告CBDC危险:金色财经报道,周末,关于中央银行数字货币(CBDC)的讨论在社交媒体上走红,因为许多人认为这一想法将导致加强金融监管和极权主义货币体系。在最近的一次采访中,ITM Trading首席市场分析师Lynette Zang警告说,CBDC将世界带入一个可以由中央银行直接控制的全面监督经济。[2023/4/17 14:07:30]
被攻击合约:
0x5A9Fd7c39a6C488E715437D7b1f3C823d5596eD1--代理合约
0x73a499e043b03fc047189ab1ba72eb595ff1fc8e--逻辑合约
攻击者地址:
0xC6f2bDE06967E04caAf4bF4E43717c3342680d76--部署地址0x878099F08131a18Fab6bB0b4Cfc6B6DAe54b177E--收款地址
以太坊开发人员:单个执行层节点捆绑多个共识层节点的运行方式是危险的:8月30日消息,以太坊开发人员MariusVanDerWijden在其社交平台表示,单个执行层节点(EL)捆绑多个共识层节点(CL)的运行方式是危险的,大家可以在1个共识层节点与执行层节点的组合上运行多个验证者。Marius对此解释道,不同的共识层节点会告诉执行层节点不同的状态信息,造成执行冲突。[2022/8/30 12:57:11]
2.攻击流程
攻击调用流程攻击者构造payload并调用被攻击合约0x5a9fd7c3的swapAndStartBridgeTokensViaCBridge函数
俄罗斯央行行长:加密货币是最危险的投资策略:6月27日消息,俄罗斯央行行长纳比乌琳娜在采访中表示,投资数字资产比其他任何投资策略都更危险。数字资产波动很大,投资者应警惕产生“巨额”损失。(CryptoPotato)[2021/6/27 0:09:40]
具体使用的Payload如下--图中选中部分即为利用授权转账部分的payload:
调用一次正常50刀的跨链桥功能
在payload中包括多个call方法(调实际用transferFrom)。让0x5a9fd7c3调用37个call,借此利用多个钱包对于0x5a9fd7c3合约的授权(approve)将钱包资产转账到攻击者地址:
调查:大规模的数据盗窃活动致使多个加密域名面临危险:Awake Security的最新调查表明,大规模的全球间谍活动和数据盗窃活动目前让上网的公民面临危险,其中包括多个比特币和加密域名。调查指出,问题的核心是一家名为CommuniGal Communication (GalComm)的域名注册公司。通过GalComm注册的26079个可访问域名中,有15160个域名(约占60%)是恶意或可疑的。调查列出的表格显示,与加密货币和比特币相关的域名包括cryptolimited.org、cryptocoiners.net、cryptomoedas.info、bitcoincompass.info和bitcoininvestmentstrategy.info等。(Cointelegraph)[2020/6/28]
首个完整量子芯片架构亮相 一旦量子计算成熟区块链网络或将处于危险当中:根据最近的一份报告,新南威尔士大学的研究人员揭示了一个解决量子计算科学家面临的稳定性问题的架构结构。卡耐基梅隆大学的研究员表示,量子计算理论上可以用于破解区块链技术的加密机制,把整个网络暴露在危险当中。然而,目前距离量子计算被开发出来还遥不可及,开发人员有足够时间来给区块链技术打补丁,应对未来量子计算带来的风险。[2017/12/17]
后续执行正常的跨链桥逻辑_startBridge(_cBridgeData);。这也是为什么第一个swap是正常的,这样才能让后续逻辑正常执行下去
3.漏洞细节
导致本次问题的根本原因被攻击合约0x5a9fd7c3的逻辑合约存在一个批量让call调用传入数据的函数swapAndStartBridgeTokensViaCBridge
该合约将会取出payload中的多个_swapData数据结构并调用,LibSwap.swap(...);实现如下:
借此,攻击者利用该合约的call将各个钱包对0x5a9fd7c3合约的代码授权转走了多个钱包中的各种代币。
4.项目方进展
在事件发生后,项目方第一时间对合约可能的方法进行了停用,并为其审计和安全性问题进行致歉。
而后,项目方还联系了黑客,希望能与其取得联系并和平解决:
同时,最快的时间将漏洞合约修复后上线:
并将钱包对于之前被攻击合约的授权取消,对新的合约进行了重新授权:
最后,将用户资产进行补回:
同时我们关注到,其在polygon链上的合约也已实现了新的部署:
三、总结
此次攻击的根本原因是项目方对于swapAndStartBridgeTokensViaCBridge合约的实现过度自由化所导致的call调用注入,但项目方积极的面对问题的态度和后续补救的及时性值得学习和肯定。不贵于无过,而贵与改过。但我们仍希望能将错误扼杀在发生之前,应从他人的错误中学习并避免自己未来的错误,正如Li.Finance所说的那样:
我们的使命是最大化用户体验,现在我们痛苦地了解到,为了遵循这种精神,我们的安全措施必须大幅改进。
近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。
相关文章:Rust智能合约养成日记合约状态数据定义与方法实现Rust智能合约养成日记编写Rust智能合约单元测试Rust智能合约养成日记Rust智能合约部署.
1900/1/1 0:00:005月23日,据区块链浏览器TRONSCAN数据,波场TRON账户总数达到94,159,408,正式突破9400万。波场TRON各项数据稳中前进,波场生态逐渐强大的同时,也将迎来更多交易量.
1900/1/1 0:00:00具体项目调研下面将按不同分类以及元宇宙开放程度,对上述项目做具体的分析。分类方式介绍:将对项目分为“可编辑空间或可进入空间游玩”,“与DeFi结合”,“尚未确定”三个大类别;同时将根据“具有本身.
1900/1/1 0:00:00MediaCoverageTether驳回乌克兰关于禁止俄罗斯交易的上诉此前,费多罗夫曾呼吁多家西方公司实施类似禁令.
1900/1/1 0:00:00用质押换取做任务的资格,以及完成任务就能赢得代币,这种办法让DAO在向社区成员发布任务时更加容易.
1900/1/1 0:00:00BlockScience和ixo在Interchain基金会的支持下,设计了一个创新的加密经济原语,实现了通过风险调整型联合曲线的方式对融资效果产生影响.
1900/1/1 0:00:00