木星链 木星链
Ctrl+D收藏木星链

TOKE:DeFi借贷协议黑客攻击不断,2023年信任该如何重塑?

作者:

时间:1900/1/1 0:00:00

DeFi借贷是相对简单的借贷方式。

放款人只需将数字货币存入借贷池,即可从其存入的资产中获得利息。

而借款人可以通过在平台上提供抵押品,以换取放款人提供的借贷资产。

借贷平台利用价格预言机来确定抵押品的价值,以计算可以借入多少数额。当抵押品的价值低于一定的阈值时,清算人(Liquidator)可通过偿还债务来清算,且获取清算奖励。

本文将回顾2022年发生的借贷协议黑客攻击事件,并分析应该如何保护借贷协议。

MangoMarket漏洞

2022年10月11日,Solana上的MangoMarket被攻击,造成1.16亿美元的损失。攻击者利用了允许项目使用低流动性token作为抵押品的漏洞,操纵MNGO的价格,并恶意借贷超出应有数额的资产。

MNGO只在几个中心化交易所上线,这意味着其市场流动性很低。

例如其中一个价格预言机Switchboard使用的是Raydium作为价格来源。

攻击者在订单簿中提供了4.83亿单位的MNGOperps,并向第一个账户提供了500万枚USDC。之后攻击者向第二个账户注资,然后以每单位0.0382美元的价格买入4.83亿单位的MNGOperps,从而提高现货价格。

攻击者通过操纵价格预言机上MNGO的价格,将其拉高到0.91美元,从而在第二个账户上获利。由于MNGO/美元的价格为每单位0.91美元,第二个账户能够在MangoMarket上借到其他token。

跨链DeFi平台Wing Finance推出NFT首付功能:金色财经消息,跨链DeFi平台Wing Finance宣布推出NFT首付功能,让用户以60%的首付购买蓝筹NFT。运行原理为:用户可以选择自己想要购买的NFT,平台提供NFT地板价40%的贷款给用户,用户支付剩余的60%,然后NFT将需在Wing NFT池中进行抵押。[2022/9/6 13:10:23]

攻击者还用第二个账户中的资金在MangoMarket上借入其他token。

上述借款行为使第一个账户的坏账总额为11,306,771.61美元,造成了115,182,674.43美元的资产损失。

下图就是在Radium上的一个截图示例,可以看得出MNGO/USDC对的流动性很低。

虽然Mango使用了价格预言机和TWAP,但「专业性」很强且拥有足够资本的攻击者,足以在流动性上做一些手脚,特别是当资产只上线了少数交易所导致流动性非常低的时候。

关于Mango漏洞的详情解析,请查看往期文章《MangoMarket遭受攻击,损失1.16亿美元》。

DeusFinance漏洞

2022年4月28日,DeusFinance被恶意攻击,导致约1570万美元资产受到损失。攻击者操纵了DEItoken的价格,从DeiLenderSolidex合约中提取了大量的DEI,却只提供了少量的抵押品。这也是在Deus在2022年遭受的第二次攻击。

Findora公链推出跨链桥“Prism”以增强其DeFi功能:据官方消息,金融隐私公链Findora在成功完全兼容以太坊虚拟机(EVM)后于2月16日宣布推出“Prism”跨链桥。Prism将链接Findora原生链与EVM智能链,允许用户和开发者跨链转移数字资产,以增强其DeFi功能。

据悉,大多数区块链遵循一种保存记录模型:UTXO模型或账户模型。比特币和ZCash等区块链使用UTXO模型。以太坊和波卡等区块链则使用账户模型。而Findora将这两种模型集成到其公链架构中,以充分利用他们的优势。通过将这些平行链由Prism整合起来,Findora可以在两种链之间自由转移通证并协同运转,而无需信任中央中介。Prism 功能目前包含在Findora 官方钱包的最新版本中。[2022/3/7 13:42:08]

上图是DeiLenderSolidex的合约,链上价格是一个配对池的价格,输入价格是来自Muon预言机的加权平均价格。黑客需要同时操纵链Muon预言机以及链上价格的输入。Muon预言机监控了SolidlyUSDC/DEI池内的交易,以计算成交量加权平均价格。

在同一个池子里的一系列闪电交易会输出一个被操纵的价格,并被Muon预言机读取。

这该漏洞的根本原因是:Muon预言机只使用了Solidly作为价格来源。Swap使用的flashswap()没有被Muon正确过滤,因此导致了短期内加权平均价格的不一致。

DeFi 概念板块今日平均涨幅为5.95%:金色财经行情显示,DeFi 概念板块今日平均涨幅为5.95%。47个币种中46个上涨,1个下跌,其中领涨币种为:REP(+12.96%)、PEARL(+12.27%)、AMPL(+12.26%)。领跌币种为:LEND(-1.42%)、WNXM(-0.65%)。[2021/10/2 17:21:01]

