Oferit de
Featured

Explicația exploatării Coldcard: Cine a pierdut Bitcoin și cine este expus riscului

Pe 30 iulie, un atacator a exploatat semințele slabe generate de anumite portofele hardware Coldcard pentru a fura bitcoin în valoare de aproximativ zeci de milioane de la sute de adrese.

SCRIS DE
DISTRIBUIE
Explicația exploatării Coldcard: Cine a pierdut Bitcoin și cine este expus riscului

Concluzii cheie

  • Furturile legate de Coldcard au golit sute de portofele de bitcoin pe 30 iulie.
  • Coinkite afirmă că seed-urile Mk3 aveau o entropie de aproximativ 40 de biți în loc de 128.
  • Utilizatorii Coldcard trebuie să instaleze firmware-ul corectat și să creeze noi seed-uri înainte de a transfera fonduri.

Conform unei analize aprofundate realizate de Galaxy Research, furtul principal s-a desfășurat într-o serie de tranzacții strâns coordonate, care a durat aproximativ 25 de minute, în timp ce o analiză mai amplă a stabilit ulterior o legătură între aproximativ 1.196 de adrese și până la 1.083 de bitcoin, în valoare de aproape 70 de milioane de dolari, cu o activitate care s-a întins pe o perioadă de aproximativ 41 de minute. Cifrele finale s-ar putea modifica pe măsură ce anchetatorii continuă să urmărească tranzacțiile pe blockchain-ul public Bitcoin.

O vulnerabilitate veche de 5 ani afectează portofelele Bitcoin din întreaga lume

Portofelele afectate aparțineau în mare parte deținătorilor pe termen lung care și-au generat seed-urile de recuperare folosind dispozitive Coldcard care rulau firmware vulnerabil lansat începând cu martie 2021. Coldcard este un portofel hardware izolat fizic (air-gapped) produs de compania canadiană Coinkite și conceput pentru a menține cheile de bitcoin (BTC) izolate de dispozitivele conectate la internet.

Multe dintre adresele golite rămăseseră inactive de ani de zile. Atacatorul a acționat rapid, a plătit comisioane fixe de tranzacție ridicate și nu a lăsat resturi, ceea ce înseamnă că fiecare adresă a fost golită complet. Acest tipar sugerează o operațiune automatizată care a utilizat o listă pregătită de chei private, mai degrabă decât transferuri independente de fonduri efectuate de clienți.

Furtul nu a fost cauzat de phishing, de malware pe computerul unui utilizator, de furtul fizic al dispozitivului sau de o breșă de securitate convențională la distanță. În schimb, o eroare de firmware a slăbit caracterul aleatoriu utilizat atunci când unele dispozitive Coldcard au creat semințele portofelului. Aceste semințe păreau normale, dar proveneau dintr-un interval mult mai mic de combinații posibile decât li se promisese utilizatorilor.

Generatorul de numere aleatorii al Coldcard a eșuat în tăcere

O sămânță de portofel Bitcoin este un secret, afișat de obicei sub forma a 12 sau 24 de cuvinte, din care portofelul își generează adresele și cheile private. O sămânță de 12 cuvinte generată corespunzător conține 128 de biți de entropie, o măsură tehnică care descrie un număr enorm de combinații posibile, ceea ce face ca ghicirea sămânței să fie practic imposibilă.

Dispozitivele Coldcard trebuiau să obțină acea aleatorietate de la un generator de numere aleatorii hardware din interiorul microcontrolerului dispozitivului. Componenta se bazează pe zgomotul electric fizic pe care un observator extern nu ar trebui să îl poată prezice.

Cu toate acestea, în timpul unei migrări a bibliotecii software în 2021, Coinkite a dezvăluit că două funcții de generare a numerelor aleatorii cu interfețe identice au fost confundate. Una accesa generatorul hardware propriu-zis al dispozitivului. Cealaltă era o soluție software de rezervă slabă, destinată plăcilor care nu dispuneau de hardware adecvat.

O setare de configurare a dezactivat calea hardware implicită MicroPython, deoarece Coinkite a furnizat propriul său wrapper hardware. Software-ul a verificat doar dacă acea setare exista, nu și dacă era activată. Deoarece setarea era prezentă, dar i se atribuise valoarea zero, compilarea s-a finalizat cu succes, în timp ce generarea semințelor a trecut în mod silențios la generatorul software mai slab.

Datele din fabrică și sincronizarea au înlocuit aleatoritatea adevărată

Această soluție de rezervă se baza în mare măsură pe informații previzibile ale dispozitivului, inclusiv un identificator de cip similar unui număr de serie și valori ale ceasului intern asociate cu sincronizarea la pornire. Un atacator care ar putea restrânge aceste intrări s-ar confrunta cu o căutare mult mai restrânsă decât intervalul de 128 de biți așteptat de la o sămânță generată în condiții de securitate.

