Atacul Ledger: golirea portofelelor criptografice hardware

Atacul Ledger: golirea portofelelor criptografice hardware

Această postare analizează atacul asupra Ledger ca exemplu al modului în care un spear phishing a dus la un atac asupra lanțului de aprovizionare software (SSC) asupra instrumentului software connect-kit folosit de portofelele hardware ale companiei, permițând atacatorului să sustragă sume în valoare de cel puțin 600,000 de dolari. 

Acest atac a avut loc la sfârșitul unui an marcat de incidente în lanțul de aprovizionare. În această postare, analizăm atacul, impactul său, modul în care a fost gestionat și ce lecții ar putea fi extrase.

Ledger și utilizatorii portofelelor sale hardware sunt ținte evidente pentru infractorii cibernetici. Scurătorii de portofele atacau utilizatorii Ledger prin tentative de phishing pe front-end-urile aplicațiilor cripto, iar infractorii trebuie să cunoască coordonatele utilizatorilor pentru a declanșa campanii de phishing. Ledger avea... încălcarea securității datelor până în iulie 2023 precum și faptul că face parte din Furtul de date din septembrie 2020 pe Shopify, platforma lor de comerț electronic, un incident cu impact mare. Postarea „Actualizare: Eforturi de protejare a datelor dvs. și de urmărire penală a spammerilor„arată cât de adânci au fost aceste breșe.

