Permit2籤名釣魚新手法 資產安全風險需警惕

robot
摘要生成中

揭祕Uniswap Permit2籤名釣魚騙局

黑客是Web3生態中令人聞風喪膽的存在。對項目方而言,開源代碼使他們戰戰兢兢,生怕一行錯誤代碼留下漏洞。對個人用戶來說,每次鏈上交互或籤名都可能導致資產被盜。因此安全問題一直是加密世界的痛點之一。由於區塊鏈的特性,被盜資產幾乎無法追回,所以具備安全知識尤爲重要。

近期,一位研究者發現了一種新型釣魚手法,僅需籤名就可能導致資產被盜。這種手法極其隱蔽且難以防範,並且曾與某交易平台交互過的地址都可能面臨風險。本文將對這種籤名釣魚手法進行科普,以盡量避免更多資產損失。

事件經過

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

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

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

交易細節揭示了關鍵線索:

  • 一個地址將小A的資產轉移到另一地址
  • 這個操作是與某交易平台的Permit2合約交互的

問題在於,這個地址是如何獲得資產權限的?爲何與某交易平台有關?

要調用Transfer From函數,前提是調用方需要擁有Token的額度權限(approve)。在該地址轉走小A資產之前,還進行了一個Permit操作,兩個操作都與某交易平台的Permit2合約交互。

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

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

Permit2的推出可能改變Dapp生態規則。傳統方式下用戶每次與Dapp交互都需授權,而Permit2可省去這一步驟,有效降低用戶交互成本。Permit2作爲用戶和Dapp間的中間人,用戶只需授權給Permit2合約,所有集成該合約的Dapp都可共享授權額度。

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

然而,這也是一把雙刃劍。Permit2將用戶操作變爲鏈下籤名,所有鏈上操作由中間角色完成。這使得即使用戶錢包沒有ETH也可使用其他Token支付Gas費或由中間角色報銷。但鏈下籤名也是用戶最容易忽視的環節,大多數人不會仔細檢查籤名內容。

要使用這種釣魚手法,關鍵前提是被釣魚錢包需已授權Token給Permit2合約。目前只要在集成Permit2的Dapp或某交易平台上進行Swap,都需要授權給Permit2合約。

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

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

這意味着,只要2023年後與某交易平台有過交互並授權給Permit2合約,就可能面臨這個釣魚騙局風險。

重點在於Permit函數,它可將用戶授權給Permit2合約的Token額度轉移給其他地址。黑客只要獲得用戶籤名,就能獲得用戶錢包中Token權限並轉移資產。

事件詳細分析

Permit函數讓用戶可提前簽署"合同",允許他人(spender)在未來使用一定數量代幣。用戶需提供籤名證明"合同"真實性。

函數工作流程:

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

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

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

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

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

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

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

鏈上真實交易顯示:

  • owner是小A錢包地址
  • Details中包含授權Token合約地址和金額等信息
  • Spender是黑客地址
  • sigDeadline是籤名有效時間,signature是小A的籤名信息

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

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

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

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

如何防範?

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

  1. 理解並識別籤名內容: Permit籤名格式通常包含Owner、Spender、value、nonce和deadline等關鍵信息。若想享受Permit2便利,必須學會識別此類籤名格式。使用安全插件是不錯選擇。

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

  1. 資產錢包與交互錢包分離: 建議將大量資產存放冷錢包,鏈上交互錢包僅保留少量資金,可大幅減少遇到釣魚時的損失。

  2. 限制授權額度或取消授權: 在某交易平台Swap時,僅授權交互所需金額。雖然每次交互都需重新授權會增加成本,但可避免Permit2籤名釣魚風險。已授權用戶可通過安全插件取消授權。

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

  1. 識別代幣性質,關注是否支持permit功能: 未來可能有更多ERC20代幣實現permit功能。需關注所持代幣是否支持,若支持則交易操作需格外謹慎,嚴格檢查每條未知籤名。

  2. 被騙後如有代幣存其他平台,需制定完善拯救計劃: 若發現被騙但還有代幣通過質押等方式存在其他平台,需謹慎提取轉移。黑客可能隨時監控地址餘額,一旦出現代幣就可能轉移。應制定完善拯救流程,提取和轉移需同步執行,可使用MEV轉移或尋求專業安全團隊協助。

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

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 7
  • 分享
留言
0/400
InfraVibesvip
· 10小時前
看一眼再签 懂?
回復0
MetaverseMigrantvip
· 10小時前
又整新花样了 这黑客真是人才
回復0
RektButAlivevip
· 10小時前
日常都在关注最新漏洞~
回復0
稳定币爱好者vip
· 10小時前
又来新套路,小白慎签
回復0
NFT破产合集vip
· 10小時前
又掉进陷阱的多少
回復0
P2ENotWorkingvip
· 10小時前
又有新韭菜等割了
回復0
ValidatorVikingvip
· 10小時前
真是的,新手们从来不学会验证签名……回归基础,真是受够了
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)