零时科技 | FEGtoken遭受攻击,损失超130万美元事件分析

本文主要是介绍零时科技 | FEGtoken遭受攻击,损失超130万美元事件分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 0x1 事件背景

零时科技区块链安全情报平台监控到消息,北京时间 2022年5月16日 BNB Chain 和 Ethereum 链上 FEGtoken 遭到闪电贷攻击。损失资金价值超过130万美元,零时科技安全团队及时对此安全事件进行分析。

0x2 攻击者信息

  • 攻击者钱包:

0x73b359d5da488EB2E97990619976F2f004e9fF7C

  • 攻击者合约:

0x9a843bb125a3c03f496cb44653741f2cef82f445

  • 攻击交易:

https://etherscan.io/tx/0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2(Ethereum)

https://bscscan.com/tx/0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063(BNB Chain )

  • FEGexPRO合约:

https://etherscan.io/address/0xf2bda964ec2D2fcB1610c886eD4831bf58f64948#code(Ethereum)

https://bscscan.com/address/0x818e2013dd7d9bf4547aaabf6b617c1262578bc7#code(BNB Chain )

0x3 攻击分析

通过分析攻击者在BNB Chain和 Ethereum 两条链上的多笔攻击交易,每笔攻击交易流程大致如下:

1.攻击者通过闪电贷或者已获利的资金作为攻击交易的初始资金。

2.将获取的一部分初始资金质押后,从FEG Wrapped BNB合约中获取 fWrapped 代币,例如BNB质押获取fBNB。

3.攻击者通过攻击合约继续创建10个新的合约地址,为后续调用做准备。

 4.攻击者将获取的 fWrapped 代币通过 FEGexPRO.depositInternal 进行存款,此时攻击者在 FEGexPRO 合约有存款资金。

5.攻击者将自己创建的10个合约地址逐一作为path传入``

FEGexPRO.swapToSwap方法,通过FEGexPRO.depositInternal 和FEGexPRO.swapToSwap多次循环调用,最终10个合约均获得转移合约资金权限。

FEGexPRO.swapToSwap

 FEGexPRO.depositInternal

 6.攻击者调用转账方法获取授权给合约资金,成功获利(部分交易归还闪电贷)。

0x4 漏洞细节

通过攻击交易流程可以发现,攻击者成功获利的主要操作是通过上述步骤五循环调用FEGexPRO.depositInternal和FEGexPRO.swapToSwap 两个方法获取合约的授权资金。这里跟进以上两个方法:

FEGexPRO.swapToSwap 方法

 通过之前的交易流程可以明确,攻击者通过一步正常调用 depositInternal 方法存款后,调用swapToSwap方法传入的path参数为攻击者创建的合约地址。由于path正常情况下为兑换路径,swapToSwap方法逻辑中会给当前路径进行approve授权操作,方便后续兑换资金转移。但由于攻击者传入的path为自己创建的合约地址,所以这里swapToSwap方法逻辑中也会给攻击者传入的合约地址授权,但在后续path调用中,该资金并未转移,也就是用户余额减少了,但该合约地址中资金并未减少。(此时攻击者并未获利)

随后攻击者继续调用depositInternal 方法,继续跟进:

FEGexPRO.depositInternal 方法

 

该方法中,传入的可控值只有amt,也就是存款金额。由于第一次正常调用depositInternal方法已经进行了存款,并且攻击者调用swapToSwap方法也给自己的合约进行了授权操作,唯一与正常逻辑不符合的是,FEGexPRO合约地址的余额未及时减除,此步骤正好给了攻击者可乘之机。

当攻击者调用swapToSwap方法后,FEGexPRO合约余额未减除时,攻击者继续调用depositInternal方法进行存款,由于存款时会先获得之前的代币余额,之后进行转账,随后获取FEGexPRO合约地址余额,所以当攻击者此时转入很小的资金,并不会对合约资金有大的影响,但由于之前的FEGexPRO合约地址余额未通过swapToSwap方法减除,所以这里攻击者依然能够获取与第一次等量的存款。

之后攻击者通过swapToSwap与depositInternal循环调用,获取了FEGexPRO合约的所有资金。

0x5 资金来源及去向

BNB Chain 和 Ethereum 链上攻击者资金来源均来自 Tornado.Cash 混币平台,数量分别为1枚 ETH 和 1 枚 BNB。目前两条链上获利资金 144.8 枚ETH 和 3278.1 枚BNB 均未转移。

 

0x6 总结

通过此次攻击事件来看,FEGexPRO.swapToSwap合约未对传入的path路径参数进行严格校验,导致攻击者可以通过多个攻击合约多次循环授权,取走合约中所有资金。对于该合约代码的校验缺失风险,完全可以通过代码安全审计避免风险发生。

0x7 安全建议

  • 对方法传参应进行严格控制,避免发现参数可控导致资产损失;
  • 智能合约上线前应进行全面安全审计,对智能合约安全风险进行全面排查。

这篇关于零时科技 | FEGtoken遭受攻击,损失超130万美元事件分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342885

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展

【科技明说 | 科技热点关注】 2024戴尔科技峰会在8月如期举行,虽然因事未能抵达现场参加,我只是观看了网上在线直播,也未能采访到DTF现场重要与会者,但是通过数十年对戴尔的跟踪与观察,我觉得2024戴尔科技峰会给业界传递了6大重要信号。不妨简单聊聊:从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展? 1)退出中国的谣言不攻自破。 之前有不良媒体宣扬戴尔将退出中国的谣言,随着2

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网