SharkTeam:合约精度计算漏洞与安全建议

2024-02-20 16:02:35

近几个月,连续发生多起安全事件与合约开发过程中的价格精度计算漏洞有关,损失金额已超千万美元,MIN_SPELL 650万美元、RadiantCapital 450万美元、Onyx Protocol 210万美元等,均是因为计算时精度出现了问题导致关键变量计算错误从而被攻击。

SharkTeam将这类安全事件进行了总结,并给出行之有效的安全建议,希望后续协议可以引以为戒,保护用户加密资产安全。

1. MIN_SPELL攻击事件

发生时间:2024年1月30日,

损失金额:约650万美元,

漏洞原因:合约存在两个借贷变量elastic和base,在进行两者的精度计算时,都采用了向上取整的方式。这样操作会使本身计算结果应为0的参数最后计算得到为1,使两个参数之间的比例失衡,最终能够超额借出MIM代币。

详细分析:https://bit.ly/3ScR7TK

2. RadiantCapital攻击事件

发生时间:2024年1月2日,

损失金额:约450万美元,

漏洞原因:黑客利用了合约中对于新市场尚未进行初始化的漏洞,流动性指数并未初始化,使得黑客可以通过闪电贷函数来操纵其大小,当指数变大后,黑客利用rayDiv函数中的四舍五入精度问题,由于指数变大,通过四舍五入造成的精度损失上限同样变大,黑客重复进行存取操作获利。

3. Onyx Protocol攻击事件

发生时间:2023年11月11日,

损失金额:约210万美元,

漏洞原因:与RadiantCapital攻击事件类似,也利用了新市场尚未初始化流动性的漏洞,并且在divUint函数中存在四舍五入的漏洞造成精度损失。

详细分析:https://bit.ly/47cKeI6

4. WiseLending攻击事件

发生时间:2024年1月12日,

损失金额:约46.5万美元,

漏洞原因:合约在计算借贷份额时使用向上取整,攻击者利用这一点进行重复的存取操作来提高份额价格,份额价格提升后用自己的份额借走了大量的ETH。

5. HopeLend攻击事件

发生时间:2023年10月18日,

损失金额:约85万美元

漏洞原因:黑客最初利用目标资产对应的池中的流动性失衡,操纵与目标资产关联的hToken的流动性指数,扭曲其价值。随后,黑客利用极少量 hToken 的抵押品,借入了所有其他标的资产。此后,黑客同样利用合约分割操作中的rayDiv函数中存在的四舍五入漏洞,反复存入和提现,耗尽了在Hopelend攻击中投入的标的资产。

漏洞总结与安全建议

精度问题大体是分为两类:

1.一类是错误的向上取整,可能导致本应为0的参数取到了1,使后续计算出现严重漏洞;

2.第二类是四舍五入问题,其中尤为严重的是错误使用了rayDiv函数的项目。

安全建议:

1.针对第一类来说,如果项目逻辑需要向上取整操作,在取整变量为1或0等条件下进行多次多样的重复测试,

2.针对第二类可以采用先乘后除统一精度的方式,譬如使用10**18为后缀作为小数点后的数值。

3.无论是哪一种情况,对计算逻辑进行全方面测试,尽可能地考虑到每一种情况,尤其是在不同计算结果有不同的处理逻辑的时候,更需要慎重测试。理论上的逻辑设计与实际的代码实现相结合,全方位无死角的对合约函数进行测试。若测试用例可以覆盖各种变化情况,必然可以避免因为精度计算带来的安全性问题。

About Us

SharkTeam的愿景是保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约底层理论。提供包括链上大数据分析、链上风险预警、KYT/AML、智能合约审计、加密资产追讨等服务,并打造了链上智能风险识别平台ChainAegis,平台支持无限层级的深度图分析,能有效对抗Web3世界的高级持续性威胁(Advanced Persistent Threat,APT)。已与Web3生态各领域的关键参与者,如Polkadot、Moonbeam、polygon、Sui、OKX、imToken、Collab.Land等建立长期合作关系。

官网:https://www.sharkteam.org

Twitter:https://twitter.com/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

Telegram:https://t.me/sharkteamorg

郑重声明:本文版权归原作者所有,转载文章仅为传播信息之目的,不构成任何投资建议,如有侵权行为,请第一时间联络我们修改或删除,多谢。

推荐文章

Layer2 格局剧变:Base 生态有哪些关键亮点?

在激烈竞争的 L2 赛道中,原本稳坐钓鱼台的 Arbitrum 和 Optimism 似乎面临着前...

加密泡泡啊
424 1年前

XRP 涨至 7.5 美元?分析师告诉 XRP 大军为纯粹的烟火做好准备!

加密货币分析师 EGRAG 表示,XRP 即将迎来关键时刻,价格可能大幅上涨,这取决于能否突破关键...

加密泡泡啊
430 1年前

以太坊ETF通过后 将推动山寨币和整个加密生态大爆发

比特币ETF通过后市场动荡,以太坊ETF交易前景分析 比特币ETF通过后,市场出现了先跌后涨的走势...

加密泡泡啊
440 1年前

ZRO为啥这么能涨?

ZRO概述 ZRO代币,全称为LayerZero,是LayerZero协议的本地代币,旨在作为治理...

加密泡泡啊
384 1年前

今晚ETH迎来暴涨时代 op、arb、metis等以太坊二层项目能否跑出百倍币?

北京时间7月23日晚上美股开盘后 ETH 的ETF开始交易。ETH的里程碑啊,新的时代开启。突破前...

BNBCCC
396 1年前

Mt Gox 转移 28 亿美元比特币 加密货币下跌 ETH ETF 提前发行

2014 年倒闭的臭名昭著的比特币交易所 Mt Gox 已向债权人转移了大量比特币 (BTC),作...

加密圈探长
400 1年前