ERG:简析Solana上的借贷平台安全性

概述

一直以来,安全始终是所有金融平台的重中之重。在无法保障资金安全的情况下,高收益都是一张张的空头支票。这一点对于去中心化借贷平台来说也是一样的。回顾过去的一年,不少的借贷平台都发生过安全事故,给用户带来了惨重的损失。

1.Venus大额清算事件

2021年5月18日,作为BSC链上最大的借贷平台,Venus清算了超过2百万的XVS(Venus平台币)。这直接导致了大量用户遭受惨重的损失和清算,坏账总额高达一亿美元。此次安全事故的发生是因为XVS的币价遭到了大户的恶意拉升,用价格虚高的XVS为抵押,借出了大量的BTC和ETH。XVS的流动性相对其他主流币而言较低,被恶意操控的风险更大。此次事故与Venus平台收录流动性较差的币种有着直接的关系,平台对于潜在风险的忽视也是这次安全事故发生的原因之一。

LendHub被黑简析:系LendHub中存在新旧两市场:金色财经报道,据慢雾安全区情报,2023 年 1 月 13 日,HECO 生态跨链借贷平台 LendHub 被攻击损失近 600 万美金。慢雾安全团队以简讯的形式分享如下:

此次攻击原因系 LendHub 中存在两个 lBSV cToken,其一已在 2021 年 4 月被废弃但并未从市场中移除,这导致了新旧两个 lBSV 都存在市场中。且新旧两个 lBSV 所对应的 Comptroller 并不相同但却都在市场中有价格,这造成新旧市场负债计算割裂。攻击者利用此问题在旧的市场进行抵押赎回,在新的市场进行借贷操作,恶意套取了新市场中的协议资金。

目前主要黑客获利地址为 0x9d01..ab03,黑客攻击手续费来源为 1 月 12 日从 Tornado.Cash 接收的 100 ETH。截至此时,黑客已分 11 笔共转 1,100 ETH 到 Tornado.Cash。通过威胁情报网络,已经得到黑客的部分痕迹,慢雾安全团队将持续跟进分析。[2023/1/13 11:11:00]

2.Cream闪电贷攻击

Beosin:SheepFarm项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,BNB链上的SheepFarm项目遭受漏洞攻击,Beosin分析发现由于SheepFarm合约的register函数可以多次调用,导致攻击者0x2131c67ed7b6aa01b7aa308c71991ef5baedd049多次利用register函数增大自身的gems,再利用upgradeVillage函数在消耗gems的同时累加yield属性,最后调用sellVillage方法把yield转换为money后再提款。本次攻击导致项目损失了约262个BNB,约7.2万美元。Beosin Trace追踪发现被盗金额仍在攻击者账户,将持续关注资金走向。[2022/11/16 13:10:39]

2021年10月27日,CreamFinance在推特上公开承认,他们再次遭受了闪电贷袭击,总损失金额高达1.3亿美元。这已经是该平台本年度的第三次安全事故,前两次分别发生在2021年的2月和8月,两次分别损失了近0.4亿和近0.3亿美元。CreamFinance本年度的三次安全事故均是遭受的闪电贷袭击,这是一种近两年非常常见的针对借贷平台的黑客攻击手段。

安全团队:LPC项目遭受闪电贷攻击简析,攻击者共获利约45,715美元:7月25日,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,LPC项目遭受闪电贷攻击。成都链安安全团队简析如下:攻击者先利用闪电贷从Pancake借入1,353,900个LPC,随后攻击者调用LPC合约中的transfer函数向自己转账,由于 _transfer函数中未更新账本余额,而是直接在原接收者余额recipientBalance值上进行修改,导致攻击者余额增加。随后攻击者归还闪电贷并将获得的LPC兑换为BUSD,最后兑换为BNB获利离场。本次攻击项目方损失845,631,823个 LPC,攻击者共获利178 BNB,价值约45,715美元,目前获利资金仍然存放于攻击者地址上(0xd9936EA91a461aA4B727a7e3661bcD6cD257481c),成都链安“链必追”平台将对此地址进行监控和追踪。[2022/7/25 2:36:51]

回顾以上的安全事故,我们不难得出结论,借贷平台的安全性主要取决于团队对于风险的控制以及对于潜在风险的审计和测试。

慢雾:DEUS Finance 二次被黑简析:据慢雾区情报,DEUS Finance DAO在4月28日遭受闪电贷攻击,慢雾安全团队以简讯的形式将攻击原理分享如下:

1.攻击者在攻击之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。

2.在几个小时后攻击者先从多个池子闪电贷借出143200000USDC。

3.随后攻击者使用借来的USDC在BaseV1Pair进行了swap操作,兑换出了9547716.9个的DEI,由于DeiLenderSolidex中的getOnChainPrice函数是直接获取DEI-USDC交易对的代币余额进行LP价格计算。因此在此次Swap操作中将拉高getOnChainPrice函数获取的LP价格。

