Zilliqa 22 липня призупинила спотові (native) транзакції ZIL. Розслідування раніше виявило дефект Schnorr-підпису nonce в застосунку Ledger для апаратних гаманців, який існує з 2019 року: уразливість фіксувала перші 64 біти nonce кожного підпису на нуль, суттєво послаблюючи випадковість. Це дає атакувальникам змогу відновлювати приватний ключ із приблизно 5 або більше уражених підписів, використовуючи лише відкриті дані в блокчейні.
Технічний опис уразливості Schnorr nonce в Ledger 2019 року
Згідно з офіційними поясненнями Zilliqa, технічною першопричиною цієї вразливості є те, що в Schnorr-підписах потрібно щоразу використовувати унікальний і непередбачуваний випадковий nonce. Якщо випадковість nonce зменшується, математичні алгоритми, які захищають приватний ключ, перестають працювати.
Дослідження Zilliqa показало, що під час формування Schnorr-підписів застосунок Ledger витягував неправильні 32 байти з 40-байтового значення, через що перші 64 біти кожного nonce дорівнювали нулю. Zilliqa описує такий результат як «передбачуваний, послаблений тимчасовий nonce».
Атакувальнику достатньо отримати приблизно 5 або більше таких уражених підписів, щоб відновити приватний ключ підписанта з відкритих даних у блокчейні. Ця вразливість існує з моменту випуску застосунку Ledger у 2019 році, і будь-які підписи, зроблені після 2019 року та які відповідають умовам, можуть бути використані для відновлення.
Хронологія подій з 19 по 22 липня: KuCoin допомагає демонстрацією, холодний гаманець вкрадено
Відповідно до офіційного повідомлення Zilliqa, перебіг подій був таким: 19 липня Zilliqa виявила активність у ланцюжку, що відповідала експлуатації вразливості; 20 липня викрали холодний гаманець ZIL токенів партнерської біржі Zilliqa, через що ZIL впав до історичного мінімуму 0,002441 долара, Coinone і KuCoin призупинили депозити та зняття ZIL; 21 липня Zilliqa знайшла першопричину; 22 липня відбулося публічне розкриття та призупинення native (спотових) транзакцій ZIL.
KuCoin відіграв ключову роль у цій події: допоміг ідентифікувати уразливість nonce та успішно відновив уражені приватні ключі з публічних підписів як практичну демонстрацію, підтвердивши факт експлуатації вразливості. Це дало Zilliqa змогу вжити захисних заходів і підготувати більш широку програму виправлень.
Вказівки для користувачів і прогрес виправлення: очікується оновлена версія застосунку Ledger
Згідно з офіційними рекомендаціями Zilliqa, поточні інструкції для уражених користувачів такі:
· Очікуйте офіційних вказівок: усі користувачі, які використовують Ledger для підпису native ZIL, мають чекати
· Не переказуйте жодні кошти
· Не намагайтеся виправити самостійно
· Користувачі EVM-транзакцій і SDK не постраждали: лише користувачам, які працюють із інструментами, сумісними з EVM, і використовують SDK Zilliqa, не потрібно вживати жодних дій
· Оновлення від Ledger: Ledger розробляє виправлену версію застосунку Ledger; конкретний час релізу буде повідомлено додатково
Станом на повідомлення станом на 22 липня ZIL за даними CoinGecko коштував 0,00244 долара, за 24 години впав на 3,5%. Відносно історичного максимуму приблизно 0,2563 долара в травні 2021 року він значно знизився.
Поширені запитання
Чому Zilliqa 22 липня призупинила native-транзакції ZIL?
Згідно з офіційним оголошенням Zilliqa від 22 липня, причина — виявлений дефект Schnorr-підпису nonce в застосунку Ledger, що існував із 2019 року: перші 64 біти кожного nonce зафіксовані на нуль, що дозволяє атакувальникам відновлювати приватний ключ із приблизно 5 або більше уражених публічних підписів у блокчейні.
Які користувачі ZIL підпадають під ризик?
Згідно з поясненнями Zilliqa, ризику піддаються лише користувачі, які підписують native (не EVM) транзакції ZIL на апаратних пристроях Ledger; користувачі, що використовують інструменти, сумісні з EVM, і SDK Zilliqa, не постраждали.
Коли буде опубліковано виправлену версію Ledger?
Згідно з офіційною заявою Zilliqa, Ledger розробляє виправлену версію застосунку Ledger; конкретний час релізу буде повідомлено додатково. Користувачам варто стежити за офіційними каналами Zilliqa і Ledger, щоб отримувати найсвіжіші оголошення.