menu-icon
anue logo
熱門時事鉅亨號鉅亨買幣
search icon

區塊鏈

這份Solana防釣魚指南請收好

BlockBeats 律動財經 2024-01-10 14:30

cover image of news article
律動財經圖片

近期 Solana 的市值水漲船高,一度超越 BNB 排名全球前三,巨大的財富效應吸引了大量的活躍玩家,更吸引到了大量 Wallet Drainer(錢包釣魚)團伙從 EVM 的鏈轉入 Solana,針對 Solana 的釣魚網站、空投詐騙開始被大規模的部署,已造成大量用戶損失慘重。近日 GoPlus 安全團隊分析了多筆 Solana 的釣魚事件,發現詐騙團伙利用 Solana 目前部分錢包的安全基礎設施不完善的情況,快速升級空投誘騙、實施社交賬號竊取,對此 GoPlus 總結如下常見的 Solana 的釣魚攻擊手法,幫助用戶有效避免相關釣魚事件,減少資產損失。

攻擊類型

在近期的幾起釣魚事件中,GoPlus 發現釣魚團伙大多是以「誘騙領取空投」、「假項目網站」、「免費抽獎」、「通過 NFT 空投引導進入」等,這些方式和 EVM 常見的幾種釣魚引導方式幾乎一致,主要區別是騙子利用 Solana 與 EVM 的機制不同,從而以不同的「代幣或授權轉移」的方式進行釣魚活動。以下是幾種我們觀察到的不同的轉移攻擊方式。


誘導轉移原生代幣 Sol

這種類型的攻擊方式是最簡單的,詐騙團隊在用戶鏈接完錢包後會在前端計算出當前所有$SOL 的餘額,並且利用 SystemProgram.transfer 的功能直接完成代幣的轉移,以某個釣魚網站舉例,該網站顯示了一個 Swap 的界面 UI,用戶往往以為是以低價可以購買到某種代幣

但實際上執行的只是單純的$SOL 的轉移

誘導轉移多個代幣

除了盜取原生代幣$SOL 之外,騙子可以在同一筆交易簽名中同時盜取所有當前錢包持有的 Token 資產。在 Solana 上的每一筆交易都可以由多個 Instruction 組成,每一個 instruction 可以完成一個單獨的邏輯,比如轉賬、程序的交互以及 Account 的創建等等。這就意味著,釣魚團伙完全有能力可以在同一筆交易中塞入多個操作指令,舉例來講,如果用戶持有三個不同的 Token,那麼釣魚網站只需要在代碼中往同一筆交易中塞入三個 Token 的分別的轉賬指令即可。這樣一來就不需要單獨騙取某一個資產,而是可以利用這個特性完成一次性的錢包洗劫。和第一種誘導一樣,駭客也是通過各種手段矇騙用戶點擊按鈕進行交易,我們可以看到,該類型交易將會一次性轉走所有資產,不僅包含原生$SOL 代幣,同時包括 NFT 類型資產,也包含代幣類型資產。這裡詐騙團隊主要利用了 Solana SPL Token 的 createTransferCheckedInstruction 完成對非原生資產的轉移 instruction 構造。

Phantom 交易模擬

Backpack 交易模擬

誘導代幣帳戶所有權轉移

除了直接代幣外,GoPlus 還發現了部分的釣魚網站採用了 createSetAuthorityInstruction 的操作將 instruction 打包進交易中,該操作的本質是將帳戶上代幣的所有權進行轉移,Solana 的帳戶模型和 EVM 有所不同,每一個帳戶地址對於每一個代幣,都會有一個專門的 Token Account 對應,Token Account 會有一個 owner,該 owner 就是當前的帳戶,Token Account 同時記錄了對應 Token 的餘額和相關資訊。而 createSetAuthorityInstruction 操作可以直接將當前代幣的所有權轉給另外一個帳戶,實際最終的效果等同於將當前的代幣全部轉給了該帳戶。我們分別在 Phantom 和 Backpack 上進行了該操作實驗,慶幸的是,這兩個錢包都進行了特別的提醒和警告。

即使用戶點擊了 Ignore and proceed anyway 的選項,依舊可以通過交易模擬顯示出餘額的變化

注意

以上三種類型的攻擊手段目前大部分的主流 Solana 都已經通過交易模擬能夠實現對於結果的預測,用戶能夠很清晰的看到點擊後的餘額變化,因此只要用戶耐心仔細的查看每一次的交易變化結果,就可以相對來說規避部分釣魚風險,這是因為 Solana 的官方 JSON RPC 的接口中就能夠提供「交易模擬」的能力。但是,隨著釣魚詐騙技術的升級,我們也發現了一些非常不易察覺的釣魚手法。

騙取代幣授權

對於熟悉 EVM 的用戶而言,代幣授權是一個常見的操作,但在 Solana 上,這一操作有所不同。在 Solana 網路中,騙子會利用用戶對 EVM 授權機制的誤解來實施詐騙。釣魚網站通過誘導用戶進行看似正常的交互操作,實際上卻在背後通過 createApproveCheckedInstruction 執行了授權交易 Delegate。這種手法的關鍵在於,它不直接轉移資產,而是通過賦予攻擊者控制用戶資產的權限。這類攻擊通常隱藏在誘人的交互界面後,如假裝進行投票、質押等,實際上卻在悄無聲息地更改帳戶的授權設置。

