欧易下载

欧易交易所
欧易交易所APP官网下载

欧易交易所(Huobi Global)是最老牌的比特、莱特、以太交易所,欧易交易平台支持OTC法币交易,支持微信、支付宝和银行卡转账,安全方便快捷,欧易下载官方APP链接。

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

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

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

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

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

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

1. 以太坊中的授权

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

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

2. Solana中的授权

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

3. Approve的涵义

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

权交易。但真实情况是批准⼀次交易⽽并不是进⾏代币授权。所以安全预警中出现的被盗⾏为,是⽤户批准了⼀个未知交易,⽽不是⽤户进⾏了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组织、链上数据存储、去中心化交易所等项目,并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。

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

欧易交易所

火币交易所一文详解稳定币的主要分类及发展趋势

稳定币是基于区块链的法定货币版本,这意味着它们是可编程的,并且可以与基于区块链的应用程序和智能合约进行交互。 一、稳定币的主要分类 1、中心化稳定币 法币支持的稳定币 由法定货币支持的稳定币以美元等法定货币维持储备。对于流通中的每个代币,法定支持的稳定币通常都有一美元的储备——现金或现金等价物。

SAND毕马威最新元宇宙报告《初探元宇宙》

元宇宙发展所带动的经济和商业模式变革,将为相关行业带来新的市场增长空间。毕马威(KPMG)为四大国际会计师事务所之一,主要提供审计、税务、管理顾问及法律服务。 毕马威3月2日晚最新发布的《初探元宇宙》报告称,虽然目前元宇宙技术仍处于早期,但一旦落地,将对诸多行业带来深远影响。

DYDXWeb3.0写作平台:创作者的新经济时代

通过写作在网上赚钱仍然是新鲜的。 在过去,你必须成为科学家,想出一些创造性的方法,让你的听众为你的文字付费。它导致了很多阴暗的东西,而Web 3.0旨在提升写作世界。 对于那些不知道的人来说,Web 3.0 仅仅意味着建立在区块链之上的一个新版本的互联网,它是去中心化的并由用户拥有。 似乎对大众并没有明显的吸引力,但是,这就是你的机会。

[0:0ms0-0:625ms