概述
近期,Web3 釣魚網站已導致大量用戶損失總計數百萬美元的資金。在這些釣魚網站上,用戶會在不知情的情況下簽署交易,授權將其代幣轉移至詐騙者控制的帳戶。為了保護用戶免受釣魚攻擊,許多 Web3 錢包實施了黑名單機制,主動攔截涉及已知釣魚帳戶的交易。
然而,根據我們的觀察,該策略在攔截釣魚帳戶方面效果不彰。詐騙者已開發出多種繞過此安全機制的方法。第一種方法是利用 Create2 函數預測釣魚合約的地址,並在成功竊取代幣後才部署釣魚合約。第二種方法則是每日部署新的釣魚合約,其頻率遠超黑名單的更新速度。
現有錢包安全警示機制

錢包內部的安全警示機制包括對網站和帳戶的檢查。目前,這類系統都有維護網站域名與帳戶的黑名單。當用戶造訪網站時,錢包會檢查該域名是否在黑名單中。若是,則拒絕存取該網站。同樣地,在用戶簽署交易前,錢包會驗證交易涉及的帳戶是否被列入黑名單。若是,則會攔截交易以防止用戶繼續操作。MetaMask 等系統即體現了這些安全功能。
利用 Create2 繞過安全警示
以太坊中的 Create2 操作碼允許在合約實際部署前預測其地址。這是透過以下公式實現的:
address = hash(deployer address, bytecode, salt)
透過部署者地址、合約的字節碼以及指定的鹽值(salt),即可提前確定合約地址。
顯然,有了部署者地址、字節碼和鹽值,我們可以在部署前預測合約地址。在釣魚網站上,用戶會被引導向一個外部帳戶(EOA)發送 ETH 或授權代幣,而該帳戶是透過 Create2 預設且不在黑名單內的。隨後,在成功竊取代幣後,釣魚合約才會被部署,受害者的代幣會被轉移到另一個帳戶進行進一步處理。整個過程均自動完成。

以下是 Phalcon Explorer 展示的一個範例:
釣魚網站首先要求用戶授權代幣給 0x0ddb。接著,詐騙者發起一筆釣魚交易,該交易由兩筆內部交易組成。第一筆內部交易使用 Create2 部署釣魚合約,第二筆內部交易則調用該釣魚合約以轉走受害者的代幣。
頻繁部署釣魚合約以繞過安全警示
由於釣魚合約部署與黑名單更新之間存在時間差,詐騙者可以利用這一間隙規避安全警示。他們透過每日部署新的釣魚合約來實現此目的。因此,當用戶造訪釣魚網站時,這些合約尚未被列入黑名單,從而避開了某些錢包的警示。

以下是 Phalcon Explorer 所示的 Pink Drainer 案例。0x5d77 的部署函數被每日調用,以部署新的釣魚合約。
總結
釣魚網站開發者不斷制定新的策略,以規避 Web3 錢包所採用的安全檢測機制。我們保持警惕,持續監控他們的最新戰術。我們呼籲用戶務必謹慎,並在簽署交易前仔細檢閱交易細節。
延伸閱讀
關於 BlockSec
BlockSec 是一家領先的區塊鏈安全公司,由一群全球傑出的安全專家於 2021 年創立。公司致力於提升新興 Web3 世界的安全性與易用性,以促進其大規模採用。為此,BlockSec 提供智能合約與 EVM 鏈的安全審計服務,用於安全開發與主動阻斷威脅的 Phalcon 平台,用於資金追蹤與調查的 MetaSleuth 平台,以及協助 Web3 開發者高效進行開發的 MetaSuites 擴充插件。
迄今為止,公司已為 MetaMask、Uniswap Foundation、Compound、Forta 及 PancakeSwap 等超過 300 家知名客戶提供服務,並獲得包括經緯創投(Matrix Partners)、Vitalbridge Capital 及分佈式資本(Fenbushi Capital)在內的頂尖投資機構兩輪數千萬美元的融資。
官方 Twitter 帳號:https://twitter.com/BlockSecTeam



