回顾Solana被攻击事件:有什么共同点?如何避免?

自一年前以来,Solana 生态系统实现了超高速增长,同时见证了多次黑客攻击 ( 包括 Wormhole、CashioApp、CremaFinance、Nirvana 和 Slope Wallet),这些黑客攻击总共造成了近 4 亿美元的损失。

自一年前以来,Solana 生态系统实现了超高速增长,同时见证了多次黑客攻击 ( 包括 Wormhole、CashioApp、CremaFinance、Nirvana 和 Slope Wallet),这些黑客攻击总共造成了近 4 亿美元的损失。

重要的是,这些黑客攻击 (Slope Wallet 除外 ) 大多是由于智能合约漏洞,即链上协议的编码缺陷:

  • Wormhole:3.2 亿美元被盗,原因是缺少帐户验证;
  • CashioApp :由于缺少账户验证,导致 5000 万美元被盗;
  • CremaFinance:1000 万美元被盗 ( 返还 800 万美元 ),原因是缺少账户验证;
  • Nirvana:通过闪贷操纵价格,350 万美元被盗;
  • Slope 钱包:由于助记词被泄露,400 万美元被盗。

在本文中,我们回顾了这些攻击的本质,并旨在找到有效的解决方案,以防止未来发生此类攻击。

这些黑客有什么共同之处?

几乎所有黑客 (Slope Wallet 除外 ) 都精心设计了一个或多个假账户。

  • Wormhole:黑客创建了两个假的 sysvar 帐户来跳过密钥验证。
  • CashioApp:黑客创建了 8 个假账户来通过有效性检查。
  • CremaFinance :黑客创建了一个虚假的帐户,并使用闪贷窃取费用。
  • Nirvana:黑客精心制作了一个闪贷账户来操纵代币价格。
  • Slope Wallet:黑客通过泄露的助记词直接获取了用户钱包的私钥。

所有黑客攻击都涉及多次交易

  • Wormhole:整个攻击用了 6 个交易来完成:第一个 tx 创建第一个假 sysvar 帐户,最后一个 tx 调用 complete_wrapped。
  • CashioApp:整个攻击从创建所有的假账户到发送最后的攻击交易,期间进行了超过 10 笔的交易。
  • CremaFinance :每次攻击至少需要进行 3 笔交易;创建一个虚假的帐户,部署一个闪贷程序,发起窃取费用的攻击;此外,黑客还多次发起 10+ 笔闪贷交易,从不同的代币池中进行窃取。
  • Nirvana:攻击至少进行了 2 笔交易;部署一个精心设计的闪电贷款接收程序,并调用 Solend 闪贷。
  • Slope Wallet :整个攻击抽干了 9000 多个钱包,涉及 9000 多个 SOL 或 SPL 代币转账交易。

所有攻击至少持续几分钟 ( 几个小时甚至几天 )

  • Wormhole:从创建第一个假 sysvar 账户的 tx 到完成转账的 tx 之间的时间跨度为 6 个小时。
  • CashioApp:黑客的第一个假账户是在交易发生前 5 天创建的。
  • CremaFinance :这个假账户是在第一次攻击前一个多小时创建的。
  • Nirvana:两个交易 ( 部署闪贷接收方和调用 Solend 闪贷 ) 之间的时间窗口跨度为 4 分钟。
  • Slope 钱包:广泛的攻击持续至少 8 个小时。

最大的损失是由于缺少帐户验证

前三次黑客攻击 (Wormhole、CashioApp 和 CremaFinance) 的根源在于缺少正确的账户验证。

无论是否是巧合,这些攻击都造成了很大的经济损失。

闪贷牵涉到两次黑客攻击

CremaFinance 和 Nirvana 的黑客攻击都涉及直接闪贷交易,而且都是通过 Solend 进行的。

在 CremaFinance,闪贷被用来引导存款流动性。

在 Nirvana 中,其内部价格预言机被闪贷操纵。

如何防止未来类似的黑客攻击?

根据上面总结的这些攻击的特点,我们推荐以下的安全措施:

预部署:验证智能合约的所有输入帐户

在编写 Solana 智能合约时,要时刻牢记所有输入都可能被攻击者伪造,包括所有账户和外部程序 ( 即用户钱包账户、PDA 账户和其他智能合约 )。

Solana 的编程模型将代码和数据解耦,因此程序中使用的所有帐户都必须作为数据输入传递。

在几乎所有情况下,都应该验证:

  • 账户所有权
  • 账户签名者
  • 帐户之间的关系 ( 或逻辑约束 )

根据协议逻辑,还应该检查:

如果任何内部价格预言机操纵闪电贷款 ( 与大量转移 ),需增加约束以防止差异。

如果可以计算任何异常状态 ( 如费用或奖励 ),需添加约束以防止差异。

部署后:主动使用实时威胁监控

由于所有这些黑客攻击都涉及跨越至少几分钟或几小时的多个交易,因此可以提前主动检测可疑交易,并在中间遏制攻击。

这是 Solana 的独特属性,它允许链上威胁监控技术作为一种防御解决方案,来帮助有效地预防和阻止安全攻击:

原则上,威胁监控解决方案可能会有帮助:

  • 监控 SOL 或 SPL 代币的大规模转移;
  • 监控针对你的智能合约的闪贷交易;
  • 通过升级依赖程序来监控潜在的漏洞;
  • 监控异常状态 ( 例如,计算费用 );
  • 监控往返交易事件例如 deposit- claim-withdraw 在单个 tx 中 );
  • 监控来自同一签名者的重复交易;
  • 任何针对协议特定属性的自定义监控。

如果任何被监控的交易导致了在随后的黑客攻击中使用的异常状态,及早发现它们可能有助于阻止黑客攻击。

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

(0)
上一篇 2022年9月9日 下午1:24
下一篇 2022年9月9日 下午1:45

相关推荐

  • 详解跨链流动性统一模型SLAMM:如何在 Cosmos 应用链之间转移流动性?

    在本文中,我们提出并探讨了第三种方法,即使用新型机制来减轻流动性分散的影响。共享流动性 AMM(Shared Liquidity AMM: SLAMM)。使用一个协调应用链「Hub」,虚拟流动性池和在其他链上的「卫星」部署,SLAMMs 理论上可以优化孤立的跨链池的流动性。

    2022年10月26日
  • 技术角度思考,以太坊合并后审查将如何变化?

    首先要注意的是,在工作证明 (PoW) 或 PoS 系统中,面对这些制裁,矿工和利益相关者的选择不是简单的二元选择,这不是一个在禁止 OFAC 交易和无视 OFAC 禁令之间的决定。

    2022年8月22日
  • 详解NFGI(恐惧与贪婪)指数

    数字货币的恐惧与贪婪指数与传统股票市场一样,代表着市场情绪。不同的是,数字货币市场有自己衡量情绪的指标,它们是波动率、交易量、社交媒体、民意调查、BTC 市场份额、Google 趋势。恐惧和贪婪指数采用简单的 0 到 100 等级并相应地进行颜色编码,其中 0 为红色,100 为绿色。当分数为绿色且接近 100 时,这表明极度贪婪,并可能说明比特币和加密货币的许多投资者对未来价格进一步上涨感到过于兴奋。

    2022年9月28日

发表回复

登录后才能评论
微信

联系我们
邮箱:whylweb3@163.com
微信:gaoshuang613