Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

Анализ взлома моста BSC Token Hub на миллион долларов

Время Читать: 4 минут

Резюме:

7 октября 2022 года произошел эксплойт, затронувший нативный межсетевой мост под названием «BSC Token Hub». Ошибка находится в верификаторе доказательства моста. В общей сложности было снято 2 миллиона BNB, и Binance временно приостановила работу сети BSC, чтобы предотвратить дальнейший ущерб. Средства, снятые с BSC, оцениваются в 100-110 миллионов долларов.

Введение в Binance Smart Chain и Token Hub Bridge:

Binance Smart Chain (BSC) — это сеть на основе блокчейна, используемая для запуска приложений, основанных на смарт-контрактах. BSC работает параллельно с собственной сетью Binance Chain (BC) Binance, позволяя пользователям воспользоваться преимуществами быстрой транзакционной способности BC, а также функциями смарт-контрактов BSC.

  • Сеть маяков BNB (ранее Binance Chain) – Управление сетью BNB (стейкинг, голосование)
  • Смартчейн BNB (BSC) (ранее Binance Smart Chain) – Совместимость с EVM, уровни консенсуса и концентраторы для мультичейнов.

Проверьте наши гайд Больше подробностей.

Токен-хаб BSC:

Токен-хаб BSC — это кроссчейн-мост между цепочкой маяков BNB (BEP2) и цепочкой BNB (BEP20 или BSC). Проверьте официальный документации Binance для более подробной информации.

Анализ уязвимостей и влияние:

Детали транзакции атаки:

Адрес хакера: 0x489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec

1-й Txn-хэш: 0xebf83628ba893hd35b496121fb8201666b8e09f3cbadf0e269162baa72efe3b8b

2-й транзакционный хэш: 0x05356fd06ce56a9ec5b4eaf9c075abd740cae4c21eab1676440ab5cd2fe5c57a

Контракт токен-хаба BSC: 0x0000000000000000000000000000000000001004

Исходный хэш Txn (с высотой блока 110217401): 0x79575ff791606ef2c7d69f430d1fee1c25ef8d56275da94e6ac49c9c4cc5f433

Ошибка:

BSC Token Hub использует предварительно скомпилированный контракт для проверки деревьев IAVL (Immutable AVL) при выполнении проверки транзакций между цепочками. Эксплуататор использовал ошибку в логике проверки доказательства, адаптировав законное доказательство, чтобы заставить мост чеканить 2M BNB.

Первопричина видимо в этом линия:

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

Проблема в том, что lpath.Right может не использоваться при вычислении корневого хэша дерева.

Чтобы исправить это, строка должна измениться

От:

```
if !bytes.Equal(derivedRoot, lpath.Right) ...

что-то вроде:

«`

к:

```
expectedHash := lpath.Left
 if len(lpath.Left) == 0 {
   expectedHash = lpath.Right }
 if !bytes.Equal(derivedRoot, expectedHash) ...

«`

Атака:

1. Злоумышленник использовал хэш успешно отправленного блока, созданного 2 года назад (указанный блок: 110217401), для создания полезной нагрузки в виде конечного узла для проверки дерева IAVL. Оригинальные детали транзакции этого можно найти здесь.

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.
Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

2. Злоумышленник внедрил листовой узел, содержащий в качестве ключа текущую последовательность пакетов и в качестве значения злонамеренный хэш полезной нагрузки (т. е. отчеканил 1 миллион BNB на свой адрес). Затем добавил к листу пустой внутренний узел, чтобы удовлетворить доказательству реализации.

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

3. Злоумышленник установил левый путь как правый в хэше только что созданного листового узла, чтобы сделать корневой хэш равным успешно отправленному корневому хешу, и, наконец, создал доказательство снятия для конкретного блока и отправил транзакцию.

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

4. После успешной отправки транзакции и получения 1 млн долларов США в BNB. Злоумышленник повторил шаги еще раз и получил дополнительный 1 миллион BNB. Общая сумма которых составила 2 миллиона BNB, то есть 570 миллионов долларов.

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

Злоумышленник 17 раз пытался добыть 1 млн BNB, но 15 раз потерпел неудачу, и он добыл только 2 млн BNB. Причина этого заключалась в том, что у них была конкуренция с другими законными транзакциями, которые опережали tx эксплуататора, используя ту же самую packageSequence.

После эксплойта:

Через несколько часов после атаки генеральный директор Binance CZ объявил об инциденте через твит и остановил сеть BSC, чтобы предотвратить дальнейший ущерб.

Через несколько часов Binance исправила проблему в последней версии v1.1.15. Он заблокировал поток средств злоумышленников, занеся адрес злоумышленника в черный список.

Binance внесла адрес злоумышленника в черный список в недавнем совершать.

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

Статус средств:

Текущие активы, находящиеся у злоумышленника в разных цепочках:

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

Поток средств:

Анализ взлома моста BSC Token Hub на миллион долларов. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

Image Source: https://twitter.com/BeosinAlert/status/1578290676793384961/photo/1

Дополнительная ссылка/кредит:

https://github.com/emilianobonassi/bsc-hack-analysis-2022-10-06


Безопасность Web3 — потребность часа

Почему QuillAudits для безопасности Web3?

QuillAudits хорошо оснащен инструментами и опытом для предоставления решений в области кибербезопасности, спасая от потери миллионов средств.

9 Просмотры

Отметка времени:

Больше от Квиллхэш