区块链:闪电贷攻击又背锅? “幕后元凶”竟是它_DeFi Forge

近日,DeFi市场经历了一场严峻的考验,多起攻击事件接连发生,造成了巨大的资产损失。在多数安全事件中,闪电贷攻击的“冠名”似乎成为了标配。但是,在其背后不容忽视的真相,其实是对预言机进行操控,造成内外价格差并从中套利。

所谓闪电贷,其实是一种创新金融工具,可实现无抵押贷款,但要求在同一个区块内还款,否则交易回滚。闪电贷的魅力在于,可以使贷款者在无需付出任何努力或代价的情况下秒变“富豪”。当然,庞大的资金量也预示着强大的市场操控潜力。?

在此类安全事件中,攻击者通常属于“空手套白狼”,先使用闪电贷获取大量资金,拥有了攻击的启动“砝码”后,再通过一系列手段出入各类抵押、借贷、交易等协议,在实现操纵、扭曲资产价格数据后,实施套利,最后归还“本金”。?

数据显示,自2020年以来,黑客基于重入漏洞的攻击数量有所下降,而基于价格操控漏洞的攻击比例正在上升,并已造成累计超过数千万美元的损失。

安全团队:MEV Bot 0x5f32遭闪电贷攻击,攻击者获利约10.8万美元:金色财经报道,据CertiK监测,MEV Bot 0x5f32遭到闪电贷攻击。攻击者0xa7f5...获利约10.8万美元。

攻击者合约地址: 0xf0be9805fe8e393e8f768fe8fe4d8b8531d2f61e。[2023/1/19 11:20:30]

?那么,这个预言机到底是什么?

区块链对外沟通的“桥梁”

预言机并不是什么玄幻事物,它其实是区块链网络与互联网以及其它区块链网络等保持数据、信息沟通的“桥梁”。特别是,在DeFi智能合约这类去中心化应用中,通过预言机,开发者可以调用包括行情价格在内的各种外部数据资源,让Dapp连通外部现实世界的数据环境。

毫无疑问,能够提供不可篡改、可靠数据的预言机必将成为DeFi发展的重要基石。在DeFi应用中,不论自身配置还是依赖第三方供应,通过预言机可获取各个市场的价格、汇率等重要信息。而对于去中心化交易所来说,获取准确可靠的价格数据意义更为重大。?

一个MEV机器人因闪电贷回调损失约15万美元:10月19日消息,PeckShield发推称,合约地址开头为0xf6d7的MEV机器人因闪电贷回调损失约15万美元,攻击者地址为smithbot.eth。该机器人的开发者通过链上信息表示可以向攻击者提供损失的一半作为赏金。[2022/10/20 16:30:39]

与中心化交易所不同,Dex行情数据的“孤岛化”倾向更为明显,如果不与外界行情保持实时联动,Dex中的自动化做市商资产池很可能会因为交易量、流动性等的剧烈变化而产生价差损失。?

随着DeFi市场热度的提升,行业更多的思考倾向于项目数量、规模以及模式等方面。而对预言机安全问题的关注反倒是处于一种不温不火的状态。近段时间,频繁发生的预言机安全事件可能为此敲响了警钟,预言机安全于DeFi生态有序发展至关重要。

典型的预言机安全事件

??

Grim Finance 被黑简析:攻击者通过闪电贷借出 WFTM 与 BTC 代币:据慢雾区情报,2021 年 12 月 19 日,Fantom 链上 Grim Finance 项目遭受攻击。慢雾安全团队进行分析后以简讯的形式分享给大家。

1. 攻击者通过闪电贷借出 WFTM 与 BTC 代币,并在 SpiritSwap 中添加流动性获得 SPIRIT-LP 流动性凭证。

