本文针对托管稳定币发行商提出了一个安全评估框架,称为“托管稳定币 Rekt 测试”,包含九个关键问题,旨在帮助用户评估发行商的运营弹性,并帮助发行商识别安全程序的关键差距。强调了在稳定币发行中,运营安全的重要性,并提供了具体的实践建议,以应对新兴威胁,保护用户资金安全。
去年,托管型稳定币的交易额达到了 27.6 万亿美元,超过了 Visa 和 Mastercard 的总和。随着这种新型资产的系统重要性日益增长,对于稳定币发行者和用户来说,也越来越需要清楚地了解其安全风险。对于管理大量稳定币的团体来说,稳定币发行者在运营安全方面的一次失误就意味着重大的财务风险。
托管型稳定币是一种旨在保持价值稳定的数字代币,通常与美元等法定货币Hook。它们由维护储备金的中心化实体发行和管理。
与去中心化稳定币和许多其他区块链系统不同,托管型稳定币的完整性取决于其发行者的运营安全,包括稳定币背后的人员、流程和基础设施。托管型稳定币与银行的共同点远多于 DeFi 或区块链协议。
然而,与银行不同的是,如果计算机安全漏洞或风险影响到发行方的负债或支付能力,稳定币用户几乎没有保护措施。因此,计划持有或交易这些资产的机构和用户应该对发行方的安全措施进行严格的尽职调查,否则将面临其持有的资产变得一文不值的生存风险。
过去,Trail of Bits 引入了 “Rekt 测试”,作为一个评估区块链项目基本安全态势的简单框架。在此基础上,本文将为托管型稳定币发行者引入一项 Rekt 测试,重点关注发行者面临的具体风险,并提供一套尽职调查问题,以帮助评估发行者的运营弹性。
理论上,测试中的每个问题都可以用简单的“是”或“否”来回答,但成熟的发行者应该能够提供具体、详细的解释,说明他们如何解决每个问题带来的风险。
虽然稳定币用户可以使用这些问题来指导尽职调查,但稳定币发行者也可以使用它们作为自我评估框架,以识别其安全计划中的关键缺口。
在每个问题旁边,我们都会解释它如何反映我们对稳定币发行者最佳实践的共识,但这些建议绝不是详尽无遗或绝对的。我们建议用于解决每个问题的控制措施旨在激发对话,以帮助稳定币用户和发行者更好地了解其安全风险;它们不应作为每个稳定币发行者都应遵循的综合清单。
特别感谢 Josselin Feist、@tayvano_、Matt Aereal (SEAL Security Alliance/ The Red Guild) 和 Isaac Patka (Shield3) 审查并提供对此测试的反馈。
单一的验证点会造成灾难性的故障模式。现代攻击者可以轻松绕过单层交易验证机制,正如 Bybit 和 Radiant Capital 黑客事件所表明的那样,在这些事件中,被入侵的界面显示的是合法的交易,而执行的却是恶意的交易。即使有多个签名者,当他们都依赖相同的验证方法时,也会变得毫无用处。
根本的挑战在于,使用当前的硬件钱包技术,真正的“所见即所签”(WYSIWYS)仍然是不可能的。这些设备可以显示基本的交易参数,但无法解码复杂的智能合约交互,导致签名者对其真正授权的内容一无所知。在有人重建整个钱包堆栈之前,我们仍然停留在这样一个世界:复杂的交易在硬件钱包屏幕上显示为通用的“盲签”交互。这种技术限制使得多个独立的验证控制措施至关重要。
成熟的稳定币发行者必须实施具有真正独立性的冗余安全控制措施。这意味着单独的验证系统使用不同的技术堆栈,在不同的硬件上运行,并且没有共享的依赖项。每个系统都必须通过自己的视角解码和显示交易内容,这样,如果其中一个系统被入侵,其他系统仍然必须揭示真相。
对于手动签名流程,每个签名者至少要实施三个专用工作站:一个主工作站,用于发起交易并将其发送到硬件钱包;一个网络隔离的模拟环境,用于揭示实际的执行结果;以及一个使用独立的离线解码工具(如 safe-tx-hashes-util)的气隙验证系统。关键的原则是在签名之前,逐字符地比较所有系统中的交易哈希值。任何差异都表明存在风险。

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