Время Читать: 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.
Первопричина видимо в этом линия:
Проблема в том, что 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. Оригинальные детали транзакции этого можно найти здесь.
2. Злоумышленник внедрил листовой узел, содержащий в качестве ключа текущую последовательность пакетов и в качестве значения злонамеренный хэш полезной нагрузки (т. е. отчеканил 1 миллион BNB на свой адрес). Затем добавил к листу пустой внутренний узел, чтобы удовлетворить доказательству реализации.
3. Злоумышленник установил левый путь как правый в хэше только что созданного листового узла, чтобы сделать корневой хэш равным успешно отправленному корневому хешу, и, наконец, создал доказательство снятия для конкретного блока и отправил транзакцию.
4. После успешной отправки транзакции и получения 1 млн долларов США в BNB. Злоумышленник повторил шаги еще раз и получил дополнительный 1 миллион BNB. Общая сумма которых составила 2 миллиона BNB, то есть 570 миллионов долларов.
Злоумышленник 17 раз пытался добыть 1 млн BNB, но 15 раз потерпел неудачу, и он добыл только 2 млн BNB. Причина этого заключалась в том, что у них была конкуренция с другими законными транзакциями, которые опережали tx эксплуататора, используя ту же самую packageSequence.
После эксплойта:
Через несколько часов после атаки генеральный директор Binance CZ объявил об инциденте через твит и остановил сеть BSC, чтобы предотвратить дальнейший ущерб.
Через несколько часов Binance исправила проблему в последней версии v1.1.15. Он заблокировал поток средств злоумышленников, занеся адрес злоумышленника в черный список.
Binance внесла адрес злоумышленника в черный список в недавнем совершать.
Статус средств:
Текущие активы, находящиеся у злоумышленника в разных цепочках:
Поток средств:
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 Просмотры
- связующая цепь
- Bitcoin
- блокчейн
- соответствие блокчейна
- блочная конференция
- coinbase
- Coingenius
- Консенсус
- криптоконференция
- криптодобыча
- криптовалюта
- децентрализованная
- Defi
- Цифровые активы
- Эфириума
- обучение с помощью машины
- невзаимозаменяемый токен
- Платон
- Платон Ай
- Платон Интеллектуальные данные
- Платоблокчейн
- ПлатонДанные
- платогейминг
- Polygon
- Доказательство доли
- Квиллхэш
- Безопасность смарт-контрактов
- трендов
- W3
- зефирнет