据 The Block 报道: Veridise 报告称, ZK 项目的安全审计是其他审计类型的两倍,更有可能发现关键性问题。
该公司的 ZK 审计中有 55% 发现了关键性问题, 而其他 DeFi 审计中只有 27.5% 发现了关键性问题。
区块链安全公司 Veridise 报告称, 对零知识项目的审计更有可能发现关键性问题,比其他审计类型高出两倍。
Veridise 分析了其最近 100 次审计中的 1,605 个漏洞发现, 平均每次审计发现约 16 个问题, ZK 审计的平均值略高,为 18 个发现的问题。
但是, 当关注关键性漏洞时, Veridise 发现 55% (20 次审计中的 11 次) 的 ZK 审计包含关键性问题, 而其他审计 (包括智能合约、钱包集成、区块链实现和中继器) 中只有 27.5% (80 次审计中的 22 次) 包含关键性问题。
ZK 协议因其在区块链交易中增强隐私性和可扩展性的潜力而在加密货币领域越来越受欢迎。 它们使一方能够向另一方证明某个声明是真实的, 而无需透露除该声明有效性之外的任何信息。
然而, Veridise 表示 ZK 安全性"更具挑战性", 审计发现更多关键性漏洞是由于复杂的加密构造以及 ZK 协议的创新性质, 这通常会推动现有加密技术的边界。
Veridise 的 CEO 兼联合创始人 Jon Stephens 告诉 The Block, "开发 ZK 电路需要精确地推理见证发生器中操作的语义。 如果这些语义没有正确地编码为约束条件, 就会出现错误。 电路中确实会有更多错误, 因为这与典型的编程范式有很大不同。"
总体而言, Veridise 审计发现的最常见漏洞是逻辑错误 (385)、可维护性 (355) 和数据验证 (304), 占所有发现问题的 65%。这三类问题也在 360 个 ZK 审计专项发现的漏洞中占主导地位。
虽然可维护性问题不是严格的安全漏洞, 包括例如糟糕的编码实践, 但它们有时"一步之遥"就会变成关键 bug。
在发现的 223 个严重 (关键或高级别) 问题类型中, 逻辑错误 (91) 和数据验证 (35) 问题占主导地位, 其次是"未经约束的电路" (19)、拒绝服务 (16) 和访问控制 (13) 漏洞等。这五种类型占所有审计中高严重性问题的 78%, 共发现 174 个漏洞。
在 ZK 审计专项发现的漏洞中, 虽然严重问题占大多数漏洞类型的 10% 到 30%, 但"未经约束的电路"有 90% 的可能性包含关键或高级别的问题。
Veridise 解释说,"未经约束的电路"是零知识相关审计中的典型问题, 即算术电路的约束条件没有充分强制执行所有必要条件, 以检查某些计算是否正确执行。 这种情况在传统智能合约中是不会发生的。
这意味着恶意方可以制造一个证明, 欺骗验证器接受一个虚假的声明为真, 严重损害了协议的完整性。
在 Veridise 的审计中, 零知识技术经常应用于关键基础设施协议, 如 L2 ZK-rollups、ZK-VMs 和 circom 库 - 其中 Veridise 之前发现了一个"百万美元"的 ZK bug。 这些协议的安全性非常重要, 因为它影响所有建在它们之上的去中心化应用程序。
此外, 逻辑错误是由于代码逻辑流程中的错误而无法执行预期功能, 一个典型的例子是智能合约错误地允许用户提取超过其余额的资金。而数据验证问题则涉及未能正确验证数据的正确性、完整性和真实性。
拒绝服务问题涉及旨在破坏协议正常运行的攻击, 例如智能合约可能被错误地设计成允许攻击者消耗所有可用的 gas。
最后, 访问控制问题涉及用户能够访问受限区域或功能。
Veridise 声称, 自 2018 年以来, 有超过 100 亿美元从各种区块链和 DeFi 平台被黑客攻击。 更好地了解这些漏洞类型,有助于引导 Web3 项目关注最严重的漏洞, 并主动防范它们。