以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > BNB > Info

發現最安全錢包ZenGo問題 防御特權用戶攻擊細節分析(獨家)_ZEN

Author:

Time:1900/1/1 0:00:00

ZenGo是一個使用多方計算技術的安全Web3錢包。

最近,CertiK的SkyFall團隊對眾多移動錢包進行了徹底的審計和研究,發現ZenGo的MPC解決方案提供了比普通移動錢包更強大的安全防御措施——ZenGo的錢包用戶,尤其是那些高價值的錢包用戶可以防御來自高級攻擊者的直接攻擊:例如利用零日漏洞或高級惡意軟件在用戶設備上獲得root權限。

該威脅是最新出現且僅被CertiK團隊發現,因此MPC錢包開發者請務必注意攻擊細節!

防御特權攻擊者是具有挑戰性的。我們在報告結果中提出了一個新的攻擊方式,與針對ZenGo中的MPC方法攻擊向量。于是我們立即向ZenGo報告了這個安全問題,同時ZenGo也迅速做出了回應并修復了該問題。

本文我們將深入探討該發現的技術細節,并分享我們是如何與ZenGo合作以提高MPC錢包的整體安全性的。?

基于我們對ZenGo安全設計的徹底審查和他們對問題的專業回應,CertiK認為ZenGo可以被稱為目前市場上安全度較高的錢包解決方案。

什么是MPC?

多方計算,有時也被稱為安全多方計算,是密碼學的一個領域。它允許多方聯合簽署交易,同時確保每一方的密鑰不被泄露。

因為MPC技術可以在多方之間分配密鑰從而消除任何單點故障,因此可以讓用戶更好地保護Web3私鑰,這種方法也通常被稱為"閾值簽名",目前已被許多Web3托管人和錢包開發者采用以保護Web3資產。其中,ZenGo是最廣為人知且使用率最高的MPC錢包開發商之一。?

如下圖所示,該錢包并不是由一個傳統的私鑰來控制簽署交易,而是由多個私鑰分片參與交易簽署過程,并產生一個最終簽名從而進行驗證。

CertiK:一個在釣魚活動中被發現的錢包有了約近兩萬美元的資金流動:金色財經消息,據CertiK監測,一個在釣魚活動中被發現的錢包有了約近兩萬美元的資金流動。 相關錢包從EOA 0x8e5f9F存入了10.1 ETH(約2萬美元)。[2023/5/31 11:49:42]

產生簽名的普通MPC設計

通過本次研究,我們已認識到與MPC方法相關的挑戰和潛在的安全風險對于Web3資產保護的重要性。于是我們想要通過探索和解決這些挑戰來更好地保護Web3用戶。

?因此我們可以想一下這個問題:與傳統的加密錢包相比,為什么MPC錢包可以提供更高的安全性?它又是如何做到的?

ZenGoMPC設計和安全保證

通過本次研究,我們已認識到與MPC方法相關的挑戰和潛在的安全風險對于Web3資產保護的重要性。于是我們想要通過探索和解決這些挑戰來更好地保護Web3用戶。

?因此我們可以想一下這個問題:與傳統的加密錢包相比,為什么MPC錢包可以提供更高的安全性?它又是如何做到的?

在評估了不同Web3錢包的設計后,我們研究了MPC的Web3錢包——我們評估了市場上最受推崇的MPC錢包之一,同時也是頭部的自我托管MPC錢包——ZenGo。

本次評估我們采用了與之前研究概述中相同的威脅模型:“如果你的設備被植入了惡意軟件,那么該錢包還能保護你的資產嗎?”