InverseFinance

2022年4月2日,InverseFinance被恶意利用,导致了价值约1450万美元的资产损失。该事件发生的根本原因在于其使用的第三方价格预言机价格被操纵,因此攻击者以被操纵的价格借出资产。

Inverse使用的是Keep3r预言机,它完全依赖DEX的价格数据。

它依赖于一个TWAP预言机,该预言机来自一个交易量少的DEX交易对,具有30分钟的时间窗口,以减轻市场操纵风险。

攻击者能够绕过这一限制,在很短的时间内提交两笔交易,以便用当前池中token数量来计算价格。

攻击者首先部署了一个恶意合约来操纵SushiSwap/Curve.fiSushiSwap:INV中的INV/XINV的价格。然后他们将上面的INV存入并铸造了1746(3741372)个XINV。由于XINV的价格是根据SushiSwap:INV(INV-ETHPair)中的储备金计算的,所以INV的价格急剧升高,此时每个XINV的价值为20926美元(346*3444/57.7)。

BSC上DeFi100运营者投资者约3200万美元资金后跑路:5月23日消息,基于BSC构建的DeFi100是项目去中心化金融协议似乎是一个局,运营者已经取了投资者的钱后跑路。一名匿名分析师称,预计这笔资金高达3200万美元。(CoinDesk)[2021/5/23 22:33:29]

随着XINV价格被操纵,攻击者能够用铸造的XINV借出资产作为其利润。借出的资产包括1588ETH、94WBTC、3999669DOLA和39YFI;价值约1450万美元的资产被盗并转移到TornadoCash。

我们在几个月前也对这一事件进行了深入分析,请查看往期文章《泪纷纷,被盗项目欲断魂……InverseFinance被盗1450万美元事件分析》。

Cashio

2022年3月23日,基于Solana的Cashio稳定币CASH遭到“无限铸币”类型漏洞的恶意利用,导致损失了价值约5000万美元。该事件根本原因源于缺乏对common.crate_collateral_tokens和depositor_source的必要验证。攻击者能够注入假账户以绕过验证并铸造CASH。

为了铸造新的CASH,用户需要存入抵押品。铸币过程的正确性在用户将“抵押品”转移到项目中进行验证。在crate_collateral_tokens的验证过程中,合约检查token类型是否与saber_swap.arrow账户的类型相匹配。

一名DeFi交易者在1INCH空投中获得超2700万美元代币:Dune Analytics数据显示,一名DeFi交易者在1INCH空投中获得了9749686.003枚代币,根据2.8美元的价格计算,其获得的代币总价值约2750万美元,占1INCH供应量的约11%。(cointelegraph)[2020/12/26 16:32:47]

然而,合约并没有对mint字段进行验证,如下图saber_swap.arrow所示。攻击者可以创建一个假的saber_swap.arrow账户,这将进一步允许其创建一个假的crate_collateral_tokens账户并允许存入假的抵押品。

攻击的另一个方面是缺乏对depositor_source的检查,这应该是为了确保被存入的token类型与抵押品相匹配。

用户可以通过拥有一家bank来设置抵押品的token类型。

使用该crate_mint功能可以无限制地创建抵押token类型,系统并没有确认与bank关联的token与正被铸造的token相同。

因此,攻击者能够创建一个假bank并存入无价值的抵押品,使其能够铸造真正的CASH并从协议中抽走资金,以此导致了5200万美元损失的黑客攻击及相应稳定币价格的崩溃。

FeiProtocol

2022年4月30日,FeiProtocol宣布他们正在调查RariFuse池上的一个漏洞。

目前报告的总损失约为8000万美元。攻击者对borrow函数进行了攻击。

exitMarket函数验证存款不再作为贷款的抵押品,然后允许它被提取。然而,borrow()函数没有遵循check-effect-interaction模式,而是在更新攻击者的借款记录之前,就将ETH转移到攻击者的合约中。

如上述代码所示,“doTransferOut()”是在更新借款记录之前调用的。doTransferOut()函数通过底层调用将ETH转移给接收方。当borrow函数向借款人发送贷款金额时,它还没有更新其内部状态以反映所存资产已经被用作抵押。由于攻击者的借款记录没有及时更新,攻击者对exitmarket()进行了一个重入攻击,并提取了他们的抵押品。

关于FeiProtocol攻击事件的详情解析,请查看往期文章《死神来了之重入攻击,FeiProtocol漏洞导致7935万美元被盗事件分析》。

FantasmFinance

2022年3月09日,FantasmFinance的抵押池被恶意攻击,导致了约270万美元的损失。攻击者利用了协议的mint函数的错误检查代码_minFtmIn中的缺陷。

