Недавняя ошибка в приложении Zilliqa для Ledger, согласно отчету о расследовании, затронула как минимум 6 772 аккаунта и позволила похитить 683 130 969,66 ZIL в ходе 66 успешных транзакций в рамках атаки. Ранее не имевшая количественной оценки уязвимость теперь превратилась в задокументированный убыток и запись о раскрытии данных. При этом на указанную дату старые транзакции оставались приостановленными, а держатели ожидали миграции на Zilliqa EVM без объявленной даты.
Цифры отражают разные аспекты инцидента. Zilliqa разделяет 51 опустошенный аккаунт и 6 772 аккаунта, чьи закрытые ключи, как выяснилось, были раскрыты. В отчете не указано точное количество пострадавших пользователей.
Общее количество скомпрометированных аккаунтов является минимальной оценкой. Сумма в 683,13 миллиона ZIL является точной для известных на данный момент скомпрометированных аккаунтов, согласно отчету, и может возрасти, если следователи докажут, что дополнительные скомпрометированные аккаунты были использованы для кражи.
Почему важны четыре подписи
Zilliqa сообщила, что приложение генерировало 40 случайных байтов, но копировало в буфер подписи неверные 32 байта, сохраняя восемь байтов нулевого заполнения и отбрасывая восемь байтов энтропии. Это приводило к обнулению старших 64 битов каждого затронутого одноразового номера.
Четыре или более искаженных подписи, созданных старым приложением Ledger для одного и того же аккаунта, позволяли злоумышленнику восстановить его закрытый ключ из публичных данных блокчейна за секунды на обычном оборудовании, по данным Zilliqa. Уже опубликованные подписи отозвать невозможно, поэтому исправление приложения может защитить новые ключи, но не может восстановить уже раскрытые.
Массовое сканирование, результаты которого были опубликованы, требовало как минимум пять нативных подписей в рамках одной эпохи подписанта. Математический порог раскрытия составляет четыре искаженные подписи. Таким образом, аккаунты ровно с четырьмя подписями не были включены в общее количество. Инструмент Zilliqa для проверки отдельных адресов использует более строгие параметры и сообщает о случаях с четырьмя подписями, однако повторное проведение более широкого сканирования с этими параметрами еще не выполнено.

Реконструкция событий Zilliqa показала, что первая подтвержденная кража произошла 4 марта. KuCoin сообщила о подозрительных исходящих транзакциях из одного из своих холодных кошельков 19 июля, примерно через четыре с половиной месяца. 20 июля последняя транзакция злоумышленника была совершена в 09:19:09 UTC, и Zilliqa отключила старые транзакции около 12:59 UTC.
В отчете также распределена ответственность между компаниями. Zilliqa заявила, что написала исходную реализацию затронутого приложения, в то время как ошибка сохранялась в течение многих лет обслуживания под управлением Ledger, и ни одна из сторон ее не обнаружила. Сообщение KuCoin выявило активный инцидент.
Ошибка в приложении Zilliqa для Ledger ограничена старым, не-EVM путем подписи приложения. Активность Zilliqa EVM, фразы восстановления, активы, хранящиеся на других блокчейнах через то же устройство, и перечисленные пути подписи программных кошельков не входят в раскрытый объем.
В обновлении статуса от 20 августа Zilliqa сообщила, что восстановление будет включать миграцию всех держателей старых активов на Zilliqa EVM с последующим выводом из эксплуатации старой платформы. Дата запуска инструмента миграции не была объявлена, поскольку сроки по-прежнему зависели от внешнего аудита безопасности, анализа его результатов и любого необходимого исправления. Отслеживание активов и координация с биржами продолжались.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Liam 'Akiba' Wright