Ledger trebuie să ia securitatea în serios (este o parte cheie a afacerii lor), cu un laborator intern de cercetare (Don Jonmanipulare certificarea securității dispozitivului, A Bounty de bug program buletine de securitate și modelarea amenințărilor. Până acum, bine …

Cum a fost comis atacul

Ledger a detectat o vulnerabilitate folosind Ledger Kit de conectare DApp joi, 14 decembrie 2023. Această vulnerabilitate a injectat cod malițios în aplicații descentralizate (DApps) bazate pe Ethereum care foloseau Ledger Connect Kit, păcălind utilizatorii să semneze tranzacții care le golesc portofelele. 

Exploatarea a fost rapid detectată și o soluție a fost implementată la scurt timp după aceea. Între timp, un volum mic de utilizatori au căzut în atac și au semnat tranzacții care le-au golit portofelul.

Atacul a început când un fost angajat Ledger a fost victima unui atac de tip phishing care a obținut acces la contul său NPM prin intermediul token-ului de sesiune. Atacatorii au publicat versiuni malițioase ale...  @ledgerhq/connect-kit (1.1.5, 1.1.6 și 1.1.7, acum retrase). Atacatorii puteau rula cod arbitrar cu același nivel de permisiuni ca aplicația portofel: atacatorii pot goli imediat fondurile utilizatorilor fără interacțiune, pot distribui numeroase link-uri de phishing pentru a înșela utilizatorii sau pot exploata panica utilizatorilor convingându-i să transfere active la o nouă adresă, ceea ce duce la pierderea de active din cauza descărcării unui portofel fals.

Interfețele portofelelor (dApps) foloseau de obicei încărcător-kit-de-conectare pachet din Ledger pentru a încărca Connect Kit la momentul execuției dintr-o rețea CDN JavaScript (jsDelivr). Din păcate, adresa URL https://cdn.jsdelivr.net/npm/@ledgerhq/connect-kit@1 nu fixa versiunea exactă (1.1.4 la momentul respectiv), așa că atunci când versiunile rău intenționate erau încărcate, acestea erau servite (și memorate în cache) de CDN. Și nu se folosea nicio sumă de control pentru a se asigura că resursa descărcată din CDN era de fapt cea așteptată (care ar trebui utilizată la distribuirea codului dintr-un CDN). Această schemă bazată pe sume de control este numită Integritatea subresursei (SRI).

Codul injectat probabil a manipulat datele tranzacțiilor, păcălind utilizatorii să confirme plățile manipulate. De exemplu, un utilizator care aprobă o plată simbolică pentru a activa funcționalitatea unei aplicații ar fi putut vedea în schimb o aprobare pentru o plată către adresa hackerului. Indiferent cât de sigur este portofelul hardware, banii au fost secătuiți. 

Descoperire și investigație

Diferiți utilizatori au început să posteze mesaje pe X (cunoscut și sub numele de Twitter) cum că interfața Zapper „a fost deturnată”. Meritul îi revine lui Mathew Lilley, CTO-ul companiei de criptomonede Sushi, care a avertizat primul într-un interviu. Twitter postare că un „conector web3 utilizat în mod obișnuit” a fost compromis. Mai târziu, el a indicat LedgerHQ/kit de conectare ca bibliotecă compromisă și a oferit o primă evaluare, puțin cam brutală:

Utilizatorul 0xViva a deschis un tichet în depozitul proiectului GitHub: [URGENT] Acest depozit utilizează o versiune malițioasă a pachetului npm @ledgerhq/connect-kit, 1.1.7.

Pe 15 decembrie 2023, formularul de securitate blockchain SlowMost a publicat un... postare de analiză oferind detalii complete despre versiunile rău intenționate. 

Portofelul hardware Ledger nu a fost compromis, ci doar kitul Ledger Connect. Cu toate acestea, deoarece multe aplicații utilizează această bibliotecă, cum ar fi SushiSwap, Zapper, MetalSwap, Harvest Finance, Revoke.cash etc., amploarea impactului a fost semnificativă. Conform... bittrace.io, unele victime, cuprinse de panică, au încercat să transfere active la o nouă adresă, dar au descărcat o aplicație de portofel fals! 

În aceeași zi, Jameson Lopp a precizat cu exactitate tweeter despre defectele care au permis succesul atacului:

Cum a fost gestionat incidentul

Directorul executiv al The Ledger, Pascal Gauthier, a postat în aceeași zi a atacului... scrisoare de divulgare oferind detalii suplimentare despre incident, ceea ce este cu siguranță bine: ascunderea capului în nisip ca a unui struț este cea mai proastă modalitate de a gestiona orice incident de securitate cibernetică. 

Structura scrisorii este interesantă: a recunoscut prompt existența unor versiuni malițioase ale bibliotecii care secătuiesc bani, ceea ce este bine (a nega realitatea este un nonsens):

„Astăzi am experimentat o vulnerabilitate asupra Ledger Connect Kit, o bibliotecă Javascript care implementează un buton care permite utilizatorilor să conecteze dispozitivul lor Ledger la DApp-uri (site-uri web conectate la portofele) terțe.”

Acest exploit a fost rezultatul unui fost angajat care a căzut victima unui atac de tip phishing, care a permis unui actor rău să încarce un fișier rău intenționat în NPMJS al Ledger (un manager de pachete pentru codul Javascript partajat între aplicații).

Am lucrat rapid, alături de partenerul nostru WalletConnect, pentru a remedia vulnerabilitatea, actualizând NPMJS pentru a elimina și dezactiva codul malițios în termen de 40 de minute de la descoperire. Acesta este un bun exemplu de colaborare rapidă a industriei pentru a aborda provocările de securitate. 

Ce? Unui fost angajat cu drepturi de publicare nu i-au fost revocate acreditările pe NPM?

Directorul general a enumerat apoi controalele de securitate existente, dar a sugerat că există o slăbiciune în ceea ce privește accesul la NPM:

„Acum, aș dori să explic de ce s-a întâmplat acest lucru, cum ne vom îmbunătăți practicile de securitate pentru a atenua acest risc specific în viitor și să împărtășesc recomandarea noastră cu industria, astfel încât să putem fi mai puternici împreună.”

standard Practica la Ledger este că nicio persoană nu poate implementa cod fără a fi revizuit de mai multe părți. Avem controale puternice de acces, revizuiri interne și semnături multiple de cod în majoritatea etapelor dezvoltării noastre. Acesta este cazul în 99% din sistemele noastre interne. Oricărui angajat care părăsește compania i se revoca accesul din fiecare sistem Ledger.

Acesta a fost un incident izolat și nefericit. Este o reamintire a faptului că securitatea nu este statică, iar Ledger trebuie să își îmbunătățească continuu sistemele și procesele de securitate. În acest domeniu, Ledger va implementa controale de securitate mai puternice, conectând sistemul nostru de dezvoltare... pipeline care implementează strict software supply chain security către canalul de distribuție NPM.Matei 22:21

Ei bine, se părea că contul NPM cu permisiuni de a publica versiuni noi ale bibliotecii avea controale de securitate mai puțin stricte decât alte părți ale infrastructurii lor software. Incident izolat din cauza ghinionului?

Finalul scrisorii este mai mult standard secțiune de interacțiune cu autoritățile, „declarație sub control” și scuze:

„Ledger a colaborat cu autoritățile și face tot posibilul pentru a ajuta pe măsură ce această anchetă se desfășoară. Ledger va sprijini utilizatorii afectați în găsirea acestui infractor, îl va aduce în fața justiției, va urmări fondurile și va colabora cu forțele de ordine pentru a ajuta la recuperarea activelor furate de la hacker. Regretăm profund evenimentele care au avut loc astăzi pentru persoanele afectate.” 

„Situația este acum sub control, iar amenințarea a trecut. Înțelegem panica pe care a provocat-o acest lucru în comunitate și în ecosistemul mai larg.”

Scrisoarea anexează o cronologie, ceea ce este foarte util pentru ca utilizatorii să înțeleagă cum a fost descoperit incidentul, ce acțiuni specifice de izolare și remediere au fost întreprinse și cum vor fi recuperate/compensate daunele aduse utilizatorilor afectați. Aceasta este partea cea mai specifică monedei:

„În această dimineață, ora CET, un fost angajat Ledger a fost victima unui atac de phishing care i-a permis să acceseze contul NPMJS. Atacatorul a publicat o versiune rău intenționată a kitului Ledger Connect (care afectează versiunile 1.1.5, 1.1.6 și 1.1.7). Codul rău intenționat a folosit un proiect WalletConnect necinstit pentru a redirecționa fondurile către un portofel al unui hacker.” Echipele de tehnologie și securitate ale Ledger au fost alertate, iar o soluție a fost implementată în termen de 40 de minute de la constatarea problemei. Fișierul rău intenționat a fost activ timp de aproximativ 5 ore, însă credem că fereastra în care fondurile au fost secate a fost limitată la o perioadă mai mică de două ore.Ledger a coordonat colaborarea cu WalletConnect, care a dezactivat rapid proiectul necinstit. Kitul Ledger Connect versiunea 1.1.8, autentic și verificat, se propagă acum și poate fi utilizat în siguranță.

Pentru dezvoltatorii care dezvoltă și interacționează cu codul Ledger Connect Kit: echipa de dezvoltare connect-kit din cadrul proiectului NPM are acum drepturi de citire și nu poate distribui direct pachetul NPM din motive de siguranță. Am modificat intern secretele pentru a fi publicate pe GitHub-ul Ledger. Dezvoltatori, vă rugăm să verificați din nou dacă utilizați cea mai recentă versiune, 1.1.8.

Ledger, împreună cu Wallet Connect și partenerii noștri au raportat adresa portofelului rău intenționat. Adresa este acum vizibilă pe Chainalysis. Tether a înghețat USDT-ul actorului negativ.”

Conform acestora, măsurile de izolare au fost rapide, deoarece proiectul necinstit WalletConnect pentru redirecționarea fondurilor a fost dezactivat prompt. Dar chiar și așa, unele portofele au fost golite.

Urmări: Cum a reacționat industria

Unii utilizatori și-au exprimat nemulțumirea față de Ledger pentru că nu a reușit să prevină compromiterea, în timp ce alții au avertizat asupra pericolelor de a se baza pe biblioteci terțe.

Industria securității cibernetice are o nișă în cybercoin. Campaniile de drenare a portofelelor sunt bine cunoscute, acestea utilizând în principal site-uri de phishing pentru a înșela utilizatorii finali. Afacerile SaaS (Scam-as-a-Service) obișnuite au actori specializați în drenarea portofelelor, cum ar fi vânzătorul de escrocherii. Inferno Drainer care a anunțat încetarea operațiunilor în noiembrie 2023. Oricum, aceasta pare a fi o invenție falsă, conform activității recente observate în Dune. @scamsnifferSchema pe care o urmează a fost explicată în această postare a Grupului IB:

Fluxul de lucru Inferno Drainer. Sursa: Adio Inferno Drainer? (…), de Group-IB.
Atacul Ledger: golirea portofelelor criptografice hardware

Unii analiști au oferit indicii despre ce anume nu a reușit să facă posibil atacul. Acest lucru comentariu de la utilizatorul brianddk în tichetul din repozitoriul proiectului ne oferă informații despre cauza principală: 

Atacul Ledger: golirea portofelelor criptografice hardware

A comentariu de la un alt utilizator, HenryQW, a indicat al doilea lucru care a permis versiunilor rău intenționate să se propagă prin CDN:

Este prea devreme să vedem inițiative pe termen lung pentru a face front-end-urile portofelelor cripto mai robuste împotriva atacurilor de phishing. Se pare că este necesară respectarea unui standard similar cu ceea ce PA-DSS ceea ce face furnizorii de software pentru aplicații de plată ar putea fi binevenit în industria cripto.

Și Acum, Lecții Învățate!

Este uimitor cum un portofel hardware, chintesența securității cripto, a fost încălcat pur și simplu prin furtul de acces la acreditările NPM al unui „fost angajat” al Ledger (probabil nume de utilizator/parolă fără protecție 2FA sau un token de acces). Acest incident servește ca o reamintire frapantă a faptului că, atunci când ești criticat, infrastructura ta software trebuie protejată cu aceeași grijă ca și produsele tale software sau hardware.

Majoritatea atacurilor asupra lanțului de aprovizionare software încep prin compromiterea unui cont intern (adesea pentru un dezvoltator sau inginer DevOps). Atacatorii apoi fie se mișcă lateral pentru a încălca sistemele interne din infrastructura software, cum ar fi CI/CD sistemul sau instrumentele de implementare sau reușesc să adauge logică malițioasă în depozitele de cod sursă, ceea ce ar putea fi detectat dacă există o gestionare corectă a modificărilor cu protecție împotriva ramurilor și revizuiri de cod. Însă atacatorii nu trebuie să exploreze atât de profund atunci când ținta este o bibliotecă populară publicată într-un registru public, mai ales dacă pot obține acces la acreditările de publicare (scriere). Și asta s-a întâmplat în acest atac. 

Autentificare 2FA, în special utilizarea unor elemente robuste precum cheile de securitate, limitează riscul în cazul operațiunilor interactive. Pentru CI/CD pipelines, jetoane de acces cu acces limitat stocate ca a CI/CD secret este calea obișnuită de urmat (iar token-ul de acces nu ar trebui divulgat). Din păcate, se pare că angajatul nu avea un set robust de 2FA. NPM permite organizațiile să aplice 2FA (dar acest lucru este opțional, nu este implicit), ceea ce probabil ar trebui să aibă Ledger. Și nu uitați să adăugați opțiunile corespunzătoare revocarea acreditărilor proceduri pentru foștii angajați, în special în cazul accesului la resurse la fel de critice precum domeniul de aplicare NPM deținut de organizație.

Fixarea versiunii pentru dependențe cu modificări ale versiunilor revizuite este o practică care atenuează răspândirea dependențelor malițioase. În contextul incidentului Ledger, versiunile bibliotecii pe care le încărcător-kit-de-conectare luat de la CDN ar fi trebuit să fie fixat și „nu aveți încredere în ceea ce aruncă CDN-ul”. Având un verificarea sumei de control De exemplu, prin SRI (sau chiar o schemă de semnătură digitală care autentifică și sursa) ar trebui utilizată atunci când se extrage cod dintr-o CDN pentru încărcarea dinamică a codului.  

Restul e o poveste.

Pentru campaniile de phishing mai convenționale, direcționate către utilizatorii de portofele, întrebarea este: Ce îi face pe utilizatori să cadă în capcanele întinse de infractori și să confirme tranzacții pe care nu au intenționat niciodată să le efectueze? Site-urile de phishing din acest domeniu sunt bine concepute și convingătoare, imitând branduri cripto populare; și oferă și token-uri gratuite. baterea NFT-urilor și alte recompense. Evitarea ca utilizatorii să cadă în astfel de capcane este o problemă care caută o soluție.

Și să nu uităm cele legate criptohacking atacurile, o amenințare mai generală, în care adversarii preiau infrastructurile cloud pentru a rula mineri pentru criptomonede, adesea pentru monede de confidențialitate precum Monero XMR și Zcash, cu istoric ascuns al tranzacțiilor. Cryptojacking-ul este relevant deoarece poate afecta ORICE organizație și, deși profitul pentru atacator ar putea fi mic, costul pentru victimă ar putea fi mare (Sysdig a menționat în Acest raport că pentru fiecare dolar extras de atacator costă organizația victimă 53 de dolari).

Referinte

Explorează caracteristicile Xygeni!
Urmăriți demonstrația noastră video
sca-tools-software-instrumente-de-analiză-a-compoziției
Prioritizați, remediați și securizați riscurile software
Obține-ți contul gratuit.
Nu este necesar un card de credit.

Securizează-ți dezvoltarea și livrarea de software

cu suita de produse Xygeni