Wormhole 安全计划

本文档详细介绍了 Wormhole 项目的安全计划,包括第三方安全审计、漏洞赏金计划、信任假设、白帽黑客活动、链集成商安全建议、社交媒体监控、事件响应以及紧急关闭策略。强调通过多方审计、激励漏洞报告、明确责任以及 Guardian 节点的监控来提升整体安全性。

安全

以下文档描述了 Wormhole 安全项目的各个方面。

目录

Wormhole 项目聘请第三方公司对 Wormhole 进行独立安全审计。在任何给定时间,都可能有多个审计流程在进行中。

随着这些第三方审计的完成以及问题得到充分解决,我们会公开这些审计报告。

漏洞赏金计划

Wormhole 项目运营一个漏洞赏金计划,以在经济上激励独立研究人员发现并负责任地披露安全问题。

Immunefi 托管计划

如果你在 Wormhole 中发现安全问题,请立即使用上面的漏洞赏金计划报告该问题。

如果存在重复报告(无论是同一报告者还是不同报告者),则按时间戳顺序,第一个报告将被接受为官方漏洞报告,并将遵守该计划的具体条款。

信任假设

Wormhole 上的共识由 Guardian Set 中的两个 Guardian(又名:验证者)子组达成,它们具有以下能力:

  • 超级多数(任何 2/3+ 数量的 Guardian - 19 个中的 13 个)
    • 可以传递消息
    • 核心消息传递
    • Token/NFT 价值移动
    • 可以通过治理
    • 设置费用
    • 升级合约
    • 升级 Guardian Set
  • 超级少数(任何 1/3+ 数量的 Guardian - 19 个中的 7 个)
    • 可以审查消息或治理
    • 拒绝签署观察到的消息
    • 拒绝观察区块链
    • 拒绝运行 guardian 软件

当前的 Guardian Set 中有 19 个 Guardian,由加密领域一些最大和最负盛名的质押提供商组成。这种级别的运营安全多样性是一种有用的属性,可以防止由于单个或少数几个组织的运营失败而导致 Guardian Set 的整体崩溃。

预计 Guardian Set 会随着时间的推移而增长,以进一步分散 Wormhole Guardian Set 和 Wormhole 网络。

白帽黑客

Wormhole 项目希望降低白帽黑客在 Wormhole 中寻找安全漏洞的门槛。为什么?这个过程越容易,白帽黑客就越有可能在 Wormhole 中发现漏洞并负责任地披露它们,从而有助于保护网络安全。

以下是开始使用 Wormhole 的一些有用的策略:

  • 查看现有的单元和集成测试(可在 CONTRIBUTING.md 中找到),并查看已在测试的内容。
    • 检查可能完全缺少测试覆盖率的地方。这可能是寻找我们遗漏的东西的绝佳地点。
    • 检查存在单元/集成测试但缺乏足够的负面测试覆盖率的地方。
  • 查看不同的智能合约实现(例如,Solana、EVM、CosmWasm、Move),并尝试了解它们的不同之处以及原因。
    • 一个链是否有另一个链没有的安全检查?
    • 一个链是否有一组特定的细微差别/陷阱,而另一个链上却错过了这些细微差别/陷阱?
  • 考虑超越源代码
    • 查看链上已部署的合约。是否有遗漏的奇怪之处?

本节将继续迭代白帽引导策略,因为从 Wormhole 上的黑客攻击和社区成员那里吸取了教训。

重要的是要记住这是一个迭代过程,并保持积极的态度。如果你花时间提出一个新的测试用例,但实际上并没有发现错误,请发送一个包含其他正面和负面测试用例的pull request。这个过程已经反复证明可以提高你对 Wormhole 的理解能力,并且会增加你发现未来错误的几率。

链集成商

随着连接到 Wormhole 的链的数量增加,给定连接可能给 Wormhole 网络带来风险的可能性也随之增加。因此,Wormhole 确实具有内置的安全功能(例如:Governor 白皮书)以降低此类情况的“爆炸半径”。也就是说,需要一种深度防御策略,以尽可能地保护网络安全。作为此方法的一部分,Wormhole 项目建议所有当前和未来的连接链都实施强大的安全程序,以尽自己的一份力量来管理链对 Wormhole 网络的损害风险。

以下是连接链可以保持高安全标准的一些方法:

对于源代码,请确保相关部分:

  • 全部开源(必需)
  • 由独立的第三方进行审计,并提供公开的审计报告
  • 包含在公开的漏洞赏金计划中。赏金奖励应足够大,以激励白帽思维在发现安全漏洞并负责任地披露它们方面发挥作用
  • 版本控制系统包含足够的访问控制和强制性代码审查(例如:在 github 中,使用分支保护和最少一个独立的审查者来合并代码)
  • 在存储库的根目录中维护一个 SECURITY.md(如本文件),以提供有关安全相关主题的指导和透明度
  • 包含足够的单元和集成测试覆盖率(包括负面测试),这些测试通过持续集成在每次提交时运行。确保这些测试运行的结果对公众可见

