Data raportului: 2023-12-20
Data incidentului: 2023-12-14
Tip de incident detectat: Acces neautorizat și cod rău intenționat
Rezumat
Ledger a detectat un exploit folosind Ledger Connect Kit joi, 14 decembrie 2023. Acest exploit a injectat cod rău intenționat în DApps care foloseau Ledger Connect Kit, păcălindu-i pe utilizatorii EVM DApp să semneze tranzacții care le epuizează portofelele. Exploatarea a fost depistată rapid și o rezoluție a fost implementată pentru scurt timp după. Între timp, un volum redus de utilizatori a căzut în atac și au semnat tranzacții care le-au epuizat portofelul.
Companiei
Orele cronologice sunt detaliate folosind fusul orar Ora Europei Centrale (CET):
2023: Dimineața: Un fost angajat al Ledger a căzut victima unui atac de phishing sofisticat care a obținut acces la contul său NPMJS, ocolind 2FA, folosind simbolul de sesiune al persoanei.
2023 – 12:14 / 09:49 / 10:44: Atacatorul a publicat pe NPMJS (un manager de pachete pentru codul Javascript partajat între aplicații), o versiune rău intenționată a kit-ului 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 activele către portofelele hackerilor.
2023: 12: Ledger a fost informat despre atacul în curs datorită reacției prompte a diferiților actori din ecosistem, inclusiv Blockaid, care a contactat echipa Ledger și a distribuit actualizări despre X.
2023: 12: Echipele de tehnologie și securitate ale Ledger au fost alertate cu privire la atac și o versiune autentică a remedierii Ledger Connect Kit a fost implementată de echipele Ledger în decurs de 40 de minute după ce Ledger a luat cunoștință. Datorită naturii CDN (Content Delivery Network) și a mecanismelor de stocare în cache de pe Internet, fișierul rău intenționat a rămas accesibil puțin mai mult timp. De la compromisul NPMJS până la rezoluția completă, au trecut aproximativ 5 ore. Această disponibilitate extinsă a codului rău intenționat a fost rezultatul timpului necesar CDN-ului pentru a-și propaga și actualiza cache-urile la nivel global cu cea mai recentă versiune autentică a fișierului. În ciuda prezenței de cinci ore a fișierului, estimăm din investigația noastră că fereastra în care activele utilizatorilor au fost epuizate în mod activ a fost limitată la mai puțin de două ore în total.
Ledger s-a coordonat rapid cu partenerul nostru WalletConnect, care a dezactivat instanța necinstită WalletConnect folosită pentru a scurge activele de la utilizatori.
2023-12-14: ora 2.55 La coordonarea noastră, Tether a înghețat USDT-ul atacatorului(lor) (cf. TX).
Analiza cauzei fundamentale, constatări și măsuri de prevenire
Context
carte mare Kit de conectare este o bibliotecă open source Java Script care permite dezvoltatorilor să-și conecteze DApp-urile la hardware-ul Ledger. Poate fi integrat folosind Connect-Kit-loader componentă care permite unui DApp să încarce Connect-Kit în timpul rulării de pe un CDN. Acest lucru permite dezvoltatorilor DApp să aibă întotdeauna cea mai recentă versiune a Kit de conectare fără a fi nevoie să actualizați manual versiunile de pachet și să lansați noi versiuni. CDN-ul folosit de Ledger pentru distribuție este NPMJS. Majoritatea aplicațiilor DApp au integrat Kit de conectare utilizând dispozitivul Connect-Kit-loader menționat.
În exploit-ul Ledger Connect Kit, atacatorul nu a avut în niciun moment acces la nicio infrastructură Ledger, depozit de cod Ledger sau la DApps în sine. Atacatorul a reușit să introducă un pachet de cod rău intenționat în CDN-ul în locul Kit-ului de conectare în sine. Acest cod rău intenționat Connect-Kit a fost apoi încărcat dinamic de către DApps care integrează deja aplicatorul Connect-Kit-loader.
Exploatarea Ledger Connect Kit evidențiază riscurile cu care se confruntă Ledger și industria în mod colectiv pentru a proteja utilizatorii și este, de asemenea, un memento că, împreună, trebuie să continuăm să ridicăm ștacheta securității în jurul DApps, unde utilizatorii se vor implica în semnarea bazată pe browser. Serviciul Ledger a fost exploatat de data aceasta, dar în viitor acest lucru s-ar putea întâmpla unui alt serviciu sau bibliotecă.
Cauza de bază
Pentru a putea împinge pachetul de cod rău intenționat pe NPMJS, atacatorul a phishing un fost angajat pentru a profita de accesul persoanei pe NPMJS. Accesul fostului angajat la sistemele Ledger (inclusiv Github, serviciile bazate pe SSO, toate instrumentele interne Ledger și instrumentele externe) a fost revocat în mod corespunzător, dar, din păcate, accesul foștilor angajați la NPMJS nu a fost revocat în mod corespunzător.
Putem confirma că a fost un incident izolat nefericit. Accesele la infrastructura Ledger de către angajații Ledger sunt revocate automat în timpul debarcării angajaților, cu toate acestea, din cauza modului în care serviciile și instrumentele tehnologice actuale funcționează în prezent la nivel global, nu putem revoca automat accesul la anumite instrumente externe (inclusiv NPMJS), iar acestea trebuie gestionate manual cu un Lista de verificare a declinării angajaților pentru fiecare individ. Ledger are o procedură de offboarding existentă și actualizată în mod regulat, prin care eliminăm angajații care pleacă de la toate instrumentele externe. În acest caz individual, accesul nu a fost revocat manual pe NPMJS, ceea ce regretăm și audităm cu un partener extern terț.
Acesta a fost un atac sofisticat condus de atacator. În ciuda faptului că a impus autentificarea cu doi factori (2FA) pe contul vizat NPMJS, ceea ce ar descuraja în mod normal multe încercări, atacatorul a ocolit această măsură de securitate exploatând o cheie API asociată contului fostului angajat.
Acest atac specific i-a permis atacatorului să încarce o nouă versiune rău intenționată a kit-ului Ledger Connect, care conținea ceea ce se numește malware Angel Drainer. Angel Drainer este un malware ca serviciu care este special conceput pentru a crea tranzacții rău intenționate care epuizează portofelele atunci când sunt semnate. Este o infrastructură completă specializată pe lanțuri EVM care implementează contracte inteligente la cerere și realizează tranzacții personalizate pentru a maximiza daunele.
Din pacate, NPMJS.com nu permite autorizarea multiplă sau verificarea semnăturii pentru automat publicarea. Lucrăm la adăugarea de mecanisme ad-hoc care să impună controale suplimentare în etapa de implementare.
Constatări
Acesta a fost un atac bine pregătit executat de atacatori experimentați. Tehnica de phishing implementată nu s-a concentrat pe acreditări, ceea ce vedem în majoritatea atacurilor Front-End care afectează ecosistemul, ci atacatorul a lucrat direct pe jetonul de sesiune.
Malware-ul folosit a fost Angel Drainer, iar echipa de securitate Ledger a observat în ultimele trei luni o creștere a activităților criminale care utilizează acest malware (vă rugăm să consultați acest program publicat Raport de blocaj). De asemenea, putem observa în lanț că fondurile furate sunt împărțite: 85% către exploatator și 15% către Angel Drainer, care ar putea fi văzut ca un malware ca serviciu.
Acest Angel Drainer păcălește utilizatorii să semneze diferite tipuri de tranzacții, în funcție de tipul de activ pe care îl vizează în prezent. Pentru jetoanele ERC20 și NFT, acesta solicită utilizatorilor să semneze aprobare și permis mesaje. Pentru jetoanele native, canalul de scurgere cere utilizatorului să semneze fie o tranzacție falsă de „revendicare” în care pretinde metoda pur și simplu mătură fondurile sau transferuri simple de token care pot fi ulterior măturate prin implementarea unui contract inteligent la adresa corespunzătoare.
Acesta este motivul pentru care continuăm să încurajăm Clear Signing ca industrie, astfel încât utilizatorii să poată verifica ceea ce văd pe un afișaj de încredere pe dispozitivul lor hardware Ledger.
Acțiuni de remediere
Echipele de securitate și tehnologie Ledger, inclusiv echipa executivă Ledger, examinează și auditează în prezent toate controalele noastre de acces la instrumentele și sistemele interne și externe ale Ledger pe care le folosim.
Ledger își va consolida politicile atunci când vine vorba de revizuirea codului, implementarea, distribuția și controalele de acces, inclusiv adăugarea tuturor instrumentelor externe la verificările noastre de întreținere și de la bord. Vom continua să generalizăm semnarea codului atunci când este cazul. În plus, efectuăm audituri interne periodice pentru a ne asigura că acest lucru este implementat corespunzător.
Ledger organizează deja sesiuni de instruire în domeniul securității, inclusiv cursuri de phishing. Programul de formare în domeniul securității interne va fi, de asemenea, consolidat la începutul anului 2024 pentru toți angajații din departamentele respective. Ledger organizează deja evaluări regulate de securitate de la terți și va continua să acorde prioritate acestor evaluări.
La începutul anului 2024, va fi efectuat un audit specific al unei terțe părți, axat pe controlul accesului, promovarea codului și distribuția.
În plus, ne vom consolida sistemele de monitorizare și alertă a infrastructurii pentru a putea detecta și reacționa și mai rapid la incidentele viitoare.
În cele din urmă, ne vom dubla de a preveni semnarea oarbă, eliminând-o ca opțiune pentru utilizatorii Ledger pentru a asigura cele mai bune practici de securitate și vom educa utilizatorii cu privire la impactul potențial al semnării tranzacțiilor fără nici o afișare securizată, nici să înțeleagă ceea ce semnează dacă nu folosesc. Ștergeți semnarea.
Mulțumim din nou partenerilor noștri din ecosistem pentru că au lucrat rapid cu echipele Ledger la identificarea și rezolvarea exploit-ului.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://www.ledger.com/blog/security-incident-report
- :are
- :este
- :nu
- :Unde
- 09
- 1
- 10
- 11
- 15%
- 2023
- 2024
- 26
- 2FA
- 40
- 51
- 53
- 7
- a
- Capabil
- acces
- accesibil
- Cont
- activ
- activităţi de
- actori
- Ad
- adăugare
- plus
- În plus,
- adresa
- care afectează
- După
- din nou
- TOATE
- permite
- Permiterea
- permite
- deja
- de asemenea
- mereu
- an
- analiză
- și
- înger
- O alta
- Orice
- api
- aproximativ
- Apps
- SUNT
- în jurul
- AS
- evaluări
- activ
- Bunuri
- asociate
- At
- ataca
- Atacuri
- Încercările
- de audit
- audit
- audituri
- Autentificare
- în mod automat
- disponibilitate
- conştient
- bar
- bazat
- BE
- devenire
- fiind
- între
- orb
- scurt
- construiește
- dar
- by
- CAN
- nu poti
- caz
- Provoca
- central
- sigur
- lanţuri
- Verificări
- clar
- cod
- Revizuire a Codului
- colectiv
- vine
- Completă
- component
- efectuat
- efectuarea
- Confirma
- Conectați
- conținute
- conţinut
- continua
- contract
- contracte
- Control
- controale
- coordonat
- coordonare
- Corespunzător
- ar putea
- ambarcaţiunilor
- scrisori de acreditare
- Penal
- Curent
- În prezent
- prejudiciu
- Dapp
- Dezvoltatorii DApp
- DApps
- decembrie
- livrare
- Cerere
- departamente
- În funcție
- dislocate
- Implementarea
- desfășurarea
- implementează
- proiectat
- În ciuda
- detaliat
- detecta
- detectat
- Dezvoltatorii
- dispozitiv
- FĂCUT
- diferit
- direct
- invalid
- Afişa
- distribuire
- face
- dubla
- jos
- scurge
- stors
- două
- în timpul
- dinamic
- fiecare
- Devreme
- ecosistem
- educa
- oricare
- Angajat
- de angajați
- activat
- încuraja
- aplicarea
- angaja
- asigura
- ERC20
- estima
- Eter (ETH)
- european
- Chiar
- EVM
- executat
- executiv
- existent
- cu experienţă
- Exploata
- exploatat
- extins
- extern
- Față
- fals
- mai repede
- Fișier
- constatările
- cinci
- Repara
- Concentra
- concentrat
- Pentru
- Fost
- din
- Fondurile
- fonduri furate
- mai mult
- viitor
- dobândită
- veritabil
- GitHub
- La nivel global
- întâmpla
- Piese metalice
- dispozitiv hardware
- Avea
- având în
- highlights-uri
- oră
- ORE
- Cum
- Totuși
- http
- HTTPS
- identificarea
- Impactul
- implementat
- in
- incident
- incidente
- inclus
- Inclusiv
- Crește
- individ
- industrie
- Infrastructură
- în interiorul
- instanță
- in schimb
- integra
- integrate
- intern
- Internet
- în
- investigaţie
- izolat
- IT
- ESTE
- în sine
- Java
- JavaScript
- Cheie
- trusă
- mai tarziu
- Ultimele
- carte mare
- mai puțin
- Pârghie
- Bibliotecă
- mic
- încărca
- mai lung
- Jos
- făcut
- întreținere
- face
- malware
- manager
- manual
- multe
- max-width
- Maximaliza
- între timp
- măsura
- mecanisme
- menționat
- mesaje
- minute
- Monitorizarea
- luni
- dimineaţă
- cele mai multe
- trebuie sa
- nativ
- Natură
- Nevoie
- reţea
- Nou
- NFT
- jetoane nft
- în mod normal
- of
- on
- În lanț
- în curs de desfășurare
- deschide
- open-source
- funcionar
- Opțiune
- or
- comandă
- organizează
- al nostru
- afară
- pachet
- partener
- parteneri
- parte
- Trecut
- trecut
- Phishing
- atac de phishing
- Loc
- Plato
- Informații despre date Platon
- PlatoData
- "vă rog"
- pm
- Politicile
- potenţial
- practicile
- pregătit
- prezenţă
- prevenirea
- Prioritizarea
- procedură
- Program
- proiect
- de promovare
- cum se cuvine
- proteja
- publicat
- Împinge
- repede
- ridica
- atins
- Reacţiona
- reacţie
- recent
- recurent
- trimite
- menționat
- regreta
- regulat
- regulat
- consolida
- eliberaţi
- a ramas
- aducere aminte
- scoate
- eliminarea
- raportează
- depozit
- cereri de
- Rezoluţie
- rezolvarea
- respectiv
- rezultat
- revizuiască
- revizuirea
- Riscurile
- s
- scenariu
- sigur
- securitate
- vedea
- văzut
- serviciu
- Servicii
- sesiune
- Sesiunile
- comun
- semna
- semnătură
- semnat
- semnare
- simplu
- pur şi simplu
- inteligent
- contract inteligent
- Contracte inteligente
- So
- sofisticat
- Sursă
- de specialitate
- specific
- specific
- împărţi
- Etapă
- Începe
- furate
- sigur
- rapid
- sisteme
- adaptate
- luate
- vizate
- direcționare
- echipă
- echipe
- tehnică
- Tehnologia
- Tether
- decât
- mulţumi
- Mulțumiri
- acea
- Viitorul
- lor
- se
- apoi
- Acestea
- ei
- Al treilea
- acest
- trei
- joi
- timp
- la
- semn
- indicativele
- Unelte
- Total
- Pregătire
- tranzacție
- Tranzacții
- Transferuri
- de încredere
- Două
- tip
- Tipuri
- înţelegere
- nefericit
- din pacate
- Actualizează
- actualizări
- USDT
- utilizare
- utilizat
- Utilizator
- utilizatorii
- folosind
- extrem
- Verificare
- verifica
- versiune
- Victimă
- volum
- Portofel
- Portofele
- a fost
- we
- BINE
- au fost
- Ce
- Ce este
- cand
- care
- OMS
- de ce
- voi
- fereastră
- cu
- în
- fără
- a lucrat
- de lucru
- ar
- X
- zephyrnet