2. 随后攻击者通过 Grim Finance 的 GrimBoostVault 合约中的 depositFor 函数进行流动性抵押操作,而 depositFor 允许用户指定转入的 token 并通过 safeTransferFrom 将用户指定的代币转入 GrimBoostVault 中,depositFor 会根据用户转账前后本合约与策略池预期接收代币(预期接收 want 代币,本次攻击中应为 SPIRIT-LP)的差值为用户铸造抵押凭证。

3. 但由于 depositFor 函数并未检查用户指定转入的 token 的合法性,攻击者在调用 depositFor 函数时传入了由攻击者恶意创建的代币合约地址。当 GrimBoostVault 通过 safeTransferFrom 函数调用恶意合约的 transferFrom 函数时,恶意合约再次重入调用了 depositFor 函数。攻击者进行了多次重入并在最后一次转入真正的 SPIRIT-LP 流动性凭证进行抵押,此操作确保了在重入前后 GrimBoostVault 预期接收代币的差值存在。随后 depositFor 函数根据此差值计算并为攻击者铸造对应的抵押凭证。

4. 由于攻击者对 GrimBoostVault 合约重入了多次,因此 GrimBoostVault 合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在 GrimBoostVault 合约中取出了远多于之前抵押的 SPIRIT-LP 流动性凭证。随后攻击者使用此 SPIRIT-LP 流动性凭证移除流动性获得 WFTM 与 BTC 代币并归还闪电贷完成获利。

此次攻击是由于 GrimBoostVault 合约的 depositFor 函数未对用户传入的 token 的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对 depositFor 进行重入获得远多于预期的抵押凭证。慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。[2021/12/19 7:49:04]

关于首起预言机安全事件,时间要回到2019年6月25日。DeFi衍生品平台Synthetix预言机发生异常,致使平台sKRW/sETH汇率报错,超过3700万枚sETH被低价交易,涉及金额近10亿美元。?

BSC链上DeFi收益聚合器Dot.Finance遭受闪电贷攻击:8月25日消息,BSC链上DeFi收益聚合器Dot.Finance遭受闪电贷攻击,PeckShield派盾分析发现,此次攻击是PancakeBunny的同源攻击。

受到攻击的影响,Dot.Finance代币PINK短时急跌35%,从0.77USD跌至约0.5USD。[2021/8/25 22:36:51]

事件原因:喂价源信息失常,预言机发生故障并将错误价格发布到链上,交易机器人发现后迅速套利。

?最后,Synthetix与交易机器人所属者达成资金返还协议,巨额损失得以挽回。但值得警惕的是,上游价格源异常可能给智能合约带来毁灭性打击,而缺乏有效性验证的预言机在数据正确性、稳定性方面存在极大的安全隐患。

??

在此后的事件中,令人印象深刻的是“bZx连续攻击事件”。2020年2月,DeFi贷款协议bZx在一周内先后两次遭到攻击,造成了约100万美元的损失。?

OUSD公布闪电贷攻击事件细节 共损失700万美元:11月17日,Origin Protocol创始人Matthew Liu发文公布Origin Dollar (OUSD) 闪电贷攻击事件细节。内容显示,截止目前,攻击已造成约700万美元损失,其中包括Origin及创始人和员工存入的超过100万美元资金。团队正在全力以赴确定漏洞原因,以及确定是否能够收回资金。官方提醒称,目前已取消了金库存款,请不要在Uniswap或Sushiswap上购买OUSD。此外团队表示,官方不会离开,此次事件不是欺诈,也非内部局。[2020/11/17 21:02:50]

事件原因:黑客利用Uniswap算法价格缺陷,操纵相关资产价格数据并游走多个DeFi协议,实施套利。

?时隔七个月,bZx再次遭受攻击,此次事件又造成了约800万美元的损失。bZx联合创始人KyleKistner在事件发生后曾提到,这似乎是一次预言机操纵攻击。最终,此次事件的原因被归为代码漏洞。?

?近期,涉及预言机攻击的事件愈发频繁,安全形势严峻。10月26日,DeFi项目HarvestFinance遭到黑客攻击,造成了约2400万美元的损失。?

事件原因:该协议fToken铸币时采用Curvey池为喂价源,攻击者通过巨额兑换,操纵价格数据,控制铸币数量,从而多次套利。

?官方透露,黑客通过curvey池进行攻击,使Curve中稳定币的价格异常超出387.9%,并在7分钟内多次套利。受此影响,Harvest代币FARM的价格在短时间内暴跌65%。

??

11月14日,ValueDeFi协议遭到黑客攻击,同样是历经了一系列协议间操作,最终导致超过700万美元的损失。?

事件原因:攻击者利用价格预言机漏洞,操纵Curve资产池价格,窃取超量3CRV兑换DAI后套利。

令人唏嘘的是,黑客最后归还了200万枚DAI并留下了一条嘲讽信息:“你真懂闪电贷吗?”以此回应该团队此前的推文,声称可防闪电贷攻击。

近段时间,仅由预言机攻击造成的资产损失已累计超过3000万美元。此类事件中,黑客正是通过操纵预言机,造成可实施套利的兑换率,最后利用价格差窃取了协议资产。因此,DeFi生态中最具系统性风险的因素是易受价格操控的预言机,而非闪电贷这种金融工具。

解决方案的探索

预言机有着广泛的应用场景,需与链下数据进行交互的Dapp皆可借助预言机来实现功能和价值。其中,典型应用场景包括,Dex、衍生品、稳定币、借贷平台、游戏、保险、预测市场等。面对这个“数据要塞”,通过迭代升级、安全测试等,预言机有望提供更为优质的服务。?

由于区块链本身不具备验证数据是否公平、合理的功能,因此,那些错误的外部数据在去中心化机制下,将被预言机无差别地执行返回,而这种“将错就错”极容易造成各类损失。?

预言机的迭代升级,应实现链上与链下可信数据的对接,确保数据环境正常、稳定、有序。在报价方面,预言机应尽量从多节点聚合数据,对价格偏差预留处理机制,并按照时间同步更新,确保提供给智能合约的数据可靠、可信、抗干扰。

?在Dex中,预言机应在提供报价更新的同时维护、调整AMM的权重,确保内部汇率与外部市场价格保持匹配,并通过验证机制,异常报警机制等有效拦截攻击者对价格、汇率的操纵,防止套利空间的产生。

?另一方面,DeFi开发者应加强预言机的针对性测试,特别是在项目上线前,尽可能模拟价格操控攻击的各类场景,及时发现问题并找出解决方案,切实提高项目抗预言机攻击的能力。

?项目上线后,开发者应根据情况选择接入第三方预言机服务、安全测试服务等;举办相关漏洞赏金活动,做到及时查缺补漏,优化整体结构,在最大程度上降低同类型事件再度发生的可能性。

结语

事物的两面性总能在各方面得到体现。对于闪电贷而言,本是一种创新金融工具,可高效提供大额资金,促进价值循环。然而,它却被攻击者利用,沦为了窃取资产的重磅武器。?

不论是DeFi发展还是区块链新领域的拓展,链上、链下的数据交换势在必行,预言机的作用不可小觑。其实,攻击者的操控手段也并非高深,只是在现阶段预言机还不够智能,很难及时应对和抵御。?

同样,事物发展的道路也总是曲折。在遭受诸多惨痛代价后,预言机这个“短板”暴露无遗。为区块链生态安全计,在完全抗操控攻击的预言机诞生之前,加强多方技术的验证和检测,防范攻击于未然成为了当务之急。

作者介绍:

成都链安,全球最早专门从事区块链安全的公司,同时也是全球最早将形式化验证技术应用到区块链安全领域的团队,研发了全球领先的智能合约自动形式化验证平台VaaS,并基于此,建立了“一站式”区块链安全平台,为区块链企业提供安全审计、资产追溯、隐私保护、安全咨询、威胁情报、安全防护等全方位的安全服务与支持。申请软件发明专利和著作权15项。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-4:262ms