此外,请确保:

  • Wormhole 团队拥有足够的联系信息以及相关的呼叫或寻呼树,以便在发生安全事件时与你联系。
  • Wormhole 拥有相关桥合约的完整升级权限,以便在发生安全事件时迅速采取行动。
  • 你已建立事件响应程序,并制定了既定的模式和行动手册,以确保可预测的结果以进行遏制。
  • 当确实发生安全问题时,请确保链尽一切努力通知受影响的各方,并以透明的方式进行领导。

社交媒体监控

Wormhole 项目维护一个社交媒体监控程序,以便及时了解重要的生态系统发展。

这些发展包括监控 Twitter 等服务中的关键短语和模式,以便 Wormhole 项目了解可能对 Wormhole、其用户或 Wormhole 连接的链产生不利影响的依赖项中的漏洞或漏洞。

如果发生需要响应的大型生态系统发展,Wormhole 项目将启动其安全事件响应程序。

事件响应

Wormhole 项目维护一个事件响应程序,用于响应对 Wormhole、其用户或其连接的生态系统的漏洞或主动威胁。Wormhole 可以通过各种不同的来源(例如,漏洞赏金计划、审计结果、安全监控、社交媒体等)了解安全事件。

当 Wormhole 项目的贡献者意识到安全事件时,该贡献者立即担任该问题的事件指挥官的角色,直到他们移交给更合适的事件指挥官。贡献者不需要是“安全人员”或拥有任何特殊权限即可担任事件指挥官的角色,他们只需要负责任地、有效地沟通,并履行以下义务来管理事件直至完成。

Wormhole 的事件指挥官的角色包括以下最低义务:

  • 了解正在发生的事情、严重程度,并推进事件的状态。
  • 识别并联系解决该问题所需的相关的响应者。
  • 确定遏制所需的措施(例如,安全补丁、已部署的合约、治理仪式)。
  • 建立一个专门的实时通信渠道,供响应者协调(例如,Slack、Telegram、Signal 或 Zoom)。
  • 建立一个私有事件文档,可以在其中跟踪问题、时间表、操作、工件、经验教训等,并与响应者共享。
  • 当事件结束时,与主要响应者一起举办回顾,以了解将来如何更好地处理事情(这是一个不追究责任的会议,目标客观上是提高 Wormhole 未来的准备和响应能力)。
  • 在相关的票证跟踪器中创建问题,以针对根据经验教训采取的行动。

紧急关闭

Wormhole 项目评估了拥有一项安全功能的概念,该功能可以在生存危机状态下暂停 Wormhole 智能合约,而无需合约升级。但是,经过仔细考虑,该项目已选择此时不引入此类功能。

做出此决定的理由包括以下考虑因素:

  • 引入了协议针对关闭事件的新的信任假设。
  • 增加了为每个受支持的运行时设计、开发和维护关闭功能的额外工程开销。
  • 增加了与 Wormhole 相关智能合约的攻击面,这可能会引入新的错误。
  • 为可能每年使用一次的功能增加了每笔交易的 gas 成本。
  • 对生存危机可能出现在代码中的位置做出了假设。

作为一种替代方法,Wormhole 已经改进了其紧急关闭策略,以利用现有的通过治理进行的升级权限,以便在漏洞发生时临时修补智能合约(例如,暂时禁用受影响的函数),并且长期错误修复不容易获得。

这种方法的好处包括以下几点:

  • 保持与生存事件相同的信任假设
  • 允许选择性关闭仅受影响的代码(同时让其他一切功能齐全)
  • 没有额外的攻击面(在生存危机期间仅减少攻击面)
  • Wormhole 用户无需支付额外的 gas 成本
  • Guardian 无需分发或管理额外的流程或密钥
  • 对于已知的关闭情况,可以在链上预先部署具有禁用功能的关闭合约,从而使治理提案更易于生成和批准。
  • 对于未知的关闭情况,可以开发一个临时补丁,仅禁用受影响的功能。

这种方法的注意事项包括以下几点:

  • 关闭速度受到开发临时错误修复的速度的限制(仅针对未知情况,已知情况不需要开发)
  • 关闭速度受到通过治理以接受临时错误修复的速度的限制(未知情况较慢,已知情况较快)
  • 关闭后恢复将需要二级治理操作,以将代理合约重新指向非关闭实现(已知情况)或还原临时补丁并应用长期补丁(未知情况)

安全监控

Wormhole 项目希望所有 Guardian 开发和维护他们自己的安全监控策略。这种期望是基于在 Guardian 集中拥有异构监控策略的价值,这是 Wormhole 深度防御方法的一个函数,从而增加了检测欺诈活动的可能性。

Wormhole Guardian 应努力使用他们的监控策略捕获以下所有领域:

  • Guardian 应用程序、系统和网络活动
  • Gossip 网络活动
  • 智能合约活动/状态
  • 交易/使用情况活动
  • Governor 活动

鼓励 Guardian 相互分享监控经验教训,以在最大程度上提高检测网络上欺诈活动的能力。但是,Wormhole 网络监控的最终状态不是同构监控策略,因为 Guardian 内的多样性水平是 Wormhole 网络的基本属性。

最后,如果 Guardian 通过他们的监控策略检测到安全事件,他们有权启动上述事件响应模式。

  • 原文链接: github.com/wormhole-foun...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
wormhole-foundation
wormhole-foundation
江湖只有他的大名,没有他的介绍。