RDNT5800万美元资产被盗引发的安全隐患

本文内容部分参考自@yuexiaoyu111、@evilcos、@OneKeyCN等。发文时间:2024.10.18


Web3世界又发生了一起重大安全事件!2024年10月16日,借贷平台Radiant Capital(RDNT)在BNB Chain和Arbitrum上遭遇黑客攻击,总计超过5800万美元的资产被盗。这起事件再次引发了业界对智能合约安全性,特别是多重签名机制安全性的广泛讨论。

作为Arbitrum上排名前五的借贷项目,RDNT拥有豪华的融资背景,同时也采用了当前主流的3/11多重签名管理方案。但即便如此,依然未能幸免于难。这不禁让人反思:目前各类智能合约普遍采用的多重签名管理方案真的安全吗?

一、RDNT5800万资产是如何被盗的?

根据安全专家分析,这次攻击事件可以说是蓄谋已久,黑客至少进行了半个月的精心准备。攻击者通过植入木马等手段,成功控制了RDNT项目方至少3个多重签名私钥,从而完成了相关合约的owner权限转移。

具体来说,攻击者首先对多个RDNT团队成员的电脑植入了木马。当这些团队成员使用Gnosis Safe进行多重签名操作时,他们的电脑屏幕上显示的是正常的多重签名数据,但实际上他们的硬件钱包签署的却是transferOwnership()操作,将借贷池的控制权转移给了攻击者。

RDNT5800万美元资产被盗引发的安全隐患

问题似乎是多签 UI 的前端内容被篡改了

这种”狸猫换太子”的手法相当高明。团队成员完全没有察觉到异常,以为自己签署的是正常交易,殊不知实际上是在将项目的控制权拱手让人。攻击者随后将这些签名整合到攻击中,一次性完成了所有权转移、合约升级和初始资产盗取。

最后,攻击者利用transferFrom函数,从那些已经授权借贷池合约的用户那里窃取了大量资产。他们将Arbitrum链上的资产兑换成ETH,将BNB Chain上的资产兑换成BNB,并将这些资产转移到了两个主要地址中。

整个攻击过程可以说是环环相扣,显示出攻击者具备极高的专业能力和组织能力。从植入木马、编写智能合约、理解团队组织架构,到签名替换和资金洗白,每一步都体现出专业团队的影子。

二、且听专业人士的分析RDNT资产被盗的技术手段

安全专家@evilcos在Twitter上分析指出,这次攻击至少涉及以下几个方面的技术:

1. 木马植入:攻击者成功在多个团队成员的电脑上植入了木马,为后续操作奠定了基础。

2. 硬件钱包拦截:木马能够拦截并替换硬件钱包的签名请求,这需要对硬件钱包的通信协议有深入了解。

3. 智能合约编写:攻击者编写了精巧的智能合约,能够在获得控制权后迅速转移资产。

4. 组织架构理解:攻击者对RDNT团队的组织结构和多重签名机制有充分了解,知道需要控制哪些关键人物。

5. 签名替换:成功将正常的多重签名操作替换为恶意的控制权转移操作,而不被察觉。

6. 资金洗白:迅速将盗取的资产兑换并转移,试图逃避追踪。

另一位安全专家Richard Liu(@DrPayFi)则指出,多重签名本身并不是问题,关键在于如何使用。他认为,最核心的是要尽可能缩小超级用户/多重签名的权限范围。理想情况下,即便多重签名被黑客控制,也只能盗取协议自身的资金,而不能触及用户的资产。这不仅可以从根本上杜绝”rug pull”(项目方卷款跑路),还应该成为行业准则。

三、多重签名是什么?有哪些优势?存在哪些安全风险?

多重签名(Multi-Signature)是一种常见的智能合约管理方案。它要求交易或合约执行必须得到多个私钥持有者的批准。通常设置为需要M个签名中的N个签名(N-of-M Multi-Sig)才能批准一个交易,其中M是总的私钥数量,N是执行交易所需的最少签名数量。比如RDNT采用的就是3/11的签名方案,即需要11个私钥中的至少3个才能执行操作。

多重签名的主要优势包括:

1. 提高安全性:相比单一私钥,多重签名降低了单点失败的风险。即便一个私钥被盗,攻击者也无法独自执行操作。

2. 权力分散:通过要求多方同意,可以防止单个人滥用权力或做出不当决策。

3. 灵活性:可以根据需要调整所需的签名数量,平衡安全性和效率。

