Голова дослідницького відділу Galaxy Алекс Торн виявив те, що виглядає як четверта організована хвиля крадіжок Bitcoin, пов’язаних із seed-фразами, згенерованими уразливою прошивкою Coldcard. Протягом приблизно 2,5 годин між блоками 960 778 і 960 792 дослідники зафіксували 218 транзакцій, які залучали 462 адреси ймовірних жертв, 216 нових одержувачів і 388,92748828 BTC. Подібні транзакції, за повідомленнями, залишалися в мемпулі, тоді як підтверджені транзакції мали увімкнену функцію replace-by-fee (RBF).
Ця активність свідчить про те, що публічне розголошення та екстрені оновлення прошивки не усунули ризик, пов’язаний із раніше згенерованими seed-фразами. Спостережувана швидкість виведення коштів досягла 13,8 на блок порівняно з 0,3 у контрольний період до інциденту — це приблизно 45-кратне зростання. Тим не менш, «четверта хвиля» залишається дослідницькою класифікацією, заснованою на ончейн-патернах. Докази не дають остаточного визначення зловмисників і не доводять, що кожна хвиля була здійснена одним і тим самим суб’єктом.
Згідно з моніторингом Торна, останній кластер транзакцій з’явився між блоками Bitcoin 960 778 і 960 792. Протягом приблизно 2,5 годин дослідники виявили 218 транзакцій, які мають спільні характеристики, пов’язані з триваючим інцидентом Coldcard. Транзакції залучали 462 адреси, класифіковані як адреси ймовірних жертв, 216 нових адрес одержувачів і 388,92748828 BTC. Повідомлялося, що подібні транзакції все ще очікували підтвердження в мемпулі, що свідчить про те, що спостережуваний період може не означати завершення активності.
Раніше підтверджені транзакції також мали увімкнений RBF, який дозволяє замінити непідтверджену транзакцію Bitcoin версією з вищою комісією. RBF є стандартною функцією мережі і сам по собі не демонструє зловмисних намірів. Однак у контексті триваючого масового виведення коштів його використання свідчить про те, що ініціатор транзакцій активно керував пріоритетом підтвердження і міг підвищувати комісії за появи конкуруючих транзакцій.
Наведені дані щодо адрес і сум потребують обережного тлумачення. «Адреса жертви» — це адреса, класифікована дослідниками на основі її поведінки в транзакціях і зв’язку з відповідним кордоном прошивки Coldcard; вона не обов’язково представляє одного конкретного користувача. Один гаманець може контролювати кілька адрес, а транзакція може витрачати кілька входів. Аналогічно, 388,92748828 BTC, зафіксовані в цьому вікні, не слід автоматично додавати до попередніх оцінок збитків, поки дослідники не підтвердять, що адреси, входи та переказані кошти не перетинаються з попередніми кластерами.
Найважливішим доказом є інтенсивність і послідовність активності. Дослідники розрахували 13,8 виведень на блок протягом періоду моніторингу порівняно з 0,3 на блок у контрольний період до інциденту. Таке різке зростання важко пояснити лише реакцією незалежних користувачів на попередження про безпеку. Також повідомлялося, що транзакції не містили входів, старіших за відповідний кордон прошивки Coldcard, що посилює зв’язок між виведеними коштами та seed-фразами, створеними під впливом уразливої прошивки.
Отже, оцінка Galaxy базується на сукупному значенні часу, вибору адрес, побудови транзакцій і поведінки одержувачів. Жодна окрема характеристика не є вирішальною: легітимні користувачі можуть увімкнути RBF, генерувати нові адреси для отримання або одночасно мігрувати кошти після офіційного попередження. Інтерпретація організованої атаки стає більш переконливою, коли ці характеристики проявляються з незвичайною регулярністю на сотнях адрес, пов’язаних із прошивкою.
Однак ончейн-аналіз не може безпосередньо виявити, хто контролює приватні ключі. Один зловмисник може змінювати стратегії транзакцій між хвилями, тоді як кілька операторів можуть незалежно експлуатувати ту саму вразливість після її оприлюднення. Тому Galaxy розглядає кластери як координовані хвилі атак, не стверджуючи, що кожну хвилю остаточно приписано одному й тому самому суб’єкту.
Ймовірна четверта хвиля мала переважно структуру 1:1, у якій кошти з адрес жертв надсилалися на окремі нові адреси одержувачів. Лише один одержувач, за повідомленнями, отримав два виведення, і жодної очевидної центральної адреси агрегації не було виявлено під час початкового періоду моніторингу. Частина коштів згодом була переведена на адреси другого рівня.
Ця структура відрізняється від найбільш чітких відбитків, спостережуваних раніше під час інциденту. Аналіз Galaxy показав, що перші дві великі хвилі неодноразово використовували жорстко задані комісії 30 sat/vB і подібні шаблони пакетування, що підтверджує можливість спільного оператора або інструменту атаки. Пізніша хвиля перейшла до індивідуальних переказів і розпорошених одержувачів. За першими трьома виявленими хвилями звіти, пов’язані з Galaxy, оцінили постраждалу суму в 1 367,05 BTC з 4 585 адрес, наголошуючи, що відмінності у відбитках транзакцій унеможливлюють остаточне приписування одному зловмиснику.
Одне з пояснень полягає в тому, що зловмисник усвідомив, що централізовані адреси збору роблять ранні транзакції легшими для кластеризації та моніторингу, а потім прийняв нові адреси одержувачів і додаткові переходи, щоб зменшити миттєву видимість. Інше пояснення — оприлюднення вразливості дозволило наслідувачам шукати решту вразливих seed-фраз за допомогою незалежно розроблених інструментів. Обидві інтерпретації узгоджуються з патернами транзакцій, але жодну з них не можна довести лише на основі топології.
Перекази на другий рівень не слід автоматично називати відмиванням коштів. Вони можуть відокремлювати початкове вилучення від довгострокового зберігання, готувати кошти до подальшої консолідації, перевіряти, чи позначені адреси, або направляти активи до зовнішніх сервісів. Слідчим потрібно буде визначити, чи збігаються адреси другого рівня з часом або взаємодіють з ідентифікованими суб’єктами. На цьому етапі обґрунтованим висновком є те, що останні транзакції демонструють систематичне виведення коштів у поєднанні з дедалі більш розпорошеним управлінням коштами.
Еволюція атак також змінює практичний ризик для користувачів. Galaxy виявила початковий сплеск, під час якого 1 082,65 BTC було виведено з 1 196 адрес протягом приблизно 41 хвилини. Подальша активність була спрямована на додаткові адреси та менші баланси з використанням інших структур. Це може вказувати на перехід від швидкого вилучення видимих гаманців з високою вартістю до постійного сканування решти популяції слабких seed-фраз.
Тривала кампанія перебору може повторно звертатися до того самого простору вразливих seed-фраз і націлюватися на менші баланси в міру вдосконалення інструментів атаки або зміни витрат на транзакції. Публічне розголошення також може створити гонку між законними власниками, які намагаються мігрувати, і зловмисниками, які намагаються відновити їхні ключі. Тому ймовірна четверта хвиля важлива не лише через свою спостережувану вартість, а й тому, що вона вказує на те, що немігровані seed-фрази можуть залишатися вразливими навіть після завершення найбільш помітних початкових крадіжок.
Команда Bitcoin Engineering and Security компанії Block простежила основну проблему до інтеграції прошивки Coldcard із шляхом генерації випадкових чисел. Згідно з Block, конфігурація, призначена для вимкнення реалізації апаратного RNG у MicroPython, змусила зовнішню бібліотеку повернутися до детермінованого програмного генератора Yasmarang замість очікуваного апаратного RNG STM32. Бібліотека перевіряла наявність макросу конфігурації, але не те, чи він був увімкнений.
Для уразливих прошивок Mk2 і Mk3 резервний генератор можна було ініціалізувати за допомогою метаданих пристрою та стану таймера без отримання криптографічно захищеної ентропії через вразливий шлях. Якщо зловмисник міг визначити або достатньо обмежити UID пристрою, стан таймера та попередні виклики генератора випадкових чисел, потенційні результати могли бути відтворені офлайн. На пізніших пристроях було додано вхід із захищеного елемента, але Block повідомила, що лише чотири байти отриманого дайджесту досягали функції повторного посіву, обмежуючи безпечно диференційований стан не більше ніж (2^{32}) можливостями за відповідних припущень.
Пропускання слабкого випадкового виводу через криптографічний хеш не вирішує проблему. Хеш може зробити результати рівномірно розподіленими, але не може створити більше можливих секретів, ніж існувало в початковому просторі введення. Зловмисник може перебрати кандидатів на seed-фрази, вивести їхні адреси Bitcoin і порівняти ці адреси з публічним блокчейном. Збіг надає сигнал валідації, який може виявити відповідний приватний ключ без фізичного доступу до гаманця.
Це не є збоєм системи підписів Bitcoin або стандартів seed-фраз. Вразливість стосується випадковості, яка використовувалася до створення приватних ключів. Як тільки існує слабка seed-фраза, офлайн-пристрій, ізольований від мережі або фізично захищений, не може завадити іншій стороні відтворити той самий секрет шляхом обчислень.
Block охарактеризувала свій звіт як ранню технічну оцінку, опубліковану під час активної експлуатації, і зазначила, що не завершила емпіричне тестування кожного можливого шляху атаки. Тому її висновки слід розглядати разом із розслідуванням Coinkite та остаточними технічними висновками. Навіть з урахуванням цього застереження, центральна проблема безпеки є ясною: захист, застосований після генерації ключів, не може відновити ентропію, якої бракувало під час створення seed-фрази.
Офіційні рекомендації Coinkite розрізняють запобігання генерації вразливих seed-фраз у майбутньому та виправлення наявної seed-фрази. Виправлена прошивка змінює спосіб генерації нових секретів, але не може змінити мнемонічну фразу, створену під впливом уразливої версії. Імпорт цієї мнемонічної фрази в оновлену прошивку або інший апаратний гаманець відтворює ті самі приватні ключі та зберігає основний ризик. Повне усунення проблеми вимагає генерації справді нової seed-фрази через виправлений процес і переказу коштів у блокчейні.
Coinkite визначає seed-фрази Mk2 і Mk3, згенеровані на версіях прошивки від 4.0.1 до 4.1.9, як уражені. Компанія також радить міграцію для seed-фраз Mk4 і Mk5, створених до стандартної прошивки 5.6.0 або Edge-прошивки 6.6.0X, а також для seed-фраз Coldcard Q, створених до стандартної прошивки 1.5.0Q або Edge-прошивки 6.6.0QX. Компанія описує вплив на Mk4, Mk5 і Q як менш серйозний, ніж на уражені пристрої Mk2 і Mk3, але все ж значний. Власники Mk2 і Mk3 можуть генерувати нові seed-фрази після встановлення версії 4.2.0 або новішої.
Справді незалежна ентропія може забезпечити обмежені винятки. Coinkite заявляє, що принаймні 50 чесних, незалежних і приватних кидків кубика можуть додати 128 біт ентропії, тоді як 99 або більше кидків додають приблизно 256 біт. Користувачі, які не можуть впевнено підтвердити, як були згенеровані та враховані кидки, не повинні покладатися на цей виняток. Надійна парольна фраза BIP-39 може створити додатковий бар’єр, але Coinkite все одно рекомендує міграцію, оскільки парольна фраза не виправляє оригінальну seed-фразу. PIN-код Coldcard не є парольною фразою BIP-39 і не заважає переміщенню коштів у блокчейні, якщо приватні ключі будуть відновлені.
Користувачам, яких це може стосуватися, слід визначити модель пристрою та версію прошивки, яка використовувалася під час початкової генерації поточної seed-фрази. Поточної версії прошивки недостатньо, якщо seed-фраза була створена на старішому Coldcard або імпортована з іншого пристрою. Перевірку та завантаження прошивки слід проводити лише через офіційні канали Coinkite, не переходячи за посиланнями, наданими непроханими обліковими записами підтримки, повідомленнями в соціальних мережах або сервісами відновлення.
Користувачі, які потрапляють у зону ураження, повинні встановити відповідну виправлену прошивку та згенерувати абсолютно нову seed-фразу. Вони повинні надійно записати нову резервну копію, перевірити відбиток гаманця та адресу отримання безпосередньо на екрані апаратного пристрою та надіслати невелику тестову транзакцію перед переказом решти балансу. Відновлення старої мнемонічної фрази на новому пристрої або продовження її використання після оновлення прошивки не усуває вразливість.
Інцидент також створює можливості для вторинного шахрайства. Ніколи не розголошуйте слова seed-фрази, приватні ключі, парольні фрази, послідовності кидків кубика або резервні копії гаманців нікому, хто стверджує, що представляє Coldcard, Coinkite, Galaxy, біржу, правоохоронні органи або компанію з відновлення. Легітимні співробітники підтримки не потребують цих секретів для перевірки прошивки або пояснення процедур міграції.
Користувачам мультипідпису слід оцінити, скільки уражених ключів бере участь у порозі витрат. Якщо можна відновити достатню кількість вразливих ключів, захист мультипідпису також може відмовити. Заміна ключів без ослаблення порогу або непотрібного розкриття скриптів гаманця може вимагати більш ретельно спланованої міграції, особливо для гаманців з високою вартістю або тих, що керуються інституційно.
Інцидент не демонструє, що всі апаратні гаманці або системи самокастодіального зберігання є небезпечними. Він показує, що безпека гаманця залежить від усього життєвого циклу ключа: генерація ентропії, конфігурація прошивки, перегляд залежностей, резервне копіювання seed-фрази, перевірка транзакцій і eventual міграція. Такі позначки, як «ізольований від мережі», «офлайн», «відкритий код» або «захист захищеним елементом», описують окремі засоби захисту, а не безпеку всієї системи.
Прошивка з відкритим кодом дозволяє незалежний перегляд, але не гарантує, що помилки реалізації будуть виявлені до експлуатації. Більш сильне забезпечення вимагає відтворюваних збірок, тестування ентропії, перегляду коду через межі бібліотек, детермінованих тестових векторів і поведінки fail-closed, коли безпечна випадковість недоступна. Інакше гаманець може продовжувати отримувати кошти та підписувати дійсні транзакції, приховуючи слабкість, яка існувала з моменту створення seed-фрази.
Центральний урок стосується походження seed-фрази. Переміщення старої мнемонічної фрази на новіше обладнання покращує середовище її зберігання, але не змінює її математичної безпеки. Апаратні гаманці захищають спосіб зберігання та використання приватних ключів; вони не можуть ретроспективно зробити передбачувану seed-фразу непредбачуваною.
Ймовірна четверта хвиля атак на Coldcard вказує на те, що вікно ризику залишається відкритим. Стиснуті часові рамки, приблизно 45-кратне зростання швидкості виведення коштів, кордон входів, пов’язаний із прошивкою, і регулярна структура транзакцій підтверджують оцінку Galaxy щодо систематичної активності. Однак особистості зловмисників і зв’язок між різними хвилями залишаються непідтвердженими.
Для користувачів, яких це може стосуватися, пріоритетом є перевірка часу та способу створення їхньої поточної seed-фрази. Виправлена прошивка може захистити новостворені секрети, але не може виправити наявну слабку seed-фразу. Ефективним рішенням є генерація нової seed-фрази через виправлений процес і безпечна міграція активів.
Застереження про ризики: Ця стаття надається виключно в інформаційних цілях і не є інвестиційною, юридичною порадою або порадою з кібербезпеки. Користувачі повинні перевіряти версії прошивки та процедури міграції через офіційну документацію Coinkite та звертатися за кваліфікованою допомогою для складних конфігурацій гаманців.


