bEarn Fi 黑客攻击始末:代码现“小”问题轻松得手 1,100 万美元

PeckShield
PeckShield 机构得得号

2021年05月18日 PeckShield是面向全球的业内顶尖区块链安全团队。

摘要: ​这不会是最后一个被攻击的 DeFi 协议。

北京时间 2021 年 5 月 16 日晚上九点半左右,PeckShield「派盾」预警监测到,跨链智能收益与流动性聚合器 bEarn Fi 遭到攻击,损失近 1,100 万美元。

PeckShield「派盾」安全人员追踪和分析发现,此次攻击始于 bEarn Fi 机枪池(Vault)代码存在的「小问题」,以下是攻击细节分析。

值得注意的是,此次攻击的本金是从 Cream Finance 的闪电贷借来的。

攻击者从 Cream Finance 闪电贷借出 7,804,239.1 BUSD;

接着,攻击者创建的合约将所借 BUSD 存入 BvaultsBank 后,这些 BUSD 立即存至 BvaultsStrategy 策略中,随即转存入 Alpaca 借贷资金池,此时,攻击者可获得借贷资金池返还给的 ibBUSD 合成资产作为用户的抵押凭证(相当于存折)。当退出时,用户可以凭借该凭证赎回抵押在借贷资金池内的本金及其抵押期内所产生的利息。在这一步中,Alpaca Vault 铸造了 7,598,066.6 ibBUSD 返还至 BvaultsStrategy;

合约利用所铸造的 7,598,066.6 ibBUSD 通过 Alpaca FairLaunch 进行挖矿;

当攻击者合约从 BvaultsBank 提取 7,804,239.1 BUSD 时,以 BvaultsStrategy 提取逻辑为准,按照 ibBUSD 的价格来换算,而 iBUSD 的价格高于 BUSD,则 7,804,239.1 ibBUSD 相当于 8,016,006.1 BUSD,凭空多出 20 多万 BUSD。

值得注意的是,攻击者合约只能从 bVaults Bank 取出其中 7,804,239.1 BUSD,并再次存入用于第二轮攻击,加上上一轮未从 BvaultsStrategy 取出的部分,此时,BvaultsStrategy 转入 Alpaca 借贷资金池的数额就变成了 8,016,006.1 BUSD。

攻击者重复操作,最终将 7,806,580.4 BUSD 返还给闪电贷,造成近 1,100 万美元的损失。

bEarn Fi 在复盘此次攻击事件时写道:务必复核所有的产品代码,由于近期 DeFi 安全事件频繁发生,未来的工作重心将从创新调整到增强安全上来。 

事实上,每次 DeFi 安全事件发生后,区块链安全公司 PeckShield 「派盾」都会警示协议开发者引以为戒,在协议上线前对代码进行审计和研究,在攻击事件发生后自查代码,防患于未然,但说一千道一万都不及遭到损失数百上千万美元的教训来得深刻。

安全是 DeFi 生态愈发繁荣的前提,也是一切创新创造的根本,不要等到造成损失才审视安全的重要性。

作者:PeckShield;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 PeckShield 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信