Vulnerabilitate la portofelele hardware Coldcard: peste 88 mil. USD în Bitcoin furați
Rezumat al pieței generat de AI
O vulnerabilitate divulgată de generare a cheilor la portofelul hardware Coldcard ar fi permis atacatorilor să fure peste 88 milioane de dolari în BTC, iar exploatarea este descrisă ca fiind în desfășurare, cu fonduri care se agregă on-chain. Deși nu este o problemă a Bitcoin la nivel de protocol, incidentul poate pune presiune pe sentimentul pe termen scurt prin creșterea riscului de custodie și operațional, putând determina migrații accelerate către auto-custodie, o examinare mai atentă a lanțurilor de aprovizionare pentru portofele hardware și o monitorizare sporită a adreselor asociate de către burse și echipele de conformitate.
Nivelul impactului
● Ridicat
Active afectate
BTC/USDT+0.88%
Perspectivă AI · BTC/USDTPerspectivă AI
▼ Bearish
Tranzacționează acum
⚠️ Perspectivele generate de AI se bazează pe conținutul știrilor și sunt furnizate exclusiv în scop informativ. Nu constituie consiliere de investiții și nu reprezintă opiniile BingX. Investițiile implică risc. Tranzacționează responsabil.
Pierderile generate de o vulnerabilitate a portofelelor hardware Coldcard au depășit 88 milioane de dolari, iar atacul continuă. La 31 iulie, aproximativ 500 de dispozitive Coldcard au fost compromise, iar atacatorii au sustras 594 BTC, evaluate la circa 38 milioane de dolari. Coinkite, producătorul Coldcard, a confirmat ulterior o problemă de securitate în procesul de generare a cheilor, care afectează mai multe generații de produse: Coldcard Mk2, Mk3, Mk4, Q și Mk5. Utilizatorilor li se recomandă să își mute fondurile cât mai rapid către o altă adresă.
I. Analiza vulnerabilității
Analiza istoricului de commit-uri al firmware-ului Coldcard indică faptul că, într-un commit anterior (37e4af5451c260c1e7d429fe8972c4cb5e68ee59), echipa a modificat secțiuni de cod legate de configurația MK4, inclusiv în mpconfigboard.h:
"// We have our own version of this code. #define MICROPY_HW_ENABLE_RNG (0)".
În MicroPython (STM32), acest macro controlează ruta de compilare pentru binding-ul RNG hardware implicit și implementarea generică de random. Setarea la 0 împiedică folosirea RNG-ului hardware implicit ca backend pentru rng_get(). Comentariile sugerează că dezvoltatorii intenționau să implementeze propriul RNG; în fișierul rng.h personalizat apar doar două obiecte MicroPython declarate:
MP_DECLARE_CONST_FUN_OBJ_0(pyb_rng_get_obj);
MP_DECLARE_CONST_FUN_OBJ_1(pyb_rng_get_bytes_obj);
Implementarea asociată arată că soluția personalizată urmărește utilizarea RNG-ului hardware, dar garantează folosirea lui doar pentru apelurile pyb_rng_get* sau pentru random_buffer() intern.
În timpul creării portofelului, fluxul de inițializare apelează funcția din shared/seed.py:
"async def make_new_wallet(nwords): ... seed = generate_seed() ...",
care intră în shared/random.py. În versiunile anterioare, random.py depindea explicit de ngu.random (RNG criptografic), iar inițializarea folosea random.bytes, nu pyb.rng(). Obiectul pyb_rng_get_obj personalizat nu suprascrie automat random.bytes.
Cum MICROPY_HW_ENABLE_RNG este setat la 0, generarea seed-ului nu a folosit RNG hardware, ci a ajuns la fallback-ul din micropython/ports/stm32/rng.c, unde rng_get() întoarce pyb_rng_yasmarang. Acesta este un generator pseudoaleator, considerat nesigur pentru generarea seed-urilor de portofel hardware, deoarece permite atacatorilor să forțeze cheia prin bruteforce.
Coinkite a exclus ulterior în mod explicit stm32/rng.c din Makefile pentru a evita compilarea PRNG-ului fallback din MicroPython, menționând că rng_get() trebuie furnizat de rng.c specific plăcii.
II. Urmărirea fondurilor furate
Fondurile provenite de la mai multe portofele ale victimelor au fost deja mutate și agregate în câteva adrese, fără semne de "laundering" suplimentar până acum. Pe baza informațiilor de threat intelligence și a analizei comportamentului on-chain, Beosin Trace a identificat următoarele adrese de agregare:
- bc1qq85v2c926eg6pgxhwp6q7lf6cnsz80qs3fcu9r (562 BTC)
- bc1qx76cae2706qd5q576feh7xq8rfcsjpf2htfhe3 (398.47 BTC)
De asemenea, următoarele adrese prezintă un tipar similar de flux al fondurilor și nu au înregistrat încă transferuri ulterioare:
- bc1q8jy96fe5lf8vfugydnte3cguk92gpev7kwtp3q (89.62 BTC)
- bc1q0rvn88w08j75k4h48lf9fvhan7unjp7vjf5q6m (64.9 BTC)
- bc1qtfrwa4j6rmj9rsgspv6a0yjumkg39js2numu75 (45.9 BTC)
- bc1qmd5m5ktv7m5ffujxv4248fxv36myvdx79n8jp6 (30.18 BTC)
Atacurile care vizează portofelele Coldcard continuă. Echipa Beosin afirmă că monitorizează în permanență noi adrese de agregare și analizează mișcările asociate.
III. Concluzie
Incidentul este atribuit unei erori de implementare: folosirea unui generator pseudoaleator în etapa critică de generare a seed-ului portofelului. Dezvoltatorii ar trebui să deruleze testări și audituri continue, iar utilizatorii Coldcard sunt îndemnați să își transfere rapid activele și să urmărească îndeaproape anunțurile viitoare de securitate ale Coinkite.
Beosin este o companie de tehnologie specializată în securitate blockchain și conformitate, oferind audituri de securitate pentru contracte inteligente înainte de lansare, monitorizare și blocare în timp real a riscurilor, recuperare de active, soluții AML pentru active virtuale și servicii de investigație și trasabilitate. Compania a furnizat produse și servicii de conformitate și securitate către autorități de reglementare și agenții de aplicare a legii din peste 20 de țări și regiuni, peste 200 de furnizori de servicii de active virtuale și peste 4.500 de proiecte Web3.