TokenPocket 閃兌服務商被盜,快檢查你开通了多少“無限授權”

2022-10-18 20:10:38

作者:Loopy Lu,星球日報 Odaily

今日,跨鏈DEX聚合器 Transit Swap 遭受攻擊,導致大量用戶的資金從錢包中被取出。 截至目前,預計損失超 2100 萬美元。

發現被盜後,Transit Swap 技術團隊緊急暫停服務,合約已完全暫停,無法進行任何操作。發稿前Transit Swap 官方發布公告稱,此前黑客攻擊事件原因系代碼錯誤,目前已確定黑客 IP、電子郵件地址,以及相關的鏈上地址。Transit Swap 團隊表示將盡力追蹤黑客,並嘗試與黑客溝通,幫助用戶挽回損失。

此外,安全團隊 PeckShield 已確認黑客資金流向。

與此前被盜項事件不同的是,Transit Swap 是 TokenPocket 錢包的閃兌服務提供商。這讓大量用戶實現了 “無感被盜” 的絲滑體驗,也再一次向我們明確了加密市場 “黑暗森林” 的恐怖法則,即使是錢包背書的便捷 “閃兌” 服務,依然存在被盜隱患。

什么是閃兌?

目前,幾乎所有錢包都嵌入了DeFi功能,而一些錢包出於易用性的考量,更是創造了 “閃兌” 這一概念並加以應用。

所謂閃兌,即和錢包深度整合,在產品中擁有更明顯的獨立入口、更簡化的操作流程,更便捷的操作。使用閃兌用戶可以方便、快速的完成加密資產交易。例如,“Approve”操作通常被簡單的一鍵式集成在交易流程中,用戶幾乎是無感的。

或是因錢包內置集成,用戶對其天然更具信任,也一定程度降低了防範意識。但究其本質,無外乎是錢包 app 集成的一款 DEX,與其他 DEX 並無差異。這也給本次安全事件留下了隱患。

合約授權潛藏了多少風險?

“沒有人可以強行拿走你的加密資產”,是投資者對區塊鏈特性的一種廣泛共識。鏈上資產一旦被錢包所有,沒有任何強制手段將其轉移。但當我們使用 DEX 進行鏈上交易之時,DEX 是如何將一種資產拿走再轉移給你另一種資產的?

授權就成為了這一切的關鍵。用戶於 DEX 出售資產之前,需先執行 “Approve” 操作,這一操作之後合約便擁有了動用用戶某種代幣的權限。

或者描述的更加直白一些:只要你做了授權,無需打开錢包、無需執行操作、無需私鑰,該合約就可以不經你的許可,支配你授權的資產。這是由以太坊的機制和授權模型所決定的,與項目方的道德操守、安全規範、代碼審計都並無審核關系。

審計=安全?

即使授權之後合約擁有轉移加密資產的能力,但這種能力只在合理的範圍內使用,這依然是安全的。而如果經過可信安全機構審計,是否即表示這種能力不會被濫用,只在用戶進行交易時轉走交易額的必要資產?

靜態來看,這一邏輯是成立的。就如同Uniswap盡管擁有隨時將用戶錢包清空的能力,但並不會真的這么做一樣。但動態來看,這一邏輯依然是危險的。

現代軟件开發,升級是一項必不可缺的能力。智能合約也是如此。在 Solidity 智能合約中,擁有 Transparent 和 UUPS 兩種升級方法,借助於這兩個功能,合約代理和升級幾乎是業界合約的標配。

項目方是如何進行合約升級的呢?通常,用戶所訪問的合約並非直接運行業務邏輯的核心合約,而是一個 “代理合約”,代理合約接收到用戶請求之後將其轉發到核心的業務合約,再由業務合約進行處理。而合約升級即是更改簡單來說,智能合約盡管不可修改,但用戶所最終訪問的、運行業務邏輯的合約是可以替換的。這也是業界的通用做法。

而即便是最安全的合約,只要進行 “合約升級”,其業務合約就已發生變化,此前的審計報告也淪為了一張廢紙。

簡單來說,今天你所交互的合約是安全的,但明天訪問同樣的這個項目,可能他的安全性已經發生根本性改變。合約(或攻擊合約的黑客)仍可能擁有轉走你所有已授權資產的能力。

無限授權有多危險?

所幸的是,授權並不代表用戶隨時暴露於錢包清空的危險中下。授權機制還有一個重要規則即是授權是含有數量的。用戶 “Approve” 合約一定數量的代幣,合約最多只能動用這些數量,即使是錢包裏該代幣數量再多,合約也已無法動用。

