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






