Uniswap Permit2籤名釣魚新騙局:識別風險與防範指南

robot
摘要生成中

揭祕:Uniswap Permit2籤名釣魚騙局

黑客是Web3生態中令人恐懼的存在。對項目方而言,代碼開源意味着全球黑客都可能盯上你,一旦出現安全漏洞後果難以承擔。對個人用戶來說,如果不了解自己正在進行的操作,每次鏈上交互或籤名都可能導致資產被盜。因此安全問題一直是加密世界最棘手的問題之一。由於區塊鏈的特性,一旦資產被盜幾乎無法追回,所以在加密世界中掌握安全知識尤爲重要。

近期,一種新型釣魚手法開始活躍,只要籤名就會被盜,手法極其隱蔽且難以防範。曾與Uniswap交互過的地址都可能面臨風險。本文將對這種籤名釣魚手法進行科普,以避免更多資產損失。

事件經過

最近,一位朋友(暫稱小A)的錢包資產被盜。與常見被盜方式不同,小A並未泄露私鑰,也未與釣魚網站的合約交互。

區塊鏈瀏覽器顯示,小A錢包中的USDT是通過Transfer From函數被轉移的。這意味着另一個地址操作將Token轉走,而非錢包私鑰泄露。

交易細節顯示:

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

關鍵問題是:尾號fd51的地址如何獲得這筆資產的權限?爲什麼與Uniswap有關?

進一步調查發現,在轉移小A資產之前,尾號fd51的地址還進行了一個Permit操作,且這兩個操作的交互對象都是Uniswap的Permit2合約。

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

Uniswap Permit2是2022年底推出的新合約,允許代幣授權在不同應用中共享和管理,旨在創造更統一、更具成本效益、更安全的用戶體驗。隨着更多項目集成Permit2,它可以在所有應用中實現標準化Token批準,降低交易成本並提高智能合約安全性。

Permit2作爲用戶和Dapp之間的中間人,用戶只需將Token權限授權給Permit2合約,所有集成Permit2的Dapp都可共享這個授權額度。這減少了用戶交互成本,提升了體驗。但這也是把雙刃劍,問題出在與Permit2的交互方式上。

傳統交互方式中,授權和資金轉移都是用戶的鏈上交互。而Permit2將用戶操作變爲鏈下籤名,所有鏈上操作由中間角色完成。這帶來的好處是,即使用戶錢包沒有ETH也可使用其他Token支付Gas費或由中間角色報銷。

然而,鏈下籤名是用戶最容易忽視的環節。許多人不會仔細檢查籤名內容,也不理解其含義,這是最危險之處。

要觸發這個Permit2籤名釣魚,關鍵前提是被釣魚的錢包需已授權Token給Uniswap的Permit2合約。目前只要在集成Permit2的Dapp或Uniswap上進行Swap,都需要授權給Permit2合約。

更可怕的是,無論Swap金額多少,Uniswap的Permit2合約都會默認讓用戶授權該Token全部餘額。雖然MetaMask允許自定義輸入金額,但大多數人可能直接選擇最大或默認值,而Permit2的默認值是無限額度。

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

這意味着,只要你在2023年後與Uniswap有過交互並授權額度給Permit2合約,就可能面臨這個釣魚騙局的風險。

關鍵在於Permit函數,它允許黑客利用你的籤名將你授權給Permit2合約的Token額度轉移給其他地址。只要獲得你的籤名,黑客就能獲取你錢包中Token的權限並轉移資產。

事件詳細分析

permit函數的工作流程:

  1. 檢查當前時間是否超過籤名有效期(sigDeadline)
  2. 驗證籤名真實性
  3. 如通過檢查,更新記錄允許其他人使用你的代幣

重點在於verify函數和_updateApproval函數。

verify函數從籤名信息中獲取v、r、s三個數據,用於恢復交易籤名地址。合約將恢復的地址與傳入的代幣擁有者地址比較,若相同則驗證通過,繼續調用_updateApproval函數;若不同則回滾交易。

_updateApproval函數在通過籤名校驗後更新授權值,意味着你的權限發生轉移。此時被授權方可調用transferfrom函數將代幣轉移到指定地址。

鏈上真實交易顯示:

  • owner是小A的錢包地址(尾號308a)
  • Details中可見授權的Token合約地址(USDT)和金額等信息
  • Spender是尾號fd51的黑客地址
  • sigDeadline是籤名有效時間,signature是小A的籤名信息

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

回顧小A的交互記錄發現,他之前使用Uniswap時點擊了默認的授權額度,即幾乎無限的額度。

簡單復盤:小A此前使用Uniswap時授權給Permit2無限的USDT額度。後來操作錢包時不慎落入黑客設計的Permit2籤名釣魚陷阱。黑客獲得小A籤名後,在Permit2合約中進行Permit和Transfer From操作,轉移走小A資產。目前Uniswap的Permit2合約似乎已成爲釣魚溫牀,這種籤名釣魚約兩個月前開始活躍。

如何防範?

考慮到Uniswap Permit2合約未來可能更加普及,更多項目可能集成它進行授權共享,有效的防範手段包括:

  1. 理解並識別籤名內容: Permit籤名格式通常包含Owner、Spender、value、nonce和deadline等關鍵信息。如果想享受Permit2帶來的便利和低成本,必須學會識別這種籤名格式。使用安全插件是個不錯的選擇。

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

  1. 資產錢包和交互錢包分離使用: 如持有大量資產,建議將主要資產存放在冷錢包中,鏈上交互錢包只保留少量資金,可大幅降低遇到釣魚騙局時的損失。

  2. 限制授權給Permit2合約的額度或取消授權: 在Uniswap上Swap時,只授權交互所需的金額。雖然每次交互都需重新授權會增加成本,但可避免遭受Permit2籤名釣魚。如已授權額度,可使用安全插件取消授權。

  3. 識別代幣性質,了解是否支持permit功能: 未來可能有更多ERC20代幣實現permit功能。需關注自己持有的代幣是否支持該功能,如支持則對交易或操作要格外謹慎,嚴格檢查每條未知籤名是否針對permit函數。

  4. 若被騙後還有代幣存在其他平台,需制定完善的拯救計劃: 發現被詐騙後,若還有代幣通過質押等方式存在其他平台需提取轉移,要注意黑客可能隨時監控你的地址餘額。制定完善的代幣拯救過程,確保提取和轉移同時執行,防止黑客交易插入。可考慮使用MEV轉移或尋求專業安全公司如Beosin團隊協助。

未來基於Permit2的釣魚可能會越來越多。這種籤名釣魚方式極其隱蔽且難防,隨着Permit2應用範圍擴大,暴露在風險中的地址也會增加。希望讀者看到本文後能夠傳播給更多人,避免更多人遭受損失。

UNI4.59%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 8
  • 轉發
  • 分享
留言
0/400
DeFi小灰灰vip
· 5小時前
安全性真的太关键了吧
回復0
TokenSleuthvip
· 5小時前
第一手的惨案见证者 这种骗术真的防不胜防
回復0
NotFinancialAdviservip
· 08-10 23:39
又是我大uni的风控背锅
回復0
BlockTalkvip
· 08-10 15:17
又是被套还是被盗
回復0
空投追逐者vip
· 08-10 15:16
有办法追回吗?真惨
回復0
佛系链上人vip
· 08-10 15:06
啊 又有新的骗术 早死早托生
回復0
空投猎手小张vip
· 08-10 15:05
哎 白嫖了那么久果然要还的 uniV3 换的太多了
回復0
LiquidationAlertvip
· 08-10 14:50
看了这么多协议漏洞 真的不敢签名了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)