Ledger-angrebet: dræner hardware-kryptowallets

Ledger-angrebet: dræner hardware-kryptowallets

Dette indlæg analyserer angrebet på Ledger som et eksempel på, hvordan spear phising førte til et software supply chain (SSC)-angreb på software connect-kit-værktøjet, som virksomhedens hardware-wallets brugte, hvilket gjorde det muligt for aktøren at dræne penge til en værdi af mindst $600,000. 

Dette angreb kom ved udgangen af ​​et år plaget af hændelser i forsyningskæden. I dette indlæg analyserer vi angrebet, dets indvirkning, hvordan det blev håndteret, og hvilke erfaringer der kunne drages.

Ledger og hans brugere af hardware-wallets er oplagte mål for cyberkriminelle. Wallet-drænere angreb Ledger-brugere via phishing-forsøg på krypto-apps' frontends, og de kriminelle skal kende brugerkoordinater for at kunne drive phishing-kampagnerne. Ledger havde en databrud inden juli 2023 samt at være en del af Datatyveri i september 2020 på deres e-handel Shopify, en hændelse med stor indflydelse. Opslaget “Opdatering: Bestræbelser på at beskytte dine data og retsforfølge spammere"viser, hvor dybt disse brud gik.

Ledger skal tage sikkerhed alvorligt (det er en central del af deres forretning) med et internt forskningslaboratorium (holde) håndtering certificering af enhedens sikkerhed, en bug bounty program, sikkerhedsbulletinerog trusselsmodelleringIndtil videre går det godt …

Hvordan angrebet blev udført

Ledger opdagede en udnyttelse ved hjælp af Ledgers DApp Connect-sæt torsdag den 14. december 2023. Denne udnyttelse injicerede skadelig kode i Ethereum-baserede decentraliserede applikationer (DApps), der brugte Ledger Connect Kit, og narrede brugerne til at underskrive transaktioner, der dræner deres tegnebøger. 

Angrebet blev hurtigt opdaget, og en løsning blev implementeret kort efter. I mellemtiden blev et lille antal brugere udsat for angrebet og underskrev transaktioner, der drænede deres tegnebog.

Angrebet startede, da en tidligere Ledger-medarbejder blev offer for et phishing-angreb, der fik adgang til hans/hendes NPM-konto via sessionstokenet. Angriberne offentliggjorde ondsindede versioner af  @ledgerhq/connect-kit (1.1.5, 1.1.6 og 1.1.7, nu udgået). Angriberne kunne køre vilkårlig kode med samme tilladelsesniveau som tegnebogsappen: angribere kan øjeblikkeligt dræne brugernes penge uden interaktion, distribuere adskillige phishing-links for at narre brugere eller udnytte brugernes panik ved at overbevise dem om at overføre aktiver til en ny adresse, hvilket resulterer i tab af aktiver på grund af download af en falsk tegnebog.

Wallet-frontends (dApps) brugte typisk Connect-kit-loader pakke fra Ledger til at indlæse Connect Kit under kørsel fra et JavaScript CDN (jsDelivr). Desværre er URL'en https://cdn.jsdelivr.net/npm/@ledgerhq/connect-kit@1 fastgjorde ikke den nøjagtige version (1.1.4 på daværende tidspunkt), så da de skadelige versioner blev uploadet, blev de serveret (og cachelagret) af CDN'et. Og der blev ikke brugt nogen checksum til at sikre, at den downloadede ressource fra CDN'et faktisk var den forventede (som burde bruges ved distribution af kode fra et CDN). Denne checksumbaserede ordning hedder Subressourceintegritet (SRI).

Den indsprøjtede kode manipulerede sandsynligvis transaktionsdata og narrede brugerne til at bekræfte manipulerede betalinger. For eksempel kan en bruger, der godkender en tokenbetaling for at aktivere en apps funktionalitet, i stedet have set en godkendelse af en betaling til hackerens adresse. Uanset hvor sikker hardware-wallet'en er, blev pengene drænet. 

Opdagelse og undersøgelse

Forskellige brugere begyndte at poste beskeder i X (også kendt som Twitter) om, at Zapper-frontend'en "blev kapret". Æren går til Mathew Lilley, CTO for kryptohandleren Sushi, som først advarede i en Twitter indlæg at en "almindeligt anvendt web3-forbindelse" er blevet kompromitteret. Senere pegede han på LedgerHQ/forbindelsessæt som det kompromitterede bibliotek, og gav en første vurdering, lidt brutalt:

