Rainbow Bridge
February 16, 2023

Подробный обзор инцидента с мостом Rainbow Bridge, который произошел 10 февраля

10 февраля в ядре NEAR была обнаружена уязвимость.

Данная уязвимость затрагивала валидацию корневого результата блока. Производитель чанков (валидатор) блокчейна NEAR мог злонамеренно сформировать ложный блок, который затем был подтвержден другими как корректный.

Подобная уязвимость является особо опасной для Rainbow Bridge из-за его бездоверительной архитектуры. Для финализации перевода с NEAR стороне Ethereum на мосту необходимо подтвердить включение начальной транзакции на NEAR.
Следовательно, если консенсус нарушен, может быть внесена неверная информация, что повлечет за собой утечку средств с моста и потенциально затронет другие коннекторы моста.

После краткого рассмотрения поступившего сообщения (еще до полной проверки уязвимости) команда NEAR Protocol уведомила Aurora Labs о проблеме.
Незамедлительно было принято решение остановить работу моста и контрактов, в которых хранятся токены пользователей. Совет по безопасности Rainbow Bridge не располагал возможностью проанализировать достоверность проблемы, но даже из ее описания было ясно, что она может быть весьма серьезной.

Через 30 минут после первого сообщения мост был остановлен серией из 4 транзакций:
1) https://etherscan.io/tx/0x0fbce00aa32411f0d83b27636d45fa7d71a5d896f659a937bcf2334a032ccd0c
2) https://etherscan.io/tx/0x9fd20fee71446ac49cd7c8580923dbe0b05c909e3f797038eee4c18291e51840
3) https://etherscan.io/tx/0xfae634956088734469df3a306134c57c3e3ddda5fd0c5a723e90c5676d5bd9d5
4) https://etherscan.io/tx/0xf74a154d8efa728f0431d39d33b5d18a74e3815bf8ade95b4dd9a63084c73008

Согласно этим транзакциям было остановлено выполнение любых методов для трех коннекторов, хранящих токены (ERC-20, ETH и eNEAR), а также контракта proover.

Как результат, и токены, и передача данных на Rainbow Bridge были остановлены.

После остановки Rainbow Bridge информация была разослана по всем каналам Aurora, включая веб-страницу статуса Aurora и веб-приложение Rainbow Bridge.

Вскоре после этого команда NEAR Protocol подтвердила достоверность проблемы, и была начата разработка патча для NEAR Core.

11 февраля патч был подготовлен и прошел проверку, и команда NEAR Core обратилась к валидаторам для установки патча. В максимально сжатые сроки был обновлен и валидатор Aurora Labs.

На протяжении всех выходных валидаторы обновляли свои устройства, и к концу 12 февраля (по европейскому времени) была достигнута необходимая доля в 67%. Таким образом, уязвимость больше не может быть использована.

Одновременно с тем, пока команда NEAR Protocol занималась разработкой патча и взаимодействовала с валидаторами, команда моста Aurora Labs анализировала всю историю Rainbow Bridge за 2 года, чтобы выяснить, использовалась ли когда-либо уязвимость.

Результат анализа был отрицательным: некорректные передачи не выполнялись, никогда!

Мост Rainbow был разблокирован двумя транзакциями (одна из которых была пакетной) сразу после того, как поступило уведомление о достаточной степени модернизации стейкинга:

https://etherscan.io/tx/0x3fbc04ed38248430850a407c5af6691accea5f703d3986f66762e390a7d838b5
https://etherscan.io/tx/0xfedcf8fdfbb6d15796e8ae16b062263a5ec03eddc70642992597416b72a92667

Информацию о запуске Rainbow Bridge немедленно передали по всем официальным каналам Aurora:

NEAR Protocol опубликовал патч безопасности 1.31.1, который был применен валидаторами в выходные дни:

https://github.com/near/nearcore/releases/tag/1.31.1

Уязвимость все еще можно использовать, например, в случае, если распределение стейкинга изменится в пользу валидаторов, которые не обновились, поэтому важно обновить ноды NEAR. Однако вероятность этого события ничтожно мала.

По большому счету, эта уязвимость была устранена очень профессионально, оперативно, прозрачно и с использованием передовых методов анализа. Именно так все и должно делаться в блокчейне.


"Хотелось бы поблагодарить команды безопасности, моста и инфраструктуры Aurora Labs, а также команды безопасности и протокола Pagoda за отличное и эффективное сотрудничество и заботу о пользователях как в NEAR, так и в Aurora", — отметил Алекс Шевченко, CEO Aurora Labs.

Источник: https://typefully.com/AlexAuroraDev/wODAVOh