Апаратні гаманці призначені для видалення однієї категорії ризиків: можливості того, що хтось, хто не є вами, зможе обчислити ваш приватний ключ. Рано сьогодні вранці близько 500 власників bitcoin виявили, що їх пристрої не впоралися саме з цією задачею і несправно працювали тихо з березня 2021 року.
Збитки склали близько 594 $BTC, приблизно $38 мільйонів, і це зайняло 25 хвилин.
Взлом гаманця bitcoin: що саме відбулося?
Між 01:31 і 01:56 UTC у п’ятницю 31 липня 2026 року нападник вивів кошти з близько 500 окремих гаманців bitcoin. Механіка була промисловою: більше ніж 1 300 окремих UTXO було переміщено через 500 транзакцій у межах трьох блоків, а потім 562 BTC було консолідовано в одну адресу. На момент написання ця адреса не рухалася.
Профіль жертви незвично постійний:
- Кожен опорожнений гаманець був однозначним.
- Усі мали більше 0,15 BTC.
- Більшість з них були бездіяльні роками.
- Дати створення гаманців охоплювали 2021–2026 роки, що точно відповідало періоду, коли цей недолік був активний.
Останній пункт — це ключовий. Зловмисник не вибирав цілі, спостерігаючи за мережею. Цілі визначалися за часом створення кожного гаманця.
Як зловмисник здогадався про ключі, які мали бути непередбачуваними?
Це та частина, що має значення, і вона не має нічого спільного з фішингом, шкідливим ПЗ або скомпрометованим комп’ютером.
Seed-фраза bitcoin призначена для випадкового вибору з надзвичайно великої множини, де здогадка є арифметично безнадійною. Вся модель безпеки ґрунтується на тому, що ця випадковість є справжньою. Апаратні гаманці містять спеціальний апаратний генератор випадкових чисел саме для того, щоб випадковість не залежала від програмного забезпечення.
Згідно з аналізом, опублікованим командами з розробки та безпеки bitcoin у Block, впливаний прошивка Coldcard не використовувала її.
Налаштування збірки наказало пристрою пропустити власний генератор апаратної випадковості. Перевірка у допоміжній бібліотеці перевіряла лише наявність цього налаштування, а не те, чи воно ввімкнене. Без працюючого апаратного джерела та без виникнення помилки генерація ключів перейшла до базової програмної альтернативи, заснованої на серійному номері пристрою та його внутрішніх реєстрах годинника.
Жоден із цих вхідних даних не є секретним. Серійний номер — це фіксовані заводські метадані. Значення годинника — це часовий стан, який атакувальник може звузити або просто виміряти на ідентичному пристрої, який він володіє.
Результат: сід, який мав бути одним із неймовірної кількості кандидатів, перетворився на розв’язну проблему. Coinkite, канадська фірма, що розробляє Coldcard, встановила зміну на коміт від 1 березня 2021 року, який був випущений у прошивці 4.0.0 того ж місяця.
Цей недолік існував у виробничому середовищі майже п’ять з половиною років, перш ніж хтось його використав.
Які пристрої Coldcard підлягають впливу?
Рекомендації Coinkite стосуються пристроїв Mk3, де сід був згенерований на прошивці 4.0.1 або пізнішій. За попереднім аналізом, компанія стверджує, що Mk4, Q і Mk5, схоже, не зачеплені.
Одна важлива відмінність: експозиція залежить від того, яка прошивка була запущена на момент створення гаманця, а не від того, коли ви купили пристрій або яка прошивка використовується зараз. Оновлення прошивки зараз не виправляє сід, згенерований з поганою випадковістю. Ключовий матеріал вже слабкий.
Звіт про повний список вплинутих моделей не був повністю послідовним, і розслідування все ще триває. Якщо ваше посівне слово було згенероване на будь-якому старішому Coldcard, вважайте його підозрілим, доки Coinkite не підтвердить інше, ніж припускати, що ваша модель знаходиться в безпечному списку.
Що вам слід зробити зараз, якщо у вас є Coldcard?
Coinkite закликає постраждалих користувачів перемістити свої кошти. Конкретно:
- Визначте, який пристрій і прошивка згенерували ваше посівне слово. Не той, який використовується зараз. Той, який використовувався при першому створенні гаманця.
- Якщо це був Mk3 з прошивкою 4.0.1 або новішою, вважайте сід скомпрометованим. Не під загрозою. Скомпрометований.
- Створіть новий гаманець на пристрої, якому ви довіряєте, і перекажіть кошти. Не використовуйте існуючий сід-фразу ніде більше.
- Не чекайте на підтвердження, що ви були конкретно ціллю. Гаманці, з яких викрали кошти цього ранку, були переважно неактивними, що означає, що їх власники не стежили за ними. Атака не коштує нічого за кожен додатковий об’єкт.
- Розгляньте багатопідписові гаманці для значущих балансів. Кожен гаманець, який було виведено під час цього інциденту, був однопідписовим. Багатопідписова конфігурація між пристроями від різних виробників вижила б, навіть якби в одному з них була вада.
Якщо ви згенерували своє посівне слово, кидаючи кубики та вводячи ентропію вручну — практику, яку Coldcard підтримує вже довгий час, — ваша випадковість не походить із пошкодженого кодового шляху.
Чому ціна bitcoin не відреагувала?
Майже не рухалося. Bitcoin торгувався близько $63 847 протягом ранку, знизившись приблизно на 1% за день і вже слабші на тиждень до того, як новини з’явилися.
Частково це масштаб. 38 мільйонів доларів — це округлена похибка на ринковій капіталізації в 1,28 трильйона доларів, а вкрадені монети не були продані, лише консолідовані. Частково це поточний ринок. Цього тижня також відбувся рекордний дводенний крах корейських акцій та 17% відновлення KOSPI, а криптовалюта проігнорувала обидва. Ринок, де майже ніщо не викликає реакції, не обов’язково є сильним.
Що це нам дійсно розповідає про апаратні гаманці?
Три речі, які варто відокремити від паніки.
- Це не невдача bitcoin. Протокол працював саме так, як було задумано. Він вірно виконав дійсні підписи від ключів, які атакувач зміг відновити. Ніщо в криптографії bitcoin не було порушено.
- Це не аргумент проти самоконтролю. Неодноразово від невдач бірж власники втратили набагато більше, ніж 38 мільйонів доларів. Висновок не в тому, що самоконтроль небезпечний, а в тому, що апаратний гаманець — це програмне забезпечення, яке працює на невеликому комп’ютері, а програмне забезпечення має помилки.
- Це аргумент проти одноточкових відмов. Незручна риса цього інциденту — затримка. Тиха випадкова відмова не викликає жодних симптомів. Нічого не виглядає погано. Немає жодного сповіщення, жодної невдалої транзакції, жодного попередження. Гаманець ідеально працює п’ять років, а потім за 25 хвилин перестає працювати.
Це стосується багатопідписових налаштувань, апаратного забезпечення від більш ніж одного виробника та введеної користувачем випадковості для гаманців з високою вартістю. Не тому, що будь-який окремий пристрій ненадійний, а тому, що пристрій, який виходить з ладу без сигналу, не дає вам можливості помітити це до того, як це матиме значення.

