写点什么

黑客利用一个漏洞攻击 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:096365

评论

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

用AI「驯服」人类幼崽,手头有娃的可以试试

博文视点Broadview

人工智能 联邦学习 强化学习 集成学习 技术宅

iOS性能优化 — 五、App启动优化

iOSer

ios 性能优化 性能分析

Soul 网关源码阅读(三)请求处理概览

Java 源码阅读 网关

Java 程序经验小结:剖析@SuppressWarinings注解

后台技术汇

28天写作

Volcano架构设计与原理介绍

华为云原生团队

大数据 AI 云原生 高性能 批量计算

架构师训练营W13作业

Geek_f06ede

初识ClickHouse——安装与入门

Simon

Clickhouse

面试阿里Java岗,技术总监真正关心的核心能力是什么?

Java架构追梦

Java 编程 架构

不同公司产品经理岗位对比

LouisN

物流快递公司APP架构设计

jorden wang

Soul 网关源码阅读(二)代码初步运行

Java 源码阅读 网关

解读容器的 2020:寻找云原生的下一站

阿里巴巴云原生

Docker 云计算 Serverless 容器 云原生

一文解析DDD中台和微服务设计

欧创新

中台 微服务 领域驱动设计 DDD

区块链科普系列:区块链是什么?

CECBC

区块链

从CPU到XPU进化,英特尔对业界放了什么大招?

E科讯

智能量化对冲搬砖套利交易软件APP系统开发

系统开发

即构小程序直播组件集成教程

ZEGO即构

矿机挖矿APP系统模式开发平台

v16629866266

特斯拉自建ERP的背后

明道云

当音乐学博士搞起编程...

程序猿DD

Spring Frame

区块链十年与传统金融的变化

CECBC

区块链 金融

为什么我认为 Deno 是一个迈向错误方向的 JavaScript 运行时?

hylerrix

typescript rust nodejs deno V8

敏捷里为何倡导固定迭代周期?

万事ONES

敏捷开发 研发管理 迭代

Soul 网关源码阅读(一) 概览

Java 源码阅读 网关

Soul 网关源码阅读(四)Dubbo请求概览

Java 源码阅读 网关

生产者与消费者模式,数组阻塞队列(ArrayBlockingQueue)

李尚智

Java 学习 架构 并发编程

DevSecOps安全检查清单

啸天

安全 DevSecOps 应用安全

“反垄断”来袭,对产业区块链有什么启发

CECBC

市场垄断

「产品经理训练营」第一章作业

Sòrγy_じò ぴé

产品经理训练营

在数据分析、挖掘方面,有哪些ETL工具值得推荐?

敏捷调度TASKCTL

大数据 kettle 海豚调度 批量任务 ETL

一文带你探究Sentinel的独特初始化

华为云开发者联盟

redis sentinel 框架

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