错误检查代码的目的是确保用户在铸造XFTM时将FTM存入合约。根据其实现,如果只投入FSM,则需根据FSM的比例来计算XFTM的数量,超过FSM比例的部分需要由FTM来补足。

然而,代码实际上是与msg.value相比较,来计算接受铸造的FTM的最小数量。

在上图的第一个红框中,重要的_minFtmIn参数被忽略了,甚至没有声明这个变量,而是只需要FSM。

当只存入FSM时,不需要补充FTM抵押品。如果FSM占10%,那么10uxFTM可以用1uFSM铸造。

因此,攻击者能够在只存入真实价值的一小部分时铸造XFTM。铸造的XFTM随后被卖回给该项目,使攻击者能够从项目中取出资产,并购买更多的FSM用于后续的攻击。

如何保护借贷协议

2022年是全球Web3.0行业安全的「黑暗」之年。根据我们的统计结果,2022年针对借贷协议的攻击共造成了超过3亿美元的损失——这也意味着,在接下来的几年中,我们将面对更迫切和更高的安全需求。

接下来我们将讨论我们从这些攻击事件中吸取的教训,并总结关于如何预防和应对的最佳做法。

增加闪电贷保护

闪电贷允许任何人在没有抵押的情况下进行大额贷款。也因此经常被黑客使用,成为了多次大规模攻击的攻击媒介。

为了避免闪电贷攻击,开发者应该尽可能地考虑限制闪电贷的使用,只允许非合约地址与合约交互。另一个防止滥用闪电贷的措施是防止关键交易在同一区块内发生。这可以有效地降低与闪电贷攻击有关的安全风险。

增加可重入性保护

可重入性是智能合约中一个比较常见的安全问题。例如耗尽借贷池和操纵借款记录,特别是当与其他漏洞相结合时,重入问题可能会导致十分庞大的损失。

为了保护可重入性,项目可以使用OpenZeppelin提供的重入性防护,并遵循check-effect-interaction模式。

选择一个可靠的价格预言机

预言机应能够过滤掉模糊的交易并使用多个数据源。避免使用只依赖单一交易对价格的预言机,因为攻击者只需要操纵一个池子的价格就可以操纵这个预言机的价格。

慎重选择抵押token

从经济角度来看,建议限制或不提供流动性差的token的杠杆。使用价格高度波动的token作为抵押品会增加整体风险,因为当token价格大幅波动时,抵押品的价值也会发生很大变化。这增加了攻击项目经济模型的机会,就像MangoMarket的情况一样。它也会影响到系统的整体状态。如果整体抵押物和借出的token的价值的比例太低,系统可能无法正常运行。

加强对合约配置的安全意识

虽然审计智能合约可以检查出许多人为错误并确保设计实践一致性,但借贷协议中仍有一些敏感参数需要人工配置。这些参数的不正确设置会导致严重的后果,就像错误配置的预言机合约会反馈错误的数据。开发人员和项目操作人员在配置这些参数时应谨慎行事。

标签:TOKETOKENTOKKENFidex TokenSignal TokenBugs Bunny TokenTDR Token

狗狗币价格热门资讯
Gate.io HODL & Earn: Flexible Staking ZEBEC(ZBC)

FlexibleStaking&EarnZBCisenabledonGate.ioHodl&Earnundertheflexible-termsection.

1900/1/1 0:00:00
比特币:2023/02/08 数据库系统优化公告

尊敬的唯客用户您好!为了提升服务质量,进一步优化您的交易体验,唯客预计于2023年02月08日06:30-07:30将进行风险控管数据库系统之升级优化?;优化升级范围如下:升级时间2023年02.

1900/1/1 0:00:00
LID:Lido逆势上涨– 你应该投资顶级流动性质押代币吗?

Lido是一种去中心化金融(DeFi)协议,由于其令人印象深刻的价格表现,最近受到了广泛关注。尽管熊市状况一直影响着加密货币世界,但Lido的价值一直在稳步上升,这让许多投资者不禁要问:为什么L.

1900/1/1 0:00:00
UNI:Uniswap创始人回应「控诉」:Richard将其拒绝投资与之前的资助混为一谈

原文作者:HaydenAdams,Uniswap创始人原文编译:Babywhale,ForesightNewsUniswap早期支持者:我为何要起诉HaydenAdams?针对Balance前首.

1900/1/1 0:00:00
加密货币:?WEEX正式获得SVGFSA牌照加速推动全球化战略布局?

合约交易所WEEX唯客日前宣布,平台已获得圣文森特和格林纳丁斯金融许可证,注册编号:2824。这是平台继取得美国MSB、加拿大MSB牌照之后,正式获得的第三张全球监管牌照,将有助于加速推动WEE.

1900/1/1 0:00:00
Huobi:Huobi Earn System Upgrade Notice

DearHuobiUsers,Toprovideouruserswithabettertradingexperience.

1900/1/1 0:00:00