Пост-мортем Zilliqa: ошибка подписи в Ledger раскрыла минимум 6 772 аккаунта и позволила похитить 683 миллиона ZIL
Ключевые выводы
- •Zilliqa сообщила, что ошибка в её приложении для кошелька Ledger раскрыла как минимум 6 772 аккаунта.
- •По имеющимся данным, та же уязвимость позволила похитить 683 миллиона ZIL.
- •Zilliqa заявила, что проблема была в её собственном приложении для устройств Ledger, а не в аппаратном обеспечении Ledger.
- •По данным СМИ, причина проблемы состояла в том, что приложение отбрасывало энтропию, используемую при генерации приватных ключей.
- •После обнаружения ошибки Zilliqa приостановила нативные транзакции в сети.

Zilliqa сообщила, что ошибка в порядке подписания транзакций её приложением для аппаратного кошелька Ledger раскрыла как минимум 6 772 пользовательских аккаунта и позволила похитить 683 миллиона ZIL — нативный токен сети. Детали произошедшего блокчейн-проект изложил в пост-мортеме, описав уязвимость, связанную с тем, как приложение обращалось с секретными данными, защищающими приватные ключи. Сама Zilliqa — публичный блокчейн, запущенный в начале 2019 года, в основу конструкции которого положен шарддинг — разделение нагрузки от транзакций между параллельными группами нод; ZIL используется для оплаты комиссий за транзакции в сети.
Согласно пост-мортему, ошибка подписания в приложении Zilliqa для Ledger оставила незащищёнными минимум 6 772 аккаунта. Ошибка подписания означает, что приложение кошелька некорректно обрабатывало процесс одобрения транзакций — этап, призванный обеспечивать безопасность средств пользователей. Изъян находился в созданном Zilliqa приложении, работающем на устройствах Ledger, а не в самом аппаратном обеспечении Ledger: кошельки Ledger функционируют через отдельные приложения для каждой блокчейн-платформы, которые предоставляют сами проекты, — это помещает собственный код проекта непосредственно в цепочку подписания.
Zilliqa рассматривает цифру 6 772 как минимум, а не как подтверждённое окончательное число всех пострадавших. По словам проекта, та же уязвимость позволила похитить 683 миллиона ZIL.
Как установило издание CryptoSlate, причина проблемы заключалась в том, что приложение аппаратного кошелька отбрасывало энтропию. Энтропия — это случайность, используемая при генерации приватного ключа; без её достаточного количества ключи становятся предсказуемыми, что может раскрыть защищаемые ими криптоактивы.
Почему число аккаунтов и потеря токенов имеют значение
Цифра 6 772 задаёт измеримый нижний порог числа пользователей, затронутых инцидентом. Поскольку Zilliqa называет её минимумом, реальное количество пострадавших аккаунтов может оказаться выше. Похищенные токены указывают на финансовый масштаб проблемы: изъян в подписании находится на уровне доверия любого кошелька, поэтому сбой там напрямую угрожает средствам пользователей и доверию к ZIL.
Ошибка оказалась настолько серьёзной, что Zilliqa приостановила нативные транзакции в сети, сообщает The Block. По данным издания, изъян восходит к коду приложения Ledger 2019 года — коду, написанному в том же году, когда была запущена сеть. Это означает, что уязвимый путь подписания существовал с первого года работы Zilliqa.
Что следует учесть пользователям Zilliqa
Пользователи, хранившие ZIL на устройствах Ledger, могут обнаружить свои аккаунты среди затронутых. Инцидент напоминает: даже аппаратные кошельки, которые широко считаются более безопасным вариантом, могут содержать дефекты на уровне приложений.
Это также не первый случай, когда процесс подписания привлекает внимание в экосистеме Ledger. Ранее Ledger устранила отдельную проблему, исправив уязвимость подписания Ethereum, что подчёркивает: этап одобрения транзакций вновь и вновь проявляется как слабое место. Такая схема перекликается с другими проектами, приостанавливавшими работу после проблем на уровне кода, — подобно тому, как TAC остановила производство блоков из-за эксплойта, связанного с объёмом предложения токенов. Остановка сети даёт время, но также показывает, насколько глубока лежащая в основе уязвимость.
Для обычных держателей практический вывод прост: следить за официальными каналами Zilliqa для получения указаний и перед перемещением средств убедиться, подпадает ли аккаунт под раскрытый масштаб инцидента. За этим советом стоят два открытых вопроса — будет ли цифра 6 772 впоследствии пересмотрена в сторону увеличения и какие меры устранения последствий, если таковые предусмотрены, проект предпишет для ключей, сгенерированных через уязвимое приложение.