当前位置:首页 > 区块链新闻 > 正文

浅析币安智能链生态安全事件

来源: 互联网时间:2021-06-25 19:09:11
原文标题:《浅析币安智能链生态安全事件》
原文来源:田七

最近币安智能链(下文简称 BSC)上的 dApp 频频遭受黑客攻击,由此引发的智能合约安全问题引起整个行业的广泛关注和激烈讨论。安全就像达摩克里斯之剑,悬在众人头上,挥之不去。

根据 rekt.news 上罗列的项目损失排行榜,涉及 BSC 上的项目共 10 个,损失金额总计 2.2 亿美元。损失最多的项目是 Uranium Finance,高达 5720 万美元。而 Merlin Labs,更是在遭受首次攻击,紧急修复之后,再次被攻击,短短两天内被黑客光顾两次。更有甚者如 Value DeFi,先后受到三次攻击,简直成为黑客的后花园。

这些项目究竟暴露哪些被黑客利用的漏洞?事后他们又做出怎样的应对措施?造成了哪些影响?对我们普通用户有什么教育及警示意义?接下来让我们逐一分析。

PancakeBunny

PancakeBunny 是基于 PancakeSwap 和 Venus 建立的机枪池协议,曾经一度是 BSC 上锁仓量最大的机枪池协议。2021 年 5 月 19 日,黑客通过闪电贷借入大量 BNB,并在 PancakeSwap 上与 BUSD 组成 LP,然后将 BNB 兑换成 BUSD 来操纵 LP 代币价值,再通过调用 VaultFlipToFlip 的 getReward 函数,获得 697 万 BUNNY 的挖矿收益,最后砸盘这部分 BUNNY,获利 4500 万美元。

事后,PancakeBunny 首先暂停用户对受影响池子的存款和取款操作,然后部署一个赔偿池,受到影响的用户可以从该池领取相应赔偿。为消除闪电贷对价格操纵的影响,转而集成 Chainlink,通过 Chainlink 获取可靠的价格信息数据。

Uranium Finance

Uranium Finance 是一款分叉 Uniswap,克隆到 BSC 上的去中心化交易平台。但是他们在升级 v2 的时候,对 Uniswap 原代码进行微小调整,有一行代码少写一个 0,使得黑客在 2021 年 4 月 28 号使用较小数额的代币提走较大份额的流动性,最终导致流动性池损失 5720 万美元。

事后 Uranium Finance 发表一篇漏洞分析文章,并呼吁用户尽快移走资金,不要再向合约中提供流动性。自此之后,Uranium Finance 的官方推特再无更新。

Meerkat Finance

该项目的漏洞在于允许任何人成为金库所有者,并能提走所有资金。于是攻击者在 2021 年 3 月 4 号通过初始化调用使得自己化身金库所有人,取走金库中的 BUSD 和 WBNB,价值 3200 万美元。

项目方先声称这是一次黑客攻击,然后删除该声明,并且退出电报群。后来又有一个自称是项目方成员的开发者表示这是一次压力测试,旨在唤醒用户的安全意识,资金将在一个新建的电报群内有序退还。但是当我试图打开该电报群链接的时候,已经找不到该群。显然,这是一起有预谋的跑路事件,用户对开发者的信任导致个人资金受损。

Spartan Protocol

这是一个合成资产协议,黑客在 5 月 2 号通过闪电贷借入 BNB,并将一部分 BNB 兑换成 SPARTA,然后组成 LP。利用 Spartan 池子份额计算漏洞,以较小的份额占比提走较大的资金,导致 Spartan 池子损失 3050 万美元。

团队事后发行新通证 SPARTA,并将流动性池升级到 V2,目前项目仍在更新和运行。

Value DeFi

Value DeFi 是一个部署在多条链上的机枪池协议,它第一次被攻击发生在以太坊链上,时间是 2020 年 11 月 14 号。此后,黑客先后于 2021 年 5 月 3 号和 5 月 5 号对 BSC 上的 Value DeFi 进行攻击,累计掠夺 2800 万美元。5 月 3 号的攻击是因为协议合约的 initialize 函数忘记将 initialized 状态变量置为 true,导致攻击者能够控制 vBWAP/BUSD 流动性池, 然后移除该池的流动性,兑换成 renBTC 桥接到 BTC 链逃离。而 5 月 5 号的攻击在于 Bancor 公式的错误使用,使得黑客可以用较少的币兑换另外一个较多的币。

Value DeFi 的事后举措包括使用团队自有资金补偿和重启上线计划两部分,目前受影响用户已经可以前往他们的官网领取补偿,而重启时间则要等待后续公告。

bEarn

