对 Solana 的黑客攻击回顾:有什么共同点以及如何避开它们?

去中心化金融社区 閱讀 39450 2022-10-3 16:23
分享至
微信掃一掃,打開網頁後點擊屏幕右上角分享按鈕

对 Solana 的黑客攻击回顾:有什么共同点以及如何避开它们?

自一年前以来,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 中);

监控来自同一签名者的重复交易;

任何针对协议特定属性的自定义监控。

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

btcfans公众号

微信掃描關注公眾號,及時掌握新動向

來源鏈接
免責聲明:
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
標籤: 黑客攻击 Solana
上一篇:以太坊:合并后,对MEV的影响 下一篇:Web3.0灵魂绑定代币是机会还是陷阱?

相關資訊