Криптографический дефект в устаревшем приложении Ledger для блокчейна Zilliqa привёл к компрометации как минимум 6 772 аккаунтов и краже более 683 млн токенов ZIL (на сумму около $2,25 млн на момент атаки). Проект опубликовал посмертный анализ, в котором подробно описал механизм уязвимости и её последствия.
В чём суть ошибки
Приложение генерировало 40 случайных байтов для nonce (одноразового числа, используемого при подписи), но копировало в буфер только 32 байта, обнуляя старшие 64 бита и отбрасывая восемь байтов энтропии. Это делало nonce предсказуемым. Для восстановления приватного ключа злоумышленнику достаточно четырёх или более подписей с одного аккаунта, взятых из публичных данных блокчейна — процесс занимает секунды на обычном оборудовании.
Масштаб ущерба
66 успешных транзакций в окне атакующего опустошили 51 аккаунт;
6 772 аккаунта были идентифицированы как скомпрометированные (нижняя граница, так как в расчёт включались только аккаунты с минимум пятью подписями, тогда как математический порог — четыре);
Похищено 683 130 969,66 ZIL — эта цифра точна для известных скомпрометированных аккаунтов и может вырасти после более широкого сканирования.
Хронология
Первая доказанная кража датируется 4 марта. 19 июля биржа KuCoin сообщила об аномальных исходящих транзакциях с одного из своих холодных кошельков. Последняя транзакция злоумышленника прошла 20 июля в 09:19 UTC.
Что это значит для пользователей
Подписи, уже сделанные в блокчейне, невозможно отозвать. Исправление приложения защищает новые ключи, но ничего не меняет для уже раскрытых аккаунтов. Zilliqa заявила, что уязвимость затрагивает только устаревший путь подписания, не связанный с EVM. Устаревшие транзакции по состоянию на 24 августа всё ещё приостановлены, а держателям предстоит миграция на Zilliqa EVM, дата которой пока не объявлена.
Что дальше
Проект обещает повторный сканирование с более строгими параметрами, которое может выявить дополнительные скомпрометированные аккаунты и увеличить число 6 772 вверх. Это будет ключевым индикатором реального масштаба уязвимости. Пользователям, использовавшим устаревшее приложение Ledger для подписи транзакций Zilliqa, рекомендуется немедленно перевести средства на новые кошельки, сгенерированные с использованием исправленной версии приложения.
В чём суть ошибки
Приложение генерировало 40 случайных байтов для nonce (одноразового числа, используемого при подписи), но копировало в буфер только 32 байта, обнуляя старшие 64 бита и отбрасывая восемь байтов энтропии. Это делало nonce предсказуемым. Для восстановления приватного ключа злоумышленнику достаточно четырёх или более подписей с одного аккаунта, взятых из публичных данных блокчейна — процесс занимает секунды на обычном оборудовании.
Масштаб ущерба
66 успешных транзакций в окне атакующего опустошили 51 аккаунт;
6 772 аккаунта были идентифицированы как скомпрометированные (нижняя граница, так как в расчёт включались только аккаунты с минимум пятью подписями, тогда как математический порог — четыре);
Похищено 683 130 969,66 ZIL — эта цифра точна для известных скомпрометированных аккаунтов и может вырасти после более широкого сканирования.
Хронология
Первая доказанная кража датируется 4 марта. 19 июля биржа KuCoin сообщила об аномальных исходящих транзакциях с одного из своих холодных кошельков. Последняя транзакция злоумышленника прошла 20 июля в 09:19 UTC.
Что это значит для пользователей
Подписи, уже сделанные в блокчейне, невозможно отозвать. Исправление приложения защищает новые ключи, но ничего не меняет для уже раскрытых аккаунтов. Zilliqa заявила, что уязвимость затрагивает только устаревший путь подписания, не связанный с EVM. Устаревшие транзакции по состоянию на 24 августа всё ещё приостановлены, а держателям предстоит миграция на Zilliqa EVM, дата которой пока не объявлена.
Что дальше
Проект обещает повторный сканирование с более строгими параметрами, которое может выявить дополнительные скомпрометированные аккаунты и увеличить число 6 772 вверх. Это будет ключевым индикатором реального масштаба уязвимости. Пользователям, использовавшим устаревшее приложение Ledger для подписи транзакций Zilliqa, рекомендуется немедленно перевести средства на новые кошельки, сгенерированные с использованием исправленной версии приложения.