Coinkite a estimat spațiul efectiv de căutare pentru semințele vulnerabile ale modelului Mk3 la aproximativ 40 de biți, în baza ipotezelor actuale. Acesta reprezintă încă un număr mare de posibilități, dar poate fi explorat cu echipamente de calcul specializate, mai ales atunci când un atacator poate compara semințele candidate cu adresele Bitcoin vizibile pe blockchain.

Screenshot of the Coldcard Mk3 model.
Imagine a modelului Coldcard Mk3.

Modelele Coldcard ulterioare, inclusiv Mk4, Q și Mk5, au adăugat un element de aleatoriu provenit dintr-un element securizat. Cu toate acestea, doar o porțiune limitată a ajuns la generatorul afectat, lăsând o entropie efectivă estimată la 72 de biți pentru semințele create înainte de instalarea firmware-ului corectat. Aceasta era mai puternică decât calea modelului Mk3, dar tot sub standardul prevăzut de 128 de biți.

Diferența este similară cu înlocuirea unei combinații cu adevărat aleatorii a unei încuietori cu una derivată din numărul de serie al încuietorii și momentul în care a fost pornită pentru prima dată. Combinația rezultată poate părea aleatorie, dar cineva care cunoaște formula și poate estima informațiile inițiale o poate reproduce. Mulți utilizatori migrează, nu doar de la dispozitivele Mk3, ci și de la Mk4, Q și Mk5.

Coinkite le recomandă utilizatorilor să creeze seed-uri complet noi

Coinkite a publicat avize de securitate și a lansat o versiune corectată a firmware-ului după ce a luat cunoștință de amenințarea activă. Compania a declarat că utilizatorii care au generat seed-uri pe firmware-ul afectat ar trebui să creeze un seed complet nou folosind o versiune corectată și să-și transfere bitcoin-ul către adrese controlate de acel seed.

Instalarea actualizării nu este suficientă. O frază de inițializare creată în cadrul sistemului defectuos rămâne vulnerabilă permanent, deoarece actualizarea firmware-ului nu poate adăuga elemente aleatorii la cuvintele care există deja.

Coinkite a sfătuit utilizatorii să își actualizeze dispozitivul, să creeze o nouă frază de recuperare, să verifice copia de rezervă și amprenta portofelului, să confirme adresa de destinație, să efectueze o mică tranzacție de test și apoi să transfere soldul rămas. Utilizatorii ar trebui să păstreze vechea copie de rezervă până la confirmarea transferului, dar nu ar mai trebui să considere vechea frază de recuperare ca fiind sigură.

Compania a identificat versiunile remediate, inclusiv Mk3 versiunea 4.2.0 sau ulterioară, Mk4 și Mk5 versiunea 5.6.0 sau ulterioară și Q versiunea 1.5.0Q sau ulterioară, împreună cu versiunile corespunzătoare ale Edge. Produsele Tapsigner, Opendime și Satscard utilizează coduri diferite și, potrivit rapoartelor, nu au fost afectate.

Securitatea suplimentară a protejat unii deținători de Coldcard

Utilizatorii care au adăugat suficiente aruncări independente de zaruri la generarea unei semințe au fost protejați în mod substanțial, deoarece propria lor aleatorietate a depășit datele de intrare defectuoase ale software-ului. Coinkite a afirmat că cel puțin 50 de aruncări private ale unui zar echitabil au oferit o protecție adecvată împotriva acestei probleme, deși aruncările suplimentare pot oferi o marjă de siguranță mai mare.

O frază de acces BIP-39 puternică creează, de asemenea, un portofel separat care nu poate fi reconstituit doar pe baza cuvintelor de seed. Portofelele cu semnături multiple, care necesită chei de la mai multe dispozitive sau locații înainte ca bitcoin-ul să poată fi transferat, au fost protejate în mare măsură sau în totalitate atunci când seed-ul vulnerabil al Coldcard reprezenta doar o parte a mecanismului de semnare.

Aceste măsuri de protecție erau însă opționale. Multe victime par să fi urmat sfaturile standard de securitate disponibile la momentul respectiv: cumpărați un portofel hardware de încredere, generați seed-ul offline, protejați copia de rezervă și nu o introduceți niciodată într-un dispozitiv conectat la internet.

Coinkite își asumă vina, în timp ce dezbaterea se îndreaptă spre IA

Rodolfo Novak, CEO-ul Coinkite, cunoscut pe scară largă sub numele de NVK, și-a cerut scuze public pe 31 iulie și a declarat că compania își asumă întreaga responsabilitate pentru defecțiunea firmware-ului. „Îmi pare rău și sunt devastat. Echipa noastră este profund îndurerată de știrile de ieri”, a scris Novak. El a recunoscut că hotfix-ul securizează seed-urile nou create, dar nu poate repara seed-urile generate cu ajutorul software-ului vulnerabil.