bEarn 是一款跨链机枪池协议,对它的攻击发生在 2021 年 5 月 16 号,利用度量单位的漏洞,即当从合约中取走资产的时候,设计上是以 ibBUSD 为单位,实际实现的代码却以 BUSD 为单位,由于 ibBUSD 比 BUSD 贵,因此黑客能够取出比应该取出多的 ibBUSD。当黑客使用闪电贷借入大笔 BUSD 进行反复充提操作的时候,池子里的资金很快被取干,最终获利 1800 万美元。

事后 bEarn 发表文章对上述漏洞进行分析,并且制定了后续赔偿计划,赔偿分为两部分,首先使用当前金库资金赔偿,这一部分目前已经可以领取;其次使用 BDOv2 和 BDEX 进行赔偿,这一部分预计到 6 月中旬上线。截止目前,项目仍然在维持运营。

BugerSwap

BugerSwap 是 BSC 上的一款 DEX,在 2021 年 5 月 28 号被黑客使用 14 笔交易攻击,损失 720 万美元。漏洞出现在黑客能够重入并在池子储备资金进行更新前进行二次兑换,这是因为 Buger 使用常量积 x*y=k 算法,却在代码中移除了 x*y>k 的校验。

BugerSwap 的事后反应包括暂停交易、修复漏洞、空投新币进行赔偿。

Belt

在 2021 年 5 月 29 日,Belt Finance 因为 bEllipsisBUSD 策略池余额计算漏洞被黑客利用,使用闪电贷操纵 beltBUSD 价格,盗走价值 630 万美元的 BUSD。

事后,Belt 暂停合约相关操作,并在 6 月 2 日重新开放,同时公告将铸造新币进行赔偿。

Merlin Labs

Merlin Labs 是一个分叉 PancakeBunny 的协议,它的漏洞也与 PancakeBunny 类似,在 2021 年 5 月 26 日被黑客使用钱包中的 CAKE 作为策略收益,从 Merlin 合约中骗得 MERL 挖矿收益,通过循环调用获利 68 万美元。而当 Merlin 声称修复漏洞,重新部署上线后,修复的代码又爆出漏洞,这次则是因为在计算价格的时候,多乘了 100 亿,两次攻击累计损失 123 万美元。

Merlin Labs 刚为第一次攻击制定赔偿计划,如今赔偿不得不再次包含第二次攻击。

Autoshark

Autoshark 是另外一个 PancakeBunny 分叉协议,同样继承了 Bunny 的漏洞,被黑客在 2021 年 5 月 25 日使用相似手段盗走 74.5 万美元。

Autoshark 进行的应对举措包括修复后重启协议,空投代币进行补偿等。

就在梳理这些被攻击项目的时候,BSC 上又先后出现 Impossible Finance 被黑客掠走 50 万美元,代码漏洞与 BugerSwap 如出一辙;Eleven Finance 因为一个函数未执行销毁漏洞被黑客攻击,损失 500 余万美元。

从以上项目分析来看,我们发现它们的特点如下:

1.损失金额相对较大,很容易引起用户对项目方、BSC 乃至整个行业安全性的怀疑,影响深远;

2.黑客往往选择跨链出逃,使得黑客身份追踪和资金追回几乎不可能,造成用户的永久损失;

3.相似的漏洞多次复现,包括使用闪电贷操纵价格,利用代码逻辑缺陷进行攻击等漏洞类型,都曾经在以太坊上发生过;

4.项目方大多没有放弃,而是采取多种措施自救。

作为普通用户,可能既没有读懂代码的能力,又难以理解复杂的经济模型。那么,以后应该如何尽可能的防范被攻击的风险呢?

1.重点关注项目方选取的预言机,预言机是获取价格信息的关键组件,预言机的质量决定价格数据质量,很多闪电贷的价格操纵之所以得逞,就是因为预言机选型考虑欠缺。使用 Chainlink 去中心化预言机的众多协议,基本上从未遭受价格操纵攻击。

2.谨慎使用刚刚推出的协议,因为这些协议还未经时间的检验,很难判断是否安全。

3.抱着归零的心态,用自己能承受得起损失的资金参与各类项目。

4.警惕超高收益的项目,对于收益保有理性预期,宁肯错过,不要犯错。

BSC 从正式推出到现在还不到一年的时间,能发展成现在已经出乎很多人意料。当新兴事物在起步阶段时,不可避免会遭遇一些困难和挑战,BSC 上部分应用的安全漏洞并不意味着 BSC 本身出了问题,更不应该因噎废食,怀疑 BSC 上所有应用。提前暴露安全漏洞,也意味着规避未来更大的损失,在付出惨痛的教训和沉重的代价之后,无论项目方还是用户都将对安全问题的重视提升一个台阶,也会将安全工作放在重中之重。希望未来安全事故越来越少,用户越来越放心的使用各类应用。

本文来自投稿,不代表律动BlockBeats观点

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。