聲音 | 肖颯:法律態度非常堅決 發現在境內發幣立刻取締:中國銀行法學研究會理事肖颯今日發表題為“區塊鏈項目,需注意哪些司法新動向?的”分析文章。文章表示,司法機關嚴陣以待,提前用相關法律知識武裝自己,以便更好地適應或許會出現的涉幣案件潮。反觀鏈圈,幾乎每一個區塊鏈項目方都有“發幣”的沖動,雖然我們理解“激勵機制”對項目自身的作用,然而,一旦發幣ICO,在我國現有法律框架下會被定性為“非法的公開融資行為”,涉嫌非法集資類犯罪或非法經營罪等。對于“境外發幣,境內無實質銷售”的行為,當下,司法機關采取的方式還是相對寬容的,基本不會主動“穿透式審判”,而是“等子彈再飛一會兒”。因此,類似的項目方暫時可以喘息,記住萬不要回國內進行“路演”等銷售活動,以免遭遇刑事風險。肖颯在文中還表示,目前,在內陸一些城市拿區塊鏈技術蒙騙投資者的不法活動有所抬頭,相信辦案機關不會坐視不管,傳說中的“剿匪”工作勢在必行,務必保護好老百姓的錢袋子。目前法律的態度非常堅決,發幣是非法公開融資,涉幣交易所不允許在境內存在,一旦發現立刻取締。同時,針對區塊鏈項目的備案,已經如火如荼進行中,但備案不是許可,并不能因此獲得“法律金鐘罩”,如果涉嫌違法犯罪,該處理的時候絕不會手軟。[2019/12/16]

ZenGo安全架構概述

如上圖所示,ZenGo錢包具備獨特的安全設計,安全架構和恢復過程比傳統的錢包更富有層次。ZenGo提供的安全功能包括但不限于:

雙方簽名方案:ZenGo的MPC設計實現了雙方簽名方案。每個用戶在生成交易簽名時都涉及兩個密鑰分片:一個存儲在ZenGo的服務器上,另一個存儲在用戶的設備上。ZenGo和用戶均不知道對方持有的密鑰是什么。

基于TEE的保護:此外,為了防止"中間人"和“APP劫持"的攻擊,ZenGo應用程序使用了TEE解決方案,并用TEE專用密鑰簽署HTTPS的通信內容來請求相關API。這個基于TEE的設備密鑰是在用戶設置設備時在TEE內產生的,即使是操作系統本身也無法提取。

動態 | 安全人員發現新型macOS惡意軟件 疑似朝鮮黑客組織Lazarus所為:安全研究人員Dinesh Devadoss周二在加密貨幣交易平臺發現了一種新的macOS惡意軟件樣本,據信是朝鮮黑客組織Lazarus所為。這種威脅的檢出率非常低,并且具有從遠程位置檢索有效載荷并在內存中運行的能力,這使得分析變得更加困難。(Bleeping Computer)[2019/12/4]

有了這些安全功能,攻擊者就不能再從內存或存儲文件中竊取用戶的私鑰并控制ZenGo用戶的資產。ZenGo還利用TEE來保護服務器和客戶端之間的互動不能夠被篡改。這也意味著“中間人”和"APP劫持"攻擊被有效阻止和防御了。

我們的審計證實,ZenGo確實有一個安全的設計和實現可以抵御這些攻擊,并且這已是我們所接觸過的被審計錢包中具備最高安全水準的設計。

ZenGo的安全設計和實現成功地防御了包括來自特權的攻擊及上述攻擊。然而處理所有類型的特權攻擊也并不是易事,特別是考慮到攻擊者可以讀取任意內存。

通過審計整個錢包,我們能夠發現ZenGo中的一個實現問題那就是:該錢包允許我們作為特權攻擊者從而繞過某些保護。

不過在討論細節之前,讓我們先回顧一下ZenGo錢包的安全機制。

ZenGo錢包的安全做法

通過本次研究,我們已認識到與MPC方法相關的挑戰和潛在的安全風險對于Web3資產保護的重要性。于是我們想要通過探索和解決這些挑戰來更好地保護Web3用戶。

因此我們可以想一下這個問題:與傳統的加密錢包相比,為什么MPC錢包可以提供更高的安全性?它又是如何做到的?

