本文Hahs(SHA1):6814aa5c9de9e629017ed8de0656901c38aa6ad5

编号:链源Security Knowledge No.007

近年来,区块链技术飞速发展,各种新技术层出不穷。然而,伴随着新技术的应用,钓鱼诈骗手段也不断演化。近期,一位用户分享了自己在 Solana 上被钓鱼丢失几百万人民币资产的经历,引发了广泛关注。据描述,他在 Maneki 项目的推文下误点了钓鱼链接,进入了诈骗网站。令人费解的是,在整个交互过程中,网站并没有要求他进行任何代币授权操作,黑客却直接得手了。当他意识到网站有问题,试图转移钱包中的代币以避免损失时,却发现多次尝试均以失败告终,再也无法转出资产。

虽然提供的细节有限,无法完整重现事发经过,但可以确定的是,用户失去了对 Maneki 代币账户的控制权。这种情况对于习惯了 EVM 的用户可能会非常困惑,因为他们并不熟悉 Solana 上的账户控制权概念。在区块链上,资产受到威胁通常是由于不当的授权和签名,其中签名问题最为致命。

授权与签名的区别:

授权(approve):通常用于代币和NFT,授权某个地址对某个代币有相应的权限。

签名:用于完成发送交易和签署消息等交互行为,证明你是账户的所有者。可以简单理解为,你是老板,只有你的签字操作才能进行。

两者的关系签名可能包含授权,但授权必须通过签名完成。签名是安全的最后一道防护门。

Solana 与 EVM 的不同之处:Solana 上不需要先授权再交易在 EVM 上,钓鱼合约如果想转走受害者钱包中的代币,需要用户在代币合约上对钓鱼合约进行授权,获得授权的钓鱼合约才能发起交易转走用户的资产。而在 Solana 上,approve 并非是授权而是批准交易,如果用户把这当成代币授权的环节,一旦 approve 了,钓鱼的交易就被发送出去,很难有挽救的余地。为了在 Solana 上安全地进行交互,用户必须了解其与 EVM 不同的特性和潜在的攻击方式。

如何避免Solana钓鱼骗局

如何避免Solana钓鱼骗局

以下是几种 Solana 上常见的诈骗手段及其防范措施:

1. 代币账户所有权转移在 Solana 中,每个代币都有独立的账户(Token Account),类似于银行中的不同货币账户。这些代币账户都有一个所有者属性,默认情况下为当前的钱包所有。然而,黑客可以通过调用 createSetAuthorityInstruction 操作,诱导用户将代币账户的所有权转移到他们的钱包。一旦成功,即使代币还在用户的钱包中,用户也无法将其转出,这与被盗没有区别。

防范措施:

>善用钱包交易模拟功能: 利用 Phantom、Backpack 等钱包提供的交易模拟功能,仔细查看交易模拟结果,这些钱包会拦截并提示风险交易,要求用户进行二次确认。

>严格审查交易内容: 不轻易批准任何不明交易。

2. 多代币转移Solana 的并行交易特性允许将多笔转账指令打包成一个交易,仅需一次签名即可完成。这一特性虽然提供了便利,但也被黑客利用来在一次交易中转移多个代币、NFT 或 SOL,使受害者在一次签名中失去所有资产。

防范措施:

>警惕包含大量代币转移的交易。

>仔细检查交易内容,防止被诱导批准大量代币转移。

3. 骗取交易签名在 EVM 中,permit 签名由于其隐蔽性深受钓鱼团伙喜爱。Durable Nonce 是 Solana 中的一个功能,允许先签名,后在未来某个时间里交易。钓鱼者利用这一机制,诱导用户签署伪装成安全交易的信息。用户完成签名后,实际上签署了将资产转移给黑客的指令。黑客获取签名后,等待一段时间升级合约,加入恶意代码,再将交易广播上链。用户可能会在几天后发现资产丢失,而自己并未进行任何操作。

防范措施:

>不轻易签署不明交易。

> 使用交易模拟功能检查交易风险 。

>考虑使用硬件钱包,增加额外确认。

结语

区块链技术在不断发展中,虽然新技术带来了便利,也伴随着新的风险。钓鱼团伙利用新技术实施诈骗,作为普通用户,必须时刻保持警惕,不被“免费馅饼”冲昏头脑,仔细检查交易内容。在这样的安全意识下,钓鱼团伙的攻击将很难得逞。我们安全团队建议用户可以结合使用硬件钱包和安全软件,更好地保护自己的资产,安全地享受区块链技术带来的便利。

链源科技是一家专注于区块链安全的公司。我们的核心工作包括区块链安全研究、链上数据分析,以及资产和合约漏洞救援,已成功为个人和机构追回多起被盗数字资产。同时,我们致力于为行业机构提供项目安全分析报告、链上溯源和技术咨询/支撑服务。

感谢各位的阅读,我们会持续专注和分享区块链安全内容。