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

前言

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

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

分析

1.攻击者相关信息

攻击tx:

0x4b4143cbe7f5475029cf23d6dcbb56856366d91794426f2e33819b9b1aac4e96

Galaxy Digital创始人:抄底是危险的:5月20日消息,加密投资机构Galaxy Digital创始人Mike Novogratz在推特上表示,当前山寨币已经较高点下跌超过80%,而2018年的下跌幅度是95%。然后又跌了70%。Novogratz称,“我的观点是,抄底是危险的,特别是如果你的规模在慢慢扩大。”[2022/5/21 3:31:40]

被攻击合约:

0x5A9Fd7c39a6C488E715437D7b1f3C823d5596eD1--代理合约

0x73a499e043b03fc047189ab1ba72eb595ff1fc8e--逻辑合约

攻击者地址: ?

0xC6f2bDE06967E04caAf4bF4E43717c3342680d76 -- 部署地址

STEPN:游戏公会为游戏增添了社交维度,但也存在潜在危险:5月13日消息,Move to Earn应用STEPN发文讨论游戏工会,称游戏公会为游戏增添了社交维度,但也存在潜在危险。STEPN表示,STEPN模型已内置到应用程序中,希望有效地切断中间商,让每个玩家都受益。这意味着团体控制NFT价格的权力被严重稀释。在培育强大的社区的同时,还必须保持组织内部的权力平衡。公会有权(即使他们不打算这样做)操纵市场并控制游戏的玩家群。[2022/5/13 3:14:43]

0x878099F08131a18Fab6bB0b4Cfc6B6DAe54b177E -- 收款地址

2.攻击流程

攻击调用流程

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

分析:印度最高法院的判决文本中存在多个危险信号 行业前景仍不容乐观:Policy 4.0创始人兼首席执行官、安永印度(EY India)区块链业务前主管Tanvi Ratna发文谈及了“印度最高法院推翻央行加密货币禁令”一事。Ratna指出,该判决并非最终决定(注:央行仍可提交复审申请),且在判决文本中存在多个危险信号。此外,2019年2月28日提交的一项旨在禁止加密货币的法律草案仍有可能在印度议会获得通过。Ratna在对这份长达180页的判决书进行分析后发现,从本质上讲,整个判决取决于央行是否违反了印度宪法第19 (1)(g)条所规定的一项基本权利——从事任何职业的自由。最高法院的结论是,央行的措施违反了该条款,即禁止了加密货币交易服务商从事其职业的自由,且禁止措施与现存威胁不成比例。裁决还得出结论称,央行没有拿出实验性数据或采用其他可信的替代措施来证实(加密货币的)威胁。此外,最高法院作出该判决的重要原因之一是“目前还没有禁止加密货币的法律”,这意味着一旦有了这样的法律,判决便无法成立。(CoinDesk)[2020/3/7]

声音 | 杨海坡:很多BSV浏览器和钱包出现故障 对一个全球支付系统很危险:ViaBTC矿池CEO杨海坡发微博称,BSV还没分(网络升级)之前我就警告过,在整个网络没有准备好的情况下盲目且没有必要的扩大区块上限是很危险的,今天很多BSV的浏览器和钱包出现故障,之前已经出现多次,这对一个全球支付系统是很危险的行为。不过幸运的是,ViaBTC BSV 浏览器服务运转正常。[2019/7/26]

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

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

动态 | 日本区块链促进协会讨论加密货币被用于暗网的危险性:区块链促进协会(BCCC)于5月28日在东京大井町举行了第17次风险管理委员会会议。此次会议的主题是虚拟货币(加密资产)被用于通过暗网的危险性以及全球应对法规。 日本信用情报服务代表理事Naoshi Kozuka表示,“暗网资金正在以极快的速度进入虚拟货币,因此虚拟货币正在被污染。”三菱综合研究所的河田雄次表示:“随着加密资产的普及,将其用在暗网结算、交易所非法流出、ICO欺诈等犯罪的情况也在增加。”据悉,虚拟货币非法交易造成的损失逐年增加,2018年约有17亿美元。河田补充称,犯罪所获收益很有可能是利用加密资产进行。(Crypto.Watch)[2019/6/7]

在 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 所说的那样:“我们的使命是最大化用户体验,现在我们痛苦地了解到,为了遵循这种精神,我们的安全措施必须大幅改进。”

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

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

地球链

BNB数字货币:金色荐读|数字货币有助人民币国际化

从商品货币演化到信用货币,货币自身的价值属性不断向交易的便利性妥协。然而,带着降低交易成本之使命而降生的货币,反而成了增加交易成本的源头之一。这集中体现在国际经济和金融交易活动中.

[0:0ms0-1:32ms