前两天,Solana区块链上出现了安全预警,有?篇?章指出?个名为
https://officialsolanarares.net/mint/??钓??站在?户批准之后,可以将?户的原?代币转?。在该?章?中提到了?点:
恶意合约在?户批准(Approve)后,可以转??户的原?资产(这?是SOL),这点在以太坊上是不可能的,以?太坊的授权钓?钓不?以太坊的原?资产(ETH),但可以钓?其上的Token。于是这?就存在“常识违背”现象,导致?户容易掉以轻?。
其实该?章这?的说法是不甚准确的,混淆了批准交易和Solidity中ERC-20代币授权这两个不同的概念。
真实情况是通过Solana的签名扩散机制,恶意合约直接盗取了?户的SOL资产,和通常意义上的授权并没有什么关联。
ARK Invest向美国SEC提交实物比特币EFT申请:5月26日消息,ARK Invest已经向美国证券交易委员会(SEC)提交实物比特币EFT的申请文件。
根据申请文件,ARK 21Shares Bitcoin ETF提供对现货市场比特币价格的敞口,计划在Cboe BZX Exchange上线并交易,而SEC尚未批准任何实物比特币ETF。(Beincrypto)[2022/5/26 3:43:46]
1.以太坊中的授权
在以太坊中,通常意义上授权是指?户调?代币合约,向其它地址授权?定处理额度,这样我们在和其它?合约交易时,可以?便的?付ERC-20代币。
在这?,授权是必须的,否则第三?合约?权处理?户的代币资产。同时,这种机制也伴?了?量的授权攻击,只要你授权了恶意合约,恶意合约就可以转?你的ERC-20代币。
美国SEC正在考虑为其加密货币托管规则提供新建议:3月4日消息,美国证券交易委员会正在考虑为投资顾问和投资公司提供关于加密货币的新建议,投资管理部门负责监督与投资顾问相关的规则制定。投资管理部主任William Birdthistle表示,他正在考虑如何为加密行业“带来秩序”。这项托管规则,也被称为《顾问法案》(AdvisersAct),要求顾问在指定的合格托管人的陪同下持有客户的证券。合格的托管人基本上是银行、经纪交易商和在联邦或州一级获得执照的信托公司。一些加密公司已经获得了这个牌照,比如Coinbase的托管服务和Anchorage数字银行。但过去,不清楚SEC在州一级如何看待这一指定。这封信中的问题是为了征求有关数字资产托管方式的反馈,以及顾问在寻找托管人时会寻求什么样的保护。(The Block)[2022/3/4 13:36:28]
2.Solana中的授权
美国SEC正准备审查多达100个专注于加密货币的对冲基金:据华尔街日报报道,知情人士透露,美国证券交易委员会正在准备审查多达100个专注于加密货币的对冲基金。这项举措与已经开展的数十项执法调查是分开的。该人士表示,这项工作将在未来两个月内展开。审查人员将着重检查基金经理是否在披露文件中购买了向投资者公布的资产类型,监管机构也担心加密资产被盗用的风险。该人士称,SEC还将审视向投资者提供的风险披露的准确性,包括文件是如何解释基金交易加密货币的策略。该人士称,证交会已经确定了至少100名集中投资于加密货币的私募基金经理。如果SEC的审查员发现许多资金只涉及加密货币,或者他们从检查样本中获得他们所需的信息,SEC可能将不会审查全部100名基金经理。[2018/3/23]
在Solana中,代币?般为官?提供的spl-token合约,它模拟了ERC-20代币的?为,因此也存在类似的ERC-20授权?概念。同样授权第三?合约后第三?合约可以处理?户的代币(注意不是原?币SOL)。这点同以太坊是?致的,并没有什么反常识。
数据:The Sandbox NFT近24小时交易额增幅超400%:金色财经报道,OpenSea数据显示,The Sandbox NFT近24小时交易额为195 ETH,24小时交易额增涨幅度为435%,交易额排名位列OpenSea第8。[2022/8/20 12:37:35]
3.Approve的涵义
不管在以太坊中还是在Solana中,我们习惯将Approve当作授权,因此?然?然的会认为是代币授权。当我们使?MetaMask钱包时,如果是代币授权交易会明确提示授权,并且所有交易弹出的?是?个确认按钮。然?在Solana的?Phantom钱包?,弹出的是?个Approve按钮,让?很容易以为是授?
权交易。但真实情况是批准?次交易?并不是进?代币授权。所以安全预警中出现的被盗?为,是?户批准了?个未知交易,?不是?户进?了SOL的授权操作,当然也就不能说是授权偷?了原?币。
字节跳动线上实时互动社区“派对岛”已开始对外测试:7月12日消息,字节跳动的首款线上实时互动社区“派对岛”在经过多月内测后已正式对外测试,用户可在抖音内通过其推广链接,在无需邀请码的情况下,直接进行注册登录使用。
据悉,“派对岛”是一个实景化的实时线上活动社区。根据体验可以发现,用户在这里可以随时以自己的虚拟形象化身和朋友一起闲逛,还可以一起实时聊天互动、共同参与线上活动,并获得意想不到的陪伴与参与感。(Tech星球)[2022/7/12 2:07:49]
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.2545SOL到转移账号。同时我们可以看到并没有涉及到spl-token代币合约,出产没有通常意义上的授权这么回事。
其交易打印出的?志为:
从?志中也可以判断,恶意合约仅是简单的调?了系统合约转?了?户的SOL,因此?户签名批准了对恶意合约的交易,这个签名也扩散到了系统合约,因此判定有效。
7.结论
在Solana中,不要轻易确认或者批准任何来历不明的交易,因为它可以拿你的签名代表你做任何事情。
关于Fairyproof
Fairyproof是一家专注区块链生态安全的公司,公司主要通过“代码风险检测+逻辑风险检测”的一体化综合方案服务了诸多新兴知名项目。
团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569被以太坊团队正式收入。
团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目,并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。