Bruger 0xViva åbnede en sag i GitHub-projektets repo: [HASTER] Dette arkiv bruger en skadelig version af npm-pakken @ledgerhq/connect-kit, 1.1.7.

Den 15. december 2023 offentliggjorde blockchain-sikkerhedsformularen SlowMost en analyseindlæg giver alle detaljer om de ondsindede versioner. 

Ledger-hardwarepungen blev ikke kompromitteret, kun Ledger Connect Kit. Da mange applikationer bruger dette bibliotek, såsom SushiSwap, Zapper, MetalSwap, Harvest Finance, Revoke.cash osv., var omfanget af påvirkningen betydelig. Ifølge bittrace.io, nogle ofre forsøgte i panik at overføre aktiver til en ny adresse, men downloadede en falsk tegnebogs-app! 

Samme dag, Jameson Lopp præcist Tweetet om de fejl, der gjorde det muligt for angrebet at lykkes:

Hvordan hændelsen blev håndteret

Ledgers administrerende direktør, Pascal Gauthier, offentliggjorde samme dag som angrebet ... oplysningsbrev giver yderligere detaljer om hændelsen, hvilket bestemt er godt: At stikke hovedet i busken som en struds er den værste måde at håndtere enhver cybersikkerhedshændelse på. 

Brevets struktur er interessant: Det anerkendte straks eksistensen af ​​ondsindede versioner af biblioteket, der drænede penge, hvilket er godt (at benægte virkeligheden er nonsens):

"I dag oplevede vi en angreb på Ledger Connect Kit, et Javascript-bibliotek, der implementerer en knap, der giver brugerne mulighed for at forbinde deres Ledger-enhed til tredjeparts DApps (wallet-forbundne websteder)."

Denne udnyttelse var resultatet af, at en tidligere medarbejder blev offer for et phishing-angreb, som gjorde det muligt for en dårlig skuespiller at uploade en ondsindet fil til Ledgers NPMJS (en pakkehåndtering til Javascript-kode, der deles mellem apps).

Vi arbejdede hurtigt sammen med vores partner WalletConnect for at håndtere angrebet og opdaterede NPMJS for at fjerne og deaktivere den skadelige kode inden for 40 minutter efter opdagelsen. Dette er et godt eksempel på, at branchen arbejder hurtigt sammen for at håndtere sikkerhedsudfordringer.” 

Hvad? En tidligere medarbejder med publiceringsrettigheder fik ikke sine legitimationsoplysninger på NPM inddraget?

Den administrerende direktør opregnede derefter de gældende sikkerhedskontroller, men antydede, at der var noget svagt med NPM-adgangen:

"Nu vil jeg gerne adressere, hvorfor dette skete, hvordan vi vil forbedre vores sikkerhedspraksis for at afbøde denne specifikke risiko i fremtiden, og dele vores anbefaling med branchen, så vi kan være stærkere sammen."

standard Praksis hos Ledger er, at ingen enkeltperson kan implementere kode uden gennemgang af flere parter. Vi har stærke adgangskontroller, interne gennemgange og multisignaturer af kode, når det kommer til de fleste dele af vores udvikling. Dette er tilfældet i 99% af vores interne systemer. Enhver medarbejder, der forlader virksomheden, får sin adgang tilbagekaldt fra alle Ledger-systemer.

Dette var en uheldig isoleret hændelse. Det er en påmindelse om, at sikkerhed ikke er statisk, og Ledger skal løbende forbedre vores sikkerhedssystemer og -processer. På dette område vil Ledger implementere stærkere sikkerhedskontroller, der forbinder vores bygning pipeline der implementerer strenge software supply chain security til NPM's distributionskanal."

Det virkede som om, at NPM-kontoen med tilladelser til at udgive nye versioner af biblioteket havde mindre strenge sikkerhedskontroller end andre dele af deres softwareinfrastruktur. En isoleret hændelse på grund af uheld?

Slutningen af ​​brevet er mere standard afsnit om samarbejde med myndighederne, "under kontrol-erklæring" og undskyldninger:

