1.前言

北京时间 3 月 15 日晚,知道创宇区块链安全实验室 监测到 Gnosis 链上的借贷类协议 Hundred Finance 与 Agave 均遭遇了闪电贷袭击,包括 AAVE 的分支 Agave 和 Compound 的分支 Hundred Finance 。协议损失超 1100 万美元。目前 项目方已暂停其数百个市场。

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


2. 分析

2.1 攻击者相关信息

Hundred Finance被攻击 tx:

0x534b84f657883ddc1b66a314e8b392feb35024afdec61dfe8e7c510cfac1a098

攻击合约:0xdbf225e3d626ec31f502d435b0f72d82b08e1bdd

攻击地址: 0xd041ad9aae5cf96b21c3ffcb303a0cb80779e358

攻击后跨链匿名化:https://etherscan.io/txs?a=0xd041ad9aae5cf96b21c3ffcb303a0cb80779e358

Agave被攻击tx:

0xa262141abcf7c127b88b4042aee8bf601f4f3372c9471dbd75cb54e76524f18e

攻击合约:0xF98169301B06e906AF7f9b719204AA10D1F160d6

攻击地址: 0x0a16a85be44627c10cee75db06b169c7bc76de2c

攻击后跨链匿名化:https://etherscan.io/txs?a=0x0a16a85be44627c10cee75db06b169c7bc76de2c

2.2攻击流程

由于 Hundred Finance 与 Agave 攻击流程与手法类似,因此我们使用 Hundred Finance 进行分析。

Hundred Finance 攻击调用流程

1、攻击者利用合约在三个池子中利用闪电贷借出 WXDAI 和 USDC

2、在 WETH 池子质押借出的部分 USDC


3、利用重入利用一笔质押,超额借出池子中资金

4、重复质押-重入借出步骤,将其他两个池子资产超额借出

5、归还闪电贷

6、获利转移

2.3漏洞细节

导致本次问题的根本原因是由于在 Gnosis 链上的官方桥接代币 xDAI 合约中实现了一个对于 to 地址的回调( callAfterTransfer 函数)

合约实现地址:

https://blockscout.com/xdai/mainnet/address/0xf8D1677c8a0c961938bf2f9aDc3F3CFDA759A9d9/contracts


该回调将直接导致重入漏洞的产生,同时由于在 Hundred Finance 团队 fork 的 Compound 版本中没有严格遵循检查-生效-交互(防止重入的另一种方式),进而导致了总借贷量更新晚于重入实现。最终攻击者得以超额借贷。


类似的,对于 Agave 项目方,攻击者利用 liquidateCall 函数内部调用会调用 xDAI 的 callAfterTransfer 方法进行回调,最终导致攻击者能再次进行借贷。

在 Hundred Finance 攻击中攻击者重入的调用路径如下:

在 Agave 攻击中攻击者回调路径(调用 liquidateCall 时内部调用时回调)如下:

3.总结

此次遭受攻击的两个借贷项目由于错误的引入了存在重入的 token,同时项目方的 fork 的代码没有采用检查-生效-交互模式导致了问题的发生。

我们强调:对于一个优秀的项目的引用必须建立在足够的理解和严谨的开发上,尤其是存在差异化的部分,切忌顾此失彼最终因为一个小的差错导致项目全部的损失。

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

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

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

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

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

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

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

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

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

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

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

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

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

    一.前言 北京时间3月20日晚,知道创宇区块链安全实验室 监测到以太坊上分布式跨链协议 Li.Finance 受到了攻击,攻击者执行了37次call注入获取了多个钱包中约60万美元的资产(204个ET ...

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

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

  8. 创宇区块链|千里之堤毁于蚁穴,Fortress Protocol 惨遭攻击。

    前言 北京时间 2022 年 5 月 9 日,知道创宇区块链安全实验室监测到 BSC 链上借贷协议 Fortress Protocol 因预言机问题被攻击,这是最近实验室检测到的第三起预言机攻击事件, ...

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

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

最新文章

  1. php5.5CURL图片上传废弃@
  2. ORACLE经常使用的命令
  3. vue-cli3配置externals、jquery
  4. 道客巴巴 解析_华为2019数字芯片岗笔试解析(多选部分)
  5. Qt5学习笔记之bin文件合成工具一:使用对话框选取本地文件并读取
  6. 网络工程师Day4--实验3-1 配置ACL过滤企业数据
  7. 智慧工厂 VR 拆解零件 —— Hightopo 3D 虚实现实可视化系统
  8. 戴尔服务器u盘装系统看不见磁盘,戴尔电脑u盘装系统找不到硬盘怎么解决
  9. 高绩效团队-VUCA时代的五个管理策略《二》—代际管理
  10. 运单状态机设计及全流程异常跟踪整体架构
  11. 9.11云和恩墨笔试
  12. 【数据结构Python描述】手动实现一个list列表类并分析常用操作时间复杂度
  13. 记win10安装cupy的cuda版本成功踩得坑!!!血泪教训!!
  14. Android模拟器的下载与安装(Windows)
  15. 【拜读】HTTPS和SSL/TLS 协议
  16. 给你一个团队,你应该怎么管?制度是绝情的,管理是无情的,执行是合情的
  17. Android加密 看雪,Android加密与解密入门两题
  18. oracle open hang 等待cursor: pin S wait on X---惜分飞
  19. 【Linux】linux下删除/清空文件夹/文件命令
  20. 【修复日常bug】微信小程序canvas画商品海报出现个别用户无法生成的情况

热门文章

  1. Firefox - 为开发者定制的浏览器
  2. 家电售后乱象频发,瑞云服务云助力服务规范升级
  3. windows文本绘制 TextOut、DrawText、CreateFont、SetTextColor、SetBkColor、SetBkMode
  4. Leetcode2086. 从房屋收集雨水需要的最少水桶数(medium)
  5. 计算机作业画报,科学画报文章
  6. QQ网页在线咨询代码
  7. 第九十九节,JavaScript数据类型
  8. 无符号数减法最强解释
  9. 大厂程序员更能放下身段,愿降薪跳槽的求职者超5成,30-35岁最多 | 美通社头条...
  10. 手把手教你如何做电视直播