一旦攻擊者獲得了對用戶資產的控制權限,他們便可以隨時操縱這些資產,包括轉移或交易。這種類型的攻擊往往不易被及時發現,因為它並沒有立即產生資產轉移。這類的攻擊也往往影響面最廣,因為攻擊者會等到上當用戶足夠多、金額足夠大的時候才開始實施代幣轉移。用戶需要特別注意,任何請求更改授權設置的操作都應引起警惕,尤其是在不熟悉的網站或應用上。通過交易模擬能夠看到授權變化,因此不僅需要關注直接的代幣餘額變化,也要小心授權的變化導致的釣魚風險。

Durable Nonce 騙取交易簽名

Durable Nonce 是 Solana 區塊鏈中的一個功能,它允許創建一個特殊的帳戶來儲存一個持久的、不會過期的 nonce 值。在 Solana 中,每個交易都需要一個最近的區塊哈希(recent blockhash)作為一部分,這用於確保交易的時效性和唯一性。通常,這個區塊哈希會在大約 150 個區塊之後過期,使得交易無法被處理。Durable Nonce 機制通過提供一個不會過期的 nonce 值,允許創建可以在更長時間內有效的交易。

在釣魚詐騙中,騙子可能會濫用 Durable Nonce 機制,誘導用戶簽署看似正常但實際上包含惡意操作的交易。由於使用了 Durable Nonce,這些交易不會因為區塊哈希過期而失效,給騙子更長的時間窗口來執行交易。例如,騙子可能會設計一個偽裝成合法操作的交易,如參與空投或活動,但實際上交易中包含了將用戶資產轉移給騙子的指令。用戶在不知情的情況下簽署了這樣的交易,但用戶會發現在區塊上根本沒有該交易的發生,因為攻擊者只是拿到了該交易的簽名,交易本身並沒有被發送到區塊鏈上,他們可以在之後的時間裡隨時將交易廣播上鏈。但是,無論交易是否發生,我們發現這種類型的簽名並不會影響交易模擬的結果判斷,幾個主流錢包依舊能夠將交易本身進行模擬和解析並且告知結果,因此我們之前對於交易模擬結果的判斷還是有效的方法論。

但是,我們依舊發現了一種極其隱蔽並且複雜的攻擊方法,能夠「瞞天過海」

合約升級逃避交易模擬檢測

這個方法就是結合了 Durable Nonce 以及 Solana 合約特有的特性—— 可升級,這種攻擊手段的潛在危險性因為可升級合約的特性被進一步的加大,Durable Nonce 機制通過創建一個持有長期有效 nonce 值的帳戶,允許交易在更長的時間窗口內保持有效。這意味著即使用戶在簽署交易的時候不立即發送到區塊鏈上,交易仍然可以在未來任何時候被廣播和執行。攻擊者可以利用這一點,首先讓用戶簽署一個看似正常的合約交易,這個交易在簽名時看起來完全無害,即使是主流的錢包和交易模擬工具也難以在簽名時提前警告用戶。然而,在用戶簽署交易後,攻擊者成功拿到了 Durable Nonce 的簽名。此時,他們並不着急將交易廣播上鏈,而是利用 Solana 的合約升級功能,將原本正常的合約變更為一個惡意的版本。這種惡意合約能夠執行例如資產轉移等操作。在進行升級後,攻擊者再將簽好的交易發到區塊鏈上,來執行該惡意操作,達到自己的目的。這種類型的攻擊特別隱蔽,對用戶來說構成了極大的隱患,因為即使是經驗豐富的用戶在簽署交易時也可能無法識別出潛在的風險。為了防範這種攻擊,用戶需要對合約的信譽和歷史進行仔細審查,對任何不尋常的交易行為保持懷疑態度,避免與不明來源或新成立的合約進行交互。同時也希望所有 Solana 的錢包能夠注意該攻擊手段,及時的在錢包側能夠形成有效的提醒和對用戶資產的保護。

防範措施

在面對 Solana 網路中的釣魚攻擊時,以下是一些綜合性的防範措施,可以幫助最大限度地減少風險:

提高安全意識: 對於任何加密貨幣相關的交易,始終保持高度警惕。了解 Solana 釣魚攻擊的常見手段,如誘導轉移代幣、代幣帳戶所有權轉移、騙取交易簽名等。

仔細檢查交易細節: 在進行任何交易之前,認真檢查交易的具體內容。對於使用 Durable Nonce 或涉及合約交互的交易,應額外小心。

使用交易模擬功能: 利用錢包提供的交易模擬功能,仔細審閱交易模擬結果。但要注意,這不是萬無一失的保護措施,因為存在部分交易模擬失效的情況。

關注授權變化: 對於非交易後代幣餘額發生變化的操作,也要保持警惕。在不熟悉的網站或應用上,特別要小心授權變化的操作。

定期取消無用授權:通過 Solana Revoke 的工具,定期取消一些無用的授權,保障資產的安全。

定期更新知識: 定期更新自己關於區塊鏈和加密貨幣的知識,特別是關於新出現的釣魚手段和防範策略。

保持軟體更新: 使用的錢包和相關軟體應保持最新狀態,以確保擁有最新的安全特性和修復。

備份和保護私鑰: 保護好自己的私鑰和重要資訊,避免在不安全的地方儲存或分享。

同時,GoPlus 安全團隊呼籲 Solana 公鏈及其生態深度關切用戶安全,加快提升用戶安全的基礎設施建設,給用戶提供更安全的交易環境,從而實現生態的穩定和繁榮。

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠

文章標籤


Empty