"Ledger har samarbejdet med myndighederne og gør alt, hvad vi kan for at hjælpe, mens denne efterforskning skrider frem. Ledger vil støtte berørte brugere i at finde denne kriminelle aktør, bringe dem for retten, spore midlerne og samarbejde med retshåndhævende myndigheder for at hjælpe med at inddrive stjålne aktiver fra hackeren. Vi beklager dybt de begivenheder, der udspillede sig i dag for de berørte personer." 

Situationen er nu under kontrol, og truslen er overstået. Vi forstår den panik, dette forårsagede for samfundet og det bredere økosystem.”

Brevet vedlægger en tidslinje, som er meget god for brugerne at forstå, hvordan hændelsen blev opdaget, hvilke specifikke inddæmnings- og afhjælpningsforanstaltninger der blev taget, og hvordan skaden på de berørte brugere vil blive genoprettet/kompenseret. Dette er den mest møntspecifikke del:

"I morges CET blev en tidligere Ledger-medarbejder offer for et phishing-angreb, der fik adgang til deres NPMJS-konto. Angriberen offentliggjorde en ondsindet version af Ledger Connect Kit (som påvirker version 1.1.5, 1.1.6 og 1.1.7). Den ondsindede kode brugte et uautoriseret WalletConnect-projekt til at omdirigere penge til en hacker-wallet." Ledgers teknologi- og sikkerhedsteams blev advaret, og en rettelse blev implementeret inden for 40 minutter efter, at Ledger blev opmærksom på problemet. Den skadelige fil var aktiv i omkring 5 timer, men vi mener, at vinduet, hvor midlerne blev drænet, var begrænset til en periode på mindre end to timer.Ledger koordinerede med WalletConnect, som hurtigt deaktiverede det uærlige projekt. Den ægte og verificerede Ledger Connect Kit version 1.1.8 udbredes nu og er sikker at bruge.

For udviklere, der udvikler og interagerer med Ledger Connect Kit-koden: connect-kit-udviklingsteamet på NPM-projektet er nu skrivebeskyttet og kan ikke pushe NPM-pakken direkte af sikkerhedsmæssige årsager. Vi har internt roteret hemmelighederne for at offentliggøre dem på Ledgers GitHub. Udviklere, tjek venligst igen, at I bruger den nyeste version, 1.1.8.

Ledger, sammen med Wallet Connect og vores partnere har rapporteret den skadelige aktørs wallet-adresse. Adressen er nu synlig på Chainalysis. Tether har indefrosset den onde aktørs USDT.”

Ifølge dette var inddæmningen hurtig, da det uærlige WalletConnect-projekt til omdirigering af midler blev deaktiveret omgående. Men selv med dette blev nogle tegnebøger drænet.

Eftervirkninger: Hvordan branchen reagerede

Nogle brugere udtrykte vrede over Ledger for ikke at have forhindret kompromitteret, mens andre advarede mod farerne ved at stole på tredjepartsbiblioteker.

Cybersikkerhedsbranchen har en niche inden for cybercoins. Pungdrænningskampagner er velkendte, og de bruger primært phishing-sider til at bedrage slutbrugere. Den sædvanlige SaaS-forretning (Scam-as-a-Service) har specialiserede aktører til wallet-dræning, såsom svindelleverandører. Inferno Drainer som annonceret driftsstop i november 2023. Dette ser ud til at være et falsk flag under alle omstændigheder, ifølge den seneste aktivitet set i Dunes @scamsnifferDen ordning, de følger, blev forklaret i dette Group-IB-indlæg:

Inferno Drainers arbejdsgang. Kilde: Goodbye Inferno Drainer? (…), af Group-IB.
Ledger-angrebet: dræner hardware-kryptowallets

Nogle analytikere gav hints om, hvad der ikke gjorde angrebet muligt. kommentar af bruger brianddk i ticket på projektets repository giver os indsigt i den grundlæggende årsag: 

Ledger-angrebet: dræner hardware-kryptowallets

A kommentar fra en anden bruger, HenryQW, pegede på den anden ting, der gjorde det muligt for de ondsindede versioner at sprede sig via CDN:

