一文概览DeFi生态安全全景
原文作者: BlockSec
引言
随着 DeFi 发展不断重塑金融格局,安全始终是 DeFi 生态面临的重大挑战,安全问题每年都造成数十亿美元的资产损失。
根据 Chainalysis 的数据, 2023 年 DeFi 黑客攻击导致超过 11 亿美元的资产损失。尽管这一数字较 2022 年有所下降,但 2023 年出现了新的 DeFi 攻击趋势。例如,一些长期安全运行的知名协议,如 Curve 和 KyberSwap,也遭到攻击。此外,还出现了针对基础设施漏洞(如 Flashbots Relay)的复杂攻击。
Security Incident Dashboard 数据显示, 2024 年上半年共发生超过 50 起造成 10 万美元以上损失的黑客攻击事件。
近期黑客攻击事件
(来源: Security Incident Dashboard)
? https://app.blocksec.com/explorer/security-incidents
安全对于 DeFi 协议发展至关重要。部分协议管理着数十亿美元的用户资产,安全事件会给用户带来重大损失。虽然在某些情况下,被盗资金可以(部分)追回(例如 Euler 攻击事件),但我们不能将希望完全寄托于此。每一次的攻击事件,都在削弱用户对 DeFi 的信心。
尽管业界已提出许多增强安全性的措施,但 DeFi 安全仍有很大的提升空间。从积极的一面来看,代码审计已成为社区共识,大多数协议在上线前都会进行审计,这有助于降低由智能合约漏洞导致的攻击风险。然而,单靠代码审计远远不足以解决所有安全问题。代码审计无法防止由合约升级、配置更改和外部依赖引入漏洞所导致的攻击。鉴于这些局限性,一些协议开始采用更加主动的解决方案,如运营监控和攻击检测系统。
在本文中,我们将纵览协议从上线前(Pre-Launch)、上线运营(Post-Launch)、到攻击响应(Attack Response)阶段可采取的安全举措,来了解 DeFi 安全全景。我们将详细介绍每类安全举措及其主要的供应商/产品,以及它们的优缺点。希望本文能帮助社区更好地了解 DeFi 安全现状,为创新的安全解决方案带来启发。
DeFi 安全全景
DeFi 协议的安全举措应当贯穿协议上线前到上线后的全生命周期,确保协议本身以及运营期间的安全性。此外,针对潜在攻击提前部署预防措施和响应计划同样至关重要。为帮助读者清楚地了解目前有哪些 DeFi 安全解决方案,我们将相关供应商(产品)分为以下几类。
Pre-Launch Security
协议上线前可采取的安全措施,包括代码审计、形式化验证和安全测试。
代码审计服务&竞赛
代码审计是社区公认的保障协议安全的做法。在此过程中,安全公司会对已冻结的代码进行半自动化审查,即自动化扫描代码中的常见漏洞,再通过人工审查复杂漏洞,代表性的审计公司有 OpenZeppelin、ChainSecurity、BlockSec 等。
此外,还有审计竞赛平台。与直接提供审计服务的审计公司不同,这些平台公开发布审计需求,吸引社区中的安全研究人员参与审计竞赛,并将奖励分配给发现协议漏洞的参赛者。审计竞赛平台包括 Code 4 rena、SHERLOCK、Cantina、Secure 3 等,各个平台在漏洞严重级别、分配奖励和参与标准上都存在一些差异。
代码审计是协议安全的第一道防线。然而,它也存在一些局限性,这也是为什么许多由知名公司审计的协议仍旧未能避免黑客攻击。
-
首先,静态代码审计无法解决由协议依赖引起的安全问题,DeFi 协议的可组合性更加剧了这一点。
-
其次,在代码审计过程中,一些问题没有受到足够的重视。例如,精度损失是一个常见问题,可能会被审计员和协议方忽视。直到 Hundred Finance 和 Channels Finance 事件发生后,社区才充分认识到精度损失的安全影响。
-
最后,高质量的代码审计仍然是稀缺资源,需要具有安全、金融和计算机科学知识的跨学科人才,而目前很少有大学能够持续且大规模地提供此类人才。因此,一些协议尽管进行了审计,但提供审计服务的审计人员专业性上是不足的。
形式化验证
“形式化验证根据某种形式规范或属性,使用数学方法证明系统的正确性或不正确性。” 形式化验证可以确保 DeFi 协议的行为符合形式规范。例如由 Certora 开发的 Prover 可以对 DeFi 协议进行形式化验证。开发者提供规则(规范),Prover 将探索每一种可能的程序状态,将结果与规则进行比较,从而识别漏洞。
形式化验证的最大优势在于它能够通过数学证明管理数十亿资产的 DeFi 协议的正确性。然而,实际应用中的一些限制阻碍了其广泛采用。
-
首先,规范需要由开发者提供,这要求开发者对协议的预期行为有详细的文档说明,而大多数开发并非这一领域的专家。
-
其次,协议的频繁升级可能需要更新规范并重新评估协议,一些协议可能无法付出这么多的时间和精力。
尽管存在这些限制,我们仍然认为协议应该进行形式化验证,特别是那些尚未经过时间检验且管理大量用户资产的新协议。但是,如何增强形式化验证的可操作性并提高其采用率,仍然是当下面临的一个巨大挑战。
安全测试
安全测试通过测试用例来发现协议中存在的潜在问题。相较于通过数学方法证明协议正确性的形式化验证,安全测试一般使用具体的输入数据(而非形式化验证中的符号输入),因此效率更高,但全面性略低。
Foundry 是一个颇受欢迎的智能合约开发测试框架。开发者可以在 Foundry 中执行测试,还能够对 DeFi 协议进行差分测试、不变性测试及差异测试。其他安全测试工具还包括 Tenderly 和 Hardhat。
Post-Launch Security
协议上线后可采取的安全措施,包括 Bug Bounty、攻击检测和运营监控。
Bug Bounty
Bug Bounty 搭建起了协议和安全研究人员之间的桥梁。协议在 Bug Bounty 平台发布赏金计划,详细说明赏金范围和奖励金额,安全研究人员通过报告协议的零日漏洞来获取奖励。Immunefi 是一个具有代表性的 Web3 Bug Bounty 平台。
攻击检测
攻击检测平台通过扫描交易识别恶意交易。具体来说,这些平台会扫描与协议交互的每笔交易来寻找恶意行为,在识别恶意交易后系统触发警报。
例如,BlockSec Phalcon 扫描每一笔内存池和链上交易,通过分析交易的行为特征来识别恶意行为(如恶意合约、恶意提案)。它就像一位安全卫士,不眠不休地监控每一笔交易的每一个细节寻找不寻常的动向。它从这些交易中提取行为模式,并使用金融模型(类似银行用于检测欺诈的模型)来识别潜在攻击。类似的系统还包括 Hypernative 和 Hexagate 提供的产品。此外,Ironblocks 的 Venn Security Network 提供了一个去中心化基础设施,能够聚合多个来源的检测结果。
运营监控
顾名思义,运营监控框架监控协议上线后的运营安全。比如,实时掌握管理员密钥变更情况、智能合约的部署与更新,并自动检测拉取请求中的安全漏洞。OpenZeppelin Defender 平台能够帮助开发者安全地编写、部署、运行智能合约。BlockSec Phalcon 能够监控合约升级、Safe 钱包交易(如被发起、新签署、执行)、访问控制及治理相关风险。另外,通过实时监控系统 Forta Network,用户能够创建机器人监控协议,或者订阅现有机器人来接收钓鱼等安全威胁警报。
Attack Response
攻击发生后自动触发或紧急采取的安全措施,包括攻击阻断、自动响应、War Room、攻击成因分析以及攻击者资金流追踪。
在这五项响应措施中,尤其值得注意的是攻击阻断,因为项目方能够提前部署,在攻击发生前阻断攻击,将损失降至零,自动响应平台也有助于减少攻击造成的损失。
建立 War Room、进行攻击成因分析和资金流追踪是攻击发生后采取的应对措施,虽然有助于减少损失、防范未来的类似攻击,但很可能已经造成重大损失且难以追回。此外,项目声誉受损及用户信任流失可能带来深远的负面影响。风险似乎无处不在、防不胜防,但项目方并非只能被动应对,可以提前部署防范措施,这也是更为推荐的做法。
攻击阻断
攻击检测是获知黑客攻击的重要渠道,但如果要对抗黑客攻击,只有检测远远不够。因为如果没有自动化的攻击阻断能力,手动采取响应措施往往来不及。以 KyberSwap、Gamma Strategies 和 Telcoin 攻击事件为例,这些协议在攻击的数分钟甚至几小时后才采取了响应措施,黑客在这段时间内发起多笔攻击交易,盗走巨额资产。七月的 Velocore 和 Rho 攻击事件则导致 Linea 和 Scroll 全链暂停运行,引发了用户对 L2 链中心化问题的关注。
攻击阻断能够自动防范黑客攻击,这依赖于两项核心技术: 提前检测和自动抢跑。 提前检测指的是在交易上链之前,还在内存池阶段时,就能识别出哪些是攻击交易。自动抢跑则是在攻击交易上链之前,优先提交一笔抢跑交易暂停协议,从而阻止攻击交易的执行。这种方法在攻击实质发生之前就进行阻断,从而避免了损失。
在这一类别中,BlockSec Phalcon 是唯一拥有这些核心技术的产品。黑客发起攻击交易后,Phalcon 的攻击监测引擎可以提前检测到这笔交易,向用户推送攻击告警,同时自动抢跑暂停协议,将损失降低至 0 。该产品的攻击阻断能力已在过往的二十多次白帽救援中得到验证,共挽救了超过 2000 万美元资产。
自动响应
除了攻击阻断平台外,Phalcon、Hexagate、Hypernative 等平台也可以在发生攻击时自动响应。
订阅此类平台后,用户可以针对各类协议风险设置监控以及响应措施。如果一笔交易命中了监控规则,系统就会自动发起用户提前设置的响应措施(如暂停协议),从而降低损失。不过,部分平台不具备攻击检测引擎,系统无法直接识别攻击交易并告知用户,而是需要用户自定义一笔交易满足哪些条件下可以判定为攻击。由于攻击交易的特征非常复杂,而用户(往往是合约开发者)不一定具备足够的安全知识,这对用户来说是很有挑战性的。
War Room
当协议面临攻击时,建立 War Room 显得尤为关键。这有助于协议掌握情况、与社区及时同步信息,并有效整合资源以采取应对措施,这需要多领域专家的密切合作。
SEAL 911 旨在“在紧急情况下,帮助用户、开发者和安全研究人员直接联系到值得信赖的安全专家”。用户可以通过 SEAL 911 Telegram Bot(https://t.me/seal_911_bot)获取这个服务,在项目遭到攻击时,迅速组建 War Room 应对安全挑战。
攻击成因分析
当协议遭受攻击时,关键是要识别出问题的根源,例如智能合约内部的漏洞以及漏洞是如何被利用的。分析攻击交易需要借助一些工具, Phalcon Explorer 、OpenChain 和 Tenderly 都是不错的选择。
资金流追踪
资金流追踪是指链上追踪攻击者的初始资金和攻击获利,来定位相关的地址和实体。如果这些资产流向了中心化实体(例如,中心化交易所和其他机构级实体),可以联系执法机关帮助冻结资金。
Chainalysis、TRM Labs、ARKHAM、ELLIPTIC 和 MetaSleuth 是该领域的代表性公司/产品。例如,MetaSleuth 可以自动追踪跨链资金流,并提供丰富的地址标签。ARKHAM 建立了一个社区,协议方可以在此发布调查 Bounty 激励社区成员协助追踪攻击者的资金流向。
安全教育资源
知识是最好的防线。除了前面提到的安全供应商和产品外,还有一类角色对于 DeFi 安全至关重要:教育平台。这些平台提供的资源或资讯能够帮助 DeFi 从业者和用户深入理解安全知识、提高安全意识、培养安全技能,为推动 DeFi 安全发展提供了重要作用。我们对这些平台致以敬意,并分享以下几个值得关注的平台。
-
SΞCURΞUM: 一个专注于以太坊安全的 Discord 社区,并且定期举办智能合约安全竞赛 “Secureum RACE”
? https://x.com/TheSecureum
-
Security Incidents Dashboard: 该平台汇总并实时更新损失超过十万美元的攻击事件,并提供损失金额、受影响的链、漏洞类型、攻击成因分析和 PoC 等详细信息
? https://app.blocksec.com/explorer/security-incidents
-
Rekt: 被称为 DeFi 新闻的暗网,提供对 DeFi 漏洞利用、黑客攻击和诈骗行为的深入分析。
? https://rekt.news/
-
RugDoc: DeFi 安全和教育社区。该平台提供项目风险评估信息,还有一个介绍 DeFi 生态和技术的平台 RugDocWiKi。
? https://rugdoc.io/
-
DeFiHackLabs: Web3 安全社区,致力于帮助 Web2 安全人才进入 Web3 领域,在全球拥有两千多成员和近两百位白帽黑客,DeFiHackLabs 的仓库提供了丰富的学习资源。
? https://x.com/DeFiHackLabs
-
Solodit: 该平台收录了 Web3 审计公司过往的审计报告。
? https://solodit.xyz/
-
Ethernaut: 一款基于 Web3/Solidity 的游戏,玩家需要识别以太坊合约的漏洞,形式类似于 CTF。
? https://ethernaut.openzeppelin.com/
结语
安全问题每年造成数十亿美元的损失,是 DeFi 生态长期面临的严重威胁。目前,大多数安全措施针对的是项目上线前的安全问题。然而,安全领域没有“银弹”。在协议发展的不同阶段,都应该有相应的措施来保障其安全,并且贯穿协议的全生命周期。
我们期待行业能够认识到项目上线后安全的重要性,采取措施监控协议风险并自动阻断攻击。
我们也希望 DeFi 生态能够形成安全第一的共识,从而更好地保护用户的资产安全。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum