IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> Formation.Fi 闪电贷安全事件分析 -> 正文阅读

[区块链]Formation.Fi 闪电贷安全事件分析

前言

11 月 21 日,知道创宇区块链安全实验室 监测到以太坊上的 DeFi 协议 Formation.Fi 遭遇黑客攻击,损失近 10 万美元。实验室第一时间跟踪本次事件并分析。

涉及对象

Vault:

0xcb6afdc84e8949ddf49ab00b5b351a5b0f65a723

TetherToken:

0xdac17f958d2ee523a2206206994597c13d831ec7

黑客地址:

0x6510438A7E273e71300892c6faf946aB3B04CbCb

攻击合约地址:

0xd02C260F54997146C9028b2Ac7144b11ce4c20a6

攻击流程及形成漏洞成因分析

简述攻击流程

1、首先黑客通过 合约 0xd02C 进行闪电贷借出启动资金 200 USDT

在这里插入图片描述

2、向合约 Vault 质押 100 USDT 获得 99 Formation USD

在这里插入图片描述

3、通过 Vault 合约 swapin 函数置换 100 USDT 并附带大量 fee

在这里插入图片描述

4、调用 Vault 合约函数 withdraw 销毁 99 Formation USD 获得漏洞利润 99999 USDT

在这里插入图片描述

在这里插入图片描述

5、最后归还闪电贷 将获利转到黑客地址

在这里插入图片描述

漏洞成因分析

检查源码后发现具体问题主要出在 Vault 合约函数 swapIn 上,可以看到该函数调用参数 fee 能影响记录着全部代币的变量 totalTokens 的计算, fee 越大 totalTokens 越大。

在这里插入图片描述

而在通过函数 withdraw 实际获取利润时,可以看到实际转账时 totalTokens 参与了计算,所以当大量的 fee 被带人 totalTokens 计算后,会造成 withdraw 函数的转账超过原本的转账金额。

在这里插入图片描述

而造成攻击获利巨大的另个原因是 Formation USD 与 USDT 的小数点数位不同,Formation USD 为 18 位,USDT 为 6 位。小数点精准数位的差距在实际转账中进一步放大了黑客的收益。

Vault:

在这里插入图片描述

TetherToken:

在这里插入图片描述

重新梳理攻击过程

第一步:选用 USDT 作为攻击使用的代币,目的 USDT 与 Formation USD 的小数点精确度不同

第二步:黑客质押 100 USDT,目的为了后续调用 withdraw 函数实现套利

第三步:黑客兑换 100 USDT,目的添加大量的 fee 提升 totalTokens 的值

第四步:黑客取回质押的 USDT,目的使用提升后 totalTokens 与利用代币间小数点精确度不同来套取利润

第五步:归还闪电贷,转移套取的利润

总结

本次闪电贷安全事件发生的主要原因在于项目方设计函数 swapIn 时低估了 fee 对 totalTokens 的影响,且忽视了不同代币间小数点精确度的影响。

知道创宇区块链安全实验室 再次提醒近期各链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-11-25 08:10:19  更:2021-11-25 08:10:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:40:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码