TL;DR
- 安全仍然是DeFi中的一个关键且持续的挑战,每年损失数十亿美元。
- DeFi协议的安全措施应贯穿其整个生命周期,从预发布到发布后,确保固有和运营方面的安全。实施预防性策略和应急计划以减轻潜在攻击至关重要。
- 以代码审计为核心的预发布安全已成为社区共识。然而,尽管出现了发布后安全解决方案(例如攻击监控和阻止),但社区尚未充分认识到它们的重要性。
- 持续改进安全实践并转向安全优先文化对于保护用户资产和增强生态系统的信任至关重要。

引言
随着DeFi不断革新金融格局,安全问题仍然是该生态系统内的一个重大担忧,每年造成数十亿美元的损失。
根据Chainalysis的数据,2023年DeFi黑客攻击造成了超过11亿美元的损失。尽管与2022年相比,这一数字有所下降,但2023年的DeFi黑客攻击呈现出多种新趋势。例如,像Curve和KyberSwap这样多年来安全运行的知名协议遭到了攻击。此外,针对基础设施漏洞的复杂攻击,例如Flashbots relay的攻击也暴露了出来。
根据Security Incident Dashboard的数据,2024年上半年发生了五十多起造成损失超过10万美元的黑客攻击事件。

安全是DeFi应用繁荣和大规模采用的关键因素。这是因为DeFi协议管理着用户价值数十亿美元的资产,任何针对这些协议的黑客攻击都可能导致受影响用户的巨额损失。尽管在某些情况下,被盗资金可以(部分)追回(例如Euler安全事件),但我们不能每次都指望这一点。每一次攻击都会侵蚀人们对DeFi的信心。
尽管已经提出了多种方法来增强DeFi的安全性,但仍有很大的改进空间。
- 积极的一面是,代码审计已成为确保安全性的社区共识。大多数协议在发布前都会进行代码审计,这有助于减少智能合约漏洞造成的攻击面。
- 然而,仅靠代码审计远不足以解决所有安全问题。它无法防止由智能合约升级、配置更改以及跨不同协议的运行时依赖关系引入的漏洞所导致的黑客攻击。
鉴于这些局限性,已涌现出更多主动性解决方案,例如运营监控或攻击检测系统,并已被一些协议采用。
在本博客中,我们将通过追踪协议在不同阶段(从预发布阶段到运营阶段,再到攻击响应)的安全之旅,来探讨DeFi安全格局。我们将详细介绍各种安全措施,并重点介绍每个阶段的主要供应商(产品),讨论它们的优缺点。 我们希望我们的见解能帮助社区更好地了解最新进展,更重要的是,能激发未来的创新解决方案。
DeFi安全格局
DeFi协议的安全措施必须涵盖其整个生命周期,从预发布阶段到发布后阶段,确保协议的固有安全和运营安全。此外,必须制定预防措施和应急计划,以应对潜在的攻击。为了帮助读者理解可用的解决方案,我们将DeFi安全供应商(产品)分为以下几类。
预发布安全
本类别包括在协议发布前进行的安全措施,包括代码审计、形式化验证和安全测试。

