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

二、分析

1.攻击者相关信息
攻击tx:0x4b4143cbe7f5475029cf23d6dcbb56856366d91794426f2e33819b9b1aac4e96被攻击合约:0x5A9Fd7c39a6C488E715437D7b1f3C823d5596eD1–代理合约0x73a499e043b03fc047189ab1ba72eb595ff1fc8e–逻辑合约攻击者地址: 0xC6f2bDE06967E04caAf4bF4E43717c3342680d76 – 部署地址0x878099F08131a18Fab6bB0b4Cfc6B6DAe54b177E – 收款地址

2.攻击流程
攻击调用流程攻击者构造payload并调用被攻击合约0x5a9fd7c3的swapAndStartBridgeTokensViaCBridge函数

具体使用的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所说的那样:

我们的使命是最大化用户体验,现在我们痛苦地了解到,为了遵循这种精神,我们的安全措施必须大幅改进。

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

知道创宇区块链安全实验室|危险的授权转账-- Li.Finance 攻击事件始末相关推荐

  1. 知道创宇区块链安全实验室|Hundred 与 Agave 闪电贷攻击事件分析

    1.前言 北京时间 3 月 15 日晚,知道创宇区块链安全实验室 监测到 Gnosis 链上的借贷类协议 Hundred Finance 与 Agave 均遭遇了闪电贷袭击,包括 AAVE 的分支 A ...

  2. 知道创宇区块链安全实验室|二月安全事件总结与回顾

    前言 新春二月,知道创宇区块链安全实验室 拓宽了对区块链安全信息收集总结的信息广度,将专注于典型安全事件的视角,拔升到了对整个区块链安全资讯的审视. 以下是知道创宇区块链安全实验室对二月各类型安全资讯 ...

  3. 知道创宇区块链安全实验室|UmbNetwork 攻击事件分析

    一.前言 北京时间 2022 年 3 月 21 日,知道创宇区块链安全实验室 监测到 BSC 链和以太坊上的 UmbNetwork 奖励池遭到黑客攻击,损失约 70 万美元.实验室第一时间对本次事件进 ...

  4. 知道创宇区块链安全实验室 | OneRing Finance 闪电贷攻击事件分析

    前言 北京时间 2022 年 3 月 22 日,知道创宇区块链安全实验室 监测到 Fantom 生态稳定币收益优化器 OneRing Finance 遭到闪电贷攻击,黑客窃取逾 145万 美元. 分析 ...

  5. 知道创宇区块链安全实验室|Ronin 安全事件分析

    前言 Ronin 是新加坡游戏工作室 Sky Mavis 开发的,是为支持游戏 Axie Infinity 而构建的以太坊侧链,使得用户能够自由地将资产转移到其他链上. 北京时间2022年3月29日, ...

  6. 知道创宇区块链安全实验室|Meter.io 攻击事件分析

    前言 北京时间2022年2月5日晚,Meter.io 跨链协议遭到攻击,损失约 430 万美元.知道创宇区块链安全实验室 第一时间跟踪本次事件并分析. 分析 基础信息 tx(Moonriver):0x ...

  7. 知道创宇区块链安全实验室|Build Finance 惨遭攻击,恶意治理攻击难防御?

    0x01:前言 风投 DAO 组织 Build Finance 在社交媒体发文表示,该项目遭遇恶意治理攻击,攻击者恶意铸造了110万枚BUILD并抛售套利.知道创宇区块链安全实验室第一时间对本次事件深 ...

  8. 知道创宇区块链实验室受邀参加“2021 CCF中国区块链技术大会”

    2021 年12 月 26 - 27 日 ,由中国计算机学会(CCF)主办的 " 2021 CCF中国区块链技术大会" 在海南海口隆重举办.此次会议邀请来自政府部门.高等院校.金融 ...

  9. 创宇区块链|三月安全月报

    前言 三月以来发生的安全事件数量之多.涉及到的金额之高令人沉默.据知道创宇区块链安全实验室[被黑事件档案库]数据显示:该月发生的安全事件超 34 起,其中跨链桥 Ronin 攻击事件涉及金额更是足以媲 ...

最新文章

  1. java 字符串大小比较
  2. Android ShareSDK桥接技术
  3. MATLAB编程与应用系列-第2章 数组及矩阵的创建及操作(4)
  4. 64位的Linux中运行32位的应用程序
  5. [转载] Python入门(输入/输出、数据类型、条件/循环语句)
  6. .9-浅析express源码之请求处理流程(2)
  7. 为什么需要一个激励函数
  8. hdu 3905(dp)
  9. 鸡兔同笼:不用暴力也可以
  10. linux下c语言动态库生成方法
  11. sas入门学习 via.数说工作室
  12. 自己电脑配置Oracle WebLogic Server
  13. Graphics.DrawLine 方法
  14. 支持二级汉字的 php 汉字助记码生成
  15. SD和SDHC和SDXC卡的区别是什么
  16. 万字拆解欧莱雅:百年美妆帝国的数字化远征
  17. 由word制作CHM文件
  18. Dynamic Graph Attention for Referring Expression Comprehension 論文閲讀筆記
  19. android 平板 旗舰,聊一款旗舰级安卓平板电脑
  20. 城市快速路拥堵治理及一体化交通组织优化经验分享

热门文章

  1. Python爬虫理论Pro | (3) Requests库详解
  2. word涂改涂掉图片_怎么在word中修改图片的两种方法
  3. postgresql nextval 使用
  4. 浏览器报字体图标 decode fail 的一种原因
  5. 大一计算机论文五百字,2021学生学习保证书范文
  6. 交叉编译libX11
  7. 阿里图标的引入使用即灵活修改大小颜色
  8. 股海沉浮:2005年到2007年超级大牛市行情领涨板块分析,推及2009年可能的走势
  9. 如何设计一个中介录入房源信息平台所需关键内容
  10. stm32f103RCT 使用ssd1306 IIC 接口 移植lkdGUI