一個經典的Web3錢包只需要一個私鑰。然而用戶總是有一定可能會透露私鑰或助記詞的。因此他們可能會丟失私鑰,然后眼睜睜看著攻擊者占有資產。

聲音 | Gate.io回應ESET報告:未發現異常 仍立即刪除了StatCounter統計功能:今日早間The Register媒體報道稱,黑客修改StatCounter分析平臺使用的avaScript并嵌入Gate.io頁面。對此,Gate.io發布公告表示,“在收到ESET報告的時候,立即通過virustotal在56個殺軟件中進行檢查,均未報告任何問題。但是為了安全起見,我們仍然立即刪除了StatCounter的統計功能,目前未發現其他異常行為。”[2018/11/7]

MPC錢包的工作方式則不同。該錢包沒有單一的私鑰,用戶現在只持有一份私鑰分片,對其余的私鑰分片一無所知。從這個角度看,攻擊者即使獲得了用戶那一份的個人密鑰,也不能直接轉移資金。而為了進一步保護用戶,ZenGo使用了多種手段來加強他們的安全設計:不僅僅是上述的雙方簽名方案和基于TEE的設備保護,還有基于面部掃描的生物識別認證及額外密鑰加密等。

用戶注冊和用戶賬號恢復過程中的保護措施

在用戶注冊和賬號恢復過程中,ZenGo采用了以下保護措施來保護用戶資產。?

用戶識別保護:?雙方簽名方案要求只有當用戶與另一方交互,才能動用他們的資金。為了能夠識別用戶和存儲在服務器上的相關密鑰份額,ZenGo需要用戶的電子郵件以便注冊賬戶。

為了避免電子郵件被黑,ZenGo使用了面部掃描技術,將生物識別信息與用戶賬戶綁定。在注冊與電子郵件驗證后的賬號恢復過程中,用戶需要“刷臉”來進行認證。

應用程序-服務器通信保護:?為了確保ZenGo服務器與合法用戶的設備進行互動,ZenGo在注冊和賬號恢復過程中在TEE環境中生成并注冊了一個非對稱密鑰。ZenGo應用程序和服務器之間的所有交互都需要由這個特定的密鑰簽署。因為它受到硬件支持的安全解決方案的保護,因此攻擊者不能直接讀取這個密鑰,而該密鑰也很難被濫用。

15歲安全研究員發現硬件錢包Ledger存在漏洞:3月20日,硬件錢包制造Ledger發布了一份固件更新,以修補幾個安全漏洞。這些漏洞是由三名白帽安全研究人員獨立發現的,其中一名叫Saleem Rashid,是一名15歲的英國男孩。他發現的攻擊載體是基于硬件的,并不局限于Ledger設備,這使得單靠軟件很難完全緩解這個問題。[2018/3/21]

ZenGo用戶注冊和賬號恢復過程

用戶密鑰共享保護:?讓用戶存儲和備份其密鑰分片是有風險的,因為這或將危及到ZenGo提供的所有安全措施。而為了解決這個安全問題,ZenGo在注冊過程中生成了一個加密密鑰。加密密鑰對用戶的密鑰共享進行加密,并將密碼文本存儲在其服務器上。

但是,加密密鑰不與ZenGo共享,而是強制與用戶的GoogleDrive或iCloud進行同步。只有在用戶通過電子郵件驗證和基于服務器的生物識別認證后,才能將加密的密鑰共享并進一步解密。其中基于服務器的生物識別認證幾乎不可能被常規的2D/3D人臉重建“蒙騙”。

交易簽名的生成

ZenGo的交易過程

為了簽署一項交易,ZenGo應用程序與ZenGo服務器進行了一系列的交互。在交互過程中,ZenGo使用其開源的雙方簽名解決方案和用戶密鑰分片來生成雙方簽名。然后,ZenGo服務器再進一步完成簽名并廣播交易。這個過程中的所有請求都有時間戳和TEE中的簽名以保持信息的完整性和不可重放性。

