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

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

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

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

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

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

A股收盘:深证区块链50指数上涨2.94%:金色财经消息,A股收盘,上证指数报3231.52点,收盘上涨2.13%,深证成指报11021.29点,收盘上涨2.54%,深证区块链50指数报3238.71点,收盘上涨2.94%。区块链板块收盘上涨1.87%,数字货币板块收盘上涨2.06%。[2023/7/25 15:57:24]

1. 以太坊中的授权

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

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

2. Solana中的授权

Synthetix计划在第四季度推出Perps V3和Infinex:金色财经报道,Synthetix创始人Kain Warwick称,Synthetix的目标是在第四季度推出其去中心化永续期货交易所的第三个版本(Perps V3)及其新发布的前端(Infinex)。Synthetix是一个去中心化协议,旨在促进合成资产和加密货币衍生品的交易,其产品包括现货交易或永续合约(perps),这是一种没有到期日的期货合约。Synthetix协议目前正在升级至第三版,此次升级完成后,其永续平台也将在其架构上运行,被命名为Perps V3。[2023/7/19 11:03:11]

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

币安否认福布斯称曾转移18亿美元客户资产:金色财经报道,在《福布斯》报道称加密货币交易所币安转移了“18亿美元的抵押品以支持其客户的稳定币”后,币安否认未经同意使用客户资产。福布斯表示,币安将这些资产用于“其他未公开用途”,并且没有通知客户。该报告引用了8月至12月初的区块链数据。

币安发言人表示,“虽然Binance之前承认,与Binance挂钩的代币抵押品的钱包管理流程并不总是完美无缺,但用户资产的抵押在任何时候都没有受到影响。管理我们的抵押品钱包的流程已经长期固定,这在链上是可验证的。”

根据福布斯检查的区块链数据,超过18亿美元的客户资金被支付,全部由美元稳定币(USDC)代币组成。绝大多数客户资金,即11亿美元,被转移到Cumberland,Cumberland一家总部位于芝加哥的高频交易公司。这些资金的其他接受者包括SBF的Alameda Research,以及Amber Group和Tron创始人孙宇晨。[2023/2/28 12:32:52]

3. Approve的涵义

泰国证券交易委员会发布加密钱包监管规则:加密托管服务商须构建数字钱包管理系统:金色财经报道,泰国证券交易委员会(SEC)发布数字资产钱包监管规则,要求为客户数字资产提供托管服务的数字资产业务运营商建立数字钱包管理系统,以适应数字资产和密钥的高效托管,并确保客户资产安全。该法规涵盖以下要求:

一、监督数字钱包和密钥的风险管理和管理政策和指南;

二、设计、开发和管理数字钱包以及适当、安全地创建、维护和访问密钥或其他相关信息的政策和程序;

三、发生任何可能影响数字钱包和密钥管理系统的事件时的应急计划。

该规定自 2023 年 1 月 16 日起施行。根据过渡性规定,在规定生效前已对客户资产进行托管的数字资产经营者,需在规定生效之日起 6 个月内全面合规。[2023/1/17 11:16:33]

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

疑似SBF位于巴哈马的一套顶层公寓正以4000万美元的价格挂牌出售:11月14日消息,疑似属于FTX前首席执行官Sam Bankman-Fried(SBF)的位于巴哈马的一套顶层公寓正以4000万美元的价格挂牌出售,该房产位于新普罗维登斯岛上的奥尔巴尼度假村,面积1.2万平方英尺,虽然尚未最终确认这是否为SBF的房产,但这套房产的照片与SBF介绍采访时的背景相似。

此前11月11日消息,FTX集团已在美国申请破产,SBF辞去CEO职务。11月13日消息,经前FTX员工证实的政府文件显示,FTX今年在巴哈马购买了价值约7400万美元的房产。[2022/11/14 13:02:39]

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

4. 交易直接转?原?货币

交易转?批准者的原?货币,例如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,因为签名随着调??起扩散到了系统合约,因此系统合约认为该笔交易也是批准过的,是正常的,所以就转?了?户的资产。

6. 具体被盗交易

其中?笔被盗交易:

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

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

这其中:

?户账号:4XF4wyjein7ZN4RPM6YK2mC2mC6T41cZAoKjJqpP19fR

SOL转移账号:BepccLHDcXqqHi6MfpTDo9Sfc5tmRjmSC1XY48Tb8HuY

恶意合约地址:3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v

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

其交易打印出的?志为:

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

7. 结论

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

关于Fairyproof

Fairyproof是一家专注区块链生态安全的公司,公司主要通过“代码风险检测+逻辑风险检测”的一体化综合方案服务了诸多新兴知名项目。

团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊团队正式收入。

团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目,并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。

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

金星链

[0:31ms0-1:205ms