比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Zcash屏蔽地址漏洞或揭示全節點IP地址(附解決方案)_CASH

Author:

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

匿名幣的技術之爭是非常有意思的,比如KMD核心開發者DukeLeto剛發表了一篇博客文章,披露了關于Zcash及其多數分叉幣存在的漏洞,而這個漏洞可能會泄露使用屏蔽地址的全節點?IP地址。

其還為此分配了一個通用漏洞披露編碼CVE-2019-16930來跟蹤這一問題。

太長不看:自Zcash和Zcash協議建立以來,所有屏蔽地址都存在著一個漏洞。它出現在所有Zcash源代碼分叉中,這使得攻擊者可利用它找到擁有屏蔽地址全節點的ip地址。換而言之,如果Alice給Bob一個屏蔽地址用于支付,實際上可允許Bob發現Alice的IP地址,這與Zcash協議的設計是違背的。

受影響的群體:

所有使用屏蔽地址以及與第三方共享屏蔽地址的人,例如:

如果你在社交媒體上公開發布了你的屏蔽地址;

如果你在github/email/IRC的漏洞報告中給出了你的屏蔽地址;

如果你曾把自己的屏蔽地址告訴了交易所、礦池或企業;

ZCash 11月18日減半將配合Canopy升級 20%挖礦獎勵將用于開發:ZCash將在11月18日左右進行減半。此外,ZCash網絡將進行Canopy升級,這是ZEC的第五次重大網絡升級。這次升級將建立一個新的基金,未來四年ZCash將把20%挖礦獎勵用于ZCash (ZEC)的開發。

礦工將獲得80%的采礦獎勵,剩下的20%將分配給新的主要資助基金(8%)、電子代幣公司(7%)、Zcash基金會(5%)。(EWN)[2020/11/11 12:15:14]

如果你曾在一份屏蔽備忘錄中回復過你的屏蔽地址;

不受漏洞影響的群體:

如果你從未使用過zaddr,那漏洞就不會影響到你:

如果你只是給其他使用zaddr的人發送過錢,但從未收到過資金,你是安全的;

如果你使用Tor/TAILS,則IP元數據泄漏對攻擊者而言就不是有價值的信息。

動態 | Coinbase宣布將從8月26日起不再為英國用戶提供Zcash交易服務:Coinbase宣布,自2019年8月26日起,將不再為英國用戶提供Zcash交易服務。根據該Coinbase透露,用戶必須把Zcash兌換成其他加密貨幣,或是轉移到其他加密貨幣交易所,所有這些操縱必須在8月26日之前完成,如果用戶未能在給定截止日期完成操作,Zcash將會被自動轉換成英鎊。[2019/8/12]

受影響的加密貨幣:

Zcash(ZEC)

Hush(HUSH)

Pirate(ARRR)

所有帶有zaddr的Komodo(KMD)智能鏈(默認啟用)

Horizen(ZEN)

Zero(ZER)

VoteCoin(VOT)

Snowgem(XSG)

BitcoinZ(BTCZ)

LitecoinZ(LTZ)

分析 | Zcash首輪及第二輪投資者將獲得較高的回報率:據The Block消息,Zcash運營商Electric Coin Co.在兩輪獨立融資中出售16.4%的代幣募集300萬美元,以幫助啟動Zcash的發展。第一輪投資者有權以每枚4.69美元的價格獲得213150 ZEC,第二輪投資者有權以每枚約15.24美元的價格獲得131250 ZEC。如果投資者在收到ZEC當天出售,第一輪投資者的回報率將達到3027%,第二輪投資者的回報率將達到863%。即使投資者仍然沒有賣出其收到的任何代幣,仍然比最初的投資高出1605%(或425%)。[2019/7/19]

Zelcash(ZEL)

Ycash(YEC)

Arrow(ARW)

Verus(VRSC)

BitcoinPrivate(BTCP)

