Ronin Bridge出现异常提取跨链资产行为根本原因是什么?

链得得Publié le 2024-08-07Dernière mise à jour le 2024-08-07

8月6日,据区块链安全审计公司Beosin Alert监测显示,Ronin Bridge项目出现异常提取跨链资产的行为。据Beosin安全团队分析,此次异常行为的根本原因在于项目方升级合约时,未正常初始化配置跨链交易确认所需的operator权重,导致合约中的minimumVoteWeight参数为零,从而使得任何人的签名都能通过跨链验证。

攻击交易链接:

https://etherscan.io/tx/0x2619570088683e6cc3a38d93c3d98899e5783864e15525d5f5810c11189ba6cb

Beosin目前正与项目方合作处理此次事件,本篇长文,我们也将与大家分析本笔交易存在异常的点在于两点:

首先,提取数量过高。在Ronin Bridge中,有跨链提取额度的限制,如果跨链提取的额度太大,则需要转至人工确认,而本次交易的跨链资产WETH的限制额度为4000。此笔交易提取了3996个。当然这不是漏洞,但足以让人引起了注意。

其次,查看这笔提取交易发现,其跨链验证者Operator只有一个,且对应的操作权重为0,那就可以确认这笔交易是存在问题的,因为在Ronin Bridge项目中,用户提取跨链资产需要得到多个Operator的签名,且累计的权重必须达到指定阈值。

事件分析:

分析链上合约和数据发现,合约Operator是对应的Manager合约独立管理,并且它是一个治理合约,专门用于管理ronin bridge,查看其交易记录,发现最近一笔交易是对Ronin Bridge合约进行升级,并且就在异常交易之前。所以漏洞的大致方面就基本明确,应该是项目方升级合约所导致的问题。

进一步深入,对比Ronin Bridge升级前后的代码发现,事件所使用的关键参数“_totalOperatorWeight”是本次升级新增的,并且需要在升级中调用initializeV3函数进行V3版本新增的“OperatorWeight”进行初始化。 

但遗憾的是:升级合约的交易中,并未调用initializeV3函数,而是错误调用initializeV4函数进行了V4版本的初始化。

 

至此,该事件的漏洞原理已经明了,Ronin Bridge项目方在合约升级时未正确对新增数据进行初始化,导致对应的关键数据“_totalOperatorWeight”始终为0,使得任意用户的提取请求都可以通过审核。

至本文发布前,项目方已经确认该问题,并发文说了本次攻击行为是白帽所为,并已进行退款,并未造成过多的损失。这是一个好消息,但是也暴露了合约升级这一大易出错的点。

可升级合约

可升级合约是一种solidity智能合约设计方案,使得已部署的合约能够在未来进行升级或修改,而无需完全重新部署。这个概念的核心在于将合约的逻辑和数据分离,并利用“delegatecall”实现对逻辑合约的调用。

尽管这种模式提供了灵活的升级能力,我们也必须高度重视其安全性。由于代理合约负责转发所有的用户请求,它实际上成为了合约系统的入口点。任何对代理合约的攻击都可能影响到整个合约的安全性。因此,在设计和部署可升级合约时,确保代理模式的安全性至关重要。目前代理模式的合约需要注意以下几点:

函数选择器冲突

在以太坊虚拟机(EVM)中,每个智能合约函数都有一个唯一的标识符,称为函数选择器。这个选择器是函数签名的前4个字节的哈希值。函数选择器用于确定合约中的具体函数,确保调用请求被正确路由到相应的函数实现。而在代理模式在调用函数时,会先检查代理合约中的函数接口是否能匹配调用函数,如果不能匹配,才会利用fallback中的delegatecall调用逻辑合约。

因此,如果代理合约和逻辑合约中存在函数选择器相同的函数,当代理合约接收到调用时,它直接调用代理合约中的函数,而不是逻辑合约,这可能导致预期之外的行为或安全漏洞。

存储冲突

在以太坊虚拟机(EVM)中,合约的状态数据存储在特定的存储槽中,每个存储槽的地址由其索引(从0开始)确定。合约中的每个状态变量都对应一个存储槽,数据在这些槽中持久化。

在代理模式中,存储槽通常是由代理合约管理的,而逻辑合约则通过代理合约来访问这些槽。存储冲突可能发生在逻辑合约中新增的状态变量与代理合约中现有的状态变量槽发生冲突时。这可能导致代理合约中的数据被覆盖或不一致

合约初始化问题

在代理模式中,由于代理合约和逻辑合约的分离,而每次升级可能都涉及到变量的更改和新增,因此在升级时必须确保在正确设置这些关键变量。本次的ronin bridge事件就是因为这个问题没做好,导致被攻击。

