Cobo 安全团队针对近期印度加密货币交易所 WazirX 被攻击事件进行了详细的分析,并从风险控制机制、安全体系等方面分享了 Cobo 如何帮助客户抵御网络攻击。
1 事件概述
2024 年 7 月 18 日,印度加密货币交易所 WazirX 的一个多签钱包被盗超过 2.3 亿美元。该多签钱包为 Safe{Wallet} 智能合约钱包。攻击者诱导多签签名者签署了合约升级交易,攻击者通过升级后的合约直接转移了钱包中的资产,最终将约超过 2.3 亿美元的资产全部转出。
2 攻击过程分析
注:以下分析基于 WazirX 和 Liminal 事后报告、链上数据、互联网公开信息,可能存在信息不全或误差,从而导致分析结论有所偏差。分析结果仅供参考,具体以当事厂商后续调查结果为准。
原文链接:
-
WazirX 博客:https://wazirx.com/blog/wazirx-cyber-attack-key-insights-and-learnings/
-
Liminal Custody 博客:https://www.liminalcustody.com/blog/update-on-wazirx-incident/
2.1 多签钱包配置与攻击过程
根据双方披露的信息,WazirX 使用 Safe (前称 Gnosis Safe) 进行资金管理,并通过 Liminal 进行协管。该 Safe 钱包采用 4/6 的签名方式,其中 5 把私钥为 WazirX 成员通过硬件钱包管理,1 把私钥由 Liminal 通过 HSM 管理。
正常流程下,WazirX 通过 Liminal 平台的网页发起交易转账,转账地址受 Liminal 平台维护的地址白名单限制。WazirX 的 5 位签名者中的 3 位确定交易无误后,使用硬件钱包签名。Liminal 平台收集到 3 个签名后,再使用 HSM 添加最后的签名,并使交易上链。从链上攻击交易中看,攻击交易中确实包含了 3 个合法签名,且第 4 个签名为交易发起者(即 Liminal),与披露的钱包管理架构一致。
结合 Liminal 和 WazirX 双方报告,这笔恶意多签交易发起的流程如下:
-
攻击者通过某种未知手段(包括不限于 0-day 网络攻击、社会工程学攻击等)诱导 WazirX 签名交易。
-
WazirX 3 名成员,分别通过书签等登录 Liminal 平台,进行 Google 验证及 MFA 验证通过后,查看到待签名交易为 2 笔 GALA 和 1 笔USDT 转账交易,并使用硬件钱包进行了签名。但实际受害人签署的内容并不是代币转账交易,而是多签钱包的合约升级交易。由于实际交易内容与声称的转账交易不一致,Liminal 平台分别拒绝了 3 笔交易。
-
至此攻击者收集到 3 名成员对于合约升级交易的签名,再次向 Liminal 平台提交恶意的合约升级交易,并附带 3 个正确的签名。
-
Liminal 平台检查签名无误后,作为第 4 个签名人发起交易,交易上链后,钱包合约升级,控制权转移到攻击者手中。
根据 WazirX 的描述,签名人员使用硬件钱包保管私钥。攻击者也是通过伪造转账交易的方法收集到了 3 个签名人的签名。因此推断 3 位 WazirX 管理者并不存在私钥泄露的情况。同样 Liminal 也不存在私钥泄露的情况,否则攻击者无须通过 Liminal 平台发起最后一笔交易。
另一方面,根据 WazirX 的描述,签名人员通过书签访问了正确的 Liminal 平台,并进行了 Google 与 MFA 验证。Liminal 平台也记录到了三笔异常交易的日志,因此也可以排除 WazirX 登录了虚假 Liminal 平台钓鱼页面被收集签名的可能。另外根据 WazirX 披露的设备初步取证结果,也认为 WazirX 3 名签名人的设备没有受到攻击。
综上所述,可能的一种攻击手段是,攻击者通过中间人攻击、XSS 攻击或其他零日攻击等手段劫持了 WazirX 受害人的浏览器前端页面,伪造展示给 WazirX 受害人合法的交易内容。攻击者收集齐 3 个 WazirX 受害人的签名后,通过已有会话向 Liminal 平台提交了最终的合约升级攻击交易,并通过 Liminal 平台风控后成功上链。
2.2 攻击事件暴露出的问题
根据前述分析,WazirX 和 Liminal 双方在事件中均暴露出一定问题。
Liminal 平台风控不严格:
-
从最终链上的攻击交易中可以看出,Liminal 平台对合约升级交易进行了签名并上链。平台的白名单转账风控策略没有起到应有的作用。
-
Liminal 平台披露的日志中可以看出,平台已经发现并拒绝了三笔可疑交易,但没有第一时间向用户告警或冻结钱包转账交易。
WazirX 没有仔细核对硬件钱包签名内容:
-
硬件钱包中展示的内容才是真实待签署的交易内容。WazirX 签名人员在签署多签交易时,信任了 Liminal 页面展示的交易,没有仔细核对硬件钱包待签名内容与 Liminal 页面展示的交易是否一致而直接签名,提供了攻击者所需要的合约升级交易的签名。
3 Cobo 如何帮助客户抵御网络攻击
3.1 完善的风险控制机制
Cobo 提供多种风控机制,旨在解决存储、管理和转移数字资产中遇到的安全挑战。根据钱包类型不同,Cobo 风控引擎允许客户运行独立的风控程序或者链上的风控合约。即使 Cobo 遭受安全攻击,客户侧与链上的风控检查依然可以保障用户资金安全。
客户可以灵活的按需设置链上和链下交易风控、业务风控以及用户角色和权限,针对不同业务类型配置所需要的风控、权限规则:
-
交易风控:客户可以轻松创建和编辑链上和链下交易风控,并通过设置审批动作(包括自动通过、自动拒绝和多人审批)来自动处理每笔交易。
-
业务风控:客户可以定义各类平台管理操作(如删除团队成员或冻结团队账号)的审批规则。
-
用户角色与权限:客户可以为指定团队成员分配特定用户角色。目前,Cobo Portal 提供了五种预设角色——观察员、提币员、审批员、操作员和管理员。客户也可以根据自己的业务需求创建其他角色。
3.1.1 交易风控
客户可以轻松设置和编辑链下和链上的交易风控。
-
链下交易风控由 Cobo Portal 的后端系统管理。Cobo 的风控引擎可根据用户配置的规则对代币转账、合约调用进行细粒度的检查与控制,保障交易内容符合用户的限制要求。值得一提的是,针对 MPC钱包,我们支持在 MPC-TSS 签名人节点上部署自定义的风控程序(称为 Callback)。该风控程序独立于 Cobo ,部署在客户自身的 MPC-TSS 节点上。这个位置的风控可以在 Cobo 遭受攻击的极端情况下,为客户提供最后一道保障。在本案例中的场景,如果 WazirX 签名人是具备 Callback 保护的 MPC-TSS 节点,则攻击者无法收集到非预期交易的签名。
-
链上交易风控则通过区块链网络上的智能合约管理。我们支持通过 Cobo Safe 框架在智能合约钱包上配置风控规则,其中包括配置链上转账白名单,攻击者很难对链上的白名单机制造成破坏。在本案例中的场景,如果使用 Cobo Safe 链上转账白名单机制,那么攻击者将无法发起白名单外的任何交易。
3.1.2 业务风控
客户可以设置业务风控以定义批准某些操作(如删除团队成员、修改成员角色、冻结团队账号)所需的团队成员数量。根据操作的不同,默认要求至少 50% 的管理员批准或仅由其中一位管理员批准。客户也可以手动编辑规则,设置自动通过、自动拒绝、或审批门槛。
了解关于业务风控的更多信息,请查看业务风控介绍:https://cobo-6.mintlify.app/cn/portal/organization/governance-intro。
3.1.3 用户角色与权限
用户角色由预定义的一组规则组成,可用于为团队内的指定成员分配特定权限。Cobo 提供了五个预设角色,客户还可以根据具体需求创建其他角色。
了解关于用户角色和权限的更多信息,请查看用户角色和权限简介:https://cobo-6.mintlify.app/cn/portal/organization/roles-and-permissions。
3.2 为客户提供安全技术支持
Cobo 提供 7×24 全天侯客服支持,如果遇到任何安全问题,客户可第一时间向我们反馈,我们将全力协助每一位客户排查安全隐患。
4 Cobo 安全体系
针对本次盗币事件两个可能的原因:网络钓鱼和系统漏洞,Cobo 在公司整体网络建设、员工终端、以及交易过程等多个维度上都设有完善的安全防护措施,以应对各种形式的攻击,防范类似安全事件的发生。
4.1 安全且多样化的钱包技术
Cobo Portal 将四种钱包技术整合到单一平台上,提供最先进的安全架构,且其链和代币覆盖范围为业内最广(参考全托管钱包和 MPC 钱包了解 Cobo Portal 支持的代币与链)。
-
全托管钱包:https://manuals.cobo.com/cn/portal/supported-tokens-custodial
-
MPC 钱包:https://manuals.cobo.com/cn/portal/supported-tokens-mpc
-
全托管钱包:全托管钱包采用先进的加密技术和风险控制引擎,确保客户的资金免遭未经授权的访问和潜在攻击。它采用了稳健的三层(热-温-冷)私钥存储架构,95% 的资金安全地存储在冷钱包中,只有 5% 的资金存储在热钱包和温钱包中。
-
MPC钱包:多方计算 (MPC) 是一种用于区块链私钥管理的先进加密技术。Cobo Portal 提供了两种类型的 MPC 钱包:机构钱包,让机构能够完全控制自有资金或其终端用户的资产;终端用户钱包,让终端用户能够完全控制其数字资产。
-
智能合约钱包:这类钱包支持各种智能合约钱包,主要包括 Safe{Wallet} 以及其他账户抽象智能钱包。它还支持灵活地委托外部账户 (EOA) 钱包来与智能合约生态系统进行无缝交互。
-
交易所钱包:交易所钱包是轻松管理多个交易所账户的一站式解决方案。它将所有交易所账户集中呈现在用户友好的单一界面中,可无缝查看、监控和管理各个交易所中的资产。
4.2 Cobo Guard——多功能的 iOS 安全应用程序
Cobo Guard 是一款由 Cobo 独立研发的多功能 iOS 安全应用程序,旨在增强数字资产的传输安全性。它采用非对称加密技术保护资产,可充当交易审批工具和 MPC 私钥分片管理器。同时,Cobo Guard 支持作为 Cobo Accounts 的多重身份验证(MFA),并提供无密码登录机制。
-
Cobo Guard 为每个用户生成唯一的公钥和私钥对,确保您绑定的应用程序拥有强大的安全基础设施。
-
用户的公钥与 Cobo 共享,而私钥则安全存储在您 iPhone 的原生 Secure Enclave 中。这种设置确保所有操作审批均通过您的私钥进行签名,并使用您与 Cobo 共享的公钥进行身份验证。
-
采用最先进的生物识别认证技术(如指纹扫描、Face ID 或设备 PIN 码)轻松授权请求,从而增强身份验证过程的完整性。
-
绑定 Cobo Guard 后,每笔提币和支付交易都需要在 Cobo Guard 内进行二次确认。这一额外的安全层显著提升了交易保护,降低了未经授权访问的风险。
-
Cobo Guard 可以交易审核过程中展示用户友好的交易解析内容,方便审核人员进行判断。
4.3 针对网络钓鱼
因成本低,实施容易,能够以较小的成本获得显著的收益等特点,网络钓鱼现在已成为攻击者常用的手段之一。Cobo 深知网络钓鱼的危害,针对这一威胁采取了以下措施:
-
使用领先的终端安全防护产品,实时监测和应对潜在威胁
-
使用硬件 Key 保护终端安全
-
权限划分细致,任何权限都需要申请
-
定期进行内部钓鱼演练,提升员工的安全意识
4.4 针对网络攻击
Cobo 始终保持对网络攻击的高度警惕,并实施全面的安全措施,以确保系统的高效韧性和对潜在威胁的全面保护。我们基于完善的防护措施,自 2017 年投入运营以来,一直保持着安全事件「零发生」的完美记录,安全系统坚不可摧。
-
实施 7×24 监控和维护,确保系统全天候稳定运行
-
针对业务系统定期进行全量渗透测试和代码审计
-
定期进行内部和外部攻防演练
-
通过知名安全厂商,每半年进行一次渗透测试,未发现任何安全问题
-
Cobo 基础设施目前有 200+ 条安全策略,并定期进行安全巡检
-
具备抵御 DDOS 以及拦截常见安全漏洞的能力
-
获得 ISO-27001 和 SOC 2 type 2 合规认证