QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

黑客利用一个漏洞攻击 8 次获利 630 万美元,币安智能链被盯上了?

  • 2021-06-04
  • 本文字数:2101 字

    阅读完需:约 7 分钟

黑客利用一个漏洞攻击8次获利630 万美元,币安智能链被盯上了?

Belt Finance 是一种基于币安智能链(BSC)的去中心化借贷协议,5 月 29 日,攻击者通过智能合约开始对 4Belt BLP 池发起闪电贷攻击。


据悉,攻击方创建了一份使用 PancakeSwap 进行闪电贷的智能合约,并利用 BeltBUSD 池及其底层策略协议先后对合约内容执行了 8 次,借此攫取了高达 6234753 BUSD 的收益。BeltBUSD 金库用户遭受 21.36% 的资金损失,而 4Belt 币池用户则遭受 5.51% 资金损失。


攻击过程


据 Belt Finance 团队介绍,攻击者首先利用 PancakeSwap 中的漏洞获得了总值 3.9 亿 BUSD 的闪电贷额度,这已经接近 PancakeSwap 上全部 BUSD 池所能提供的最大 BUSD 金额。之后,攻击方将其中约 2 亿 BUSD 存入 BeltBUSD 金库(使用 Venus 策略协议),并借此极大提升了 Venus 策略的整体占比。


在攻击活动发生之前,BeltBUSD 金库的协议比例为:Venus 约占 6000 万 BUSD,Alpaca 占 6000 万 BUSD,Ellipsis 占 6000 万 BUSD,而 ForTube 约占 2000 万 BUSD,总量约为 2 亿 BUSD。但在吸纳了攻击者的存入之后,Venus 掌握了约 2.6 亿 BUSD,也让 BeltBUSD 的总储量快速提升至 4 亿左右。


攻击者同时还将 1.9 亿 BUSD 转移至 Ellipsis.fi 3pool,并将这 1.9 亿 BUSD 兑换为约 1.695 亿 USDT。此次兑换令 Ellipsis 3pool LP 值在短时间内猛增。3pool LP 的供应关系虽然没有改变,但这 2150 万美元的差值仍然令 3pool LP 快速增值约 3%。这又将 4Belt 池 Ellipsis 策略的币值占比由 6000 万 BUSD 增加至 6180 万 BUSD,也让整个 BeltBUSD 金库总值由 4 亿 BUSD 增加至 4.018 亿 BUSD(涨幅约 0.5%)。


在此之后,攻击者开始从 BeltBUSD 金库中提现离场,获得了 2 亿 BUSD 总额中约 0.5% 的存入收益,即约 100 万 BUSD(进场前 2 亿 BUSD,离场时 2.01 亿 BUSD)收益。接下来,攻击方在 Ellipsis 上将 USDT 兑换回 BUSD,令 LP 重新回归之前的正常值,而 BeltBUSD 金库则因此凭空损失掉了这 100 万 BUSD。


之后,攻击者通过智能合约多次重复执行这同一笔交易(由 Tx gas 允许的上限而定),去掉闪电贷费用与 Ellipsis 掉期费用外的即为最终实际获利。接下来,攻击者将 BUSD 形式的利润转至自有地址并兑换为 anyETH,再使用 Nerve Bridge 将这笔 anyETH 发往以太坊主网。整个攻击流程从 PancakeSwap 闪电贷开始,到向以太坊主见发送 anyETH 结束,前后共重复了 8 次。


解决方案


在使用 StrategyEllipsis 的情况下,Belt Finance 团队使用 isPoolSafe() 限制发生价格缺口时的提现活动。现在,面向各项策略,团队决定通过检查 Ellipsis 的掉期状态解决这一隐患。当 USDC、BUSD 与 USDT 之间存在比例偏差时,会限制用户的提现与存入操作。如此一来,攻击者将无法顺利操纵 Ellipsis LP 价格。


在开发过程中,Belt Finance 团队添加了以下函数,以防止 Ellipsis Pool 值出现异常时被攻击者所利用:





这里的 isPoolSafe 函数将通过衡量 Ellipsis 3pool 的代币比率(即包含的最大与最低代币数量间的比值)来检查其健康状况。此函数能够防止 Belt 受到异常 StableWap AMM 比率的影响。


isPoolSafe 函数将在 _deposit() 与 _withdraw() 函数执行之前与之后检查池健康状况,如果池比率发生偏差,则交易将被直接还原以防止语句的实际更新。如此,Belt Finance 团队就能有效防止 Ellipsis 策略受到闪电贷攻击的影响。



通过使用 Ellipsis 掉期,攻击者即可瞬时操纵 ellipsisSwap 合约中 BUSD、USDC 与 USDT 的比例,借此操纵 3pool LP 的价格。


在之前的设计中,Belt Finance 团队并没有考虑到负责计算 Ellipsis 策略中 wantTotalLocked() Ellipsis 3Pool 比率的 epsToWant() (一项 MultiToken 函数)被破坏并影响到其他策略存取交易的情况。这项函数只是与 Read 相关的接口,Belt Finance 团队表示没有想到它会与闪电贷发生直接关联。


