原文作者:Fairyproof
前兩天,Solana區塊鏈上出現了安全預警,有?篇?章指出?個名為
https://officialsolanarares.net/mint/釣??站在?戶批準之后,可以將?戶的原?代幣轉?。在該?章中提到了?點:
惡意合約在?戶批準(Approve)后,可以轉??戶的原?資產(這?是SOL),這點在以太坊上是不可能的,以太坊的授權釣?釣不?以太坊的原?資產(ETH),但可以釣?其上的Token。于是這?就存在“常識違背”現象,導致?戶容易掉以輕?。
其實該?章這?的說法是不甚準確的,混淆了批準交易和Solidity中ERC-20代幣授權這兩個不同的概念。
真實情況是通過Solana的簽名擴散機制,惡意合約直接盜取了?戶的SOL資產,和通常意義上的授權并沒有什么關聯。
Solana生態NFT項目DeGods基于Ordinals在比特幣鏈上鑄造:2月16日消息,Solana生態NFT項目DeGods已經利用Ordinals協議將535個NFT在比特幣鏈上鑄造。DeGods創始人Rohun Vora(Frank)表示,他和Dust Labs首席執行官Kevin Henrikson都是比特幣的長期愛好者,在Ordinals熱潮早期,他們很高興有機會將該項目帶到比特幣網絡。(Decrypt)[2023/2/16 12:11:12]
1.以太坊中的授權
在以太坊中,通常意義上授權是指?戶調?代幣合約,向其它地址授權?定處理額度,這樣我們在和其它合約交易時,可以?便的?付ERC-20代幣。
在這?,授權是必須的,否則第三?合約?權處理?戶的代幣資產。同時,這種機制也伴?了?量的授權攻擊,只要你授權了惡意合約,惡意合約就可以轉?你的ERC-20代幣。
Solana 將在紐約開設實體店和 Web3“大使館”:金色財經報道,以Solana為主題的線下實體商店Solana Spaces將在紐約市開業,該店位于 Hudson Yards,與同名區塊鏈網絡背后的組織 Solana Foundation 合作推出。Solana Spaces在推特表示:在商店內,您將了解 Solana 的工作原理,以及 Web3 是什么。我們將為您設置一個錢包和您的第一個 NFT,并指導您完成您的第一個鏈上交易,我們將這個空間設計為Solana 的‘文化中心’和‘大使館’。除了 NFT 和Phantom 錢包教程之外,該商店還將為消費者提供互動藝術裝置,以及大量出售 Solana 品牌商品,包括限量版Blanksoles運動鞋。[2022/7/28 2:42:30]
2.Solana中的授權
Opera瀏覽器錢包將于2022年初支持Solana:12月10日消息,瀏覽器Opera表示,其原生錢包將在明年初增加對Solana的支持。Opera表示,它將是第一款支持Solana去中心化應用程序的瀏覽器。Solana Labs將與Opera合作進行集成。
據悉,瀏覽器插件Phantom是一個閉源代碼平臺,目前在該領域占據主導地位。它還面臨著來自瀏覽器Brave的激烈競爭,后者同樣計劃支持Solana。但Brave表示其集成將在2022年上半年進行,可能會因行動速度不夠快而無法爭奪第一位。(CoinDesk)[2021/12/11 7:31:51]
在Solana中,代幣?般為官?提供的spl-token合約,它模擬了ERC-20代幣的?為,因此也存在類似的ERC-20授權概念。同樣授權第三?合約后第三?合約可以處理?戶的代幣(注意不是原?幣SOL)。這點同以太坊是?致的,并沒有什么反常識。
Neodyme:solana代幣借貸合同中的漏洞已修復:金色財經報道,據Neodyme的安全研究人員稱,我們最近在 solana-program-library (SPL) 的代幣借貸合同中發現了一個嚴重錯誤。存在風險的TVL總額約為26億美元。其中一些價值被借出,其他一些低價值的代幣在經濟上是不可行的,但潛在的利潤很容易達到數億。
這個漏洞被修復了,dapps也及時更新,關閉了這個漏洞。我們相信最安全的代碼是開源的,作為審計師,我們相信編寫更好的代碼的最好方法之一是了解漏洞。[2021/12/5 12:52:40]
3.Approve的涵義
不管在以太坊中還是在Solana中,我們習慣將Approve當作授權,因此?然?然的會認為是代幣授權。當我們使?MetaMask錢包時,如果是代幣授權交易會明確提示授權,并且所有交易彈出的是?個確認按鈕。然?在Solana的Phantom錢包?,彈出的是?個Approve按鈕,讓?很容易以為是授
權交易。但真實情況是批準?次交易?并不是進?代幣授權。所以安全預警中出現的被盜?為,是?戶批準了?個未知交易,?不是?戶進?了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中,不要輕易確認或者批準任何來歷不明的交易,因為它可以拿你的簽名代表你做任何事情。
關於Gate.ioStartup免費空投計劃爲回饋平臺用戶,Gate.io上線“免費空投計劃”,在Startup區不定期進行區塊鏈項目的免費空投計劃.
1900/1/1 0:00:00AndreCronje曾說,“如果這種情況持續下去,我們將不會看到人們試圖在這個領域進行創新,我們所看到的只是團隊不斷地試圖互相攻擊并互相破壞,或者進來的團隊進行快速的ICO融資,以及然后消失.
1900/1/1 0:00:00關於Gate.ioStartup免費空投計劃爲回饋平臺用戶,Gate.io上線“免費空投計劃”,在Startup區不定期進行區塊鏈項目的免費空投計劃.
1900/1/1 0:00:003月4日消息,RepublicCrypto與GalaxyInteractive和AlamedaResearch宣布成立游戲專項基金.
1900/1/1 0:00:00原文來源:A16Z 原文原文作者:MaggieHsu 原文編譯:阿法兔 本文來自阿法兔研究筆記.
1900/1/1 0:00:00根據Celo(CELO)官方消息,Celo(CELO)計劃在網絡區塊高度11838440時進行主網升級,預計時間2022年3月9日04:15UTC8.
1900/1/1 0:00:00