前两天,Solana区块链上出现了安全预警,有?篇?章指出?个名为
https://officialsolanarares.net/mint/??钓??站在?户批准之后,可以将?户的原?代币转?。在该?章?中提到了?点:
恶意合约在?户批准(Approve)后,可以转??户的原?资产(这?是SOL),这点在以太坊上是不可能的,以?太坊的授权钓?钓不?以太坊的原?资产(ETH),但可以钓?其上的Token。于是这?就存在“常识违背”现象,导致?户容易掉以轻?。
其实该?章这?的说法是不甚准确的,混淆了批准交易和Solidity中ERC-20代币授权这两个不同的概念。
真实情况是通过Solana的签名扩散机制,恶意合约直接盗取了?户的SOL资产,和通常意义上的授权并没有什么关联。
1.以太坊中的授权
在以太坊中,通常意义上授权是指?户调?代币合约,向其它地址授权?定处理额度,这样我们在和其它?合约交易时,可以?便的?付ERC-20代币。
Binance NFT市场将支持比特币NFT协议Ordinals:5月9日消息,Binance宣布其NFT市场将于5月下旬支持比特币NFT协议Ordinals。另据官方声明表示,Binance客户将能够买卖Ordinals,而无需使用“单独的比特币钱包”。Binance NFT正在积极寻求与专注于比特币Ordinals的相关NFT项目合作,以进一步加强社区和生态系统。[2023/5/9 14:52:02]
在这?,授权是必须的,否则第三?合约?权处理?户的代币资产。同时,这种机制也伴?了?量的授权攻击,只要你授权了恶意合约,恶意合约就可以转?你的ERC-20代币。
2.Solana中的授权
在Solana中,代币?般为官?提供的spl-token合约,它模拟了ERC-20代币的?为,因此也存在类似的ERC-20授权?概念。同样授权第三?合约后第三?合约可以处理?户的代币(注意不是原?币SOL)。这点同以太坊是?致的,并没有什么反常识。
Celsius Network将于4月12日提交文件,包括重组计划投票信息:金色财经报道,破产的加密货币贷方 Celsius Network 宣布将推进其第 11 章重组计划,并提供包含索赔持有人信息的披露声明。在 4 月 7 日向用户发出的通知中,Celsius 债务人表示他们将在 4 月 12 日提交一份披露声明。
Celsius表示,我们的披露声明将提供该计划的摘要、账户持有人恢复百分比、常见问题解答以及有关某些风险因素的其他信息。[2023/4/8 13:51:05]
3.Approve的涵义
不管在以太坊中还是在Solana中,我们习惯将Approve当作授权,因此?然?然的会认为是代币授权。当我们使?MetaMask钱包时,如果是代币授权交易会明确提示授权,并且所有交易弹出的?是?个确认按钮。然?在Solana的?Phantom钱包?,弹出的是?个Approve按钮,让?很容易以为是授?
PancakeSwap与电竞俱乐部ESPL因“ESPL ARENA”IF0发生纠纷:2月20日消息,去中心化交易平台PancakeSwap与新加坡电竞俱乐部Esports Players League(ESPL)就ESPL的Web3电竞平台ESPL ARENA于1月份进行的IF0一事发生纠纷。PancakeSwap于2月18日在推特上表示,将根据ESPL ARENA IFO筹集的资金的美元价值向IFO参与者进行全额退款,包括之前10%的空投;原因是ESPL ARENA团队已经出售了他们原本同意不出售的ARENA代币,明显无视他们自己的项目和支持它的用户。PancakeSwap表示其在对该团队的尽职调查不充分,将采取措施改善尽职调查流程。
据ESPL的官方介绍,ESPL已得到英雄联盟开发商Riot Games、腾讯、游戏设备品牌Razer(雷蛇)等品牌支持,活跃注册电竞运动员有30万人。数据显示,ESPL ARENA(ARENA)代币过去7天跌幅达79.4%,目前价格为0.0064美元。[2023/2/20 12:16:45]
权交易。但真实情况是批准?次交易?并不是进?代币授权。所以安全预警中出现的被盗?为,是?户批准了?个未知交易,?不是?户进?了SOL的授权操作,当然也就不能说是授权偷?了原?币。
欧易OKX推出行业首个透明资管工具:实时监控、权限控制、支持CeFi/DeFi组合:据官方消息,欧易OKX宣布推出行业首个透明资管工具—托管交易子账户。该功能为用户(特别是项目方、资管及高净值投资者)提供更简单透明的子账户管理功能,可为子帐户授予不同级别的访问权限,支持一键终止托管,并兼容跨CeFi及DeFi的资产管理操作。 在欧易OKX,我们不会将任何客户资金用于杠杆或交易。针对近期机构事件,欧易OKX认为目前行业的主要问题是缺乏可信赖的第三方来帮助控制风险、清算和审计,这对于减轻加密行业的系统性风险至关重要。[2022/6/21 4:42:50]
4.交易直接转?原?货币
交易转?批准者的原?货币,例如SOL和ETH,是?常简单的。在以太坊上的Solidity中,只要调??个?payabletransfe的函数就可以转?交易?户的ETH;在Solana中,相应的,只要调?系统合约的户的SOL资产,这和我们平常讲的代币授权概念是没有任何关系的。
美国参议员:综合性加密货币法案最快将于下周推出:金色财经报道,美国参议员Cynthia Lummis 和 Kirsten Gillibrand 周二在 DC 区块链峰会上讨论了备受期待的两党加密货币法案的细节,他们计划在 6 月公布他们的两党加密法案。
Gillibrand表示,已经制定了一年多的负责任金融创新法案将成为第一个进入国会山的综合数字资产框架。?这将是第一个推出的综合性加密货币法案。我们的法案确实包括一些与其他众议院和参议院法案相同的条款,但没有其他法案试图为整个行业建立监管框架。?该法案的亮点包括保护矿工不被视为经纪人的条款,该条款解决了最近通过的基础设施法案中一个有争议的部分。它还授予商品和期货交易委员会 (CFTC) 对大部分领域的监管权限,并澄清加密货币不是证券,除非它们被提供为公司提供资金,例如首次代币发行。
?Lummis 表示,很明显比特币是一种商品。[2022/5/25 3:39:21]
函数也能转移?交易?不同的是,在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组织、链上数据存储、去中心化交易所等项目,并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。