一、前言
北京时间3月20日晚,知道创宇区块链安全实验室监测到以太坊上分布式跨链协议Li.Finance受到了攻击,攻击者执行了37次call注入获取了多个钱包中约60万美元的资产。此次资产损失并没有非常大,但项目方对于攻击的处理非常积极并值得学习与肯定(见后文),目前项目方已补偿了协议损失并修复后重新部署了协议。知道创宇区块链安全实验室第一时间跟踪本次事件并分析。
二、分析
1.攻击者相关信息
攻击tx:0x4b4143cbe7f5475029cf23d6dcbb56856366d91794426f2e33819b9b1aac4e96
达利欧:世界正处于“危险的边缘”,或面临三个“地震式”剧变:3月26日消息,美国桥水投资公司创始人、首席投资官导师、董事会成员瑞·达利欧在中国发展高层论坛2023年年会上表示,世界正处于“危险的边缘”,可能会面临三个“地震式”的剧变。达利欧所称的三个剧变分别是,一是巨额债务的货币化,即各国央行通过印钞,发行货币来购买这些债务,二是财富和价值观的鸿沟引发的巨大内部冲突,三是国际大国的冲突。达利欧认为,现在这三种因素都在以1930年-1945年以来最大的程度出现。[2023/3/26 13:27:20]
被攻击合约:
0x5A9Fd7c39a6C488E715437D7b1f3C823d5596eD1--代理合约
0x73a499e043b03fc047189ab1ba72eb595ff1fc8e--逻辑合约
宾夕法尼亚大学沃顿商学院会计师列出了FTX在崩盘前的多个危险信号:金色财经报道,宾夕法尼亚大学沃顿商学院的记者兼财务会计讲师Francine McKenna一篇文章中分析了FTX在崩盘前的多个危险信号。McKenna写道,FTX的第一个危险信号是选择两家小公司审计公司Armanino和Prager Metis。为什么SBF要聘请两家不同的公司而不是一家,事后看来,这或许表明SBF不希望任何公司看到全貌。这两家公司几乎没有任何审计大型企业的经验。
第二个危险信号是,Prager Metis和Armanino均未就 FTX US或FTX Trading对会计和财务报告的内部控制发表意见。
第三个危险信号是FTX Trading或FTX US均未缴纳联邦所得税,尽管它们似乎都盈利。
最大的危险信号应该是这两年记录的复杂、往返和完全混淆的关联方交易的数量。[2022/11/19 13:23:40]
攻击者地址:
德克萨斯州参议员:基础设施法案包含会破坏加密和区块链创新的危险条款:8月8日消息,德克萨斯州参议员Texas Senator在最新的推特中表示,参议院即将通过立法,这对加密货币来说是可怕的。基础设施法案包含会破坏加密和区块链创新的危险条款,加密货币的支持者需要发出自己的声音。(U.today)[2021/8/8 1:42:20]
0xC6f2bDE06967E04caAf4bF4E43717c3342680d76--部署地址0x878099F08131a18Fab6bB0b4Cfc6B6DAe54b177E--收款地址
2.攻击流程
攻击调用流程攻击者构造payload并调用被攻击合约0x5a9fd7c3的swapAndStartBridgeTokensViaCBridge函数
声音 | BM:在交易所上存款是危险的:BM发推表示:“在交易所上存款是危险的,因为交易所会延迟用户的建设性收入,直到代币具有创造普通收入的‘价值’之后,用户才能获得相应的收入。不幸的是,这个价值必须被流动性所折现,而流动性是不明确的。”(MEET.ONE)[2019/10/10]
具体使用的Payload如下--图中选中部分即为利用授权转账部分的payload:
调用一次正常50刀的跨链桥功能
金色财经现场报道Distributed Lab创始人:目前加密货币的营销方式非常危险:金色财经现场报道,今日在Coindesk 2018共识会议上,Distributed Lab的创始人Pavel Kravchenko表示区块链无法验证任何数据,不允许即时交易、不可变、不加密、不能替代服务器。 同时,他也给出了区块链的五个用例,即投票、公共注册、供应链、分散交易及调和。Pavel认为,目前加密货币的营销方式是非常危险的,“必须在其他人富起来之前现在立刻购买比特币”的宣传方式是错误的方式。[2018/5/15]
在payload中包括多个call方法(调实际用transferFrom)。让0x5a9fd7c3调用37个call,借此利用多个钱包对于0x5a9fd7c3合约的授权(approve)将钱包资产转账到攻击者地址:
后续执行正常的跨链桥逻辑_startBridge(_cBridgeData);。这也是为什么第一个swap是正常的,这样才能让后续逻辑正常执行下去
3.漏洞细节
导致本次问题的根本原因被攻击合约0x5a9fd7c3的逻辑合约存在一个批量让call调用传入数据的函数swapAndStartBridgeTokensViaCBridge
该合约将会取出payload中的多个_swapData数据结构并调用,LibSwap.swap(...);实现如下:
借此,攻击者利用该合约的call将各个钱包对0x5a9fd7c3合约的代码授权转走了多个钱包中的各种代币。
4.项目方进展
在事件发生后,项目方第一时间对合约可能的方法进行了停用,并为其审计和安全性问题进行致歉。
而后,项目方还联系了黑客,希望能与其取得联系并和平解决:
同时,最快的时间将漏洞合约修复后上线:
并将钱包对于之前被攻击合约的授权取消,对新的合约进行了重新授权:
最后,将用户资产进行补回:
同时我们关注到,其在polygon链上的合约也已实现了新的部署:
三、总结
此次攻击的根本原因是项目方对于swapAndStartBridgeTokensViaCBridge合约的实现过度自由化所导致的call调用注入,但项目方积极的面对问题的态度和后续补救的及时性值得学习和肯定。不贵于无过,而贵与改过。但我们仍希望能将错误扼杀在发生之前,应从他人的错误中学习并避免自己未来的错误,正如Li.Finance所说的那样:
我们的使命是最大化用户体验,现在我们痛苦地了解到,为了遵循这种精神,我们的安全措施必须大幅改进。
近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。
Bitfinex宣布将支持NeoLegacy迁移至NeoN35月10日消息,据官方公告,Bitfinex宣布将支持NeoLegacy迁移至NeoN3。迁移将于UTC时间5月12日9:00开始.
1900/1/1 0:00:00流动性挖矿涉及在智能合约中存入加密资产,以换取收益 流动性挖矿可能涉及相当大的风险。本文仅用于教育目的,不应被视为财务建议。在做出任何投资决定之前,请考虑您的个人风险状况.
1900/1/1 0:00:00波卡先锋奖宣布为MantaNetwork在零知识证明开发竞赛ZPrize中设立的竞赛单元提供75万美元赞助,以助力推进零知识证明技术的发展.
1900/1/1 0:00:00相关文章:Rust智能合约养成日记合约状态数据定义与方法实现Rust智能合约养成日记编写Rust智能合约单元测试Rust智能合约养成日记Rust智能合约部署.
1900/1/1 0:00:00超6亿美金加密货币被盗3月29日,区块链项目平台Ronin宣布被黑,约超6亿美元的加密货币被盗.
1900/1/1 0:00:00在新冠疫情出现后,媒体和体育产业都发生了肉眼可见的变化。而NFTs这一应用伴随着电子竞技和可视游戏的兴起而改变了游戏行业,也让更多的大众焦点因此转移到了NFTs等技术上.
1900/1/1 0:00:00