4. 透明度:多方参与决策过程,有利于提高透明度和问责制。

然而,多重签名也存在一些潜在的安全风险:

1. 中心化风险:如果签名者集中或协调良好,实际上权力可能仍然高度集中。

2. 社会工程攻击:攻击者可能通过欺骗或威胁等手段影响足够多的签名者。

3. 私钥管理:随着私钥数量增加,妥善保管和管理这些私钥变得更加困难。

4. 复杂性增加:多重签名机制增加了系统复杂性,可能引入新的漏洞。

5. 效率问题:在紧急情况下,可能难以迅速获得足够的签名来执行必要操作。

6. 木马攻击:正如RDNT事件所示,如果签名者的设备被植入木马,可能导致灾难性后果。

四、web3安全专业人士有哪些建议?

面对RDNT这样的安全事件,web3安全专家们纷纷提出了自己的建议:

1. 设置时间锁:OneKey中文(@OneKeyCN)建议,对于大额资金转移,项目方应设置类似T+1的时间延迟。这可以为安全机构和白帽黑客提供足够的时间来检测异常活动,触发警报,并采取相应的缓解措施。用户也可以在此期间确保资金安全,提前撤销授权,防止资产被盗。

2. 仔细验证签名信息:在签署任何交易时,务必仔细检查硬件钱包上显示的签名数据。如果硬件钱包上签名后与预期不符,应立即停止签名过程并进行调查。

3. 提高设备安全性:对于拥有敏感权限的团队成员,应特别注意提升设备安全性。定期更新操作系统和安全软件,使用可靠的防病毒和防木马软件。避免下载和运行来源不明的程序,如果可能,只在签名时联网。

4. 权限最小化:@DrPayFi强调,应该将超级用户/多重签名的权限范围尽可能缩小。即使多重签名被黑客控制,也不应该能够触及用户资产。

5. 改进硬件钱包:DiscusFish(@bitfish1)建议,应在硬件钱包中集成复杂交易的解析功能,以提升交易的透明度和安全性。在此之前,可以先通过app从硬件钱包上获取待签名信息并解析,对硬件钱包的盲签问题进行临时性缓解。

6. 完善监控机制:对高权限敏感合约进行详细检查,设置自动化监控报警机制。

7. 角色分散:@evilcos指出,多重签名的角色需要尽可能证明是真正的多角色(可信且权限平衡),而不是掌握在一两个人手里。

五、web3项目以及钱包等产业各界如何应对多重签名风险

面对多重签名机制存在的潜在风险,web3生态各方都需要采取相应措施:

1. 项目方:
– 实施更严格的权限控制,将超级用户权限细分并分散。
– 为重要操作设置时间锁和多重审核机制。
– 定期进行安全审计,及时修复发现的漏洞。
– 提高团队成员的安全意识,特别是对关键私钥持有者进行专门培训。
– 考虑引入DAO机制,进一步去中心化决策过程。

2. 钱包开发商:
– 改进硬件钱包的交易解析功能,减少盲签风险。
– 开发更安全的多重签名方案,如动态多重签名。
– 加强对异常交易的检测和警告机制。
– 提供更直观的交易信息展示,帮助用户更好地理解他们正在签署的内容。

3. 安全公司:
– 开发更先进的智能合约审计工具和方法。
– 提供针对多重签名机制的专门安全评估服务。
– 加强对新型攻击手法的研究和预警。
– 为项目方提供全面的安全咨询和培训服务。

4. 用户:
– 提高安全意识,谨慎授权智能合约。
– 定期检查并撤销不必要的授权。
– 使用硬件钱包等更安全的存储方式。
– 关注项目的安全措施和审计报告。

5. 监管机构:
– 制定针对多重签名机制的安全标准和最佳实践。
– 鼓励行业自律,推动建立安全评级体系。
– 加强对重大安全事件的调查和处理。

6. 开发者社区:
– 研发更安全的智能合约模板和库。
– 探索新的去中心化治理模式,如分层多重签名。
– 加强对安全编码实践的教育和推广。

总的来说,应对多重签名风险需要整个web3生态系统的共同努力。通过技术创新、管理优化和意识提升,我们可以在保持去中心化优势的同时,不断提高系统的安全性和可靠性。RDNT事件无疑是一个警钟,提醒我们在追求创新的同时,不能忽视最基本的安全问题。只有筑牢安全防线,web3的未来才能更加光明。

© 版权声明

相关文章

暂无评论

暂无评论...