ZClassic(ZCL)

Anon(ANON)

需要澄清的是,雖然BitcoinGold(BTG)使用了Zcash提供的EquihashPoW共識機制,但它并不是Zcash源代碼的分叉,其也沒有使用屏蔽地址,因此它是不受影響的。

聲音 | 德勤區塊鏈專家:加密貨幣Zcash已然是個失效項目:據Crypto Briefing消息,在Consensus 2019共識大會上,德勤(Deloitte)區塊鏈專家Tim Davis表示,加密貨幣Zcash將難以開發出長期用例,已然是一個失效項目。其認為,Zcash的“內在缺陷”源自其設置方式,太多的信任依賴于Zcash 安全多方計算(MPC)的有效執行。對于公司以及玩家來說,使用一個可能有人留下后門的網絡風險太大。同時,Zcash目前在市場上的估值實際上亦具有誤導性。 此外,就整個隱私問題而言,Tim Davis表示,盡管在過去約一年時間里,R3的Corda平臺等被許可的區塊鏈贏得越來越多的關注,但企業“引入隱私特征會給監管機構帶來問題,也會引發連鎖問題”。[2019/5/14]

額外的說明:KMD以前也有使用屏蔽地址,但后來禁用了該功能,Safecoin(SAFE)走了一條類似的路線,其目前也禁用了屏蔽地址。

緩解措施

首先,防止這種“元數據泄漏攻擊”的首要方法,是在使用你喜歡的加密貨幣的同時,通過-onlynet=onion使用Tor,或者更好的選擇,是使用TAILS操作系統。

zcash開發團隊發布了支持Sapling升級的新軟件:據coindesk消息,Zcash的開發團隊發布了新的軟件,其中包含了Zcash網絡計劃中的Sapling升級的支持要素,該軟件將于今年晚些時候推出。[2018/5/31]

其次,用戶可使用全新的zaddr創建一個全新的wallet.dat,然后將所有資金發送到該地址。如果用戶將這個新的zaddr保持為私有狀態,那它就不會受到此類攻擊。

Zcash在這里發布了一個緊急源代碼(沒有二進制文件)。

如果你不希望知道你的zaddr地址的人知道你的IP地址,我建議你創建新的錢包,并在軟件發布更新之前停止使用舊錢包。

到這里,普通用戶或許可以停止閱讀了。

更多的建議

如果你運行了一個支持屏蔽地址的礦池,則不需要提供所有礦工和屏蔽地址的公開列表。由于當前的元數據泄漏攻擊和其他原因,這嚴重地消除了礦工們的隱私。這在過去是很常見的,但由于隱私問題,大多數礦池已經停止了這一做法。

也不要在github的錯誤報告中給出zaddr!很多工具不斷地從所有公共代碼存儲庫中抽取潛在的敏感數據和公開來源信息。

為了提高安全性,如果你必須要給出屏蔽地址,你可以將它們隔離到一個單獨的wallet.dat,該wallet.dat通常不使用且保持離線狀態,而另一個帶有屏蔽地址的錢包可用于發送資金。由于發送資金的錢包從未發出zaddr,因此這種類型的漏洞對于該節點而言是不可被利用的。

代碼分析

這個漏洞是在最初的Zcash代碼庫中被引入的,相關提交時間是在2016年:

“介紹新的“libzcash”zcash協議API和圍繞zkSNARK電路的加密結構。”

這一提交將漏洞代碼添加到了較舊版本的屏蔽地址,而新版本的屏蔽地址代碼都將其復制了進去。

該漏洞存在于Zcash的P2P層中,其中節點會與對等節點交換數據。

對攻擊的解釋:

攻擊者節點將無效交易中繼至其對等節點的mempool;

此交易對加密memo字段具有無效的序列化;

沒有私鑰且沒有屏蔽地址查看密鑰的節點,通常會對此無效交易做出反應;

具有私鑰的節點將生成C++異常;

