Web3移動錢包遭遇模態釣魚攻擊 新型手法詳解

Web3移動錢包新型釣魚攻擊手法揭祕:模態釣魚

近期,我們發現了一種針對Web3移動錢包的新型網絡釣魚技術,可用於誤導用戶批準惡意交易。我們將這種新型釣魚技術命名爲"模態釣魚攻擊"(Modal Phishing)。

在這種攻擊中,黑客可以向移動錢包發送僞造信息,冒充合法DApp,並通過在錢包的模態窗口中顯示誤導性內容來誘騙用戶批準交易。這種釣魚手法正在被廣泛使用。我們已經與相關組件開發人員溝通,他們表示將發布新的驗證API以降低風險。

什麼是模態釣魚攻擊?

在對移動錢包的安全研究中,我們注意到Web3錢包的某些用戶界面(UI)元素可被攻擊者控制用於釣魚攻擊。我們將這種釣魚技術命名爲模態釣魚,因爲攻擊者主要針對加密錢包的模態窗口進行攻擊。

模態窗口是移動應用中常用的UI元素,通常顯示在主窗口頂部。這種設計通常用於方便用戶執行快速操作,如批準/拒絕Web3錢包的交易請求。Web3錢包上的典型模態設計通常提供必要的交易信息供用戶檢查,以及批準或拒絕請求的按鈕。

然而,這些用戶界面元素可被攻擊者操控以進行模態釣魚攻擊。攻擊者可以更改交易細節,將交易請求僞裝成來自可信來源的安全更新等,以誘使用戶批準。

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

典型攻擊案例

案例1:通過Wallet Connect進行DApp釣魚

Wallet Connect是一個流行的開源協議,用於通過二維碼或深度連結連接用戶錢包與DApp。在連接過程中,Web3錢包會顯示一個模態窗口,展示DApp的名稱、網址、圖標等信息。但這些信息是由DApp提供的,錢包並不驗證其真實性。

攻擊者可以僞造這些信息,假冒合法DApp。例如,攻擊者可以聲稱自己是Uniswap,連接用戶的MetaMask錢包,誘騙用戶批準惡意交易。在連接過程中,錢包內顯示的模態窗口會呈現看似合法的Uniswap信息,包括名稱、網址和圖標。

不同錢包的模態設計可能不同,但攻擊者始終可以控制這些元信息。這種攻擊可用於讓用戶相信交易請求來自合法DApp。

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

案例2:通過MetaMask進行智能合約信息釣魚

在MetaMask的交易批準模態窗口中,除了DApp信息外,還會顯示一個表示交易類型的字符串,如"Confirm"或"Unknown Method"。MetaMask會讀取智能合約的籤名字節,並使用鏈上方法註冊表查詢相應的方法名稱。

攻擊者可以利用這一機制,創建一個釣魚智能合約,其中包含一個名爲"SecurityUpdate"的具有支付功能的方法。當MetaMask解析這個合約時,會在批準模態中向用戶呈現"SecurityUpdate"字樣。

結合其他可控UI元素,攻擊者可以創建一個非常具有說服力的交易請求,將其僞裝成來自"MetaMask"的"SecurityUpdate"請求,誘導用戶批準。

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

總結

模態釣魚攻擊揭示了Web3錢包UI組件中的潛在風險。這種攻擊的根本原因是錢包應用未能充分驗證所呈現UI元素的合法性。例如,錢包直接信任來自Wallet Connect SDK的元數據,而SDK本身也不驗證傳入的元數據。

爲了防範此類攻擊,錢包開發者應始終假設外部數據不可信,仔細選擇向用戶展示的信息,並驗證這些信息的合法性。同時,用戶也應對每個未知的交易請求保持警惕,以確保自身資產安全。

揭祕Web3.0移動錢包新型騙局:模態釣魚攻擊Modal Phishing

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)