Det er for tidligt at se langsigtede initiativer, der kan gøre krypto-wallets frontends mere robuste mod phishing-angreb. Det ser ud til, at det kræver overholdelse af en standard ligner hvad PA-DSS gør for softwareleverandører af betalingsapplikationer kunne være velkomne i kryptoindustrien.

Og nu, lektier lært!

Det er forbløffende, hvordan en hardware-wallet, indbegrebet af kryptosikkerhed, blev brudt blot ved at stjæle adgang til NPM-legitimationsoplysninger af en "tidligere medarbejder" hos Ledger (sandsynligvis brugernavn/adgangskode uden 2FA-beskyttelse eller en adgangstoken). Denne hændelse tjener som en slående påmindelse om, at når man er under beskydning, skal ens softwareinfrastruktur beskyttes med samme omhu som ens software- eller hardwareprodukter.

De fleste angreb på softwareforsyningskæden starter med at kompromittere en intern konto (ofte for en udvikler eller devops-ingeniør). Angriberne bevæger sig derefter enten lateralt for at bryde interne systemer i softwareinfrastrukturen, f.eks. CI/CD system eller implementeringsværktøjer, eller formår at tilføje ondsindet logik til kildekodelagre, hvilket kunne opdages, hvis korrekt håndtering af ændringer med branch-beskyttelse og kodegennemgange er på plads. Men angribere behøver ikke at gå så dybt, når målet er et populært bibliotek, der er offentliggjort i et offentligt register, især hvis de kan få adgang til publicerings- (skrive-) legitimationsoplysninger. Og det er, hvad der skete i dette angreb. 

2FA-godkendelse, især brugen af ​​robuste elementer som sikkerhedsnøgler, begrænser risikoen ved interaktive operationer. CI/CD pipelines, adgangstokens med begrænset adgang gemt som en CI/CD hemmelighed er den sædvanlige fremgangsmåde (og adgangstokenet burde ikke være lækket). Desværre ser det ud til, at medarbejderen ikke havde et robust 2FA-sæt. NPM tillader organisationer til at håndhæve 2FA (men dette er valgfrit, ikke standard), hvilket sandsynligvis er det, Ledger burde have. Og glem ikke at tilføje passende tilbagekaldelse af legitimationsoplysninger procedurer for tidligere medarbejdere, især med adgang til ressourcer så kritiske som det NPM-område, som organisationen ejer.

Versionsfastgørelse for afhængigheder med reviderede versionsbumps er en praksis, der mindsker spredningen af ​​ondsindede afhængigheder. I forbindelse med Ledger-hændelsen er de versioner af biblioteket, som Connect-kit-loader tog fra CDN burde have været fastgjort, og "stol ikke på det, CDN'en sender". At have en kontrolsum verifikation f.eks. via SRI (eller endda et digitalt signaturskema, der også autentificerer kilden), bør bruges ved trækning fra et CDN til dynamisk kodeindlæsning.  

Resten er en historie.

For de mere konventionelle phishingkampagner rettet mod tegnebogsbrugere er spørgsmålet: Hvad får brugerne til at falde i fælder sat af kriminelle og til at bekræfte transaktioner, de aldrig havde til hensigt at udføre? Phishing-webstederne på dette område er veldesignede og overbevisende, imiterer populære kryptomærker; og de tilbyder også gratis tokens, prægning af NFT'er og andre belønninger. At undgå, at brugerne falder i sådanne fælder, er et problem, der søger en løsning.

Og for ikke at glemme det relaterede kryptohacking angreb, en mere generel trussel, hvor modstanderne overtager cloud-infrastrukturer for at drive minere til kryptovaluta, ofte til privatlivsmønter som Monero XMR og Zcash, med skjulte transaktionshistorikker. Cryptojacking er relevant, fordi det kan påvirke ENHVER organisation, og selvom profitten for angriberen kan være lav, kan omkostningerne for offeret være store (Sysdig nævnt i denne rapport at det koster offerorganisationen 53 dollars for hver dollar, der udvindes til angriberen).

Referencer

Udforsk Xygenis funktioner!
Se vores videodemo
sca-tools-software-kompositionsanalyseværktøjer
Prioriter, afhjælp og sørg for dine softwarerisici
Få din gratis konto.
Der kræves ikke noget kreditkort.

Sikr din softwareudvikling og -levering

med Xygeni-produktsuite