此外,需要确保初始化函数 initialize 只能被调用一次,以防止在初始化后被恶意攻击者重复调用,从而修改关键变量。

ldelegatecall调用机制

delegatecall是一种低级调用机制,它允许一个合约在其上下文中执行另一个合约的代码。这意味着,调用合约的存储、地址和消息发送者保持不变,但执行的逻辑来自被调用的目标合约。虽 delegatecall提供了强大的功能,但也需要谨慎使用。

如果目标合约地址不存在,delegatecall 的执行将失败并返回失败码,但这种失败可能不会被立刻发现。结果,代理合约中的调用可能看起来像是成功,但实际操作并未生效,从而导致系统的不一致或错误。

代理合约权限管理

在代理模式中,权限管理是另一个关键的安全问题。代理模式通过分离代理合约和逻辑合约的职责,使得合约可以在不改变数据存储的情况下进行升级,但同时也引入了复杂的权限管理问题。正确地管理权限对于保证合约系统的安全性和稳定性至关重要。

Beosin作为全球最早一批从事形式化验证的区块链安全公司,主打”安全+合规“全生态业务,在全球10多个国家和地区设立了分部,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控与阻断、被盗追回、虚拟资产反洗钱(AML)以及符合各地监管要求的合规评估等“一站式”区块链合规产品+安全服务

链得得仅提供相关信息展示,不构成任何投资建议

Cryptos en tendance

Lectures associées

Comment Codex utilise-t-il l'ordinateur ? Trois points d'entrée et les limites d'autorisation

L'article présente les trois méthodes utilisées par Codex pour interagir avec un ordinateur : Computer Use, l'extension Chrome et le navigateur intégré à l'application. Chaque méthode correspond à des scénarios, des périmètres d'autorisation et des niveaux de confiance distincts. Computer Use offre la couverture la plus large, permettant de contrôler les applications natives macOS/Windows, les paramètres système et même de gérer des flux de travail multi-applications via l'interface graphique. Il est adapté aux processus sans API, mais est plus lent et a le périmètre de confiance le plus large. L'extension Chrome donne accès à l'état de connexion, aux cookies et aux onglets du navigateur, idéale pour les tâches liées à Gmail, LinkedIn, Salesforce ou pour des recherches nécessitant une authentification. Le navigateur intégré est isolé, sans état de connexion, et convient parfaitement au développement et au débogage web local (serveurs locaux, bugs visuels, maquettes). Le principe fondamental est de choisir l'interface la plus étroite, sécurisée et structurée possible pour une tâche donnée. Il faut privilégier les plugins ou MCP, utiliser le navigateur intégré pour le développement web, recourir à l'extension Chrome lorsque l'identité de l'utilisateur est requise, et ne recourir à Computer Use qu'en dernier recours pour les tâches GUI non couvertes par des outils structurés. Appshots est présenté comme un outil complémentaire permettant de "montrer" le contexte de l'écran à Codex pour l'input, tandis que les trois autres méthodes concernent l'action (output). Cette approche stratifiée illustre la clé de la productisation des agents IA : restreindre les permissions, clarifier les frontières et laisser à l'utilisateur le contrôle des actions critiques.

marsbitIl y a 1 h

Comment Codex utilise-t-il l'ordinateur ? Trois points d'entrée et les limites d'autorisation

marsbitIl y a 1 h

La "loi de fer" de l'équipement de puces est en train d'être brisée

Depuis longtemps, le pouvoir de négociation dans la chaîne d'approvisionnement des semi-conducteurs favorisait les clients. Les fabricants d'équipements subissaient des pressions pour réduire leurs prix, surtout lors des commandes répétées. Cependant, cette "loi" du marché acheteur est en train de s'inverser. Récemment, des fournisseurs d'équipements de SK Hynix ont même demandé une augmentation de prix de 3 à 4 %, un fait rare. Ce changement est dû au déséquilibre entre l'offre et la demande causé par l'essor de l'IA. L'expansion rapide des capacités de production est devenue cruciale pour répondre à la demande de puces AI, transformant l'accès aux équipements en une course prioritaire. Un exemple frappant est l'explosion de la demande pour les équipements de thermocompression (TCB), essentiels à la production de mémoires HBM4. Des sociétés comme Hanmi Semiconductor, Hanwha Semitech et ASMPT reçoivent d'importantes commandes. Bien que le *Hybrid Bonding* (collage hybride) soit considéré comme plus avancé, le TCB reste dominant pour le HBM4 grâce à sa maturité, prolongeant ainsi son cycle de vie. La pénurie s'étend également aux équipements de test, dont la production est freinée par le manque de composants clés comme les FPGA et les CPU, eux-mêmes captés par l'industrie des data centers pour l'IA. Cette dynamique signale le début d'un nouveau cycle majeur de croissance pour l'ensemble du secteur des équipements semi-conducteurs, porté par l'investissement dans l'IA. Les leaders des domaines de la logique avancée, du HBM et de l'emballage avancé (comme le CoWoS) détiennent désormais un pouvoir de négociation renforcé. Ils ne vendent plus simplement des machines, mais la capacité à matérialiser la production à l'ère de l'IA, redéfinissant ainsi les rapports de force dans l'industrie.

