避免Web3釣魚詐騙:如何識別和預防攻擊
什么是web3釣魚
Web3 Phishing 是一種針對加密貨幣用戶的網絡欺騙手段,通過創建僞裝成正式網站的假網站來竊取用戶的授權、籤名和加密貨幣資產。隨着 Web3.0 技術的發展,新型的 Web3 釣魚騙局也在不斷出現。以下,我們將介紹新型 web3 釣魚攻擊方式:Approval phishing、Uniswap permit 2 phishing、Claim phishing、Model phishing。並提供幫助用戶識別和預防這些攻擊的有效措施:針對 Approval 釣魚的預防措施,識別 permit 2 中的籤名,防止 Claim 釣魚攻擊,防止模態釣魚攻擊。
1. Approval 調用攻擊
web3網絡釣魚攻擊大多與 approval、increaseAllowance 操作 有關。攻擊者通過僞造電子郵件或消息、僞造網站或應用程序、社交工程和惡意廣告或彈窗等方式,騙取用戶進行 approval 操作。因此,用戶需要撤銷不必要的授權。撤銷授權也有可能被釣魚者利用。
撤銷授權釣魚攻擊時如何發生的?
-
攻擊者部署了一個假的 ERC-20 代幣合約 ,修改了 approve 函數;
-
攻擊者手動僞造了大批鏈上地址的授權, 並提醒用戶取消授權 ;
-
當用戶收到該提醒並點擊取消授權時,會觸發發送交易的操作。這個交易將導致 token 被鑄造到合約部署者的錢包內。
increaseAllowance 授權釣魚交易鏈接
https://arbiscan.io/tx/0xd598336fac79123952319c9cd9cc62aa275162ce5f39d08ccac0c5e6ef0538e5
“撤銷授權”釣魚交易鏈接 https://etherscan.io/tx/0xd4d606caddebf185dc6902ffcec78f3cc915826e1c0e37319d407d01681980ab
2. Uniswap permit 2 釣魚攻擊
Uniswap permit 2 允許跨不同應用共享和管理 token 授權。 用戶只需在一次交易中完成授權和交易,減少交易的 gas 費用,簡化交易操作流程。但是,Permit 2 則將用戶的操作變為了鏈下籤名, 對於用戶來說,鏈下籤名是最容易放下防備的環節,而絕大多數人並不會仔細檢查籤名的內容也並不理解籤名的內容。
Uniswap permit 2 籤名釣魚攻擊是如何發生的?
-
用戶將自己所持有 Token 的權限授權給 Permit 2 合約,這是至關重要的前提條件, 這意味着你在授權時的籤名已經暴露在釣魚騙局的風險下了。
-
黑客拿到了用戶的籤名,基於此籤名,黑客在 permit 2 合約中進行了 permit 和 transferFrom 兩個操作,轉走用戶的資產。
-
黑客調用 permit 函數,在該函數中,主要調用了 verify 函數和_updateApproval 函數。verify 函數用來驗證用戶籤名。驗證通過後執行_updateApproval 函數。_updateApproval 函數用來更新授權值。
-
被授權方在授權額度範圍內可以調用 transferFrom 函數將 token 轉移到指定地址。
Permit 2 釣魚交易鏈接
https://etherscan.io/tx/0x1d8fa25f8f16d52cd4c5716e0cefd9b1cdbbbc060901cea223bab9de79b17ea3
3. Claim 釣魚攻擊
Claim 釣魚攻擊通過僞造可信實體的請求,欺騙用戶提供個人信息、登錄憑據或訪問權限。這些 Claim 釣魚合約通常 僞裝成零地址 來騙取用戶信任,以此來調取用戶的加密資產。
Claim 釣魚攻擊是如何發生的?
-
釣魚者部署 scam contract 和 hub contract,並創建 EOA 用來接收竊取用戶的資金。scam contract 具有竊取用戶的 ETH、ERC 20 token 和 NFT 的能力。scam contract 不开源,但從鏈上交易數據來看,該合約主要包含兩個函數,Cliam 和 Multicall。
調用 Claim 函數時,受害者所持有的 token 將在 internal transaction 中被轉移至 hub contract。
Multicall 函數用來轉移受害者已批准的 token。
-
hub contract 用作從各個 scam contract 中竊取的資金的收集點。釣魚者創建的 EOA 可以調用 hub contract 中的 withdraw 函數提取資金。
claim 釣魚交易鏈接
https://etherscan.io/tx/0xfe70f1b0a92e719bff0d291b7a79987e6e93ed129d52be8e8918c2b9acb1f3b0
4. 模態釣魚攻擊
Web3.0 加密貨幣錢包的某些用戶界面(UI)元素可以被攻擊者控制用來進行網絡釣魚攻擊,這種攻擊方式被稱為 Modal Phishing。Web3.0 貨幣錢包上的典型模態設計通常提供供用戶檢查籤名等請求的必要信息,以及批准或拒絕請求的按鈕。
我們以 Metamask 錢包為例,介紹模態釣魚攻擊是如何發生的?
-
釣魚者部署釣魚智能合約,有一個 SecurityUpdate 具備支付功能的函數,並允許受害者將資金轉入該智能合約;
-
釣魚者還使用 SignatureReg 將 SecurityUpdate 函數籤名注冊為人類可讀的字符串“SecurityUpdate”。
-
受害者在 Metamask 錢包上連接以上釣魚智能合約;
-
Metamask 解析這個釣魚智能合約,它使用函數籤名字節查詢相應的函數方法,即為“SecurityUpdate”。
-
“SecurityUpdate”被呈現在 Metamask Model 中,要求用戶確認。用戶點擊“SecurityUpdate”按鈕,釣魚成功。此時,執行釣魚者寫好的釣魚智能合約,將受害者的資金轉入該智能合約。
如何避免web3釣魚攻擊
1. 針對 approval 釣魚的預防措施
如果我們理解授權操作的具體內容,並從正確的渠道查詢我們的授權信息、取消授權,就會有效避免 approval、increaseAllowance、撤銷授權的釣魚騙局。
以下內容可以幫助用戶理解授權操作的具體內容:
用戶在 approval 時,需要考慮授權金額、授權幣種和授權地址。通過指定授權金額和幣種,用戶可以限制被授權方能夠從自己的账戶中轉移的資產數量,防止授權到與這次交互無關的幣種。用戶還需要仔細檢查授權地址,多渠道驗證該地址,確保將授權給正確的地址。
-
用戶在正式授權之前,可以在相應代幣合約中模擬授權交易,以獲取授權信息。
-
找到 approval 或者 increaseAllowance、decreaseAllowance 等授權相關函數,填寫以下信息模擬授權交易。
-
模擬授權之後,可以在 Phalcon 上看到這筆模擬交易的具體信息,從 Input Data 可以看出授權地址和授權金額。
如果以上結果是用戶期望的,就可以進行正式授權了。
以下內容是追蹤鏈上授權信息,撤銷授權信息的具體步驟:
用戶在完成授權之後,可以定期追蹤 token approval 情況,也可撤銷相關授權。 Etherscan , BscScan and Polygonscan 區塊鏈瀏覽器中有 token approval checker Function。
-
輸入地址,即可查看該地址的歷史授權交易,每筆交易右側的 Revole 按鈕可撤銷此授權。
-
在檢索到的授權交易中,可查看授權幣種、授權地址和授權金額。
2. 識別 permit 2 中的籤名
如果我們能夠理解、識別並仔細檢查籤名的具體內容,就可以有效避免 permit 2 釣魚騙局。
籤名格式通常包含 Owner、Spender、value、nonce 和 deadline 這幾個關鍵字段,分別是指:
Owner: 代表 token 持有者的地址,用於指定希望通過籤名授權的地址。
Spender: 代表被授權使用 token 的地址,用於指定希望授權給的地址。
value: 代表希望授權的 token 數量,可以指定特定數量的 token 授權給 Spender。
nonce: 代表 token 持有者的交易計數器,用於確保每個授權交易都具有唯一的標識符。
deadline: 代表籤名的有效截止日期,用於限制籤名的有效期。在過期之後,籤名將變得無效。
我們建議用戶可以根據自己的需求設置特定的 value 和 deadline,而不是選擇默認的最大值。
用戶在調用 Uniswap permit 2 合約之前,可以模擬相關授權函數,了解授權細節。點擊 Simulate 按鈕。
選擇 approve 函數,填寫以下參數,模擬用戶向 permit 2 合約授權。
3. 防止 Claim 釣魚攻擊
為了避免落入 Claim 釣魚陷阱,我們需要識別釣魚合約地址,他們經常僞裝成零地址來放松用戶的警惕性。以下列舉了一些用於 claim 釣魚詐騙的 Scam contract。我們在交易時, 需要注意地址前後是“ 0000 ”的地址 。
https://etherscan.io/address/0x0000b514c923f55180fc12428e05695666620000
https://etherscan.io/address/0x0000438e0f00fc35dff19d0062608057a1d20000
https://etherscan.io/address/0x0000a4998724e52f0886edff693aca33f9900000
https://etherscan.io/address/0x000062accd1a9d62ef428ec86ca3dd4f45120000
https://etherscan.io/address/0x000038f1e0c4417a3650c3f9a9a920b2e52e0000
https://etherscan.io/address/0x000056c346441ef8065e56b0cddd43fdec100000
Claim 釣魚攻擊本質也是獲取用戶的 token 授權,所以,我們仍然需要時刻關注授權情況。
4. 防止模態釣魚攻擊
模態釣魚攻擊發生的根本原因是錢包應用程序沒有徹底驗證所呈現的 UI 元素的合法性。 為了避免這種釣魚攻擊,錢包應用程序的开發者應該始終假設外部傳入的數據是不可信的。 用戶也可按照上述方式檢查自己的籤名信息和授權信息。
總結
綜上所述,我們詳細介紹了四種新型的Web3釣魚攻擊方式,並提供了相應的識別和預防措施。除了提高用戶的警惕性外,我們還建議用戶深入了解授權和籤名的相關內容,並定期檢查自己的授權情況,及時撤銷不必要的授權。此外,我們強調了不隨意籤名的重要性,以防止攻擊者獲取我們的籤名並濫用。如果您對Web3安全或智能合約審計有任何其他問題,歡迎隨時與我們 聯系 。我們將竭誠為您提供幫助。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
星球日報
文章數量
7619粉絲數
0