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

链得得Опубликовано 2024-08-07Обновлено 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)以及符合各地监管要求的合规评估等“一站式”区块链合规产品+安全服务

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

Трендовые криптовалюты

Похожее

Биткоин-форк BIP-110 отстает от BTC на 300 блоков и ему потребуется 6 лет, чтобы исправить ситуацию

Биткоин-форк BIP-110, созданный для запрета неплатежных данных в транзакциях, практически остановился. После разделения от основного блокчейна Bitcoin (BTC) на блоке 961 632, новая сеть добавила лишь два блока (остановившись на 961 633) и отстала более чем на 300 блоков. Поскольку форк унаследовал высокую сложность майнинга от Bitcoin, но не имеет ценности и поддержки майнеров, создание новых блоков прекратилось. Для следующей корректировки сложности, которая может облегчить майнинг, сети потребуется создать 2016 блоков. При нынешнем простоя оценка этого срока выросла до 6,3 лет. Эксперты отмечают, что эксперимент, не получивший широкой поддержки майнеров и экономики, фактически провалился, продемонстрировав устойчивость основной сети Bitcoin к непопулярным изменениям правил.

cryptonews.ruТолько что

Биткоин-форк BIP-110 отстает от BTC на 300 блоков и ему потребуется 6 лет, чтобы исправить ситуацию

cryptonews.ruТолько что

Новый «связной ФРС»: Ник Тимираос считает, что на словах Вола может стоять твердо, но данные сильнее. Два отчета по инфляции могут решить судьбу повышения ставки в сентябре

Скоро будут опубликованы два ключевых отчета по инфляции (ИПЦ за июль и базовый PCE), которые станут решающим фактором для решения ФРС о повышении ставки в сентябре. Экономист Ник Тимираос отмечает, что если рост базового индекса потребительских цен превысит ожидаемые 0,2% в месячном выражении, это создаст серьезное давление на главу ФРС Джерома Пауэлла, чтобы подтвердить свои жесткие заявления действиями. После июльского заседания ФРС неясные комментарии Пауэлла на пресс-конференции подорвали доверие рынка. Редкая реакция — рост доходности 30-летних казначейских облигаций — свидетельствует о сомнениях в решимости ФРС. Внутри комитета наметились разногласия: как минимум 6 членов с правом голоса открыто заявили о возможной поддержке повышения ставки, если инфляция не замедлится. Философия Пауэлла, предполагающая меньше предварительных ориентиров для рынка, теперь сталкивается с проверкой данными. Если данные по инфляции окажутся высокими, Пауэлл окажется в затруднительном положении: повысить ставки, чтобы сохранить доверие, или воздержаться и углубить раскол. Умеренные данные дадут ему передышку и возможность прояснить позицию на симпозиуме в Джексон-Хоуле. Пропуск возможности в сентябре, вероятно, отложит любое действие до декабря, поскольку следующее заседание приходится на период перед выборами.

marsbit4 мин. назад

Новый «связной ФРС»: Ник Тимираос считает, что на словах Вола может стоять твердо, но данные сильнее. Два отчета по инфляции могут решить судьбу повышения ставки в сентябре

marsbit4 мин. назад

Новая статья Артура Хейса: Ставка на укрепление йены, ENA может вырасти в 5-10 раз в ближайшие месяцы

Артур Хейз в своей статье «Yen-quake» прогнозирует скорое укрепление японской йены по отношению к доллару США. Он рассматривает три возможных сценария, но считает наиболее вероятным и предпочтительным для властей третий: Министерство финансов Японии (MOF) будет использовать механизм FIMA ФРС для получения долларовых кредитов под залог своих американских гособлигаций, а затем направит эти доллары на скупку йены на валютном рынке. Этот сценарий, по мнению Хейза, уже одобрен администрацией Трампа и требует лишь технического изменения правил FIMA комитетом ФРС, чтобы снять лимиты на кредитование. Реализация этого плана приведет к значительному увеличению долларовой ликвидности («печатанию денег» ФРС), что, в свою очередь, вызовет рост цен на финансовые и реальные активы, включая биткоин, золото и акции. Хейз утверждает, что в преддверии этих событий, помимо биткоина и эфириума, значительный потенциал роста (в 5-10 раз в ближайшие месяцы) демонстрирует токен ENA (Ethena). Его текущая низкая цена связана со снижением доходности стейблкоина USDe, но ожидаемый приток ликвидности может быстро развернуть эту тенденцию. Автор призывает внимательно следить за решениями ФРС по FIMA, так как они станут ключевым триггером для рынков.

marsbit7 мин. назад

Новая статья Артура Хейса: Ставка на укрепление йены, ENA может вырасти в 5-10 раз в ближайшие месяцы

marsbit7 мин. назад

Фонды хлынули, но рынок по-прежнему в страхе: биткоин в противоречивой ситуации