4.在进行Swap操作后,攻击者在DeiLenderSolidex合约中通过borrow函数进行借贷,由于borrow函数中用isSolvent进行借贷检查,而在isSolvent是使用了getOnChainPrice函数参与检查。但在步骤3中getOnChainPrice的结果已经被拉高了。导致攻击者超额借出更多的DEI。

5.最后着攻击者在把用借贷出来DEI兑换成USDC归还从几个池子借出来的USDC,获利离场。

针对该事件,慢雾安全团队给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/4/28 2:37:18]

本文将会针对Solana公链上的借贷平台,进行一系列的安全性分析。

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]

Solana公链上的主要借贷平台汇总

表1.Solana链上的主流借贷平台

是否审计

审计是智能合约安全性的第一道防线,也是对平台进行安全性分析时的一个重要指标。

审计的作用就像是一个监管的第三方,让所有利益相关者可以相信平台运作过程中的透明度,以及平台是否遵循了目前行业标准的预期。随着Defi行业的不断发展和成熟,监管的标准和要求也会更加的规范化,在这个过程中,审计将继续发挥关键的作用。

表2总结了上述所有平台的审计公司。

在上述的六个平台中,JetProtocol是目前唯一一个在未经审计的主网上运行的平台。尽管他们的代码已经经过了Solana基金会所提供的外部白帽子开发团队的审查,对此还是建议用户保持谨慎。

Solen,Apricot,Larix以及Soda都经过了知名知名智能合约审计公司的审计。

其中Soda的审计方Certik是Binance的正式合作或盘,并且得到了包括BinanceLabs,Lightspeed,MatrixPartners,andDHVC在内的知名投资者的支持。

Larix的审计方慢雾科技是目前在区块链行业领先的安全性审计公司,是EOS,Cosmos,Vechain等顶级区块链项目的合作伙伴。慢雾以其强大的EOS智能合约防火墙项目FireWall.X而闻名。

支持币种

纵观2021年的借贷平台安全事故,尤其是以Venus5月份的大额清算事故为例,支持流动性较低的币种的风险显而易见。此类币的价格极其容易被心怀不轨的人恶意操控,随即借空平台资产,从而导致大量的坏账。借贷平台在上新币种的时候应该意识到此类风险,进行风险管理并尽最大可能保护其用户不会成为这些恶意攻击的受害者,这也是借贷平台应负的责任。Venus的大额清算事故以惨痛的代价给我们上了这一课。

在本文所分析的六个借贷平台中,Larix,Jet和Soda仅支持了不易受到市场操控影响的主流币,大大减小了该类事故发生的风险。其余的三个平台,Solend支持了SER,MER,SLND(Solend平台币),Apricot支持了ORCA,Port支持了MER、FIDA和自己的平台币PORT。以上均是流动性相对较低的币种,其价格存在很大的被操纵空间,为这些平台的安全增加了一层不确定性。

代码开源

在评估借贷平台的安全性时,代码是否开源是另一个重要的指标。开源意味着所有的代码都是公开透明的,每个人都有访问权限。开源的代码会为平台增加安全性主要是因为以下几点。

?由于开源代码的透明性,更多双眼睛可以帮助平台一起寻找并维护代码

?开源代码意味着平台在解决安全隐患时将会更有效率,极高的公众可见性为解决漏洞增加了紧迫性

?开源代码意味着开发人员无法在代码中镶嵌恶意指令

在本文今天所分析的所有平台中,只有Larix和Solend在官网上明确表示他们的代码是开源的,其余平台的代码是否开源或部分开源尚不得而知。

预言机

借贷项目最主要的风险来自于两个方面,第一是私钥泄露,第二就是报价出错。其中报价出错除了支持资产的价格被恶意操纵外,还有很大的风险是来自于预言机的报价错误。Solend就曾因为mSOL报价错误,导致不少用户被错误清算,损失资产的情况。而Apricot官方近日也紧急下架了LP抵押功能,并承认了其LP计价方式有误,但还是导致部分用户被错误清算损失了资金。目前这几家借贷采用的主要还是Pyth的预言机方案,ChainLink还未支持Solana资产的报价。但比较合理的还是中心化和去中心化交易所,以及预言机喂价相互校验的喂价机制。

漏洞赏金计划

漏洞赏金是一个为借贷平台增加额外安全性的机制,为发现漏洞并上报给平台方的人提供丰厚的赏金,该计划鼓励社区和白帽子黑客对智能合同的安全性进行审计。Solend,Larix和Port都有明确的漏洞赏金计划。2021年11月,Solend和Larix联手向发现并上报了SPL代币借贷库漏洞的Neodyme团队提供了丰厚的赏金。

总结

在金融中,有一个理论叫做’不可能三角’理论,即高流动性,低风险和高收益是无法同时满足的。这个理论同样适用于加密领域的投资,因此,与其不停的追逐更高的收益,我们应该停下来花一点时间来思考我们资产的安全性。毕竟,如果赚了利息,但却丢了本金,那可就真是捡了芝麻丢了西瓜。切记,挖矿千万条,安全第一条。

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

链链资讯

[0:15ms0-8:361ms