marsbitIl y a 1 h

La "loi de fer" de l'équipement de puces est en train d'être brisée

marsbitIl y a 1 h

Venus Protocol Intègre des Actions Tokenisées comme Collatéral de Prêt sur BNB Chain

Venus Protocol intègre désormais des actions tokenisées comme garantie pour les prêts sur la BNB Chain, élargissant ainsi les cas d'utilisation des actifs du monde réel (RWA) dans le marché du crédit DeFi. **Points clés :** * Des actions tokenisées d'entreprises comme Apple, Tesla et Microsoft sont acceptées comme collatéral dans des pools de prêt isolés. * Ces actifs seraient adossés à 1:1 à des actions réelles détenues par des dépositaires régulés. * Les déposants peuvent emprunter des stablecoins ou du BNB contre ces garanties. Cette initiative permet aux détenteurs d'accéder à des liquidités sans vendre leurs positions sous-jacentes, rapprochant le crédit DeFi du financement sur marge traditionnel. Elle représente également une étape dans la compétition des blockchains pour attirer l'activité RWA. Cependant, ce collatéral introduit un profil de risque différent des actifs crypto-natifs, dépendant d'entités régulées hors-chaîne, de garde d'actifs et de processus de rachat. La gestion de l'évaluation des garanties, notamment avec des horaires de marché traditionnels, constitue un autre défi. Dans le contexte actuel du marché, cette intégration s'inscrit dans les tendances majeures que sont la tokenisation des actifs réels et la recherche d'une liquidité moins spéculative. Son succès dépendra de l'adoption réelle, de la fiabilité des custodians et des oracles de prix, ainsi que de la clarté des règles opérationnelles.

bitcoinistIl y a 4 h

Venus Protocol Intègre des Actions Tokenisées comme Collatéral de Prêt sur BNB Chain

bitcoinistIl y a 4 h

Trading

Spot
Futures

Articles tendance

Comment acheter RONIN

Bienvenue sur HTX.com ! Nous vous permettons d'acheter Ronin (RONIN) de manière simple et pratique. Suivez notre guide étape par étape pour commencer votre parcours crypto.Étape 1 : Création de votre compte HTXUtilisez votre adresse e-mail ou votre numéro de téléphone pour ouvrir un compte sur HTX gratuitement. L'inscription se fait en toute simplicité et débloque toutes les fonctionnalités.Créer mon compteÉtape 2 : Choix du mode de paiement (rubrique Acheter des cryptosCarte de crédit/débit : utilisez votre carte Visa ou Mastercard pour acheter instantanément Ronin (RONIN).Solde :utilisez les fonds du solde de votre compte HTX pour trader en toute simplicité.Prestataire tiers :pour accroître la commodité d'utilisation, nous avons ajouté des modes de paiement populaires tels que Google Pay et Apple Pay.P2P :tradez directement avec d'autres utilisateurs sur HTX.OTC (de gré à gré) : nous offrons des services personnalisés et des taux de change compétitifs aux traders.Étape 3 : stockage de vos Ronin (RONIN)Après avoir acheté vos Ronin (RONIN), stockez-les sur votre compte HTX. Vous pouvez également les envoyer ailleurs via un transfert sur la blockchain ou les utiliser pour trader d'autres cryptos.Étape 4 : tradez des Ronin (RONIN)Tradez facilement Ronin (RONIN) sur le marché Spot de HTX. Il vous suffit d'accéder à votre compte, de sélectionner la paire de trading, d'exécuter vos trades et de les suivre en temps réel. Nous offrons une expérience conviviale aux débutants comme aux traders chevronnés.

146 vues totalesPublié le 2024.12.10Mis à jour le 2026.06.02

Comment acheter RONIN

Discussions

Bienvenue dans la Communauté HTX. Ici, vous pouvez vous tenir informé(e) des derniers développements de la plateforme et accéder à des analyses de marché professionnelles. Les opinions des utilisateurs sur le prix de RONIN (RONIN) sont présentées ci-dessous.

活动图片