Uniswap Permit2籤名釣魚新手法深度剖析及防範策略

籤名安全再敲警鍾:深度解析Uniswap Permit2籤名釣魚事件

近期,一種利用Uniswap Permit2合約進行的新型籤名釣魚手法引起了廣泛關注。這種攻擊方式極其隱蔽且難以防範,對於曾使用過Uniswap進行交互的地址都可能存在風險。本文將深入剖析這一新型攻擊手法,並提供相應的防範建議。

事件經過

事件源於一位用戶(小A)的資產被盜。與常見被盜方式不同,小A並未泄露私鑰,也未與釣魚網站的合約進行交互。通過區塊鏈瀏覽器可以看到,小A錢包中的USDT是通過Transfer From函數被轉移的,這意味着是第三方地址操作將Token轉移走的,而非錢包私鑰泄露。

進一步調查發現,這次操作是與Uniswap的Permit2合約進行交互的。關鍵問題在於:執行轉移的地址是如何獲得資產權限的?爲何會涉及Uniswap?

籤名就被盜?揭祕Uniswap Permit2籤名釣魚騙局

Uniswap Permit2解析

Uniswap Permit2是Uniswap於2022年底推出的新智能合約。它旨在實現代幣授權的統一管理,提高用戶體驗並降低交易成本。Permit2作爲用戶與DApp之間的中介,允許用戶只需對Permit2合約進行一次授權,就能在所有集成Permit2的DApp中共享這個授權額度。

這種機制雖然提高了用戶體驗,但也帶來了潛在風險。傳統交互方式下,授權和資金轉移都需要用戶進行鏈上交互。而Permit2將用戶操作轉爲鏈下籤名,所有鏈上操作由中間角色(如Permit2合約)完成。這種方式雖然便利,但也讓用戶更容易在籤名環節放松警惕。

籤名就被盜?揭祕Uniswap Permit2籤名釣魚騙局

攻擊手法詳解

攻擊者利用Permit2合約的Permit函數實施攻擊。該函數允許用戶通過籤名授權他人在未來某個時間使用自己的代幣。攻擊步驟如下:

  1. 用戶曾在Uniswap上進行交易,並授權給Permit2合約(通常是無限額度)。
  2. 攻擊者誘導用戶進行一個看似無害的籤名操作。
  3. 攻擊者獲得籤名後,通過Permit2合約的Permit函數驗證籤名。
  4. 驗證通過後,攻擊者獲得用戶代幣的使用權。
  5. 攻擊者隨後通過Transfer From函數將用戶的資產轉移走。

籤名就被盜?揭祕Uniswap Permit2籤名釣魚騙局

防範措施

  1. 理解並識別籤名內容:學會辨別Permit籤名格式,包括Owner、Spender、value、nonce和deadline等關鍵信息。推薦使用安全插件輔助識別。

  2. 資產與交互錢包分離:將大量資產存儲在冷錢包中,日常交互使用僅含少量資金的熱錢包,以降低潛在損失。

  3. 限制Permit2授權額度:在Uniswap上進行Swap時,只授權所需交易金額,避免授權過多額度。如已授權,可通過安全插件取消授權。

  4. 識別代幣是否支持permit功能:關注所持代幣是否支持該功能,對支持permit功能的代幣交易需格外謹慎。

  5. 制定應急方案:如發現被騙但仍有資產在其他平台,需制定完善的資產轉移計劃,可考慮使用MEV轉移或尋求專業安全團隊協助。

隨着Permit2應用範圍的擴大,基於此的釣魚攻擊可能會越來越多。這種籤名釣魚方式極其隱蔽且難以防範,用戶需提高警惕,加強安全意識,避免成爲下一個受害者。

籤名就被盜?揭祕Uniswap Permit2籤名釣魚騙局

UNI-4.62%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 4
  • 分享
留言
0/400
区块链美食家vip
· 17小時前
这个permit2的事情感觉不一样... 就像给web3的degen端上毒蘑菇,老实说
查看原文回復0
YieldWhisperervip
· 07-21 15:06
在'18年看到了同样的攻击模式... 有些人从来没有学习过签名卫生,真是无奈
查看原文回復0
SerumSquirrelvip
· 07-21 14:56
话说钓鱼这么花里胡哨了吗
回復0
Satoshi挑战者vip
· 07-21 14:43
钓鱼永恒主题 数据会说话 百分之98受害者签完就G [冷笑]
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)