结果,闪电贷导致 Ellipsis 策略中的 wantTotalLocked 值增加,MultiVault 则以高于实际资产量的值运行了提取操作。此次攻击活动,在根本上利用的也正是这项漏洞。


黑客盯上 BSC


Belt Finance 只是 BSC 上被攻击的项目之一。5 月份,PancakeBunny 遭受攻击,损失了 300 万美元;类似的项目 Bogged Finance 也在闪电贷款攻击中损失了几乎相同的金额;Burgerswap 在一次闪电贷攻击中损失 720 万美元。


“最近已经接连发生超过 8 起针对 BSC 链上项目的闪电贷攻击,我们认为现在有一个有组织的黑客团队盯上了 BSC。”BSC 官方发文表示。The Block 数据显示,因为近期的黑客攻击事件,BSC 已有部分锁仓资金回流至以太坊,总锁仓量回落至 20 亿美元。


因此,BSC 官方呼吁所有 DApp 采取如下措施进行预防保护:


  1. 与审计公司合作进行另一次健康检查。如果是分叉项目,请反复检查相对原始版本进行的更改;

  2. 采取必要的风险控制措施,实时主动监控异常情况,一旦出现异常及时暂停协议;

  3. 制定应急计划,以防真的出现最坏的情况;

  4. 如果条件允许可设定漏洞赏金计划;

  5. 安全公司 PeckShield 和 CertiK 也为 BSC 项目的任何安全咨询服务提供绿色通道。


随着 DeFi 发展以及整个加密社区的发展,黑客攻击事件一直层出不穷。区块链网络和链上项目需要更多的安全规范和相应审查机制来防止攻击事件频繁发生。


相关链接:


https://belt-fi.medium.com/


2021-06-04 14:096130

评论

发布
暂无评论
发现更多内容

对抗软件复杂度的战争

阿里技术

软件架构 复杂度

感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k

白鲸开源

Apache 大数据 开源 DolphinScheduler workflow

ebook下载 | 灵雀云发布《 企业高管IT战略指南——为何选择容器与Kubernetes》

York

Kubernetes 容器 云原生 系统架构 技术选型

测试基础之:面试的信心来源于过硬的基础

甜甜的白桃

软件测试 核心竞争力 测试开发 功能测试 6月月更

JDBC连接MySQL数据库,访问数据库信息完成登录功能——保姆级详细教程(附所有java和jsp源代码)

写代码两年半

数据库 JDBC Java EE 6月月更

如何使用物联网低代码平台进行事件管理?

AIRIOT

物联网 低代码开发

飞腾与百度发布云智一体机,金融领域AI场景成功落地“江苏银行”

百度开发者中心

30倍加速,3毫秒极速识别,人、车、OCR等9大识别任务一网打尽

百度开发者中心

集成测试时 MockMvc 无法注入

程序员小航

Java 后端 单元测试

【网易云信】C++ 静态反射在网易云信 SDK 中的实践

网易智企

c++ 开发工具

el-select数据量过大引发卡顿,怎么办?

华为云开发者联盟

前端 测试 数据 华为云

中国信通院、清华大学、腾讯安全,云原生安全产学研用强强联合!

腾讯安全云鼎实验室

云原生 云原生安全

架构实战营6期,毕业总结

本人法海

「架构实战营」

浅谈 REST API 身份验证的四种方法

wljslmz

REST API 6月月更

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

小哈区块

我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景

bin的技术小屋

Java 网络编程 Netty TCP/IP 6月月更

如何针对海外不同地区进行音视频自动化测试?丨Dev for Dev 专栏

声网

自动化测试 Dev for Dev

网站制作FAQ页面必要性及方法

小炮

八大误区,逐个击破(3):在云上,变更和数据的管理都不足为虑

龙智—DevSecOps解决方案

atlassian云版 版本选择 迁移上云

模块九:毕业设计

本人法海

「架构实战营」

【用户文章转载】版本管理这件事,没有偏执,惟有极致

龙智—DevSecOps解决方案

游戏开发 版本管理 CI工具链 周版本制度

力扣每日一练之二维数组上篇Day4

京与旧铺

6月月更

频频破圈,走向百业:大模型的毕业季

脑极体

【大厂面试题精选】UDP 和 TCP 核心知识总结

C++后台开发

面试题 udp TCP/IP 校招 大厂面经

化工产业业态数字升级案例,看摩贝如何快速打通全场景互融互通?

数商云

数字化转型 企业数字化

虎符交易所Hoo推出挂单活动 未成交订单最高可得 200%APY

区块链前沿News

Hoo 虎符交易所

OpenHarmony开源开发者成长计划 | 知识赋能第六期预告—从零上手OpenHarmony智能家居项目

OpenHarmony开发者

OpenHarmony

C++ 静态反射在网易云信 SDK 中的实践

网易云信

c++ 开发工具

经期管理APP的开发解决方案

开源直播系统源码

软件开发

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

西柚子

IP核是什么?有什么类型?半导体IP核全攻略

龙智—DevSecOps解决方案

知识产权 半导体 芯片开发 半导体IP核 IP核管理

黑客利用一个漏洞攻击8次获利630 万美元,币安智能链被盯上了?_区块链_Belt Finance_InfoQ精选文章