但危險的是,大多數 DeFi 合約都在無所顧忌索取用戶的“無限授權”,即在默認情況下,用戶所 Approve 的代幣數量為無限。

一個典型的 “無限授權” 操作,授權金額高達 10 的 59 次冪數量級

用戶如何防範?

沒有授權就沒有安全隱患。在執行鏈上操作之時,如需執行 Approve 操作,用戶應遵循 “用多少、授多少” 的原則。如果我只需賣出 1000 TOKEN,那即應手動修改 Approve 金額為 1000。在計算合約轉移金額時是累積的,即若只授權 1000、本次金額恰好交易了 1000,合約授權額度恰好已耗盡。即使日後合約出現安全風險,也已無法再從用戶錢包中轉移走任何資產。

用戶可手動修改授權金額

而對已經授權的用戶來說,還可發起取消授權操作。(一個有趣的細節是,以太坊並不支持 “取消授權”,該操作本質是賦予合約“0” 金額的授權。)

常用取消授權網站如下(安全公司漫霧推薦):

1. Dappstar:https://tac.dappstar.io/#/

2. Revoke:https://revoke.cash/

3. Approved.zone:https://approved.zone/

4.Rabby Wallet

此外,一些區塊鏈瀏覽器也支持用戶查看並取消授權。

https://cn.etherscan.com/tokenapprovalchecker

https://bscscan.com/tokenapprovalchecker

DeFi被盜,誰的責任?

“黑暗森林”是廣為流傳的對於鏈上秩序的敘述了,也提醒着用戶這個世界的危險性和高風險。但諸如此類的安全事件一再發生,真的可以全部歸責於用戶的安全意識嗎?

在此類事件中,DeFi 項目對於用戶授權毫無節制的索取是隱患的最初來源,幾乎所有的項目,在索取授權之時其默認選項都是無限授權。盡管用戶可以手動修改,但一個負責任的市場應承擔投資者保護和用戶教育的責任。

至今,仍有多少加密用戶尚不清楚授權的危險?而在這種環境背景之下,項目方仍在索取危險極大的無限授權。

DeFi 濫用授權的情況早已成為業界慣例,而這一高危情況幾乎危及所有用戶的田亮資產,其影響之深遠、廣泛、隱患之巨,恐怕尚未有一個安全隱患可以望其項背。該風險從根本上違背了 “沒有人可以拿走錢包裏的幣” 這一樸素的直覺。這也是行業需要一直面臨的風險和挑战。

被盜事件發生後,神魚就已在推特做出呼籲,“呼籲一下項目方規範使用授權功能,用多少授權多少,不要無限授權,大家都放心。”

去中心化充滿着機會與風險。還記得加密技術最初的愿景嗎?“保護你的資產,沒有人可以奪走你錢包裏的加密貨幣。”而一個良性秩序的建立,需要的不是復雜的代碼、晦澀的概念,確保每一個普通用戶都能安全的使用加密技術,仍然需要行業裏每一個參與者共同的努力。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

特朗普熱潮在消退?納指跌超2% 美債上漲 黃金原油下跌

美股周五大幅下跌,特朗普當選後股市的欣喜之情消失了一半。科技股為主的納指領跌,市場已經意識到12月...

幣海獨步者
3 2小時前

​財政部「12萬億」救市大招:地方隱債清零計劃

中國財政部11月8日發布的經濟財政刺激計劃實則是一個化債計劃。他們要推出總額**12萬億**的「化...

魯克
3 2小時前

馬斯克和特斯拉是清白的?狗狗幣訴訟被撤回

一樁指控埃隆·馬斯克操縱狗狗幣價格的訴訟即將結束,投資者決定撤回對8月29日發布的駁回判決的上訴。...

流動的沙
3 2小時前

瘋狂!美元走強 全球市場會面臨怎樣的風險?

美國總統唐納德·特朗普在任期內提出的政策有可能讓美元走強,但這也可能導致全球市場出現混亂。國際事務...

幣海獨步者
3 2小時前

俄羅斯確認!普京與德國總理朔爾茨通話

根據俄羅斯 RT 消息稱,克裏姆林宮證實,俄羅斯總統普京與德國總理朔爾茨周五進行了近兩年來的首次通...

流動的沙
4 2小時前

阿裏巴巴三季度盈利超預期 消費疲軟下展現韌性

阿裏巴巴於周五公布了其最新一季度的財務報告,顯示公司盈利能力超出市場預期,但銷售額增長不及預期。在...

幣海獨步者
4 2小時前