Аналітики з Galaxy Research зафіксували масштабну атаку, під час якої за рекордні 41 хвилину зловмисник спустошив 1196 адрес Bitcoin. Загальна сума викрадених коштів становить 1082,65 BTC, що за курсом на момент крадіжки дорівнює приблизно 70,2 мільйона доларів США. Дослідження ланцюжка транзакцій та технічний аналіз інциденту вказують на те, що причиною цього став критичний дефект у прошивці популярного апаратного гаманця Coldcard, який випускає канадська компанія Coinkite.

Проблема бере свій початок ще у березні 2021 року. Саме тоді розробники Coinkite припустилися серйозної помилки під час інтеграції оновлення прошивки. Через цей баг процес генерації сид-фрази (криптографічного ключа для відновлення доступу) було перенаправлено з апаратного генератора справді випадкових чисел (TRNG), інтегрованого у захищений чіп пристрою, на детермінований програмний генератор псевдовипадкових чисел (PRNG).

Програмні генератори псевдовипадкових чисел (PRNG) є передбачуваними за своєю природою, якщо зловмиснику стає відомим початковий стан (seed) алгоритму або якщо ентропія генератора є занадто низькою. Через помилку в коді Coldcard згенеровані користувачами гаманці мали критично низький рівень випадковості. Це дозволило зловмисникам провести математичний аналіз, відтворити простір станів алгоритму та повністю вирахувати приватні ключі для сотень адрес, які були створені в цей період.

Сам процес виведення коштів 30 липня свідчить про високий ступінь автоматизації та тривалу підготовку. Атаку було реалізовано за допомогою спеціальних скриптів, які практично одночасно надіслали транзакції для понад тисячі адрес. Такий поспіх з боку хакерів пояснюється бажанням випередити можливу реакцію спільноти та власників активів, а також не дати розробникам Coinkite завчасно попередити користувачів для переведення коштів на безпечні адреси.

Цей інцидент демонструє, що концепція «холодного зберігання» (cold storage) не гарантує абсолютного захисту, якщо припускатися помилок на етапі реалізації базової криптографії у прошивці. Coldcard тривалий час вважався одним із найбезпечніших рішень на ринку через орієнтацію виключно на Bitcoin та відкритий вихідний код. Однак навіть відкритий код не завадив тому, що критична помилка залишалася непоміченою протягом кількох років, що призвело до катастрофічних фінансових втрат для користувачів.

Що це означає на практиці

З погляду кібербезпеки та захисту цифрових активів, цей випадок вимагає негайного перегляду підходів до зберігання корпоративних та приватних криптовалютних резервів:

  • Негайна перевірка дати генерації гаманців: Якщо ви або ваша компанія використовуєте Coldcard і генерували сид-фразу в період з березня 2021 року до моменту випуску виправленої прошивки, ваші приватні ключі під загрозою. Навіть якщо ваші активи досі на місці, їх потрібно негайно переказати на абсолютно новий гаманець.
  • Повна заміна ключів, а не просто оновлення: Оновлення прошивки Coldcard до останньої версії виправить алгоритм генерації для нових адрес, але НЕ зробить старі скомпрометовані сид-фрази безпечними. Необхідно згенерувати нову сид-фразу на оновленому пристрої та перевести туди всі баланси.
  • Впровадження технології мультипідпису (multisig): Для зберігання значних корпоративних сум ніколи не покладайтеся на один апаратний пристрій або одну сид-фразу. Використовуйте схеми мультипідпису (наприклад, 2-з-3 або 3-з-5), залучаючи пристрої від різних виробників (наприклад, Coldcard, Trezor, Ledger). Це нівелює ризик компрометації через баг у прошивці лише одного бренду.
  • Контроль за джерелом ентропії: Під час генерації критично важливих ключів на апаратних пристроях використовуйте додаткові методи підвищення ентропії, наприклад, кидання гральних кубиків (dice rolls), що підтримується Coldcard. Це дозволяє власноруч додати фізичну випадковість до процесу генерації ключів, повністю виключаючи залежність від вбудованого ПЗ.
  • Регулярний аудит стану гаманців: Впровадьте практику періодичного моніторингу безпекових бюлетенів від виробників вашого апаратного забезпечення. Розробники Coinkite та незалежні дослідники публікують критичні попередження, які часто ігноруються користувачами до моменту, коли стається інцидент.