source avatarJoseph Hurtado - Founder Granata Consulting

Поділитися

СКАНДАЛ З БЕЗПЕКОЮ ХАРДВЕРНОГО ГАМАНЦЯ BITCOIN COLDCARD: ЩО СПРАВДІ ВІДБУЛОСЯ? Найкращий звіт від AI — Claude Opus 5 Max — про те, що саме відбулося з @COLDCARDwallet. Для перевірки, але здається досить ймовірним, і це означає, що Trezor і Ledger мають бути в безпеці: «Помилка Coldcard була **не** зламаним TRNG-чіпом. Це був баг у конфігурації збірки, який тихо обходив апаратний TRNG повністю. Конфігурація плати Coldcard встановлює `MICROPY_HW_ENABLE_RNG` на нуль, оскільки Coinkite поставляє власний апаратний RNG-обгортку. Але бібліотека libngu перевіряла лише те, чи цей макрос *визначений*, а не чи він *увімкнений*, тому збірка успішно завершилася і тихо прив’язалася до програмного запасного варіанту MicroPython — некриптографічному генераторі «Yasmarang», ініціалізованому за допомогою UID чіпа, реєстрів SysTick і RTC.¹ Жоден з цих джерел не є секретним: UID — це метадані заводу, частково відображені як USB-номер серії, а значення таймерів можна обмежити.¹ Наслідки за поколіннями:¹ - **Mk2/Mk3 з прошивкою v4.0.0–v4.1.9** — повна відсутність криптографічної ентропії. З відомим UID, станом таймера та історією викликів генерація посіву є *детермінованою*. Реалістична верхня межа при холодному завантаженні: приблизно 2^16–2^40 кандидатів замість 2^256. - **Mk4/Q/Mk5** — під час завантаження додається ентропія з безпечного елемента, але її хешують і зберігають лише чотири байти, а `reseed()` перезаписує лише одне 32-бітне станове слово. Верхня межа: 2^32, у середньому ~2^31 спроб. Два деталі роблять це навчальним. Libngu XOR-ить запасний варіант з *другим* потоком Yasmarang, ініціалізованим з опублікованих констант — XOR двох відтворюваних вхідних даних все ще є відтворюваним.¹ А перевірка здоров’я відкидала лише ідентичні сусідні виводи, що детермінований PRNG проходить без проблем.¹ SHA256d над результатом не допомагає: хешування не може збільшити множину кандидатів.¹ Приблизно 594 BTC (~$38 млн) було виведено з ~500 гаманців з однією підписовою ключем за 25 хвилин, 1 324 UTXO по трьох блоках.³ Власне повідомлення Coinkite стосується прошивки Mk3 4.0.1–5.0.3 і стверджує, що Mk4/Q/Mk5 не постраждали за попереднім аналізом;² незалежний звіт Block суперечить цьому останньому твердженню і ставить сучасні моделі на рівень 2^32.¹ Вважайте обидва попередніми. Дві речі, які дивують людей: експозиція залежить від прошивки, яка працювала **в момент створення посіву**, а не від дати покупки чи поточної прошивки — оновлення не виправляє існуючий посів.¹ І експорт слабкого посіву до іншого гаманця також не виправляє цього.¹ ## Як основні гаманці генерують ентропію **Ledger** — одне джерело, але сильно сертифіковане. TRNG розташований у безпечному елементі; ентропія генерується там і відображається на слова BIP39.⁵ Власна лабораторія безпеки Ledger описує TRNG SE як дизайн на основі вільного осцилятора, затверджений незалежними лабораторіями до EAL5+ та AIS-31, протестований при різних температурах, напрузі та частотах з вбудованою детекцією дефектів.⁴ Nano X має EAL5+; Nano S Plus і Stax використовують компоненти EAL6+.⁶ Компромисс чесний: ви отримуєте сертифікацію, але не перевіряємост — ОС є закритим кодом, і немає сумішшю ентропії хоста, яку ви можете незалежно перевірити. **Trezor** — багатоджерельний за дизайном, і це архітектурна відповідь на режим помилки Coldcard. Model One і Model T XOR-ять ентропію ОС хоста з апаратним TRNG STM32. Safe 3 і Safe 5 додають третє джерело — безпечний елемент Optiga. Safe 7 додає четверте — чип TROPIC01.⁷ Логіка полягає в тому, що атакувач повинен одночасно зламати всі джерела.⁷ Критично важливо: ви можете це перевірити: `trezorctl` дозволяє вам побачити ентропію, надану хостом, і попросити пристрой показати свою внутрішню ентропію, потім самостйно реконструювати посив і перевірити, чи вони сполучаються.⁸ Trezor Suite 25.2.2 (лютий 2025) автоматизував версію цього як «перевірку ентропії», і це є частиною робочого процесу у `ResetDevice` прошивки.⁹ ¹⁰ **BitBox02** — п’ять джерел: виробнича випадковість, пароль вашого пристрою, комп’ютер хоста, мiкроконтролер і безпечний чип, об’єднанi так, щоб кожне джерело могло лише додавати ентропію, нiколи не вiднiмати.¹¹ Прошивка є вiдкритим кодом з повторно створюваними збiрками, незалежно перевiреними WalletScrutiny.¹² ## Наскiльки безпечнi цi пристрої проти хакiнгу? Щиро кажучи, TRNG-чип практично нiколи не стає метою атаки. Кожна велика реальна помилка ентропiї була помилкою *iнтеграцiї* у програмному забезпеченнi: - Помилка Android `SecureRandom` у 2013 роцi викрала гаманцi⁴ - Milksad (2023) — Libbitcoin Explorer використовував Mersenne Twister, інiцiалiзований значенням 32-бiтного таймера; ~2600 гаманцiв скомпрометовано, ~$900K пiдтверджено⁷ - Coldcard (2026) — `#ifndef`, який мав бути `#if`¹ Атака на сертифiкований TRNG SE потребує фiзичного доступу, лабораторного обладнання та спецiалiзованих навичок. Експлуатацiя помилки ентропiї потребує xpub чи адреси — якi є публiчними і дiють як безкоштовний оракул для перевiрки, дозволяючи атакувачевi тестувати кандидатськi посiви офлайн у великих масштабах.¹ Ця асиметрiя й пояснює, чому архiтектура переважає сертифiкацiю. Отже, практична рейтингова шкала: 1. **Багатоджерельне змiшування**, де незалежнi компоненти кожен додають ентропiю. Один пошкоджений джерело не може зруйнувати посiв. 2. **Перевiряємiсть** — вiдкритий код, повторно створювана прошивка та спосiб для *вас* пiдтвердити, що ентропiя, яку ви надали, була справдi використана. Перевiрка ентропiї Trezor і повторно створюванi збiрки BitBox — це конкретнi приклади. 3. **Сертифiкацiя** — реальна цiннiсть проти фiзичних атак (EAL5+/6+, AIS-31), але вона сертифiкує компонент, а не прошивку, яка його викликає. Mk4 Coldcard *мав* безпечний елемент; прошивка викинула 28 з 32 байт.¹ ## Якщо ви хочете повнiстю позбутися довiри до RNGКубики. Кожен кидок D6 дає 2,585 біт, тому 50 кидків дають 128-бітну безпеку, а 99 кидків — 256-бітну.¹³ Окремий шлях кубиків Coldcard хеширує послідовність кидків безпосередньо за допомогою SHA256 і повністю обходить генератор пристрою² ¹³ — зверніть увагу, що це працює лише через `Імпорт існуючого > Кидки кубиків`, а не через звичайний потік створення нового гаманця.² BitBox02 публікує еквівалентну процедуру.¹¹ Ніколи не фотографуйте кидки і не вводьте їх у комп’ютер, підключений до мережі.² Сильний BIP39 пароль — це інший механізм: він додає ентропію поза RNG пристрою, саме тому Coinkite стверджує, що гаманці Mk3 з паролем мають мінімальний ризик.² Це справжній захист, а не заміна міграції. Якщо ви згенерували посів на вразливому Coldcard, як Coinkite, так і Block рекомендують перемістити кошти — і зверніть увагу, що мультипідписова кворумна структура, складена виключно з вразливих пристроїв, не забезпечує захисту.¹ ² --- **ДЖЕРЕЛА** 1. Block Engineering — *Передбачуваний резервний RNG та 32-бітне повторне ініціалізування в прошивці COLDCARD* — https://t.co/YrOOIe9vZq 2. Блог Coinkite — *Попередження щодо безпеки Mk3* — https://t.co/ZSVtMGe7wr 3. CoinDesk — *Великий недолік bitcoin-гаманця викрадає 594 BTC за 25 хвилин* — https://t.co/IoK6xqEUOi 4. Ledger Donjon — *Модель загрози: Генерація випадкових чисел* — https://t.co/L3pZxe9McO 5. Ledger Academy — *Що таке ентропія в криптовалюті?* — https://t.co/WckSL8rTFM 6. Ledger Academy — *Чип безпечного елемента* — https://t.co/0e1bv1VnBr 7. База знань Trezor — *Що таке ентропія і як Trezor генерує ваш гаманець?* — https://t.co/BNQ0E9trcK 8. Форум Trezor — *Перевірка ентропії на Trezor Model One* — https://t.co/y1sTJpp10u 9. Trezor — *Оновлення Trezor Suite, лютый 2025* — https://t.co/HV77m2i5uk 10. Прошивка Trezor — *core/CHANGELOG.md* — https://t.co/Zllvf7bw5F 11. BitBox Support Hub — *Чи можу я створити гаманець з власною ентропією?* — https://t.co/TnGyVIDb2J 12. BitBox — *Безпека на кожному рівні* — https://t.co/Gon18TlnkH 13. Документація COLDCARD — *Перевірка математики кидків кубиків* — https://t.co/hATD4o7yI4

Відмова від відповідальності: Інформація на цій сторінці може бути отримана від третіх осіб і не обов'язково відображає погляди або думки KuCoin. Цей контент надається лише для загального інформування, без будь-яких запевнень або гарантій, а також не може розглядатися як фінансова або інвестиційна порада. KuCoin не несе відповідальності за будь-які помилки або упущення, а також за будь-які результати, отримані в результаті використання цієї інформації. Інвестиції в цифрові активи можуть бути ризикованими. Будь ласка, ретельно оцініть ризики продукту та свою толерантність до ризику, виходячи з ваших власних фінансових обставин. Для отримання додаткової інформації, будь ласка, зверніться до наших Умов використання та Розкриття інформації про ризики.