EFI:Beosin | 深度剖析零知识证明zk-SNARK漏洞:为什么零知识证明系统并非万无一失?_sui币能涨多少

随着数字资产和区块链技术的快速发展,数字隐私保护和安全性成为了越来越受关注的话题。在这个背景下,一种名为"零知识证明"的技术正在逐渐崭露头角。

零知识证明技术可以在不泄露任何信息的情况下证明某些事情的真实性,被广泛应用于保护隐私和安全性。其中,基于零知识证明技术的zk-SNARK近期备受瞩目,成为数字资产和区块链技术领域的热门话题,但有一些安全问题却往往被我们忽视。

Beosin将陆续推出zk零知识证明安全研究,第一篇,本文将深入探讨zk-SNARK的背景,深度剖析零知识证明zk-SNARK漏洞:输入假名漏洞是如何被挖掘出来的?

最后使用刚伪造的attackHash:

21888242871839275222246405745257275088548364400416034343698204186575808495694,同样验证通过!即同一份proof,可以被多次验证通过,即可造成双花攻击。

Beosin成为BNB Chain Kickstart Program官方安全审计服务商:据官方消息,近日,区块链安全公司Beosin宣布正式成为BNB ChainKickstart Program官方安全审计服务商。据了解,BNB Chain启动的“Kickstart Program”计划,旨在帮助区块链开发人员在业内机构的支持下开始他们的项目。[2023/2/16 12:10:16]

此外,由于本文使用ALT_BN128曲线进行复现,因此共计可以生成5个不同参数通过验证:

4.修复方案

Semaphore?项目已经针对该漏洞进行了修复,具体修复代码如下:

区块链智能标签技术公司Beontag完成1.2亿欧元债务融资:1月17日消息,区块链智能标签技术公司 Beontag 宣布通过其全资子公司 Tag Lux Sarl. 完成 1.2 亿欧元债务融资,德意志银行领投。Beontag 推出的智能标签技术能让 Web2 和 Web3 领域里的品牌商为客户提供基于智能手机的售后服务和体验,其智能标签使消费者可以访问详细说明产品生命周期的链上数字证书,还可以让消费者以转售为目的转让所有权,其客户包括 Alexander McQueen、Dolce & Gabbana 和 Bulgari 等奢侈品牌。[2023/1/17 11:16:52]

图源:https://github.com/semaphore-protocol/semaphore/blob/0cb0ef3514bc35890331379fd16c7be071ada4f6/packages/contracts/contracts/base/SemaphoreVerifier.sol#L42

Beosin:黑地址FTX Accounts Drainer已对大额资产进行兑换转移跨链等操作:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,截止2022年11月15日,黑地址FTX Accounts Drainer(0x59AB...32b)已对大额资产进行兑换转移跨链等操作。

目前大部分资金位于账户FTX Accounts Drainer的ETH平台,约228,523 个ETH($288,934,108)和8,184 个PAXG($14,395,174)。BSC平台约108,454 个BNB($29,962,644) 和1,685,309 个DAI($1,686,562) 。

其他部分资金位于ETH上的FTX Accounts Drainer 2账户上,约1999.4 个PAXG($3,516,404),FTX Accounts Drainer 3账户上约499 个PAXG($878,114),FTX Accounts Drainer 4账户上约499 个PAXG($878,114),其它链上的资产目前尚无异动,Beosin Trace将持续对黑地址异动进行监控。[2022/11/16 13:09:37]

图源:https://github.com/semaphore-protocol/semaphore/blob/0cb0ef3514bc35890331379fd16c7be071ada4f6/packages/contracts/contracts/base/Pairing.sol#L94

但是该漏洞属于实现上的通用漏洞,经过我们Beosin安全团队的研究发现,众多知名的零知识证明算法组件和DApp项目都受到该漏洞的影响,绝大部分后续进行了及时修复。以下列举出部分项目方的修复方案:

ethsnarks:

图源?https://github.com/HarryR/ethsnarks/commit/34a3bfb1b0869e1063cc5976728180409cf7ee96

snarkjs:

图源:https://github.com/iden3/snarkjs/commit/25dc1fc6e311f47ba5fa5378bfcc383f15ec74f4

heiswap-dapp:

图源:https://github.com/kendricktan/heiswap-dapp/commit/de022ffc9ffdfa4e6d9a7b51dc555728e25e9ca5#diff-a818b8dfd8f87dea043ed78d2e7c97ed0cda1ca9aed69f9267e520041a037bd5

EYBlockchain:

图源:https://github.com/EYBlockchain/nightfall/pull/96/files

此外,还有部分项目未能及时修复,Beosin安全团队已与项目方取得联系,正在积极协助修复。

针对此漏洞,Beosin安全团队提醒zk项目方,在进行proof验证时,应充分考虑算法设计在实际实现时,由于代码语言属性导致的安全风险。同时,强烈建议项目方在项目上线之前,寻求专业的安全审计公司进行充分的安全审计,确保项目安全。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-6:452ms