去中心化金融DeFi 安全建议
最近几个月,针对著名的 DeFi 项目发生了多次攻击:
bZx,一个杠杆交易平台,被攻击了两次(pt.1,pt.2),损失了大约 90 万美元
MakerDAO,一种去中心化的稳定币被利用了大约 800 万美元
Synthetix 也遭受了预言机操纵攻击。
dForce/LendF.me 遭受了 2500 万美元的重入攻击(后来返回)
虽然这些攻击是真实且重要的,但我们也相信它们是可以预防的。早些年区块链应用程序没有受到攻击的主要原因不是因为这些项目是安全的,而是因为攻击者的风险还不够高。现在,随着用户采用率和攻击动机的增长,安全性也需要随之增长。
DeFi 项目应该如何保障?我们认为他们应该采取以下步骤:
审计应涵盖经济和金融攻击
最近成功实施的一些 DeFi 攻击是智能合约代码中的 bug 造成的,但其中很多并没有涉及任何代码逻辑错误。相反,他们利用了在受影响的应用程序中不受保护的预言机价格操纵。由于 DeFi 项目通常依赖其他项目来获取流动性或价格信息,因此它们可能特别容易受到此类攻击。
任何适当的智能合约审计,尤其是 Defi 项目,都应涵盖对经济激励的攻击以及诸如预言机价格操纵等金融攻击的可能性。这些漏洞与任何语法错误或错误实施的检查一样有可能在合约控制下耗尽资金。
需要重点考虑边缘案例
智能合约审计中的边缘案例是指在极端条件下可能发生的事件,例如攻击者可以访问非常大的资金池,或者网络极度拥塞并且无法正确更新第 3 方预言机。
这些情况过去被认为是低概率的,并且项目通常无法充分防范它们。然而,我们可以从 bZx 攻击和MakerDAO 黑色星期四事件中看出需要考虑它们。
使边缘情况变得更加重要的一个主要因素是闪电贷款。这些是仅用于一笔交易的短期贷款。借款人可以在同一笔交易中借入大量加密资产,并收取费用。
快速贷款为金融攻击提供了公平的竞争环境,并使它们更有利可图。尽管一个单独的黑客可能已经具备在闪电贷款之前执行金融攻击的技术能力,但除非他们也有大量的资本储备,否则他们可能无法充分推动市场以赚取可观的利润。现在,任何具有执行金融攻击的技术能力的人也可以获得足够的资金来执行它。
MakerDAO 黑色星期四事件也清楚地表明,极端价格下跌或网络拥塞等其他边缘条件不仅是理论上的场景,而且非常真实,并且可能经常同时发生。随着以太币的价格大幅下跌,网络拥塞使 MakerDAO 的价格预言机无法正常运行。这导致了一系列失败,导致 DAI 被抵押不足 400 万美元的 ETH。
任何 DeFi 项目向前发展的教训是,您的应用程序不能仅仅忽略边缘情况,而是最恰当地考虑所有这些边缘情况的发生,有时是同时发生。如果您的应用程序无法处理极端条件,它就无法处理主网上的实际财务价值。
缓慢移动并测试事物
从第一天开始就有资金投入使用,DeFi 应用程序需要融入安全最佳实践。这意味着使用安全库、高测试覆盖率、在主网启动之前聘请审计员,并准备好应急程序。渐进式部署也是一个好主意,以便在攻击成本仍然相对较小时发现安全问题。除了审计编码错误外,还需要考虑经济和金融攻击。
在 dForce/LendF.me 的情况下,开发很匆忙,在投入生产之前几乎没有采取任何预防措施。似乎该项目可能复制了 Compound Finance 代码的早期版本,然后在没有进行充分测试或安全审计的情况下添加了附加功能。
DeFi 作为一个应用空间的增长是一个非常令人兴奋的过程。它展示了区块链行业的一些第一个主要产品市场。然而,随着锁定在 DeFi 中的资产增长,攻击这些项目的动机也在增长。安全不再是事后的想法。
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場