Coinkite CEO Rodolfo Novak's article screenshot.
Articolul de scuze al lui Rodolfo Novak, CEO-ul Coinkite. Sursa imaginii: X.

Novak a explicat că Coinkite va publica un raport tehnic complet după verificarea detaliilor și va oferi asistență utilizatorilor afectați care doresc să depună plângeri la poliție, să solicite despăgubiri de la asiguratori sau să inițieze investigații independente. De asemenea, el a avertizat dezvoltatorii că instrumentele de inteligență artificială (IA) pot acum scana codul public vechi în căutarea unor vulnerabilități ascunse mai rapid decât ar putea să le detecteze procesele tradiționale de revizuire.

Coinkite a subliniat că trebuie să presupună că un atacator a folosit IA pentru a inspecta firmware-ul său open-source, deși nu există dovezi care să stabilească modul în care a fost descoperită vulnerabilitatea. Compania a recunoscut, de asemenea, că o revizuire recentă efectuată cu un model de IA de vârf nu a reușit să identifice problema. Mai mulți producători concurenți de portofele hardware au postat pe rețelele sociale pentru a preciza că produsele lor nu sunt afectate.

„Ledger nu este afectat de avertismentul privind Coldcard Mk3 publicat recent”, a declarat compania utilizatorilor X după incidentul Coldcard. „Dispozitivele Ledger utilizează un generator certificat de numere aleatorii adevărate (TRNG) integrat direct în cipul nostru Secure Element, generând o entropie completă de 256 de biți pentru fiecare frază secretă de recuperare de 24 de cuvinte.”

„Utilizatori Trezor: fondurile voastre sunt în siguranță”, a explicat vineri producătorul de portofele hardware Trezor. „Problema recentă legată de Coldcard se limitează la propriul lor firmware personalizat și la modul în care unele dintre dispozitivele lor generau aleatoriu. Trezor nu folosește acel cod.”

Contul Trezor X a adăugat:

„Am combinat întotdeauna mai multe surse independente de aleatoriu (hardware-ul dispozitivului + gazda + elementele de securitate de pe modelele mai noi). Ne pare sincer rău pentru toți cei care au pierdut bitcoin.”

Ce ar trebui să urmărească în continuare utilizatorii Coldcard

Identitatea atacatorului rămâne necunoscută, iar bitcoin-ul furat ar putea fi transferat din adresele de consolidare în orice moment. Anchetatorii lucrează în continuare pentru a stabili câte seed-uri vulnerabile au fost generate efectiv, cât bitcoin rămâne expus și dacă atacatorul a identificat deja alte portofele cu valoare ridicată. Cu toate acestea, este posibil ca Coinkite să nu dețină prea multe informații despre proprietarii de acum mult timp.

„O situație amuzantă, cu două tăișuri: Coinkite șterge toate înregistrările clienților după 120 de zile pentru a se proteja împotriva breșelor de securitate”, a raportat pe X cofondatorul Casa, Jameson Lopp. „Ceea ce înseamnă că nu pot contacta clienții care au cumpărat carduri de stocare vulnerabile în ultimii 5 ani pentru a-i avertiza cu privire la această vulnerabilitate.”

X screenshot of the pseudonymous open-source bitcoin developer calle.
Dezvoltatorul de bitcoin open-source cu pseudonimul „calle” și-a împărtășit gândurile cu privire la această chestiune. „Sunt cu adevărat întristat pentru toți cei afectați, în special pentru cei care s-ar putea să-și fi pierdut economiile de-o viață. Cel mai grav este că au făcut totul cum trebuie”, a declarat „calle” pe X.

Incidentul va testa, de asemenea, dacă Coinkite poate restabili încrederea în Coldcard și dacă producătorii de portofele hardware vor adopta verificări independente mai riguroase ale procesului de generare a seed-urilor. Pentru utilizatori, prioritatea imediată este mai simplă: oricine a creat o sămânță pe un firmware afectat fără entropie puternică independentă generată de zaruri, o frază de acces sau protecție prin semnături multiple ar trebui să o considere compromisă și să-și transfere fondurile cu atenție într-un portofel nou generat.

Dincolo de furtul devastator, utilizatorii de bitcoin din întreaga comunitate trag semnalul de alarmă și îi îndeamnă pe ceilalți să răspândească vestea înainte ca și alte portofele vulnerabile să fie golite.

Acest articol a fost tradus din limba engleză cu ajutorul inteligenței artificiale. Versiunea originală în limba engleză este sursa autoritară; traducerile automate pot conține inexactități, în special în terminologia juridică și de reglementare.

Etichete în această poveste