宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 中币 > 正文

Zcash屏蔽地址漏洞或揭示全节点IP地址(附解决方案)

作者:

时间: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开发团队发布新提案ZPF 拟修改ZEC发行规则:8月5日消息,据官方博客,加密隐私货币Zcash协议开发团队Electric Coin Company(ECC)提议引入Zcash Posterity Fund以修改Zcash发行规则,Zcash Posterity Fund是一个新的Zcash发行系统,将在提高网络长期财务可持续性的同时保持2100万ZEC供应上限和近似的发行率,主要改动包括由一个平滑下降的支付曲线取代减半epoch,并且该机制的费用将在一段时间内以区块奖励的方式进行分配。

ECC正在收集社区反馈并对这个提案进行市场调查。如果该提案得到广泛支持,将假设Zcash Posterity Fund限制发行的设计,来定制股权证明研究,并将开始将这个高级的提案细化为一个具体的Zcash改进提案,还可能会提出更改交易费用以提高弹性、用户体验和隐私的后续提案。 ?[2022/8/5 12:04:12]

不受漏洞影响的群体:

如果你从未使用过zaddr,那漏洞就不会影响到你:

如果你只是给其他使用zaddr的人发送过钱,但从未收到过资金,你是安全的;

Zcash宣布引入过渡宽限期公共许可证TGPPL:9月3日晚间,Zcash开发公司Electric Coin Company(ECC)发文宣布,正在引入一种全新的开源许可证TGPPL,即过渡宽限期公共许可证。该许可证将允许:1.任何人出于任何目的私人使用许可程序并读取源代码;2.任何人可自由构建项目(在Halo源代码之上构建新衍生品),在宽限期满后,项目遵循同样的条款进行开源。

此外9月2日,ECC已公布新源代码Halo 2。对此,ECC再次表示,公司主要目标是确保已准备好在2021年在Zcash中进行部署Halo 2。官方认为Halo 2是消除Zcash可信设置并迈向第1层可扩展Zcash道路的最佳方法,但是最终,还是将由社区决定是否部署Halo 2。[2020/9/4]

如果你使用Tor/TAILS,则IP元数据泄漏对攻击者而言就不是有价值的信息。

Zcash正式推出4.0.0版本支持11月Canopy主网升级:9月3日,Zcash开发公司Electric Coin Company(ECC)官方发推宣布,Zcash已正式推出最新版本4.0.0。该版本支持主网Canopy升级。Canopy主网升级将于区块高度1046400进行,升级时间大约在11月中旬。与此同时,Canopy升级部署内容包括:

1.ZIP 207,资金流向部署;

2.ZIP 211,禁止向Sprout Value池添加新值;

3.ZIP 212,为交易Sapling输出提供注释纯文本格式,以允许接收人检查Diffie-Hellman密钥格式是否正确;

4.ZIP 214,Zcash开发基金的共识规则;

5.ZIP 215,明确定义和修改Ed25519验证规则。[2020/9/3]

受影响的加密货币:

Zcash(ZEC)

Hush(HUSH)

Pirate(ARRR)

所有带有zaddr的Komodo(KMD)智能链(默认启用)

动态 | BCH、Beam和Zcash将在2020年经历减半事件:比特币将于2020年5月减半,这将对价格产生影响,因为BTC的挖矿奖励将大幅削减。此外,比特币现金、Beam和Zcash也将在2020年经历类似事件。2020年4月,BCH将迎来区块奖励减半。根据计划,2020年1月4日,Beam将经历减半。Zcash减半预计将在2020年年底发生。(Bitcoin.com)[2019/12/9]

Horizen(ZEN)

Zero(ZER)

VoteCoin(VOT)

Snowgem(XSG)

BitcoinZ(BTCZ)

LitecoinZ(LTZ)

Zelcash(ZEL)

Ycash(YEC)

Arrow(ARW)

Verus(VRSC)

BitcoinPrivate(BTCP)

ZClassic(ZCL)

动态 | Zcash 2.0.7-3版本重新发布以纠正漏洞:Zcash开发公司ECC重新发布了Zcash 2.0.7-3版本。该公司此前已发布相同版本,但曾被指出存在两个漏洞:Reject和Ping。Zcash的最新可用版本旨在解决这些漏洞。此前据9月29日报道,Komodo (KMD)的核心开发者Duke Leto称,Zcash存在一个漏洞,可以显示被屏蔽的完整节点的IP地址。(ambcrypto)[2019/10/4]

Anon(ANON)

需要澄清的是,虽然BitcoinGold(BTG)使用了Zcash提供的EquihashPoW共识机制,但它并不是Zcash源代码的分叉,其也没有使用屏蔽地址,因此它是不受影响的。

额外的说明:KMD以前也有使用屏蔽地址,但后来禁用了该功能,Safecoin(SAFE)走了一条类似的路线,其目前也禁用了屏蔽地址。

缓解措施

首先,防止这种“元数据泄漏攻击”的首要方法,是在使用你喜欢的加密货币的同时,通过-onlynet=onion使用Tor,或者更好的选择,是使用TAILS操作系统。

其次,用户可使用全新的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地址和地理位置相绑定。

标签:ASHCASHCASzcashP2P CashLilith CashUnibot.cashzcash币前景

中币热门资讯
观察 | 以太坊USDT总量接近比特币网络,比特币矿工收入超150亿美元

本文为加密货币市场数据观察,通过数据我们将能发现一些非常重要的事情,比如USDT在持续从比特币网络转移到以太坊网络,两个网络现在已基本持平,而且很可能会继续往以太坊网络转移.

1900/1/1 0:00:00
入门 | 什么是DAI稳定币,为什么它能保持稳定

以太坊上的去中心化自治组织MakerDAO的稳定币Dai,是目前最受欢迎的DeFi之一。目前,大约有2%左右的以太币在Maker的抵押债务头寸的智能合约里,价值约为3亿美元.

1900/1/1 0:00:00
QKL123行情分析 | 今日山寨币略显强势;相关主题链上链下(1014)

摘要:短时比特币略有回调,山寨币略显强势,带动大盘略有回升。今日,成比特币相关搜索量上升第一的相关主题,也是区块链目前的主要应用之一。虽然目前的区块链应用还存在很多的不足,但未来会出现区块链应用爆发的契机.

1900/1/1 0:00:00
如何创建加密初创企业,你需要避过的雷区

我是一个加密VC。这意味着我每天都要和加密企业家交谈,听他们推销,评估产品。在这个行业工作,你首先会意识到几乎每个人都是即兴发挥的.

1900/1/1 0:00:00
如果我们看好区块链,也该相信加密货币的未来

原文由福布斯英文版撰稿人SarahOlsen所著,她是领先的加密货币交易所和托管人Gemini公司发展的常务董事。文章由BluemountainLabs团队编译,英文版权归原作者所有.

1900/1/1 0:00:00
代币观察 | 庞氏融资、负利率和比特币

在往期庞氏系列研究中,我们曾在《一文带你推演庞氏局的发展及生命周期》建立了一个简单的模型,即oldschool庞氏模型,在该模型中,得到了几个符合直觉的结论:1)庞氏本质上是一个现金流管理的过程;2)利息和复利的存在.

1900/1/1 0:00:00