托管稳定币安全测试
去年,托管稳定币的交易量达到27.6万亿美元,超过了Visa和万事达的总和。随着这一新型资产系统重要性的增长,稳定币发行方和用户都需要清晰理解其安全风险。对于管理大量稳定币持仓的机构来说,发行方的单点操作安全故障现在代表着实质性的财务风险。
托管稳定币是旨在保持稳定价值的数字代币,通常通过与美元等法定货币挂钩来维持价值。它们由集中实体发行和管理,这些实体维持着支持代币的储备金。
与去中心化稳定币和许多其他区块链系统不同,托管稳定币的完整性取决于其发行方的操作安全性,包括支持稳定币的人员、流程和基础设施。托管稳定币与银行的共同点远多于DeFi或区块链协议。
然而,与银行不同,在发生计算机安全漏洞或影响发行方负债或支付能力的妥协事件时,稳定币用户几乎得不到保护。因此,计划持有或交易这些资产的机构和用户应对发行方的安全实践进行严格的尽职调查,否则将面临持仓变得一文不值的生存风险。
过去,Trail of Bits引入了"Rekt Test"作为评估区块链项目基本安全状况的简单框架。基于这一理念,本文将介绍针对托管稳定币发行方的Rekt Test,重点关注发行方面临的特定风险,并提供一组尽职调查问题来帮助评估发行方的操作弹性。
托管稳定币安全测试
1. 在签名前是否使用多个独立控制措施验证交易内容?
单点验证会创建灾难性故障模式。现代攻击者可以轻松规避单层交易验证机制,正如Bybit和Radiant Capital黑客攻击中所展示的那样,受感染的界面显示合法交易的同时执行恶意交易。当所有签名者都依赖相同的验证方法时,即使有多个签名者也变得无用。
根本挑战在于,使用当前的硬件钱包技术,真正的"所见即所签"(WYSIWYS)仍然不可能实现。这些设备可以显示基本交易参数,但无法解码复杂的智能合约交互,使签名者对他们实际授权的内容部分失明。在有人重建整个钱包堆栈之前,我们仍然停留在复杂交易在硬件钱包屏幕上显示为通用"盲签"交互的世界中。这种技术限制使得多个独立验证控制变得至关重要。
成熟的稳定币发行方必须实施具有真正独立性的冗余安全控制。这意味着使用不同的技术堆栈、运行在不同硬件上、没有共享依赖关系的独立验证系统。每个系统都必须通过自己的视角解码和显示交易内容,这样如果一个系统被攻破,其他系统仍然能够揭示真相。
对于手动签名过程,每个签名者至少实施三个专用工作站:一个发起交易并将其发送到硬件钱包的主工作站,一个揭示实际执行结果的网络隔离模拟环境,以及一个使用独立离线解码工具(如safe-tx-hashes-util)的气隙验证系统。关键纪律是在签名前在所有系统上逐字符比较交易哈希。任何差异都表明存在妥协。
签名者可以通过使用重叠验证方法比较交易哈希和解码的交易内容来检测恶意交易。
这种方法故意用操作速度换取安全性。是的,在三个系统上比较哈希很繁琐。是的,维护真正独立的验证基础设施很复杂。但是,当替代方案是解释攻击者如何将你的多重签名变成单点故障时,选择就变得清晰了。在Radiant Capital事件中,所有签名者都看到了伪造的交易数据,因为他们使用了相同的受感染界面。通过独立验证,至少有一个系统会暴露欺骗行为。
在硬件钱包超越当前限制之前,多个独立验证层仍然是我们防御定义最近加密安全故障的界面操纵攻击的最佳防御手段。
2. 是否根据新兴威胁持续更新安全实践?
加密货币攻击者的进化速度比你年度安全审查更快。当你正在实施针对去年攻击的防御措施时,威胁行为者已经转向新技术。2024年遭受最严重破坏的组织不是通过新颖的零日漏洞被攻破,而是通过他们尚未更新防御措施的已知攻击模式的进化版本被攻破。静态安全就是衰减的安全。
持续安全更新不仅仅意味着阅读威胁情报源。它需要一个系统化的过程,将新兴威胁转化为具体的防御改进。这意味着维护活跃的威胁信息渠道,快速评估与你的基础设施的相关性,并在你成为他人教训之前将学到的经验教训纳入安全架构。
建立正式的威胁审查周期,至少每月一次,让你的安全团队分析加密货币领域最近的事件,并询问"这可能发生在我们身上吗?“对于每个相关威胁,记录你将实施或修改的具体控制措施。这不应该被框定为简单的一次性讨论;这是一个桌面演练,其输出必须为你未来的安全计划提供信息。
当朝鲜操作人员于2024年开始通过虚假IT工作者计划渗透加密公司时,早期检测到这种模式的组织实施了增强的远程招聘身份验证。但真正的教训不是关于背景调查。而是认识到你的招聘过程可能是一个攻击向量。内化了这一更广泛教训的团队还加强了他们的内部威胁控制、访问配置和行为监控。
你的安全团队应与专门研究加密货币和区块链攻击的威胁情报提供商保持关系。更重要的是,参与信息共享社区,从业者在那里讨论什么真正对实际攻击有效。Kraken关于检测虚假朝鲜工人的报告比十几个通用威胁报告提供了更多可操作的情报,因为它记录了其他人可以立即实施的特定检测技术和指标。
每个重大的加密货币漏洞都应该触发一个迷你威胁建模演练。这种攻击路径如何针对我们的基础设施工作?什么控制措施会检测到它?我们需要改变什么?记录这些分析并跟踪已识别改进的实施情况。最强的安全控制不是任何单一的技术措施,而是将"那发生在他们身上"转化为"这是我们为防止它发生在我们身上而改变的内容"的组织肌肉记忆。
当你读到这篇文章时,朝鲜IT工作者威胁将会进化或被新事物取代。重要的是你的组织是否有流程来检测、分析和适应接下来发生的任何事情。在加密货币安全中,唯一不变的是去年的剧本是今年的漏洞。如果没有有纪律的威胁适应方法,你不是在维护安全;你是在维护安全的幻觉,而攻击者正在迭代超越你的防御。
3. 是否与社区合作冻结和恢复被黑客攻击的资金?
当黑客窃取加密货币时,他们竞相在被发现之前将其外流并转换为稳定币。由于其价格稳定性和健康的流动性,稳定币通常成为洗钱管道中的关键阻塞点。然而,在几小时内,这些资金将通过自动化做市商、跨链桥和隐私币流入无法恢复的司法管辖区。这是受害者有任何恢复希望的唯一时刻。然而,当稳定币发行方要求需要数月才能获得的法院命令时,他们保证了被盗资金永远消失。
最近的Bybit黑客攻击证明了速度和能力的重要性。黑客故意通过HyperLiquid转移资金,正是因为那里的一些稳定币没有冻结机制,突出了犯罪分子如何积极地将资金路由通过无法恢复的系统。相比之下,当发行方能够快速行动时,恢复率会显著提高。在Multichain黑客攻击中,稳定币发行方成功冻结了1.26亿美元被盗资金中的6600万美元,因为他们在几小时内而不是几周内采取了行动,为近一半的资金确保了潜在的恢复。
这不是隐私与合规的问题。这是关于你的稳定币是否支持大规模盗窃的问题。每个主要交易所、托管提供商和机构用户都根据保护受害者的记录评估稳定币发行方。作为发行方,当他们的资金被盗时,你会提供帮助,还是会在犯罪分子兑现时躲在官僚主义后面?
成熟的发行方根据安全公司、交易所和托管提供商的可信证据建立清晰、公开的冻结被盗资金流程。这意味着发布响应时间承诺(以小时而不是天衡量),为关键事件指定24/7联系人,并与能够验证盗窃声明的成熟区块链安全公司合作。领先的发行方通过维护这些关系已经冻结了数千个钱包并恢复了超过1亿美元的资产。
流程必须在速度与准确性之间取得平衡。发行方应要求提供盗窃证明、来自认可安全公司的验证以及事件的清晰文档。但一旦盗窃得到验证,行动必须立即进行。发行方还必须建立上诉流程,以便资金被错误冻结的用户有恢复途径。
4. 是否隔离签名基础设施?
共享故障点代表关键控制点,单点妥协可以绕过整个安全架构。在Bybit黑客攻击中,攻击者不需要独立地攻破所有五个多重签名签名者;他们找到了共享依赖关系,让他们能够从一个妥协点转向控制多个签名工作站。当你的安全域重叠时,多重签名变成了带有额外步骤的单签名。
没有适当的隔离,企业IT中的单点漏洞可能摧毁整个系统。我们反复看到这种模式:攻击者破坏单个端点管理系统、IT管理员账户或软件部署管道,然后利用该访问权限控制本应独立的签名系统。
真正的隔离需要隔离可能产生级联故障的三个关键领域:
访问隔离:谁可以接触什么 这防止单个受感染身份访问所有内容。实践中:
- 不同操作级别(铸造、销毁、升级)的不同系统
- 每个多重签名签名者从完全独立的基础设施运行——不同的ISP、不同的硬件供应商、不同的操作系统
- 基于时间的控制,防止任何管理员24/7访问关键系统
安全隔离:哪些系统可以相互通信 这防止一个系统中的漏洞传播到其他系统。实践中:
- 用于签名操作的专用网络,与企业系统无连接
- 只运行签名软件的专用硬件——将其视为只能做一件事的计算器
- 每个层级的独立监控系统,这样破坏你的主SIEM不会隐藏对签名基础设施的攻击
供应链隔离:什么代码在哪里运行 这防止受感染软件感染你的签名系统。实践中:
- 签名软件和网站的完全不同的构建管道
- 在重要事项上的供应商多样性(例如,不要从一个供应商购买所有硬件钱包)
- 用于验证的独立软件堆栈——如果所有多重签名签名者使用相同的验证工具,它们都将屈服于相同的攻击
如果攻击者可以破坏任何单个元素(管理员账户、管理服务器、软件包、网络段等)并利用该妥协授权重大资金移动,那么你的系统没有充分隔离。
适当的隔离虽然昂贵且操作复杂,但很有价值,因为它严重限制了攻击者的横向移动能力。这种遏制策略对于限制可能绕过单个安全控制的复杂攻击的潜在影响至关重要。
5. 签名基础设施是否不可变?
实现签名基础设施的服务器和应用程序代表关键控制点。这种基础设施需要防御性控制,即使基础设施的其他部分被破坏,也能保护其操作的安全性和完整性。实现这一目标的最佳方法是使基础设施不可变。
不可变基础设施意味着服务器、应用程序和配置在部署后不能轻易修改或篡改;它们只能通过具有多个批准点的受控部署过程完全替换。这种方法通过消除对关键系统进行未经授权修改的可能性,显著减少了攻击面。
成熟的稳定币发行方应在其基础设施的多个层面实施不变性:
操作系统不变性。使用在操作期间无法修改的只读操作系统或容器镜像。如果使用容器编排器,可以使用Binary Authorization等控制来确保只有授权镜像可执行。
应用程序不变性。将应用程序部署为不可变工件,不通过安全构建管道无法更改。Binary Authorization、SGX和可信平台模块(TPM)可用于确保生产中运行的工件已授权且未被篡改。WDAC和Airlock Digital等控制也有助于控制应用程序运行时行为和允许列表。
部署控制。签名基础设施的部署管道具有最大潜力改变生产环境,应充分锁定以减轻这种风险。确定性构建可用于确保CI/CD服务器未被篡改,应使用批准工作流确保单个开发人员不能在没有多级人工批准的情况下改变生产环境。
发行方堆栈的每个部分应应用哪些控制的选择可能因发行方架构而异。例如,如果签名基础设施在SGX enclave中运行并且只能使用多重签名方案更新,那么对开发工作站应用控制所获得的价值大大降低。
6. 是否将每个角色的权限限制在最低所需?
过度特权会创造不必要的风险。考虑这种情况:如果你的资金管理多重签名既可以铸造新代币又可以升级智能合约,单个受感染的签名者可能使你的供应膨胀数十亿,同时移除所有安全控制。但如果同一个多重签名只能销毁代币(每日限额为,比如1000万美元),最大损害被控制且可恢复。
稳定币发行方必须隔离高风险操作并限制谁可以执行它们,遵循最小权限原则。这意味着创建匹配真实操作需求的不同权限层级。处理日常赎回的日常操作团队应该只能在严格限制内销毁代币,不能铸造新供应。管理机构流动的资金团队可能有铸造权限,但只有48小时时间锁和速率限制。合同升级等关键操作应需要特殊措施:多天时间锁、超级多数多重签名,甚至物理密钥仪式。
检查真实事件时,业务影响变得清晰。在2024年10月的Radiant Capital黑客攻击中,攻击者利用了11选3的多重签名配置。这种设置只需要11个可能签名者中的三个签名,这给了攻击者多个目标,同时保持批准阈值危险地低。这种弱权限结构导致了5300万美元的盗窃。相比之下,具有精心设计阈值和时间锁的协议迫使攻击者破坏更多签名者,或在损害发生前给防御者时间响应。
对于自动化系统,实施细粒度控制:
- 铸造服务只能铸造到白名单地址,由智能合约强制执行速率限制
- 赎回系统只能销毁代币,不能铸造
- 对系统管理/开发运营实施临时访问控制
临时/过期访问控制通常是最被忽视的控制之一。发行方的CFO可能需要特定公司行动的铸造访问权限,但为什么要永久保留该访问权限?实施需要重新授权的24小时访问窗口,减少内部威胁或受感染凭据的窗口。定期权限审计确保随着操作演变,访问权限保持适当。
这些控制将你的攻击面从单点故障转变为弹性系统,其中妥协被遏制、检测和恢复。
7. 是否验证关键软件依赖项的完整性?
任何托管稳定币的基础设施都依赖众多第三方软件组件、库和工具。受感染的依赖项可能引入漏洞,绕过所有其他安全控制,可能允许攻击者在检测前操纵签名过程或窃取资金。
软件供应链攻击变得越来越复杂。攻击者专门通过破坏受信任的库、开发工具或包存储库来针对加密货币基础设施。单个受感染的依赖项可以为攻击者提供对签名系统的持久访问。
与更广泛的供应链风险不同,依赖项完整性验证通过技术控制提供具体、可衡量的保护,这些控制可以在受感染代码在生产系统中执行前检测篡改。
成熟的稳定币发行方通过以下方式实施依赖项完整性验证:
- 软件物料清单(SBOM)。发行方应维护所有软件组件的完整清单,以便在发现漏洞时快速识别是否受到影响
- 加密验证。发行方应在安装或执行前验证所有依赖项的签名和校验和。一些包管理器支持数字证明,如PyPI的PEP 740。使用具有类似功能的包管理器可以进一步降低依赖项妥协的风险
- 依赖项固定。发行方应使用特定、验证版本的依赖项,而不是自动更新到可能受感染的较新版本。应审查和审核新的依赖项更新,以减少引入恶意代码的风险
- 定期依赖项审计。发行方应使用自动扫描已知漏洞,并使用运行时监控识别依赖项行为中的可疑变化
这些控制提供了可衡量的保证,确保在你的签名基础设施中运行的软件与你打算部署的软件匹配,而不是被攻击者修改的代码。
8. 是否有书面和测试的事件响应计划?
即使有强大的预防控制,安全事件也会发生。精心规划和测试的事件响应过程可能意味着轻微安全事件和灾难性破坏之间的区别。没有事件响应计划,组织通常在极端压力下做出关键决策,往往导致错误,加剧初始破坏。对于稳定币发行方,响应延迟可能允许攻击者窃取大量资金或损害稳定币的市场信誉,使其无法恢复。
事件响应计划详细说明了响应安全事件的程序、角色和沟通策略。对于稳定币发行方,这样的计划应特别解决诸如受感染的签名密钥、欺诈性铸造/销毁交易和供应链妥协等场景。
更具体地说,稳定币发行方的高质量事件响应计划应实现以下目标:
- 为事件响应团队成员分配明确的角色和职责
- 记录针对预期事件场景的特定事件响应程序
- 为不同的响应行动定义明确的阈值和标准,例如通知公众或联系执法部门
- 包括保存证据和进行取证调查的程序
至少,稳定币发行方必须定期执行桌面演练,测试计划设计解决的各种事件场景。他们还应在底层系统及其流程变化时定期审查和更新计划。
缺乏事件响应计划应被视为危险信号。没有事件响应计划,发行方极不可能检测到活跃事件,更不用说有效响应了。
9. 是否使用监控工具在检测到差异时触发事件响应?
监控作为你在多个防御层的早期预警系统。没有全面监控,妥协可能持续数月未被检测,给攻击者时间研究你的系统并等待最佳时机出击。Ronin Bridge黑客攻击完美地证明了这一点,当时6亿美元从他们的桥中流失,黑客攻击一周未被检测。
稳定币发行方的有效监控需要三个层面:
- 端点检测和响应(EDR)。每个可以影响发行方签名基础设施的工作站都需要EDR覆盖。攻击者通常花费数周或数月横向移动通过企业网络,寻找通往关键系统的路径。现代EDR工具可以在攻击者找到通往签名基础设施的路径之前检测和阻止这些侦察活动。没有EDR,发行方基本上对已经进入其网络的威胁视而不见
- 安全意识和防钓鱼能力。发行方的员工既是第一道防线,也是最大的漏洞。定期的安全意识培训和模拟钓鱼活动创建了技术工具无法复制的人类监控层。当员工能够识别和报告社会工程尝试时,发行方获得了有针对性的攻击的关键早期预警
- 对账和操作监控。除了安全监控,稳定币发行方需要链上稳定币供应和链下储备之间的持续对账。他们应为异常铸造模式、大额转账或与预期交易量的偏差设置警报。当检测到异常时,这些系统应触发自动事件响应程序
所有监控系统必须通过红队演练定期测试,并应为关键警报使用冗余、独立的平台。如果攻击者可以破坏发行方的监控基础设施,他们可以不受惩罚地操作。
后续步骤
机构用户应使用这些问题为传统的尽职调查实践(如供应商问卷)提供信息。机构用户部署到任何一个稳定币的资金量应基于其风险承受能力和稳定币发行方的安全成熟度。
稳定币发行方应使用这些问题作为高级自我评估工具,并构建路线图来解决其操作安全中的任何差距。更紧急的是,发行方需要预期高容量用户开始更严格地询问他们的操作安全。发行方可以因操作安全问题而忽略安全问卷的日子已经一去不复返了。无论大小客户都将开始要求更深入的发行方安全状况答案。
需要更多定制指导?Trail of Bits在帮助稳定币发行方和其他加密货币组织评估和加强其操作安全状况方面拥有丰富经验。联系我们讨论我们如何帮助保护你的稳定币操作免受复杂威胁。