ZenGoMPC設計中的問題發現

正如我們之前所討論的,ZenGo的安全設計中涉及許多加密密鑰,每一個密鑰都有不同的職責。在下面的表格中,我們顯示了ZenGo使用了哪些密鑰以及它們是如何被保護的。

通過這個表格,我們可以看到,在客戶端有三個密鑰被使用:主密鑰②,設備密鑰和加密密鑰。攻擊者需要同時獲得主密鑰②和設備密鑰,以便與ZenGo服務器互動,竊取用戶資金。

正如前面交易細節部分所介紹的,主密鑰②在內存中作為文本參與雙方簽名的生成,它允許攻擊者讀取進程內存并提取主密鑰②。而作為一種一定程度上的解決方案,所有對ZenGo服務器的交易請求都需要由設備密鑰簽署,而設備密鑰是不能被讀取或提取的。這個過程是在TEE中完成的,攻擊者無法控制。

然而,盡管ZenGo的安全設計考慮到了許多方面,CertiK的SkyFall團隊仍然在其中發現了一個漏洞。在對ZenGo應用程序中所有API進行細節審計后,我們注意到某些API允許攻擊者欺騙ZenGo服務器,并輕松生成一個新的設備密鑰,以便在其他設備上使用。

這種由設備密鑰注冊的API缺乏必要的安全保護措施:攻擊者可以在其他設備上生成一個新的NISTP-256橢圓曲線密鑰,然后攻擊者可以利用設備密鑰注冊API,并注冊新生成的密鑰對,假裝新的用戶設備并請求交易。

我們將這種攻擊命名為設備分叉攻擊。

對ZenGo錢包的設備分叉攻擊

如上文所述,攻擊者需要擁有ZenGo用戶的主密鑰②和有效的設備密鑰來竊取其資產。

主密鑰②:主密鑰②是一個固定的密鑰,在內存中作為明文使用,以便參與雙方的簽名過程。由于雙方簽名算法的復雜性和獨特性,這個過程不能在TEE中完成。因此,一個有特權權限的攻擊者可以簡單地轉儲進程內存或劫持某些系統API來提取主密鑰②。下方截圖顯示了我們在iOS平臺上能夠提取到的主密鑰②。

設備密鑰:在注冊或賬號恢復過程中,TEE中的用戶設備上會生成一個有效的設備密鑰作為對前述明文提取威脅的解決方案。設備密鑰并不能被有特權權限的攻擊者讀取,然而,攻擊者可以使用相同的設備密鑰注冊API,從而來注冊另一對密鑰并使用它。

設備密鑰注冊API只有一個非常基礎的認證機制:攻擊者可以使用一個普通的明文本地存儲的JWT令牌和提取到的主密鑰②進行API身份認證。根據設計,該API涉及到的服務器代碼也應該經過Facetec生物識別認證。然而在實踐中,由于邏輯缺陷,代碼未能執行此環節。?

在我們的模擬攻擊中,我們模擬了一個具備特權權限的攻擊者,并持續監控受害者的設備。一旦ZenGo應用程序被啟動,我們便立即從內存中提取主密鑰②,并從本地數據庫中讀取API令牌。而這些信息足以讓攻擊者盜取用戶的全部資金!

一旦有了API令牌,我們就會生成一個新的設備密鑰,并調用設備密鑰注冊API從而在ZenGo服務器上注冊設備密鑰。隨后,我們構建了所有的API請求,與ZenGo服務器交互來發起交易。對于MPC錢包來說,生成雙方簽名是一個非常獨特并且復雜的過程。不過好在ZenGo的開發過程始終秉承著開源精神,我們才能夠編譯官方ZenGo應用程序中使用的雙方簽名庫并在本地運行。

