Wabisabi脱名象征性漏洞“已披露”

通过这样标记每个用户,恶意协调者可以看到哪些输出属于哪些用户,从而推翻了他们可能从Coinjoin中获得的所有隐私利益

Wabisabi脱名象征性漏洞“已披露”

GingerWallet是由前zkSNACKs员工维护的WasabiWallet分支,在Wasabi团队关闭后开发的。该项目收到了一份漏洞报告,来自开发人员drkgry。这个漏洞会导致用户输入和输出的完全解密,并给恶意协调者提供完全取消Coinjoin隐私收益的能力,通过主动攻击实现。

Wasabi 2.0是Wasabi如何组织Coinjoin的完全重新设计,从使用固定面值混合金额的Zerolink框架转变为允许动态多面值金额的Wabisabi协议。这个过程包括从同质加密令牌到注册输出以获得回款的方法的转变,从同质加密令牌到动态证书系统Keyed Verification Anonymous Credentials(KVACs)的转变。这将允许用户提交加密数额,以防止其他用户的资金被盗,而不会泄露服务器明文金额,从而可以相互关联并阻止所有者身份的关联。

当用户开始参与一个轮次时,他们会向协调服务器查询有关轮次的信息。这返回了RoundCreated参数中的maxAmountCredentialValue值,这是服务器最高发行的证书值。每一次证书的发行都基于此值进行
通过这样标记每个用户,恶意协调者可以看到哪些输出属于哪些用户,从而推翻了他们可能从Coinjoin中获得的所有隐私利益识别。

为了节省带宽,多种客户端跨验证此信息的提案从未实现。这使得恶意协调者可以在用户开始注册输入时向他们提供唯一的maxAmountCredentialValue。在之后的消息中,包括输出注册,协调者可以根据此值识别它正在与哪个用户通信。

通过这样标记每个用户,恶意协调者可以看到哪些输出属于哪些用户,从而推翻了他们可能从Coinjoin中获得的所有隐私利益。

据我所知,drkgry是独立发现这个问题的,并且以良好的信任度公布了它。但是在设计Wabisabi协议的阶段在zkSNACKs工作的团队成员对此问题非常清楚。

“第二个目的是保护客户免受服务器标记攻击,证书发行参数必须完全相同,其他轮次元素也应该相同(例如确保服务器不试图影响客户的注册行为)。”

这一点在2021年由Yuval Kogman,也被称为nothingmuch,提出。Yuval是Wabisabi协议的设计者,也是与István András Seres共同设计这一协议的人之一。

最后一点是标记漏洞并不能直接解决,除非采用Yuval提出的建议,以及将所有所有权证明绑定到实际UTXO上的原始pull请求中提出的建议。所有数据都没有与特定轮次ID绑定,因此恶意协调者仍然可以通过给用户提供独特的轮次ID并简单地复制必要的数据并重新分配每个独特的轮次ID来实施类似的攻击。

这不是Wasabi 2.0中目前存在的其他漏洞之一。

Read More