代码审计服务和竞赛
代码审计是社区中一项被广泛接受的安全实践,用于保护协议。在此过程中,代码将由安全公司以半自动方式进行审查,即通过自动扫描代码中的常见漏洞,并手动审查代码中的复杂漏洞。代表性公司包括OpenZeppelin、ChainSecurity、BlockSec等。
此外,还有审计竞赛平台,它们与安全审计公司在审计方式上有所不同。这些平台发起审计竞赛,邀请社区中的安全研究人员进行审计竞赛,并将奖金发给发现协议中问题的人。当然,平台在评估严重性、分配奖励的算法以及参与安全研究员的标准等方面可能存在一些细微差异。此类平台包括Code4rena、SHERLOCK、Cantina和Secure3。
代码审计(和竞赛)是协议安全的第一道防线。然而,它存在实际局限性,这解释了为什么许多由知名公司审计的协议仍然遭到黑客攻击。
- 首先,静态代码审计无法完全评估由协议依赖关系引起的安全问题,特别是由于DeFi协议的组合性。
- 其次,一些问题的安全影响在代码审计期间被低估了。例如,精度损失是一个常见问题,可能会被审计人员和协议忽略。直到Hundred Finance和Channels Finance事件发生后,社区才完全认识到其安全影响。
- 最后但并非最不重要的是,高质量的代码审计仍然是一种声望高但稀缺的资源,需要精通安全、金融和计算机科学的多学科人才。目前很少有大学能够稳定、大规模地提供此类人才。因此,协议可能会被不合格的公司审计。
形式化验证
“形式化验证是使用数学中的形式化方法,证明或证伪系统相对于某个形式规范或属性的正确性。”由于它可以证明系统的正确性,因此形式化验证已应用于DeFi协议。具体而言,它可以确保DeFi协议的行为符合形式规范。DeFi协议形式化验证产品的代表是Certora开发的Prover。开发人员提供规则(规范),Prover将通过探索所有可能的程序状态来比较结果与规则,从而识别错误。
形式化验证最令人鼓舞的方面是它能用数学方法证明DeFi协议的正确性。然而,在实践中,它仍然存在一些阻碍其广泛采用的局限性。
- 首先,规范应由开发人员提供,这要求开发人员对协议的预期行为有记录良好的规范。考虑到大多数开发人员不是该领域的专家,这并不容易。
- 其次,协议的频繁升级可能需要更新规范和重新评估协议。有些协议可能无法承担所需的时间和精力。
尽管如此,协议,特别是那些尚未经受实战考验且管理大量用户资产的新协议,应该进行形式化验证。然而,提高形式化验证的可用性和采用率仍然是一项持续的挑战。
安全测试
安全测试是指使用测试用例查找协议中错误的过程。与数学上证明协议正确性的形式化验证相比,安全测试通常使用具体输入而不是形式化验证中的符号输入,因此效率更高但可靠性较低。
- Foundry是用于智能合约的流行开发和测试框架之一。开发人员可以在Foundry中运行测试。它还提供了对DeFi协议进行模糊测试、不变量测试和差分测试的功能。
- 其他安全测试工具包括Tenderly和Hardhat。
发布后安全
本类别包括协议发布(或上线主网)后进行的安全措施,包括赏金计划、攻击检测和运营监控。

赏金计划
赏金计划在协议和安全研究人员之间建立了桥梁。基本理念是激励研究人员报告零日漏洞,以换取奖励。具体来说,协议可以在赏金平台上列出其赏金,详细说明赏金范围和报告的错误所获得的奖励金额。
攻击检测
攻击检测平台会扫描交易以查找恶意交易。具体来说,这些平台会审核与协议交互的交易是否存在恶意行为。如果发生此类交易,将触发警报。
- 例如,BlockSec Phalcon扫描交易并采用基于行为的检测引擎来检测恶意活动(例如恶意合约或提案)。可以将其视为一个虚拟安全卫士,观察金融交易的每一步,寻找任何可疑行为。它就像侦探分析线索一样,从这些交易中提取行为模式,然后使用金融模型——类似于银行用于检测欺诈的模型——来识别潜在的攻击。
- 类似的系统包括Hypernative和Hexagate提供的产品。
- 此外,Ironblocks的Venn Security network提供了一个去中心化的基础设施,将来自多个来源的检测结果结合起来。
运营监控
运营监控框架为DeFi协议的运营安全提供了一种实现方式。例如,DeFi协议需要了解管理员密钥更改、执行智能合约部署和升级,并自动扫描拉取请求中的安全漏洞。
- OpenZeppelin Defender提供了一个平台,允许开发人员安全地编写、部署和操作智能合约。
- BlockSec Phalcon可以监控与合约升级、安全钱包交易创建、新签名和执行、访问控制和治理相关的风险。
- Forta Network拥有一个基础设施,允许用户构建自己的机器人来监控他们的协议,或订阅现有机器人以获取网络钓鱼或威胁警报。
攻击响应
本类别包括攻击发生时触发的安全措施,包括攻击阻止、自动操作、应急响应中心、根本原因分析和攻击者资金流跟踪。

在攻击响应的五项措施中,攻击阻止尤为值得注意,因为它允许项目团队提前部署预防措施,成功阻止攻击在执行前发生,并将损失降至零。自动响应平台也有助于减少攻击造成的损害。
建立应急响应中心、进行根本原因分析以及跟踪被盗资金是在攻击发生后采取的被动步骤。虽然这些策略可以减轻部分损失并有助于防止未来发生类似攻击,但损失可能已经发生,并且可能难以追回。此外,对项目声誉的损害以及由此导致的信任丧失可能是深远的。
风险无处不在,并且往往超出控制范围,但选择部署预防性防御措施是可行的,并且强烈推荐。
攻击阻止
在实践中,攻击检测不足以对抗黑客攻击。这是因为,在无法自动阻止黑客攻击的情况下,手动响应速度不够快。在某些情况下(如KyberSwap、Gamma Strategies和Telcoin在下表中),协议需要花费几分钟甚至几个小时才能采取手动操作,这为时已晚,无法挽救协议中的资产。在最近对Velocore和Rho的黑客攻击中,整个Linea和Scroll链分别被暂停,这引发了对L2链的中心化担忧。