上圖中展示了我們是如何提取主密鑰②并代表受害者注冊一個新的設備密鑰的。隨后我們利用這兩個密鑰向“攻擊者的賬戶”發送了0.00222ETH。這整個過程只用了幾秒鐘,并且受害者也會完全意識不到。

為了解決這個問題,ZenGo在服務器端為設備注冊實施了FaceTec生物識別認證。服務器API級別的解決措施消除了這種攻擊的可能性,且不需要更新客戶端代碼。

總結

在CertiK對ZenGo的評估中,我們徹底檢查并審計了其為保護用戶資產所采取的所有安全措施。這些措施包括雙方簽名方案、基于TEE的設備保護以及用來注冊和恢復賬號的生物識別。?

盡管ZenGo有著較高的安全意識,并采取了諸多措施用來提高自己的安全性,CertiK還是在ZenGo的實施中發現了一個關鍵的可被利用的API訪問認證風險。該漏洞可以讓持有特權的攻擊者繞過現有的安全措施,并在用戶的設備被破壞時竊取用戶的資金。

ZenGo及時解決了該問題并部署了一個補丁,CeritK隨后也進行了徹底的進一步審計并確定該補丁已修復報告中提到的風險。

隨著補丁的部署,我們相信ZenGo在日后可以有效地預防特權用戶非法訪問用戶資金。防御特權攻擊者是一項艱巨的任務,而ZenGo的安全實踐向我們展示了全面保護用戶的安全方法。該錢包的做法超過了目前市場上絕大多數常規錢包。?

我們很榮幸能夠與ZenGo合作,并很榮幸能夠與ZenGo在保護Web3用戶安全方面做出共同努力并解決安全挑戰。同時也感謝ZenGo對我們發現漏洞的及時回應與高效的漏洞補丁出臺行動。

作為安全行業的從業者,我們很高興看到一個頂級Web3錢包公司如此重視安全,對用戶和用戶的資金具備如此高的責任心。希望在未來的安全道路中,我們可為更多項目提升安全性,為其用戶賦予“安心”。

Tags:ZENENGMPCAPIzen幣未來能漲到多少opengaga幣交易gmpc幣能漲成啥樣apix幣最新價格

BNB
V神高度重視的這個以太坊重要升級 或將開啟Web3大爆發時代_以太坊

作者:Day 作為web3世界的入口,賬戶模型的實施為web3大規模用戶奠定基礎,具有重大的意義.

1900/1/1 0:00:00
CAKE周跌幅近25%,PancakeSwap代幣經濟學將「大修」?_CAKE

原文作者:MaryLiu原文來源:比推?BitpushNews去中心化交易所PancakeSwap?治理代幣CAKE本周遭受重創.

1900/1/1 0:00:00
賬戶抽象將打開 Web3 的大門 哪些項目值得關注?_WEB

撰文:Ignas 編譯:PengSUN,ForesightNews我們需要為「賬戶抽象」這一革命性敘事發明一個聲入心通的口號.

1900/1/1 0:00:00
慢霧:警惕 Web3 錢包 WalletConnect 釣魚風險_LLE

WalletConnect釣魚風險介紹2023年1月30日,慢霧安全團隊發現Web3錢包上關于WalletConnect使用不當可能存在被釣魚的安全風險問題.

1900/1/1 0:00:00
以太坊接下來的 3 件大事_以太坊

原文:Bankless,由GweiResearch編譯。上周的Shapella升級對以太坊來說意義重大,但擴展網絡的工作才剛剛開始。今天,我們來看看以太坊在沙佩拉之后的發展方向.

1900/1/1 0:00:00
老牌DeFI項目被盜超1000萬美元 簡要梳理攻擊過程_USD

2023年4月13日,據Beosin-EagleEye態勢感知平臺消息,YearnFinance的yusdt合約遭受黑客閃電貸攻擊,黑客獲利超1000萬美元.

1900/1/1 0:00:00
ads