前兩天,Solana區塊鏈上出現了安全預警,有?篇?章指出?個名為
https://officialsolanarares.net/mint/ 釣??站在?戶批準之后,可以將?戶的原?代幣轉?。在該?章 中提到了?點:
惡意合約在?戶批準(Approve)后,可以轉??戶的原?資產(這?是SOL),這點在以太坊上是不可能的,以 太坊的授權釣?釣不?以太坊的原?資產(ETH),但可以釣?其上的Token。于是這?就存在“常識違背”現象,導致?戶容易掉以輕?。
其實該?章這?的說法是不甚準確的,混淆了批準交易和Solidity中ERC-20代幣授權這兩個不同的概念。
真實情況是通過Solana的簽名擴散機制,惡意合約直接盜取了?戶的SOL資產,和通常意義上的授權并沒有什么關聯。
金融科技公司Valor與Bitcoin Suisse合作擬在瑞士市場推出數字資產ETP:7月19日消息,金融科技公司Valor宣布已與加密技術公司Bitcoin Suisse達成合作,擬在瑞士市場推出1:1支持的數字資產交易所交易產(ETP)。Valor已于6月15日推出了首個實物數字資產支持的ETP 1Valor Bitcoin Physical Carbon,該產品相應的數字資產均存儲在受監管的托管服務提供商。[2023/7/19 11:03:46]
1. 以太坊中的授權
在以太坊中,通常意義上授權是指?戶調?代幣合約,向其它地址(合約)授權?定處理額度,這樣我們在和其它 合約交易時,可以?便的?付ERC-20代幣。
在這?,授權是必須的,否則第三?合約?權處理?戶的代幣資產。同時,這種機制也伴?了?量的授權攻擊,只要你授權了惡意合約,惡意合約就可以轉?你的ERC-20代幣。
數據:Aave V3上線以太坊網絡兩天,獲得超2700萬美元存款:1月29日消息,根據官方網站數據,自周五上線以太坊主網后,Aave V3共吸引了2738萬美元的存款和693萬美元的貸款;目前Aave V3在Avalanche網絡上的存款規模最高,約為5億美元。值得注意的是,目前Aave V3以太坊網絡借出最多的代幣是穩定幣BUSD、USDC 和 DAI。[2023/1/29 11:35:15]
2. Solana中的授權
在Solana中,代幣?般為官?提供的spl-token合約,它模擬了ERC-20代幣的?為,因此也存在類似的ERC-20授權 概念。同樣授權第三?合約后第三?合約可以處理?戶的代幣(注意不是原?幣SOL)。這點同以太坊是?致的,并沒有什么反常識。
3. Approve的涵義
Mango攻擊者Avraham Eisenberg在波多黎各被捕:金色財經報道,Mango攻擊者Avraham Eisenberg已在波多黎各被捕,他曾用“高利潤交易策略”耗盡了DeFi交易平臺Mango Markets價值1.1億美元的加密貨幣。據FBI特別探員Brandon Racz簽署的一份證詞稱,Avraham Eisenberg“故意且有意地”操縱商品(即Mango Markets期貨合約)銷售。
另據周二公開的一份文件顯示,Avraham Eisenberg將面臨商品欺詐和商品操縱的指控,這些指控可能會使其受到罰款或監禁等懲罰,也可能使他成為第一位因操縱去中心化金融(DeFi)交易平臺而面臨指控的美國居民。[2022/12/28 22:11:39]
不管在以太坊中還是在Solana中,我們習慣將Approve當作授權(ERC-20協議?有approve函數),因此?然?然的會認為是代幣授權。當我們使?MetaMask錢包時,如果是代幣授權交易會明確提示授權,并且所有交易彈出的 是?個確認按鈕。然?在Solana的 Phantom錢包?,彈出的是?個Approve(批準)按鈕,讓?很容易以為是授
阿根廷航空公司Flybondi將發行NFT機票,并將引入Binance Pay和穩定幣購買:9月22日消息,阿根廷航空公司Flybondi正在其運營中引入區塊鏈技術,以NFT的形式發行機票,從而擴大客戶使用門票的可能性。例如,用戶可以在適用航班前三天將NFT出售或轉讓給其他旅客,并更改用戶姓名。該解決方案由區塊鏈技術開發公司Travelx開發,還引入了使用Binance Pay和穩定幣購買這些門票的可能性。[2022/9/22 7:14:06]
權交易。但真實情況是批準?次交易?并不是進?代幣授權。所以安全預警中出現的被盜?為,是?戶批準了?個未知交易,?不是?戶進?了SOL的授權操作,當然也就不能說是授權偷?了原?幣。
4. 交易直接轉?原?貨幣
交易轉?批準者的原?貨幣,例如SOL和ETH,是?常簡單的。在以太坊上的Solidity中,只要調??個 payabletransfe的函數就可以轉?交易?戶的ETH;在Solana中,相應的,只要調?系統合約的戶的SOL資產,這和我們平常講的代幣授權概念是沒有任何關系的。
Revolut的加密課程吸引近150萬用戶:金色財經報道,Revolut的新應用程序“Learn & Earn”課程用Dot代幣獎勵客戶,以提高他們對加密貨幣和相關主題(包括區塊鏈)的知識。這些課程涵蓋加密基礎知識和更高級的主題,例如Web3。迄今為止,已有來自32個國家的近150萬客戶完成了這些課程。(Finextra)[2022/8/11 12:18:18]
函數也能轉移?交易?不同的是,在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組織、鏈上數據存儲、去中心化交易所等項目,并參與了多個項目的安全審計工作,在此基礎上基于團隊豐富的經驗構建了完善的漏洞追蹤及安全防范系統。
3月7日,NFT/鏈游開發商 Immutable 以 25 億美元估值完成 2 億美元C輪融資,淡馬錫領投.
1900/1/1 0:00:001.金色觀察|infura制裁特定地區用戶 以太坊去中心化了嗎Infura拒絕特定地區用戶并不能說明以太坊已經中心化了,只能說明在某些環節中心化了.
1900/1/1 0:00:001.infura制裁特定地區用戶?以太坊去中心化了嗎Infura拒絕特定地區用戶并不能說明以太坊已經中心化了,只能說明在某些環節中心化了.
1900/1/1 0:00:00以上BTC長期月線走勢,圖形上可以看出每一輪牛市BTC處于藍線上方一路攀升,直至見大頂回落跌破進入后面的熊市,藍色線轉為紅色線,價格沿線一路下滑直至加速下跌見大底.
1900/1/1 0:00:00我們不再分析近期波動的事件和驅動因素,而是從更基本的層面探究波動性,探索比特幣波動如此劇烈的原因以及如何看待它.
1900/1/1 0:00:003 月 15 日,Coinbase NFT 在社交媒體上宣布,Coinbase NFT 即將上線,該團隊已與 100 多位藝術家接洽,將繼續根據社區反饋來開發產品.
1900/1/1 0:00:00