原文作者:sec3
原文编译:ChinaDeFi
自一年前以来,Solana生态系统实现了超高速增长,同时见证了多次黑客攻击(包括Wormhole、CashioApp、CremaFinance、Nirvana和SlopeWallet),这些黑客攻击总共造成了近4亿美元的损失。
重要的是,这些黑客攻击(SlopeWallet除外)大多是由于智能合约漏洞,即链上协议的编码缺陷:
Wormhole:3.2亿美元被盗,原因是缺少帐户验证;
CashioApp:由于缺少账户验证,导致5000万美元被盗;
ParaSpace已暂停12笔Azuki抵押清算,债务金额接近46万美元:7月3日消息,据官方平台页面显示,NFT借贷协议ParaSpace目前已暂停12笔Azuki相关抵押借贷的清算,全部债务金额接近46万美元。[2023/7/4 22:15:57]
CremaFinance:1000万美元被盗(返还800万美元),原因是缺少账户验证;
Nirvana:通过闪贷操纵价格,350万美元被盗;
Slope钱包:由于助记词被泄露,400万美元被盗。
在本文中,我们回顾了这些攻击的本质,并旨在找到有效的解决方案,以防止未来发生此类攻击。
外媒:由矿机抵押的的近40亿美元贷款对加密贷方构成潜在风险:6月24日消息,由矿机抵押的的近 40 亿美元贷款在比特币下跌的过程中对加密货币贷方构成了潜在风险。分析师警告,如果市场没有改善,加密矿企出售比特币储备会给价格带来进一步的压力。根据 Luxor Technologies Corp. 的数据,比特大陆 S19 矿机的价值从 11 月的约 1 万美元的高位下跌了约 47%。 (彭博社)[2022/6/25 1:30:17]
Wormhole:黑客创建了两个假的sysvar帐户来跳过密钥验证。
CashioApp:黑客创建了8个假账户来通过有效性检查。
CremaFinance:黑客创建了一个虚假的帐户,并使用闪贷窃取费用。
跨链桥Stargate总锁仓量接近40亿美元:4月4日消息,数据显示,由LayerZero Labs开发的跨链桥项目Stargate总锁仓量已达39.67亿美元。[2022/4/4 14:02:47]
Nirvana:黑客精心制作了一个闪贷账户来操纵代币价格。
SlopeWallet:黑客通过泄露的助记词直接获取了用户钱包的私钥。
2.所有黑客攻击都涉及多次交易
Wormhole:整个攻击用了6个交易来完成:第一个tx创建第一个假sysvar帐户,最后一个tx调用complete_wrapped。
CashioApp:整个攻击从创建所有的假账户到发送最后的攻击交易,期间进行了超过10笔的交易。
乌克兰政府的加密钱包捐款接近4000万美元:金色财经报道,自俄乌冲突以来,仅乌克兰政府筹集的加密货币捐款在周四就达到了 3880 万美元,因为流入其他渠道的资金使总捐款至少达到了 6000 万美元。?乌克兰政府最初开始接受比特币、以太坊和 USDT,但加密社区的支持正在继续为不同的区块链及其应用程序(如 DAO 和NFT)提供多样化的捐赠渠道。?(Forkast)[2022/3/3 13:34:49]
CremaFinance:每次攻击至少需要进行3笔交易;创建一个虚假的帐户,部署一个闪贷程序,发起窃取费用的攻击;此外,黑客还多次发起10笔闪贷交易,从不同的代币池中进行窃取。
Nirvana:攻击至少进行了2笔交易;部署一个精心设计的闪电贷款接收程序,并调用Solend闪贷。
SlopeWallet:整个攻击抽干了9000多个钱包,涉及9000多个SOL或SPL代币转账交易。
3.所有攻击至少持续几分钟(几个小时甚至几天)
Wormhole:从创建第一个假sysvar账户的tx到完成转账的tx之间的时间跨度为6个小时。
CashioApp:黑客的第一个假账户是在交易发生前5天创建的。
CremaFinance:这个假账户是在第一次攻击前一个多小时创建的。
Nirvana:两个交易(部署闪贷接收方和调用Solend闪贷)之间的时间窗口跨度为4分钟。
Slope钱包:广泛的攻击持续至少8个小时。
4.最大的损失是由于缺少帐户验证
前三次黑客攻击(Wormhole、CashioApp和CremaFinance)的根源在于缺少正确的账户验证。
无论是否是巧合,这些攻击都造成了很大的经济损失。
5.闪贷牵涉到两次黑客攻击
CremaFinance和Nirvana的黑客攻击都涉及直接闪贷交易,而且都是通过Solend进行的。
在CremaFinance,闪贷被用来引导存款流动性。
在Nirvana中,其内部价格预言机被闪贷操纵。
安全措施:
账户所有权
账户签名者
帐户之间的关系(或逻辑约束)
根据协议逻辑,还应该检查:
如果任何内部价格预言机操纵闪电贷款(与大量转移),需增加约束以防止差异。
如果可以计算任何异常状态(如费用或奖励),需添加约束以防止差异。
监控SOL或SPL代币的大规模转移;
监控针对你的智能合约的闪贷交易;
通过升级依赖程序来监控潜在的漏洞;
监控异常状态(例如,计算费用);
监控往返交易事件例如deposit-claim-withdraw在单个tx中);
监控来自同一签名者的重复交易;
任何针对协议特定属性的自定义监控。
如果任何被监控的交易导致了在随后的黑客攻击中使用的异常状态,及早发现它们可能有助于阻止黑客攻击。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。