攻击阻止是自动防止黑客攻击的能力,需要两种关键技术:早期检测和攻击的自动抢先执行。
- 早期检测意味着系统可以在攻击交易在区块链上最终确定之前识别它们,特别是在它们仍在内存池中等待时。
- 抢先执行攻击是指在攻击交易之前将一个交易提交到链上以暂停协议,从而有效地在攻击执行之前阻止它。
在本类别中,BlockSec Phalcon是唯一具备这些关键技术的产品。在黑客发起攻击交易后,Phalcon的攻击监控引擎可以立即检测到该交易,向用户发送攻击警报,并自动抢先执行以暂停协议,将损失降至零。其关键技术已在超过二十起挽救了超过2000万美元的事件中得到实战检验。
自动操作
Phalcon、Hexagate和Hypernative等平台在发生攻击时也可以自动响应。
订阅这些平台后,用户可以为各种协议风险设置监控和响应措施。如果交易符合监控规则,系统将自动执行用户预设的响应操作(例如暂停协议),从而减少损失。
然而,有些平台没有攻击检测引擎,系统无法直接识别攻击交易并通知用户。相反,它要求用户自定义何种交易可被视为攻击。由于攻击交易的特征非常复杂,而用户(通常是合约开发者)可能没有足够的安全知识,这对他们来说可能相当具有挑战性。
应急响应中心
协议遭受攻击时需要建立一个应急响应中心。这有助于协议了解情况,在社区中共享情报,并利用资源采取进一步行动。这通常涉及来自不同视角的专家。
SEAL 911是一个项目,旨在“使用户、开发人员和安全研究人员能够在紧急情况下以可访问的方式与一小组高度信任的安全专业人员联系。”可以通过SEAL 911 Telegram Bot联系到它。如果项目遭受黑客攻击,可以建立一个应急响应中心来协助该协议。
根本原因分析
发生攻击时,协议需要了解根本原因,例如智能合约中的漏洞以及如何被利用。这需要一些有用的工具来分析攻击交易。Phalcon Explorer、OpenChain和Tenderly可用于此目的。
资金流跟踪
资金流跟踪是追踪攻击者的初始资金和攻击利润在区块链上的流向,以定位相关的地址和实体。如果资产流入中心化实体(例如中心化交易所和其他机构级实体),可以联系执法部门帮助冻结资金。
这一类别中有几家公司和工具,包括Chainalysis、TRM Labs、ARKHAM、ELLIPTIC、MetaSleuth等。
- 例如,BlockSec开发的MetaSleuth可以自动跨链追踪资金,并提供丰富的钱包地址标签。
- ARKHAM有一个社区,协议可以在调查上设置赏金,激励社区帮助追踪攻击者的资金。
安全教育资源
知情的人能建立更强大的防御。除了上面提到的安全供应商和产品之外,DeFi安全还有另一个关键组成部分:教育平台。

这些平台为DeFi从业者和用户提供了重要的资源,以了解安全洞察、提高意识并发展安全技能。它们在DeFi安全的进步中发挥着至关重要的作用。我们对这些教育平台表示赞赏,并列出一些值得注意的例子。
- SΞCURΞUM:一个专注于以太坊安全的Discord社区。它还每月举办一次智能合约安全测验,“Secureum RACE”。
- Security Incidents Dashboard:该平台收集所有造成损失超过10万美元的攻击事件,详细说明损失、受影响的链、漏洞、根本原因和PoC。
- Rekt:被称为DeFi新闻界的暗网,Rekt提供了对生态系统内漏洞利用、黑客攻击和欺诈的深入分析。
- RugDoc:一个DeFi安全和教育社区,评估项目风险。它还设有一个名为RugDocWiKi的平台,介绍DeFi生态系统和技术。
- DeFiHackLabs:一个Web3安全社区,拥有超过2600名成员和近200名白帽黑客,旨在弥合Web2和Web3安全专业知识的差距。
- Solodit:一个汇集了各种Web3审计公司历史报告的平台,为智能合约审计人员提供了宝贵的资源。
- Ethernaut:一个基于Web3/Solidity的游戏,玩家可以在其中识别以太坊合约漏洞,类似于CTF挑战。
结论
安全仍然是DeFi生态系统持续存在的严重威胁,每年造成数十亿美元的损失。目前,大多数安全措施都在预发布阶段进行。然而,安全领域没有“银弹”,在DeFi协议的整个生命周期中都应执行不同的措施。我们期望行业能够采用发布后安全解决方案,进行监控,更重要的是,自动阻止攻击。我们预计,将在生态系统中建立安全优先文化,以全面保护用户资产。



