LANA:Solana授权钓?事件解析:授权转移还是直接偷??

原文作者:Fairyproof

前两天,Solana区块链上出现了安全预警,有?篇?章指出?个名为

https://officialsolanarares.net/mint/钓??站在?户批准之后,可以将?户的原?代币转?。在该?章中提到了?点:

恶意合约在?户批准(Approve)后,可以转??户的原?资产(这?是SOL),这点在以太坊上是不可能的,以太坊的授权钓?钓不?以太坊的原?资产(ETH),但可以钓?其上的Token。于是这?就存在“常识违背”现象,导致?户容易掉以轻?。

其实该?章这?的说法是不甚准确的,混淆了批准交易和Solidity中ERC-20代币授权这两个不同的概念。

真实情况是通过Solana的签名扩散机制,恶意合约直接盗取了?户的SOL资产,和通常意义上的授权并没有什么关联。

Deribit将停止提供Solana币本位投资产品:10月26日消息,加密货币衍生品交易所Deribit宣布,将停止提供Solana币本位投资产品。

Deribit将于12月30日到期后停止上架新的SOL币本位期权或期货产品,将于当日16:00停止SOL币本位永续合约交易。剩余未平仓头寸将按此处公布的当天SOL到期(交割)价格平仓,该价格计划使用在15:30和16:00之间指数快照的平均值。此外USDC本位合约不受影响。[2022/12/26 22:07:53]

1.以太坊中的授权

在以太坊中,通常意义上授权是指?户调?代币合约,向其它地址授权?定处理额度,这样我们在和其它合约交易时,可以?便的?付ERC-20代币。

在这?,授权是必须的,否则第三?合约?权处理?户的代币资产。同时,这种机制也伴?了?量的授权攻击,只要你授权了恶意合约,恶意合约就可以转?你的ERC-20代币。

Binance Canada与Solidus Labs达成合作:金色财经报道,Binance Canada今天宣布,已选择加密市场诚信领导者Solidus Labs作为加拿大的交易监控和市场监控合作伙伴,作为合作伙伴关系的一部分,Binance Canada将利用 Solidus 的加密原生市场完整性中心 HALO 来优化多项关键风险监控和合规服务,包括市场监控、交易监控、FINTRAC 可疑交易报告(“STR”)和大型虚拟货币交易报告(“LVCTR”)和机构入职。[2022/9/21 7:09:51]

2.Solana中的授权

在Solana中,代币?般为官?提供的spl-token合约,它模拟了ERC-20代币的?为,因此也存在类似的ERC-20授权概念。同样授权第三?合约后第三?合约可以处理?户的代币(注意不是原?币SOL)。这点同以太坊是?致的,并没有什么反常识。

算法稳定币 USA宣布将从Solana切换至Aptos进行启动:8月17日消息,Defi 协议 Argo 宣布旗下算法稳定币 USA 将从 Solana 切换至 Aptos 进行启动,并将于 Aptos 主网上线首日启动。Argo 表示,Aptos 在 Move VM 上运行,Move 让编写安全、可审计的合同变得更加容易。[2022/8/17 12:30:49]

3.Approve的涵义

不管在以太坊中还是在Solana中,我们习惯将Approve当作授权,因此?然?然的会认为是代币授权。当我们使?MetaMask钱包时,如果是代币授权交易会明确提示授权,并且所有交易弹出的是?个确认按钮。然?在Solana的Phantom钱包?,弹出的是?个Approve按钮,让?很容易以为是授

SOL突破170美元 市值突破500亿美元:9月7日消息,据CoinGekco数据显示,SOL现报173.53美元,24小时涨幅达22.1%。Solana(SOL)市值突破500亿美元,达到504.3亿美元,市值排名第七位。[2021/9/7 23:05:38]

权交易。但真实情况是批准?次交易?并不是进?代币授权。所以安全预警中出现的被盗?为,是?户批准了?个未知交易,?不是?户进?了SOL的授权操作,当然也就不能说是授权偷?了原?币。

货币

交易转?批准者的原?货币,例如SOL和ETH,是?常简单的。在以太坊上的Solidity中,只要调??个payabletransfe的函数就可以转?交易?户的ETH;在Solana中,相应的,只要调?系统合约的户的SOL资产,这和我们平常讲的代币授权概念是没有任何关系的。

函数也能转移?交易?不同的是,在Solidity中,ETH转移发?在合约调?的时候,因此钱包可以提前知道要转移的ETH数量并显示出来,?在Solana中,转移是发?在合约内部的,因此钱包?法提前知晓你会被转?多少SOL,当然也会?法显示。只要你签名认同了这笔恶意交易,你就相当于签名认同了这次SOL转移,这正是这次Solana上钓?盗取的问题所在。

?段类似如下的代码就可以在合约内部转移user的SOL。

5.Solana中的签名扩散机制

在Solana中,有?个签名扩散机制。?户调?合约A,此时合约A中?户是签名批准的。当合约A内部调?合约B时,?户的签名会随着跨合约调??起扩散到合约B。因此,在合约B中,?户也是签名批准的。所以这?存在?个安全?险,当签名?个恶意合约时,恶意合约就获取了我们这个签名,然?它可以拿我们这个签名做任何事情!!!!!!!

在上述的偷盗事件中,?户同恶意合约3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v进?交易,该合约直接调?系统合约转移?户的SOL,因为签名随着调??起扩散到了系统合约,因此系统合约认为该笔交易也是批准过的,是正常的,所以就转?了?户的资产。

https://explorer.solana.com/tx/4j33JSGRS6rD5irzW1cA9wjQAvAgVDAnBTrGRjqtqBBWXspTzU5HpEFwTeCC2uD9hH9eA2Pw5ddHyd5JyG6h6cNq

我们可以看到该交易涉及的输?账号:

这其中:

?户账号:4XF4wyjein7ZN4RPM6YK2mC2mC6T41cZAoKjJqpP19fR

SOL转移账号:BepccLHDcXqqHi6MfpTDo9Sfc5tmRjmSC1XY48Tb8HuY

恶意合约地址:3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v

从上可以看出,?户账号调?合约后转移了1.2545SOL到转移账号。同时我们可以看到并没有涉及到spl-token代币合约,出产没有通常意义上的授权这么回事。

其交易打印出的?志为:

从?志中也可以判断,恶意合约仅是简单的调?了系统合约转?了?户的SOL,因此?户签名批准了对恶意合约的交易,这个签名也扩散到了系统合约,因此判定有效。

7.结论

在Solana中,不要轻易确认或者批准任何来历不明的交易,因为它可以拿你的签名代表你做任何事情。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

FTXCOI:二月安全事件总结与回顾

前言 新春二月,知道创宇区块链安全实验室拓宽了对区块链安全信息收集总结的信息广度,将专注于典型安全事件的视角,拔升到了对整个区块链安全资讯的审视.

BTCCOIN:李教授的CCN你知道多少?

不知道之前的项目HE那么参与了吗,现在的收益是10倍了,为什么说一级市场香就是这个原因,因为这是在我们的意料之中的.

[0:15ms0-0:636ms