写点什么

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

评论

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

安全配置错误规避指南

SEAL安全

配置管理 企业安全 安全配置 配置错误 12 月 PK 榜

大数据培训学习编程技术的方法有哪些

小谷哥

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(下)

码界西柚

JVM 12月日更 堆外内存 内存干扰

Zebec节点Zepoch销量接近800个,生态发展信心十足

股市老人

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)

码界西柚

Docker Kubernetes 容器 JVM 12月日更

【云享·人物】华为云AI高级专家白小龙:AI如何释放应用生产力,向AI工程化前行?

华为云开发者联盟

人工智能 华为云 AI工程化 12 月 PK 榜

瓴羊Quick BI数据大屏,服务企业数字化转型发展

巷子

上海大数据培训机构怎么选择比较好

小谷哥

云原生大数据平台零信任网络安全实践技术稿

星环科技

【JUC】循环屏障CyclicBarrier详解

JAVA旭阳

Java 并发 JUC

一种多引擎可视化数据流实现方案

元年技术洞察

数据中台 数字化转型 专利解析 方舟企业数字化 PaaS 平台

刷新AI作图速度,最快开源Stable Diffusion出炉

OneFlow

人工智能 深度学习 前沿技术

实践案例:同程艺龙网的 Dubbo 升级经验总结

Apache Dubbo

Java 开源 微服务 云原生 dubbo

阿里云视觉智能开放平台——年终特惠来袭

夏夜许游

人工智能 AI 视觉 特惠

打造无证服务化:这个政务服务平台有点不一样

华为云开发者联盟

区块链 华为云 12 月 PK 榜

MASA Framework 事件总线 - 跨进程事件总线

MASA技术团队

.net MASA Framewrok MASA

云小课|云小课带你玩转可视化分析ELB日志

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

web前端培训程序员学习什么呢

小谷哥

瓴羊Quick BI带给企业新发展,企业数字营销和运营变得格外简单

对不起该用户已成仙‖

大数据培训学习分析师怎么样

小谷哥

将 Vue.js 项目部署至静态网站托管,并开启 Gzip 压缩

华为云开发者联盟

开发 华为云 12 月 PK 榜

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

SAP虾客

SAP MM PO输出 NACE

React 之 createElement 源码解读

冴羽

JavaScript 前端 前端框架 React react源码

五种方式实现 Java 单例模式

Jeremy Lai

设计模式 单例模式

旺链科技荣膺“2022上海软件核心竞争力企业”

旺链科技

区块链 产业区块链 12 月 PK 榜

web前端培训程序员学习怎么提升技术

小谷哥

Serverless 架构下的 AI 应用开发

Serverless Devs

meta force原力元宇宙魔豹联盟矩阵公排dapp系统开发源代码

开发微hkkf5566

【0.1mm钻孔】揭秘激光钻孔加工常见的4种方法

华秋PCB

工艺 PCB PCB设计 钻孔

零售品牌如何挑选达人KOL?火山引擎VeDI有妙招!

字节跳动数据平台

大数据 营销 营销数字化 12 月 PK 榜

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