Cracking the Code of DeFi Vulnerabilities: Alp Bassa's Deep Dive into Smart Contract Security

在 Hack Seasons 大会期间的这次独家采访中,Veridise 的研究科学家 Alp Bassa 分享了对 Veridise 创新工具、零知识证明审计的复杂性以及区块链安全的未来的见解。在讨论过程中,我们将通过一位业内顶尖专家的眼光探索数学、密码学和区块链技术的交集。

许多企业家都是因为某个特定的时刻或事件而进入他们的领域。您进入 Web3 的历程是怎样的?

我来自学术背景。我是一名数学家,从事数论研究,专注于有限域上的曲线、椭圆曲线及其在编码理论和密码学中的应用。这些工具被广泛使用,尤其是现在零知识密码学在 Web3 领域的影响力越来越大。

我发现那里发生了很多有趣的事情。然后我开始在 Veridise 工作,他们在那里进行安全审计,并且特别专注于 ZK 领域,而我的专业知识非常适合这个领域。

我们为什么需要安全审计?开发人员可以在没有安全审计的情况下开展工作吗?还是说安全审计是强制性的?

系统的安全性需要您在开发阶段就采取不同的思维方式。并非所有开发人员都能同时关注开发过程的所有方面——确保正确的规范、行为、效率、集成到更大的设置中以及安全性。大多数时候,安全性是整个开发过程中没有得到很好覆盖的一个方面。

开发人员几乎不可能对各种复杂的工具有足够的信心来保证它们被正确使用并且没有漏洞。这只是需要运用一种不同的思维方式。这就是审计有用的原因。

您能详细介绍一下 Veridise 开发的内部工具以及它们如何提高审计质量吗?

可以使用的工具种类繁多。有些比较原始,但不需要太多背景知识,而且很容易使用,比如模糊器。有些则介于两者之间,比如静态分析工具。它们速度很快,但不太准确——它们可能会产生一些误报。

然后,还有一些工具以数学为基础,基于 SMT 求解器和其他数学背景。这些工具非常精确,但计算量很大。我们结合使用所有这些工具(每种工具都有其优缺点)来捕获错误和漏洞。

Veridise 针对 DeFi 协议解决了哪些独特的安全问题?

对于 DeFi 协议,我们有一个静态分析工具,你可以提前告诉系统要寻找什么样的漏洞或要瞄准什么样的结构。漏洞有很多。例如,重入攻击是 2016 年 DAO 黑客攻击的罪魁祸首。闪电贷攻击在对 Cream Finance 的攻击中被利用,导致约 1.3 亿美元被盗。

通过多年审计的经验,我们对漏洞有了很好的了解,我们的工具就是为了检查所有这些漏洞。在审计过程中,我们会逐一详细检查是否存在此类风险。

请详细说明您如何使用 ZK 技术以及为什么 ZK 审计是您的首要任务?

从形式验证的角度来看,ZK 特别有趣,因为它可以很好地转化为工具的使用。我们有专门用于检查 ZK 应用程序的工具。因为它非常适合我们的方法,所以这是我们重点关注的领域。

我们已经确定了核心电路库中的严重漏洞。我们的团队在该领域非常强大,因此我们决定深入研究并走在 ZK 审计的前沿。我们的大部分研究也受到审计员对 ZK 领域的需求和要求的推动。

你们在 ZK 电路方面的专业知识与其他公司有何不同?

我想说,我们的工具是我们与众不同的地方,因为我们有形式验证的背景。我们拥有非常强大的工具,而且到目前为止,项目的范围已经变得如此之大,以至于单靠人类的努力不足以很好地覆盖代码库。这是必要的,但仅靠它本身是不够的。

Veridise 在审计过程中如何平衡手动代码审查和自动化工具分析?

两者都是必要的。我们在审计中也注意到了这一点。大多数时候,当我们进行非常严格的人工审计,然后在代码库上运行工具时,我们会发现一些我们未注意到的漏洞。有时,我们先运行工具,但工具只能检测某些类型的结构。

由于这些系统中有如此多的复杂和抽象层次,仅依靠工具也是不够的。我觉得你离不开其中任何一个,而且我认为这种情况在未来不会改变。

Veridise 的 Vanguard 工具的主要功能是什么,它如何提高智能合约的安全性?

Vanguard 是我们的主要工具之一。它用于静态分析。在静态分析中,您提供预期行为的某些规范,然后检查该规范是否得到满足——在不运行代码的情况下某些属性是否成立。它不是动态的;您不执行代码,但您会静态地尝试评估是否存在可能导致漏洞的某些模式。

Vanguard 有很多种类型。其中有些部分非常适合提高智能合约的安全性,而有些部分则专注于 zk 应用。

您能详细说明一下您在智能合约和 ZK 电路中遇到的漏洞吗?

在我研究较多的 ZK 电路中,最常见的漏洞之一就是电路约束不足。在 ZK 应用程序中,代码库由两部分组成:程序本身(正常执行)和约束。您需要约束以一一对应的方式反映程序执行的行为。

根据最近的一篇论文,ZK 电路中大约 95% 的漏洞都是由约束不足的电路引起的。我们拥有专门用于检测这些约束不足的电路的工具,例如 PICUS。

Veridise 如何处理审计期间发现的漏洞的披露流程?

当然,我们不会在任何时候公开漏洞,因为其他人可能会在修复之前利用该漏洞,特别是在代码库已经在使用的情况下。在审计过程结束时,我们会提供一份审计报告,其中会向客户提供我们发现的所有错误和漏洞的列表。

我们给客户一些时间来修复这些问题,然后他们将修复结果发送给我们,我们会对其进行审查,以检查它们是否真的解决了我们提出的所有问题。我们将所有内容汇总到最终报告中。报告属于客户所有。除非客户同意,否则我们不会将其公开。

如果您访问 Veridise 网页,您可以看到客户同意公开的所有审计报告的列表。在大多数情况下,他们同意我们将其公开。事实上,他们希望它作为代码经过审计并且在审计后尽可能没有错误的证明。

Veridise 如何使其审计流程适应不同的区块链平台和语言?

如你所知,这个领域非常活跃,每天都有新的链、新的语言和表达 ZK 电路的新方法。我们也看到了基于不同环境或语言的传入项目和审计请求。我们顺应潮流,看看请求来自哪里,并感受到这个领域在不久的将来会朝哪个方向发展。

我们尝试调整我们的工具以满足社区的需求。未来我们会继续这样做,并根据该领域的发展动态地做出改变。

您能详细说明一下您将来计划实施的工具吗?

在不久的将来,这些工具将会发生一个变化,那就是我们将提供安全即服务。这就是我们的 SaaS 平台,我们将在这个平台上提供工具供人们在开发过程中使用。

我们不会先完成整个项目,然后再进行审核,而是将我们的工具设置为开发人员可以在开发过程中使用它们,以确保他们开发的代码是安全的,并且不包含任何漏洞。SaaS 应该在不久的将来可用。

《破解 DeFi 漏洞代码:Alp Bassa 深入探究智能合约安全性》一文最先出现在 Metaverse Post 上。