在本文中,我们回顾了这些攻击的本质,并旨在找到有效的解决方案,以防止未来发生此类攻击。
原文标题:A Review of Recent Hacks on Solana: what’s in common and how to prevent them?
原文作者:sec3
原文来源:Medium
编译:ChinaDeFi
自一年前以来,Solana 生态系统实现了超高速增长,同时见证了多次黑客攻击(包括Wormhole、CashioApp、CremaFinance、Nirvana和Slope Wallet),这些黑客攻击总共造成了近4亿美元的损失。
重要的是,这些黑客攻击(Slope Wallet除外)大多是由于智能合约漏洞,即链上协议的编码缺陷:
在本文中,我们回顾了这些攻击的本质,并旨在找到有效的解决方案,以防止未来发生此类攻击。
这些黑客有什么共同之处?
几乎所有黑客(Slope Wallet除外)都精心设计了一个或多个假账户。
所有黑客攻击都涉及多次交易
所有攻击至少持续几分钟(几个小时甚至几天)
最大的损失是由于缺少帐户验证
前三次黑客攻击(Wormhole、CashioApp和CremaFinance)的根源在于缺少正确的账户验证。
无论是否是巧合,这些攻击都造成了很大的经济损失。
闪贷牵涉到两次黑客攻击
CremaFinance和Nirvana的黑客攻击都涉及直接闪贷交易,而且都是通过Solend进行的。
在CremaFinance,闪贷被用来引导存款流动性。
在 Nirvana 中,其内部价格预言机被闪贷操纵。
如何防止未来类似的黑客攻击?
根据上面总结的这些攻击的特点,我们推荐以下的安全措施:
预部署:验证智能合约的所有输入帐户
在编写Solana智能合约时,要时刻牢记所有输入都可能被攻击者伪造,包括所有账户和外部程序(即用户钱包账户、PDA账户和其他智能合约)。
Solana的编程模型将代码和数据解耦,因此程序中使用的所有帐户都必须作为数据输入传递。
在几乎所有情况下,都应该验证:
根据协议逻辑,还应该检查:
部署后:主动使用实时威胁监控
由于所有这些黑客攻击都涉及跨越至少几分钟或几小时的多个交易,因此可以提前主动检测可疑交易,并在中间遏制攻击。
这是Solana的独特属性,它允许链上威胁监控技术作为一种防御解决方案,来帮助有效地预防和阻止安全攻击:
原则上,威胁监控解决方案可能会有帮助:
如果任何被监控的交易导致了在随后的黑客攻击中使用的异常状态,及早发现它们可能有助于阻止黑客攻击。
责任编辑:Felix