Uniswap Permit2籤名釣魚新騙局:資產被盜風險與防範策略

隱蔽的危險:剖析Uniswap Permit2籤名釣魚騙局

黑客是Web3生態系統中令人生畏的存在。對項目方而言,開源代碼特性使他們戰戰兢兢,生怕一行錯誤代碼導致安全漏洞。對個人用戶來說,每次鏈上交互或籤名都可能危及資產安全,如果不了解操作含義。因此安全問題一直是加密世界最棘手的問題之一。由於區塊鏈的不可逆特性,資產被盜幾乎無法追回,這使得安全知識在加密世界中尤爲重要。

近期,一種新型釣魚手法引起了關注。這種方法極其隱蔽且難以防範,僅需籤名即可導致資產被盜。更糟糕的是,曾與Uniswap交互過的地址都可能面臨風險。本文將深入剖析這種籤名釣魚手法,以幫助讀者避免資產損失。

事件經過

事情源於一位朋友(稱爲小A)的資產被盜。與常見被盜情況不同,小A並未泄露私鑰,也未與可疑合約交互。進一步調查發現,小A的USDT是通過Transfer From函數被轉移的。這意味着是第三方地址操作將Token轉走,而非私鑰泄露。

交易細節顯示:

  • 一個尾號爲fd51的地址將小A的資產轉移到另一個地址
  • 這個操作是與Uniswap的Permit2合約交互完成的

關鍵問題在於:fd51地址如何獲得了小A資產的操作權限?爲何與Uniswap有關?

深入分析發現,在轉移小A資產之前,fd51地址還進行了一個Permit操作,且這兩個操作都與Uniswap的Permit2合約交互。

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

Uniswap Permit2合約解析

Uniswap Permit2是2022年底推出的新合約。它允許在不同應用間共享和管理代幣授權,旨在創造更統一、更具成本效益、更安全的用戶體驗。

Permit2的目標是降低用戶交互成本。傳統模式下,用戶每次與不同Dapp交互都需單獨授權。Permit2作爲中間人,用戶只需對Permit2授權一次,所有集成Permit2的Dapp都可共享這個授權。

這種方式雖然提高了用戶體驗,但也帶來新的風險。Permit2將用戶操作轉爲鏈下籤名,所有鏈上操作由中間角色完成。這使得用戶即使沒有ETH也能完成交易,但同時增加了籤名被濫用的風險。

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

釣魚手法剖析

釣魚攻擊的關鍵在於利用Permit2合約的permit函數。該函數允許用戶通過籤名授權其他地址使用自己的代幣。攻擊者獲取用戶籤名後,就能通過Permit2合約轉移用戶資產。

攻擊流程如下:

  1. 用戶曾在Uniswap等集成Permit2的平台上進行過授權操作
  2. 攻擊者誘導用戶簽署看似無害的消息
  3. 攻擊者利用籤名調用Permit2合約的permit函數
  4. Permit2合約驗證籤名有效性並更新授權
  5. 攻擊者獲得授權後調用transferFrom函數轉移用戶資產

值得注意的是,Uniswap的Permit2默認請求無限授權額度,這進一步加大了風險。

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

防範建議

  1. 學會識別並理解籤名內容,特別是涉及Permit相關的籤名

  2. 採用冷熱錢包分離策略,交互錢包僅保留少量資金

  3. 對Permit2合約授權時僅授權所需金額,或及時取消多餘授權

  4. 了解自己持有代幣是否支持permit功能,對相關交易保持警惕

  5. 若不幸遭遇攻擊,其他平台上還有資產,需制定完善的資產轉移計劃

隨着Permit2應用範圍擴大,基於此的釣魚攻擊可能會越來越多。這種籤名釣魚方式極其隱蔽且難以防範,希望讀者能提高警惕,並將相關知識分享給更多人,共同維護資產安全。

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

UNI5.09%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 分享
留言
0/400
Sandwich Huntervip
· 07-31 06:02
吃一堑长一智 别盲签了
回復0
元宇宙_包租婆vip
· 07-30 22:59
小韭菜还得长个心眼
回復0
OnChainDetectivevip
· 07-29 14:56
追踪到多个permit2漏洞...模式表明47%的受害者之前有过uni互动。这不是随机的。
查看原文回復0
Sherlockervip
· 07-29 14:52
怕了怕了…还是用小号跑U的靠谱
回復0
GmGnSleepervip
· 07-29 14:49
又一个社工盾被撕破了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)