這個C++異常會導致不同的網絡行為,從而暴露節點的“身份”;

區塊鏈或瀏覽器上沒有此類攻擊的記錄;

修正漏洞的代碼在這里:https://github.com/zcash/zcash/commit/c1fbf8ab5d73cff5e1f45236995857c75ba4128d

核心修改如下:

-CDataStreamss(SER_NETWORK,PROTOCOL_VERSION);

-ss<<pt.get();-SaplingNotePlaintextret;-ss>>ret;

+try{

+CDataStreamss(SER_NETWORK,PROTOCOL_VERSION);

+ss<<pt.get();+ss>>ret;

+assert(ss.size()==0);

+}catch(constboost::thread_interrupted&){

+throw;

+}catch(...){

+returnboost::none;

+}

下面這行代碼沒有try/catch是漏洞存在的核心原因:

ss<<pt.get();

由于

pt是由攻擊者控制的數據,其正被寫入本地

CDataStreamss對象,因此需要更仔細的處理。

現在我們可以看到,只有boost::thread_interrupted類型的異常冒泡,所以其他異常都被“消滅”了,boost::none則會返回。這使得具有zaddr地址私鑰的節點與所有其他節點一樣,可以防止元數據泄露。

作者注意到,這里仍然存在尋找舊Sprout地址的易受攻擊的代碼。

有人可能認為這種攻擊只能針對節點的對等節點,而不能針對整個網絡,但增加最大對等節點計數是微不足道的,通過一個或幾個節點來研究整個網絡是可行的。

高級攻擊者將擁有一個他們想要連接IP的zaddr數據庫,然后運行密集連接至整個網絡的節點,并定期向所有對等節點的mempool發送無效交易,從而建立的三元組數據歷史記錄。然后,他們就可以使用這些數據,并通過數量分析和定時分析將其鏈接到其他數據,以完全取消屏蔽交易的匿名性,并將它們直接與IP地址和地理位置相綁定。

Tags:ASHCASHCASzcashDASHD幣Bitcoin VcashIQ CashWrapped Zcash

酷幣交易所
巴比特專訪丨尋找區塊鏈真實用例,Blockstack要在App大浪中淘沙_BLOC

今年7月,去中心化計算網絡Blockstack成為第一個獲得美國證券交易委員會RegulationA+批準并進行合規代幣發售的區塊鏈初創公司.

1900/1/1 0:00:00
加密貨幣的貨幣政策_COIN

前言:加密資產的貨幣政策主要涉及它的發行模式,例如發布方式、初始供給、增發、銷毀以及總量上限等.

1900/1/1 0:00:00
比特幣開發者:51%攻擊不可怕,可怕的是對去中心化的漠視_BIT

近日,有網友在Reddit提問,既然比特幣網絡最大的弱點是51%攻擊,那么比特幣軟件為什么不干脆重寫.

1900/1/1 0:00:00
扎克伯格絕密錄音曝光:全球穩定幣要由大公司來實施_LIBRA

我們在Libra還有一個更大的項目,或者至少是更奇特的項目,那就是嘗試建立一種新的數字貨幣,它可以在全球范圍內運作,而且將是穩定的。這是一個偉大的想法,是一種新型的系統,尤其是要由大公司來實施.

1900/1/1 0:00:00
CoinMarketCap發布加密貨幣利率頁面,允許用戶進行比較_COI

加密貨幣數據提供商CoinMarketCap已發布一個新頁面,在該頁面上公布幾種加密貨幣提供的利率,以幫助用戶比較和選擇合適的產品.

1900/1/1 0:00:00
技術入門 | Solidity編程語言 : 基本編譯原理介紹與添加新指令

本文目標 本文的主要目的:1、了解solidity的基本編譯原理2、通過示例的方式了解如何添加新的指令,不會涉及到solidity語言的語法講解.

1900/1/1 0:00:00
ads