IDG:危险的授权转账:Li.Finance 攻击事件始末

前言

北京时间3月20日晚,知道创宇区块链安全实验室?监测到以太坊上分布式跨链协议。Li.Finance 受到了攻击,攻击者执行了 37 次call注入,获取了多个钱包中约 60 万美元的资产(204个ETH)。此次资产损失并没有非常大,但项目方对于攻击的处理非常积极并值得学习与肯定(见后文),目前项目方已补偿了协议损失并修复后重新部署了协议。

知道创宇区块链安全实验室?第一时间跟踪本次事件并分析。

分析

1.攻击者相关信息

攻击tx:

0x4b4143cbe7f5475029cf23d6dcbb56856366d91794426f2e33819b9b1aac4e96

德国社区银行联邦协会:数字欧元对小银行来说是危险的:金色财经报道,德国社区银行联邦协会(BVR)的一项调查发现,引入数字欧元可能会对德国银行业造成毁灭性后果。?根据调查,如果每人将3000欧元兑换成CBDC,则714家机构中只有56家能够满足法律要求的流动性缓冲。这意味着银行将不得不寻找替代的、更昂贵的资金来源。

相比之下,如果上限为500欧元,则只有18家机构会遇到问题。BVR提出此限制是因为它将其视为现金的数字版本。然而,可能的情况是并不是每个人都会全额转换,因此危险可能被夸大了。?

此外,正如欧洲央行行长Fabio Panetta等人所指出的那样,数字欧元的目的是成为一种支付手段,而不是一种投资形式。[2023/3/10 12:53:08]

被攻击合约:

0x5A9Fd7c39a6C488E715437D7b1f3C823d5596eD1--代理合约

调查:大规模的数据盗窃活动致使多个加密域名面临危险:Awake Security的最新调查表明,大规模的全球间谍活动和数据盗窃活动目前让上网的公民面临危险,其中包括多个比特币和加密域名。调查指出,问题的核心是一家名为CommuniGal Communication (GalComm)的域名注册公司。通过GalComm注册的26079个可访问域名中,有15160个域名(约占60%)是恶意或可疑的。调查列出的表格显示,与加密货币和比特币相关的域名包括cryptolimited.org、cryptocoiners.net、cryptomoedas.info、bitcoincompass.info和bitcoininvestmentstrategy.info等。(Cointelegraph)[2020/6/28]

0x73a499e043b03fc047189ab1ba72eb595ff1fc8e--逻辑合约

声音 | Andreas Antonopoulos:无边界审查制度的身份是危险的:据AMBCrypto报道,当被问及未来比特币是否会提供一种“开放的、无国界的、抵制审查的身份认同形式”时,比特币安全专家Andreas Antonopoulos表示,“由于身份本身不是单一的东西,身份是非常非常棘手的。身份是一个分形(Fractal),它是一个多维分形,取决于你看到的人类身份的哪个方面,你可以把其中的一个方面分开”。其认为,现在讨论身份问题还为时过早。有很多项目都在寻求解决身份问题,“这是最危险的部分”,这些项目“应用了一种非常机械的人类行为观”。他进一步指出,没有道德,技术是危险的,当涉及到身份或任何其他人类行为的社会建构时,道德成为一个非常重要的因素。[2019/5/19]

攻击者地址: ?

0xC6f2bDE06967E04caAf4bF4E43717c3342680d76 -- 部署地址

研究表明:基于JavaScript钱包应用程序生成的比特币地址长期处于危险之中:据btcmanager消息,一组研究人员发布警告称,由于JavaScript函数存在漏洞,基于JavaScript的钱包应用程序生成的旧比特币地址可能长期存在安全风险。研究人员称,黑客可以利用旧的JavaScript加密缺陷窃取存储在这些地址中的比特币。他们用暴力破解,可以获得这些地址的私钥,并获取存放在其中的钱包和比特币的所有权。[2018/4/21]

0x878099F08131a18Fab6bB0b4Cfc6B6DAe54b177E -- 收款地址

2.攻击流程

攻击调用流程

攻击者构造 payload 并调用被攻击合约 0x5a9fd7c3 的 swapAndStartBridgeTokensViaCBridge 函数:

首个完整量子芯片架构亮相 一旦量子计算成熟区块链网络或将处于危险当中:根据最近的一份报告,新南威尔士大学的研究人员揭示了一个解决量子计算科学家面临的稳定性问题的架构结构。卡耐基梅隆大学的研究员表示,量子计算理论上可以用于破解区块链技术的加密机制,把整个网络暴露在危险当中。然而,目前距离量子计算被开发出来还遥不可及,开发人员有足够时间来给区块链技术打补丁,应对未来量子计算带来的风险。[2017/12/17]

具体使用的 Payload 如下--图中选中部分即为利用授权转账(transferFrom)部分的 payload:

调用一次正常50刀的跨链桥功能(为了能正常调用 swapAndStartBridgeTokensViaCBridge 函数):

在 payload 中包括多个call方法(调实际用transferFrom)。让 0x5a9fd7c3 调用 37 个call,借此利用多个钱包对于 0x5a9fd7c3 合约的授权(approve)将钱包资产转账到攻击者地址:

后续执行正常的跨链桥逻辑 _startBridge(_cBridgeData); 这也是为什么第一个 swap 是正常的,这样才能让后续逻辑正常执行下去:

3.漏洞细节

导致本次问题的根本原因被攻击合约0x5a9fd7c3的逻辑合约存在一个批量让call 调用传入数据的函数 swapAndStartBridgeTokensViaCBridge:

该合约将会取出payload中的多个_swapData 数据结构并调用,LibSwap.swap(...);实现如下:

借此,攻击者利用该合约的 call 将各个钱包对 0x5a9fd7c3 合约的代码授权转走了多个钱包中的各种代币。

4.项目方进展

在事件发生后,项目方第一时间对合约可能的方法进行了停用,并为其审计和安全性问题进行致歉:

而后,项目方还联系了黑客,希望能与其取得联系并和平解决:

同时,最快的时间将漏洞合约修复后上线:

并将钱包(以Matic为例)对于之前被攻击合约的授权取消,对新的合约进行了重新授权:

最后,将用户资产进行补回:

同时我们关注到,其在 polygon 链上的合约也已实现了新的部署:

总结

此次攻击的根本原因是项目方对于 swapAndStartBridgeTokensViaCBridge 合约的实现过度自由化所导致的 call 调用注入,但项目方积极的面对问题的态度和后续补救的及时性值得学习和肯定。不贵于无过,而贵与改过。

但我们仍希望能将错误扼杀在发生之前,应从他人的错误中学习并避免自己未来的错误,正如 Li.Finance 所说的那样:“我们的使命是最大化用户体验,现在我们痛苦地了解到,为了遵循这种精神,我们的安全措施必须大幅改进。”

近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

NEARGRAM:金色趋势丨知史鉴今 又见黄金坑机会?

如果以13年牛市为例,启动点不以这一轮牛市的最低点(上一轮熊市的最低)算起,而是以后面这轮牛市持续拉升的主升浪启动前的最后一次调整低点算起,上方顶点以本轮牛市的最高点为结束点.

[0:0ms0-1:52ms