Заголовок: Биткоин в противоречивой ситуации: мощный приток средств на фоне страха на рынке. Прошлая неделя показала редкое противоречие на крипторынке: несмотря на масштабный приток капитала, рыночные настроения оставались в зоне страха. Чистый приток в спотовые биткоин-ETF США составил 853 млн долларов, максимально с середины апреля, причем более 80% пришлось на продукт BlackRock IBIT. Спотовые ETF на Ethereum привлекли 245 млн долларов, общий недельный приток превысил 1.1 млрд долларов. Однако индикатор страха и жадности остается в зоне страха (31-32), а отрицательная премия Bitcoin на Coinbase бьет рекорд по длительности — 82 дня, что сигнализирует о недостаточном институциональном спросе для поглощения продаж со стороны розничных инвесторов. На макроуровне неожиданно негативные данные по занятости в США за июль снизили вероятность повышения ставки в сентябре. Ключевым событием станет публикация индекса потребительских цен (ИПЦ) за июль 12 августа, который повлияет на ожидания монетарной политики. В политике закон CLARITY Act не был вынесен на голосование до перерыва в Сенате, его судьба решится в середине сентября, что важно для будущего регулирования цифровых активов в США. В отрасли уязвимость в аппаратном кошельке Coldcard привела к краже биткоинов на сумму до 130 млн долларов, что подчеркивает риски самостоятельного хранения. Основатель MicroStrategy Майкл Сэйлор разъяснил, что его обязательство «никогда не продавать» относится только к личным holdings, после продажи компанией части биткоинов. С технической точки зрения, биткоин торгуется в узком диапазоне 64 800 — 65 200 долларов. Уровень поддержки находится на 63 500 долларов, а сопротивление — на 65 100 долларов. Ключевые уровни сопротивления выше — 68 300 и 72 700 долларов. По мнению аналитиков, рынок все еще находится в фазе восстановления доверия и формирования основания после медвежьего рынка, а устойчивость притока средств в ETF остается ключевым краткосрочным драйвером.

marsbit7 мин. назад

Фонды хлынули, но рынок по-прежнему в страхе: биткоин в противоречивой ситуации

marsbit7 мин. назад

FlightAware подала иск против Kalshi из-за использования своих данных в ставках

Компания FlightAware, занимающаяся отслеживанием авиарейсов, подала иск против прогнозной биржи Kalshi. Она обвиняет платформу в нарушении своих Условий обслуживания, которые запрещают коммерческое использование данных FlightAware. Kalshi запустила рынки ставок на отмену рейсов, в описании которых указывалось на определение исхода на основе данных FlightAware, и использовала её товарный знак, создавая впечатление партнерства. FlightAware считает, что такие действия наносят ущерб её репутации, а рынки ставок могут стимулировать злонамеренные действия, угрожающие безопасности полётов. Компания требует судебного запрета для Kalshi и денежной компенсации. Это не единственный судебный иск против Kalshi в США, однако объёмы торгов на платформе продолжают расти.

cryptonews.ru10 мин. назад

FlightAware подала иск против Kalshi из-за использования своих данных в ставках

cryptonews.ru10 мин. назад

Торговля

Спот

Популярные статьи

Как купить RONIN

Добро пожаловать на HTX.com! Мы сделали приобретение Ronin (RONIN) простым и удобным. Следуйте нашему пошаговому руководству и отправляйтесь в свое крипто-путешествие.Шаг 1: Создайте аккаунт на HTXИспользуйте свой адрес электронной почты или номер телефона, чтобы зарегистрироваться и бесплатно создать аккаунт на HTX. Пройдите удобную регистрацию и откройте для себя весь функционал.Создать аккаунтШаг 2: Перейдите в Купить криптовалюту и выберите свой способ оплатыКредитная/Дебетовая Карта: Используйте свою карту Visa или Mastercard для мгновенной покупки Ronin (RONIN).Баланс: Используйте средства с баланса вашего аккаунта HTX для простой торговли.Третьи Лица: Мы добавили популярные способы оплаты, такие как Google Pay и Apple Pay, для повышения удобства.P2P: Торгуйте напрямую с другими пользователями на HTX.Внебиржевая Торговля (OTC): Мы предлагаем индивидуальные услуги и конкурентоспособные обменные курсы для трейдеров.Шаг 3: Хранение Ronin (RONIN)После приобретения вами Ronin (RONIN) храните их в своем аккаунте на HTX. В качестве альтернативы вы можете отправить их куда-либо с помощью перевода в блокчейне или использовать для торговли с другими криптовалютами.Шаг 4: Торговля Ronin (RONIN)С легкостью торгуйте Ronin (RONIN) на спотовом рынке HTX. Просто зайдите в свой аккаунт, выберите торговую пару, совершайте сделки и следите за ними в режиме реального времени. Мы предлагаем удобный интерфейс как для начинающих, так и для опытных трейдеров.

419 просмотров всегоОпубликовано 2024.04.30Обновлено 2026.06.02

Как купить RONIN

Обсуждения

Добро пожаловать в Сообщество HTX. Здесь вы сможете быть в курсе последних новостей о развитии платформы и получить доступ к профессиональной аналитической информации о рынке. Мнения пользователей о цене на RONIN (RONIN) представлены ниже.

活动图片