П'ятирічний дефект генерації сид-фраз Coldcard відновив заклики до незалежного тестування прошивки апаратних гаманців після того, як підозрювані атаки вивели майже 90 мільйонів доларів у біткоїнах з тисяч гаманців.
Підсумок
- Головний спеціаліст з безпеки Kraken закликав до незалежного тестування генерації сид-фраз апаратних гаманців після виявлення дефекту Coldcard.
- Підозрювані атаки вивели майже 90 мільйонів доларів у біткоїнах, а Galaxy Research відстежує понад 5200 потенційних адрес жертв.
- Coinkite випустила виправлену прошивку, але заявляє, що постраждалі користувачі повинні створити нові сид-фрази, оскільки оновлення не можуть відновити існуючі гаманці.
- Дослідники безпеки простежили проблему до помилки прошивки, яка використовувала слабший генератор випадкових чисел під час створення гаманця.
Головний спеціаліст з безпеки Kraken Нік Перкоко заявив у дописі на X у неділю, що цей інцидент має стати попередженням для індустрії апаратних гаманців, стверджуючи, що виробники не повинні бути єдиними сторонами, які перевіряють, як генеруються сид-фрази гаманців.
Він сказав, що виробнича прошивка повинна проходити незалежне тестування, щоб підтвердити, що затверджене джерело випадковості є саме тим, яке фактично використовується при створенні секретів гаманця.
Згідно з останнім аналізом блокчейну Galaxy Research, підозрювані атакуючі вже вивели понад 1800 BTC з понад 5200 потенційних адрес жертв протягом чотирьох спостережуваних хвиль атак, хоча фірма підкреслила, що ці цифри є оцінками в ланцюжку, а не підтвердженими втратами. Coinkite не перевірила кожен постраждалий гаманець, і лише дані блокчейну не можуть визначити, чи один суб'єкт здійснив усі атаки.
Дефект Coldcard залишався непоміченим понад п'ять років
Coinkite розкрила у четвер, що вразливість датується березнем 2021 року, коли компанія мігрувала частину своєї прошивки під час інтеграції нової криптографічної бібліотеки.
Замість використання призначеного апаратного генератора випадкових чисел Coldcard для створення сид-фраз гаманця, оновлена прошивка випадково викликала слабший детермінований псевдовипадковий генератор, наданий MicroPython.
Згідно з постмортемом Coinkite, призначений генератор випадкових чисел залишався активним в інших частинах прошивки, що дозволяло перевіркам коду підтверджувати його наявність, не виявляючи, що створення гаманця покладалося на інше джерело ентропії.
Компанія заявила, що не знала про існування генератора MicroPython у відповідному шляху коду до розслідування. Хоча апаратний генератор випадкових чисел продовжував працювати для інших функцій, він більше не відповідав за генерацію нових секретів гаманця.
Команда Block з біткоїн-інженерії та безпеки незалежно дійшла такого ж висновку під час свого технічного огляду. Компанія заявила, що постраждала прошивка викликала детермінований резервний варіант MicroPython замість апаратного генератора випадкових чисел STM32 при створенні сид-фраз гаманця. Хоча Block заявила, що не завершила повне емпіричне тестування кожного пристрою, вона вирішила розкрити свої висновки, оскільки вже з'явилися повідомлення про активні крадіжки.
Coinkite оцінює, що сид-фрази, створені на постраждалих пристроях Mk2 та Mk3, можуть містити близько 40 біт ефективної ентропії, тоді як постраждалі моделі Mk4, Mk5 та Q можуть містити близько 72 біт замість запланованих 128 біт.
Тестування апаратних гаманців не включало перевірку ентропії
Використовуючи інцидент Coldcard як приклад, Перкоко стверджував, що сертифікація апаратних гаманців ігнорувала одну з найважливіших частин безпеки гаманців.
Він сказав, що користувачі зараз повинні довіряти, що виробники правильно впроваджують генерацію сид-фраз, оскільки жоден незалежний процес не перевіряє, що виробнича прошивка фактично викликає затверджене джерело ентропії. Існуючі сертифікації, включаючи оцінки Common Criteria для захищених елементів, перевірки CSPN та аудити, спонсоровані постачальниками, не систематично підтверджують цей зв'язок, за словами Перкоко.
Щоб проілюструвати розрив, він вказав на NIST SP 800-90B, стандарт США, що регулює проєктування та перевірку справжніх генераторів випадкових чисел, які використовуються в криптографічних системах, а також на німецьку структуру BSI AIS-31, яка встановлює подібні вимоги до тестування. Він стверджував, що порівнянної наскрізної перевірки наразі не існує для апаратних гаманців.
Перкоко також порівняв цей сектор із платіжною безпекою, зазначивши, що пристрої для введення PIN-коду не можуть бути відвантажені без незалежного лабораторного тестування, тоді як криптографічні модулі уряду США вимагають перевірки джерела ентропії перед затвердженням.
Користувачам Coldcard все ще потрібні нові сид-фрази гаманця
Оскільки атаки тривали протягом вихідних, Coinkite заявила, що призупинила всі відвантаження після підтвердження вразливості та знищила всі наявні пристрої з ураженою прошивкою на своїх потужностях.
Тим не менш, компанія порадила клієнтам не викидати уражені пристрої, оскільки вони можуть стати важливими, якщо вкрадені кошти будуть зрештою повернуті через судові процеси. Coinkite додала, що її юридична команда координуватиме дії з правоохоронними органами у кількох юрисдикціях, де це доречно.
Оновлення прошивки вже випущено для всіх уражених моделей, включаючи версію 4.2.0 для Mk2 і Mk3, версію 5.6.0 для Mk4 і Mk5, версію 1.5.0Q для Coldcard Q, а також версії 6.6.0X і 6.6.0QX для Edge-релізів. За словами компанії, встановлення оновленої прошивки лише виправляє створення майбутніх гаманців і не посилює сид-фрази, згенеровані до виправлення.
З цієї причини користувачам, на яких поширюється попередження, наказано згенерувати абсолютно нові сид-фрази після оновлення своїх пристроїв, перевірити адресу отримання, надіслати невелику тестову транзакцію та перенести решту балансу лише після підтвердження успішності переказу.
Coinkite заявила, що гаманці, створені з використанням щонайменше 50 чесних, приватних кидків кубиків, не вважаються скомпрометованими лише через дефект генерації випадкових чисел. Компанія додала, що надійна та унікальна парольна фраза BIP-39 забезпечує додатковий рівень захисту, але не усуває слабкість уже ураженої сид-фрази, тому міграція залишається рекомендованим заходом.
Поточні атаки продовжують розширювати відомі втрати
Окремий аналіз блокчейну від Galaxy Research показує, що атаки тривали з моменту оприлюднення вразливості.
Алекс Торн, керівник досліджень Galaxy, виявив підозрювану четверту скоординовану хвилю атак 3 серпня, що доводить загальну спостережувану суму до приблизно 1 815,75 BTC на 5 294 потенційних адресах жертв, якщо жодна з груп адрес не перетинається. Торн описав гаманці як «ймовірні жертви Coldcard» і наголосив, що цифри походять з аналізу блокчейну, а не з підтверджених записів пристроїв чи висновків правоохоронних органів.
Galaxy також повідомила, що активність атак досягла 13,8 спустошень гаманців на блок під час останньої хвилі, порівняно з базовим рівнем 0,3 спустошення на блок до інциденту. Фірма зауважила, що більшість балансів жертв було надіслано на новостворені адреси, а не на єдиний збірний гаманець, тоді як деякі кошти вже пройшли через транзакції другого переходу, що ускладнює відстеження вкрадених біткоїнів.
За даними Galaxy, користувачі, чиї вкрадені кошти залишаються в непідтверджених біткоїн-транзакціях, можуть мати вузьку можливість транслювати замінюючу транзакцію з вищою комісією, перш ніж майнери підтвердять оригінальний переказ.
Посилаючись на документацію Bitcoin Core, дослідницька фірма зазначила, що Replace-by-Fee можна спробувати лише поки транзакція залишається непідтвердженою, і це не гарантує відновлення, навіть якщо законний власник все ще контролює уражені ключі.






