PRO:Beosin | 深度剖析零知识证明zk-SNARK漏洞:为什么零知识证明系统并非万无一失?

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

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

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

Beosin:BNBChain上THB项目遭受攻击事件分析:10月1日消息,据Beosin EagleEye平台监测显示,THB项目遭受攻击。Beosin安全团队分析发现攻击者0xbC62b9BA570aD783d21E5eB006F3665D3f6bBA93利用重入漏洞盗取THBR NFT,攻击合约0xfed1b640633fd0a4d77315d229918ab1f6e612f9,攻击交易0x57aa9c85e03eb25ac5d94f15f22b3ba3ab2ef60b603b97ae76f855072ea9e3a0

目前盗取的8个NFT任在攻击者账户(0xfeD1...12f9)。[2022/10/1 18:36:58]

最后使用刚伪造的attackHash:

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

分析 | Beosin预警:某游戏合约正遭受薅羊毛攻击:Beosin(成都链安)预警:今天下午3:04分开始,根据成都链安区块链安全态势感知系统Beosin-Eagle Eye检测发现,黑客正对poker****合约进行薅羊毛攻击。经过成都链安技术团队分析,黑客账户部署攻击合约,通过大量的onerror通知,在onerror内预计算开奖结果的方式,持续使大量子账号中奖,每个账号都会获得0.05EOS并将奖励转给攻击者主账号。成都链安提醒各项目方提高警惕,加强安全防范措施,必要时联系安全公司进行安全服务,避免不必要的资产损失。[2019/5/23]

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

4.修复方案

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

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

图源: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验证时,应充分考虑算法设计在实际实现时,由于代码语言属性导致的安全风险。同时,强烈建议项目方在项目上线之前,寻求专业的安全审计公司进行充分的安全审计,确保项目安全。

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

地球链

火币下载SIG:SignalPlus宏观点评(20230510)

各位朋友,欢迎来到SignalPlus宏观点评。SignalPlus宏观点评每天为各位更新宏观市场信息,并分享我们对宏观趋势的观察和看法。欢迎追踪订阅,与我们一起关注最新的市场动态.

[0:0ms0-0:970ms