▼ Bear
Вплив
82 · Високий
Cold Card: після виявлення вразливості в системі Seed, необхідно вводити ключ 65 разів… Для існуючих гаманців необхідно виконати міграцію
BTC
CryptoSlate · 18h agoВідкрити джерело ↗
Компанія Coinkite, виробник апаратних криптогаманців, 20 серпня представила нову версію прошивки для пристрою Coldcard. Основною особливістю цього оновлення є те, що воно вимагає від користувача особисто вводити фізичну випадковість під час створення seed-фрази. Користувач повинен виконати одне з наступних завдань: ввести 65 або більше ключів з непередбачуваними інтервалами, 50 разів кинути шестигранний кубик або 128 разів підкинути монету. Це зроблено для зменшення ризиків, пов'язаних з використанням лише генератора випадкових чисел (RNG) у гаманці.
Рекомендации распространяются на широкий спектр версий. Для моделей Mk2 и Mk3 рекомендуется использовать прошивку версии 4.0.1-4.1.9, для моделей Mk4 и Mk5 – стандартную прошивку версии ниже 5.6.0 и Edge-прошивку версии ниже 6.6.0X, а для устройств Q – стандартную прошивку версии ниже 1.5.0Q и Edge-прошивку версии ниже 6.6.0QX. Независимый технический анализ, проведенный компанией Block, показал, что рекомендации должны распространяться даже на версию 4.0.0 для моделей Mk2 и Mk3, и предупредил, что полагаться только на стандарты безопасности, установленные производителем, недостаточно.
Основна причина цієї вразливості полягає в коді обробки помилок (fallback) MicroPython. Згідно з аналізом компанії Block, прапорець функції, який був визначений як "0", був інтерпретований як "існуючий", що могло призвести до того, що запит на генерацію випадкових чисел був перенаправлений до детермінованого коду обробки помилок. В результаті, у випадках, коли для генерації ключа використовувалася недостатня кількість зовнішньої ентропії, безпека значно знижувалася. Примусове введення даних ззовні призначене для обмеження збитків у разі повторної невдачі генерації випадкових чисел пристроєм, але не може бути застосовано до вже згенерованих ключів.
Цей оновлення включає в себе не лише зміни, пов'язані з генерацією ключів, але й численні інші покращення безпеки. Воно пов'язує перевірку USB-пристроїв з поетапною перевіркою контрольних сум PSBT, повторно перевіряє байти транзакцій перед підписанням, а також за замовчуванням блокує режим SIGHASH_SINGLE. Крім того, було обмежено завантаження з USB лише результатами поточного зашифрованого сеансу, додано перевірку довжини файлів прошивки, припинено роботу в разі постійних збоїв генератора випадкових чисел (RNG) та додано функцію перевірки підключення апаратного RNG при завантаженні.
У вимогах щодо міграції є один виняток. Користувачі, які використовували вразливе програмне забезпечення, але здійснили понад 50 чесних, незалежних і конфіденційних кидків кубика, звільняються від необхідності міграції. Однак, якщо кількість кидків недостатня або користувач не впевнений у виконанні відповідних умов, він повинен обов'язково створити новий seed, і перенести кошти. Офіційний посібник CoinKite рекомендує наступну послідовність дій: створення нового seed, резервне копіювання, перевірка відбитка гаманця, перевірка адреси отримання на пристрої, надсилання невеликого тестового платежу, а потім перенесення всієї суми. Відновлення або клонування гаманця не вважається створенням нового seed.
Компанія CoinKite заявила, що деякі клієнти зазнали значних збитків, і що правоохоронні органи проводять розслідування. Однак, компанія не розголосила кількість постраждалих або загальний обсяг збитків. Крім того, було зазначено, що поточні перевірки, які включають перегляд коду, тестування шляхів генерації випадкових чисел на реальному обладнанні, а також відстеження та відтворення згенерованих даних, не є повною перевіркою (аудитом) усього зміненого програмного забезпечення.
Зміст стисло викладено ШІ. Повну статтю читайте в джерелі.