„Ledger“ ataka: aparatinės įrangos kriptovaliutų piniginių ištuštinimas

„Ledger“ ataka: aparatinės įrangos kriptovaliutų piniginių ištuštinimas

Šiame įraše analizuojama ataka prieš „Ledger“ kaip pavyzdys, kaip tikslinis sukčiavimas lėmė programinės įrangos tiekimo grandinės (SSC) ataką prieš programinės įrangos prijungimo rinkinį, kurį naudojo bendrovės aparatinės įrangos piniginės, ir tai leido veikėjui pasisavinti mažiausiai 600 000 USD vertės pinigų. 

Ši ataka įvyko metų, kuriuos apėmė tiekimo grandinės incidentai, pabaigoje. Šiame įraše analizuojame šią ataką, jos poveikį, kaip su ja buvo susidorota ir kokias pamokas galima iš to padaryti.

Ledgeris ir jo aparatinės piniginės naudotojai yra akivaizdūs kibernetinių nusikaltėlių taikiniai. Piniginių vagiai atakavo Ledgerio naudotojus sukčiavimo tikslais kriptovaliutų programėlių priekinėse sistemose, o nusikaltėliams reikėjo žinoti naudotojų koordinates, kad galėtų vykdyti sukčiavimo kampanijas. Ledgeris turėjo... duomenų pažeidimas iki 2023 m. liepos mėn. taip pat būdamas dalimi 2020 m. rugsėjo mėn. duomenų vagystė jų el. prekybos platformoje „Shopify“ – incidentas, turėjęs didelį poveikį. Įraše „Atnaujinimas: pastangos apsaugoti jūsų duomenis ir patraukti baudžiamojon atsakomybėn šlamšto platintojus„rodo, kokie gilūs buvo šie pažeidimai.“

„Ledger“ turi rimtai žiūrėti į saugumą (tai yra pagrindinė jų verslo dalis) ir turėti vidinę tyrimų laboratoriją (donjon) tvarkymas įrenginio saugumo sertifikavimas, klaida programa saugumo biuleteniaiir grėsmių modeliavimasKol kas viskas gerai...

Kaip buvo įvykdytas išpuolis

„Ledger“ aptiko spragą naudodamas „Ledger“ DApp Connect rinkinys 2023 m. gruodžio 14 d., ketvirtadienį. Šis spragų išnaudojimas įterpė kenkėjišką kodą į „Ethereum“ pagrindu veikiančias decentralizuotas programas (DApp), kurios naudojo „Ledger Connect Kit“, apgaudamas vartotojus, kad šie pasirašytų operacijas, kurios ištuštindavo jų pinigines. 

Ataka buvo greitai pastebėta ir netrukus po to imtasi sprendimo. Tuo tarpu nedidelė dalis vartotojų pateko į ataką ir pasirašė operacijas, kurios ištuštino jų pinigines.

Ataka prasidėjo, kai buvęs „Ledger“ darbuotojas tapo sukčiavimo atakos auka, kurios metu buvo gauta prieiga prie jo NPM paskyros per sesijos prieigos raktą. Užpuolikai paskelbė kenkėjiškas „Ledger“ versijas.  @ledgerhq/connect-kit (1.1.5, 1.1.6 ir 1.1.7 versijos, dabar nebenaudojamos). Užpuolikai galėjo paleisti savavališką kodą su tokiais pačiais leidimais kaip ir „Piniginės“ programėlė: užpuolikai galėjo akimirksniu ištuštinti vartotojų lėšas be jokios intervencijos, platinti daugybę sukčiavimo nuorodų, kad apgautų vartotojus, arba pasinaudoti vartotojų panika, įtikindami juos pervesti turtą nauju adresu, dėl ko atsisiunčiant netikrą piniginę būtų prarastas turtas.

Piniginės priekinės dalys (dApps) paprastai naudodavo „connect-kit-loader“ paketą iš „Ledger“, kad vykdymo metu iš „JavaScript“ CDN („jsDelivr“) būtų galima įkelti „Connect Kit“. Deja, URL https://cdn.jsdelivr.net/npm/@ledgerhq/connect-kit@1 nebuvo prisegusi tikslios versijos (tuo metu 1.1.4), todėl įkėlus kenkėjiškas versijas, jas pateikė (ir talpykloje išsaugojo) CDN. Nebuvo naudojama jokia kontrolinė suma, siekiant užtikrinti, kad iš CDN atsisiųstas išteklius iš tikrųjų būtų laukiamas (kuri turėtų būti naudojama platinant kodą iš CDN). Ši kontroline suma pagrįsta schema pavadinta Subresursų vientisumas (SRI).

Įterptas kodas greičiausiai manipuliavo operacijų duomenimis, apgaudamas vartotojus ir priversdamas juos patvirtinti manipuliuotus mokėjimus. Pavyzdžiui, vartotojas, patvirtinęs žetoninį mokėjimą, kad įjungtų programėlės funkcijas, vietoj to galėjo matyti patvirtinimą mokėjimui įsilaužėlio adresu. Kad ir kokia saugi būtų aparatinės įrangos piniginė, pinigai buvo iššvaistyti. 

Atradimas ir tyrimas

Įvairūs vartotojai pradėjo skelbti žinutes X (dar žinomą kaip „Twitter“), kad „Zapper“ priekinė dalis buvo „užgrobta“. Nuopelnai priklauso Mathew Lilley, kriptovaliutų prekiautojo „Sushi“ technologijų direktoriui, kuris pirmasis perspėjo... "Twitter" įrašas kad „dažnai naudojama „web3“ jungtis“ buvo pažeista. Vėliau jis atkreipė dėmesį į „LedgerHQ“ / prijungimo rinkinys kaip pažeistą biblioteką ir pateikė pirmąjį vertinimą, šiek tiek šiurkščiai:

Vartotojas 0xViva atidarė užklausą „GitHub“ projekto saugykloje: [SKUBU] Šioje saugykloje naudojama kenkėjiška npm paketo @ledgerhq/connect-kit, 1.1.7 versija..

2023 m. gruodžio 15 d. blokų grandinės saugumo forma „SlowMost“ paskelbė analizės įrašas pateikiant išsamią informaciją apie kenkėjiškas versijas. 

„Ledger“ aparatinės įrangos piniginė nebuvo pažeista, tik „Ledger Connect Kit“. Tačiau kadangi daugelis programų, tokių kaip „SushiSwap“, „Zapper“, „MetalSwap“, „Harvest Finance“, „Revoke.cash“ ir kt., naudoja šią biblioteką, poveikio mastas buvo didelis. Pasak... bittrace.io, kai kurios aukos, iš panikos, bandė pervesti turtą nauju adresu, bet atsisiuntė netikrą piniginės programėlę! 

Tą pačią dieną Jamesonas Loppas tiksliai tweeted apie trūkumus, kurie leido sėkmingai atakai:

Kaip buvo elgiamasi su incidentu

„Ledger“ generalinis direktorius Pascalis Gauthier tą pačią išpuolio dieną paskelbė... atskleidimo laiškas pateikiant daugiau informacijos apie incidentą, o tai tikrai gerai: galvos slėpimas smėlyje kaip stručiui yra blogiausias būdas valdyti bet kokį kibernetinio saugumo incidentą. 

Laiško struktūra įdomi: jame iš karto buvo pripažinta, kad egzistuoja kenkėjiškos bibliotekos versijos, švaistončios pinigus, ir tai gerai (realybės neigimas yra nesąmonė):

„Šiandien aptikome „Ledger Connect Kit“ – „Javascript“ bibliotekos, kurioje įdiegtas mygtukas, leidžiantis vartotojams prijungti savo „Ledger“ įrenginį prie trečiųjų šalių programų (su piniginėmis susietų svetainių), – spragą.

Šis išnaudojimas įvyko po to, kai buvęs darbuotojas tapo sukčiavimo atakos auka, kuri leido piktavaliui įkelti kenkėjišką failą į „Ledger“ NPMJS (programų bendrinamo „Javascript“ kodo paketų tvarkyklę).

Kartu su savo partneriu „WalletConnect“ greitai dirbome, kad išspręstume šią spragą, atnaujindami NPMJS, kad pašalintume ir deaktyvuotume kenkėjišką kodą per 40 minučių nuo aptikimo. Tai geras pavyzdys, kaip pramonė greitai bendradarbiauja spręsdama saugumo problemas.“ 

Ką? Buvusio darbuotojo, turėjusio leidybos teises, prisijungimas NPM nebuvo atimtas?

Toliau generalinis direktorius išvardijo taikomas saugumo kontrolės priemones, tačiau užsiminė, kad kažkas yra silpnai su NPM prieiga:

„Dabar norėčiau aptarti, kodėl taip atsitiko, kaip tobulinsime savo saugumo praktikas, kad ateityje sumažintume šią konkrečią riziką, ir pasidalyti savo rekomendacija pramonei, kad kartu galėtume būti stipresni.“

Geriausios standard „Ledger“ įmonėje taikoma praktika, kad joks asmuo negali diegti kodo be kelių šalių peržiūros. Taikome griežtas prieigos kontrolės sistemas, vidines peržiūras ir daugkartinius kodo parašus daugumoje mūsų kūrimo dalių. Taip yra 99 % mūsų vidinių sistemų. Bet kuriam darbuotojui, išeinančiam iš įmonės, atimama prieiga prie visų „Ledger“ sistemų.

Tai buvo apgailėtinas pavienis incidentas. Tai primena, kad saugumas nėra statiškas ir „Ledger“ privalo nuolat tobulinti savo saugumo sistemas bei procesus. Šioje srityje „Ledger“ įdiegs griežtesnes saugumo kontrolės priemones, sujungdama mūsų versiją su... pipeline kuris įgyvendina griežtą software supply chain security į NPM platinimo kanalą."

Na, atrodė, kad NPM paskyra, turinti leidimus publikuoti naujas bibliotekos versijas, turėjo mažiau griežtas saugumo kontrolės priemones nei kitos jų programinės įrangos infrastruktūros dalys. Pavienis incidentas dėl nesėkmės?

Laiško pabaiga yra labiau standard bendravimo su valdžios institucijomis skyrius, pareiškimas „padėtis kontroliuojama“ ir atsiprašymas:

„Ledger“ bendradarbiauja su valdžios institucijomis ir daro viską, ką gali, kad padėtų šiam tyrimui. „Ledger“ padės paveiktiems vartotojams surasti šį piktadarį, patraukti jį atsakomybėn, sekti lėšas ir bendradarbiauti su teisėsauga, kad padėtų susigrąžinti pavogtą turtą iš įsilaužėlio. Mes labai apgailestaujame dėl šiandien nutikusių įvykių paveiktiems asmenims.“ 

Padėtis dabar kontroliuojama ir grėsmė praėjo. Suprantame paniką, kurią tai sukėlė bendruomenei ir platesnei ekosistemai.“

Prie laiško pridėtas laiko grafikas, kuris labai padeda vartotojams suprasti, kaip incidentas buvo aptiktas, kokių konkrečių izoliavimo ir taisomųjų veiksmų buvo imtasi ir kaip nukentėjusiems vartotojams bus atlyginta / atlyginta žala. Tai labiausiai su monetomis susijusi dalis:

„Šįryt Vidurio Europos laiku buvęs „Ledger“ darbuotojas tapo sukčiavimo atakos auka, kurios metu buvo gauta prieiga prie jo NPMJS paskyros. Užpuolikas paskelbė kenkėjišką „Ledger Connect Kit“ versiją (paveikiančią 1.1.5, 1.1.6 ir 1.1.7 versijas). Kenkėjiškas kodas panaudojo nesąžiningą „WalletConnect“ projektą, kad nukreiptų lėšas į įsilaužėlio piniginę.“ „Ledger“ technologijų ir saugumo komandos buvo įspėtos, o pataisa buvo įdiegta per 40 minučių nuo tada, kai „Ledger“ sužinojo apie kenkėjišką failą. Kenkėjiškas failas veikė apie 5 valandas, tačiau manome, kad laikotarpis, per kurį buvo nutekėtos lėšos, truko mažiau nei dvi valandas.„Ledger“ bendradarbiavo su „WalletConnect“, kurie greitai išjungė neteisėtą projektą. Dabar platinama ir patikrinta „Ledger Connect Kit“ 1.1.8 versija, kurią saugu naudoti.

Kūrėjams, kurie kuria ir sąveikauja su „Ledger Connect Kit“ kodu: „NPM“ projekto „connect-kit“ kūrimo komanda dabar gali tik skaityti ir dėl saugumo priežasčių negali tiesiogiai įdiegti NPM paketo. Mes pakeitėme slaptus raktus, kad jie būtų skelbiami „Ledger“ „GitHub“. Kūrėjai, dar kartą patikrinkite, ar naudojate naujausią versiją – 1.1.8.

Ledgeris kartu su „WalletConnect“ ir mūsų partneriai pranešė apie piktavalio asmens piniginės adresą. Adresas dabar matomas Chainalysis. Tether įšaldė blogo veikėjo USDT.“

Remiantis tuo, sulaikymas buvo greitas, nes nesąžiningas „WalletConnect“ lėšų peradresavimo projektas buvo nedelsiant išjungtas. Tačiau net ir tai padarius, kai kurios piniginės buvo ištuštintos.

Pasekmės: kaip reagavo pramonė

Kai kurie vartotojai išreiškė pyktį „Ledger“ dėl nesugebėjimo užkirsti kelio kompromisui, o kiti perspėjo apie pavojus, kylančius pasikliaujant trečiųjų šalių bibliotekomis.

Kibernetinio saugumo pramonė turi savo nišą kibernetinių monetų srityje. Piniginių ištuštinimo kampanijos yra gerai žinomos, jose daugiausia naudojamos sukčiavimo svetainės, siekiant apgauti galutinius vartotojus. Įprastas SaaS (angl. Scam-as-a-Service) verslas turi specializuotų veikėjų, skirtų piniginių ištuštinimui, pavyzdžiui, sukčių pardavėjų. Inferno kanalizacija narys, kuris paskelbtas veiklos sustabdymas 2023 m. lapkritį. Bet kokiu atveju, remiantis pastaruoju Dune's pastebėtu aktyvumu, tai atrodo kaip klaidinga vėliava. @scamsnifferJų taikoma schema buvo paaiškinta šiame IB grupės įraše:

„Inferno Drainer“ darbo eiga. Šaltinis: „Goodbye Inferno Drainer?“ (…), autorius „Group-IB“.
„Ledger“ ataka: aparatinės įrangos kriptovaliutų piniginių ištuštinimas

Kai kurie analitikai užsiminė, kas neleido įvykdyti išpuolio. vartotojo brianddk komentaras projekto saugyklos biliete pateikiama įžvalgų apie pagrindinę priežastį: 

„Ledger“ ataka: aparatinės įrangos kriptovaliutų piniginių ištuštinimas

A kito vartotojo, HenryQW, komentaras, atkreipė dėmesį į antrą dalyką, dėl kurio kenkėjiškos versijos galėjo plisti per CDN:

Dar per anksti matyti ilgalaikes iniciatyvas, kaip kriptovaliutų piniginių priekinės dalys būtų atsparesnės sukčiavimo atakoms. Panašu, kad bus reikalaujama laikytis tam tikros taisyklės. standard panašus į tai, ką PA-DSS Mokėjimo programų programinės įrangos tiekėjų veiksmai kriptovaliutų pramonėje galėtų būti laukiami.

O dabar, išmoktos pamokos!

Nuostabu, kaip aparatinė piniginė, kriptovaliutų saugumo įsikūnijimas, buvo pažeista tiesiog suteikus prieigą prie NPM kredencialų buvusio „Ledger“ darbuotojo (tikriausiai vartotojo vardas / slaptažodis be 2FA apsaugos arba prieigos rakto). Šis incidentas yra ryškus priminimas, kad kai esate užpultas, jūsų programinės įrangos infrastruktūra turi būti apsaugota taip pat kruopščiai, kaip ir jūsų programinės ar aparatinės įrangos produktai.

Dauguma programinės įrangos tiekimo grandinės atakų prasideda nuo vidinės paskyros (dažnai kūrėjo arba „devops“ inžinieriaus) kompromitavimo. Tada užpuolikai juda horizontaliai, kad įsilaužtų į vidines programinės įrangos infrastruktūros sistemas, pvz., CI/CD sistemą ar diegimo įrankius, arba sugebėti pridėti kenkėjišką logiką prie šaltinio kodo saugyklų, kurią būtų galima aptikti, jei būtų tinkamai tvarkomi pakeitimai su šakų apsauga ir kodo peržiūromis. Tačiau užpuolikams nereikia taip giliai įsigilinti, kai taikinys yra populiari biblioteka, publikuota viešajame registre, ypač jei jie gali gauti prieigą prie publikavimo (rašymo) kredencialų. Ir būtent tai nutiko šios atakos metu. 

2FA autentifikavimas, ypač naudojant patikimus elementus, tokius kaip saugos raktai, sumažinama rizika atliekant interaktyvias operacijas. CI/CD pipelines, prieigos žetonai su ribota prieiga, saugomi kaip CI/CD Įprastas būdas yra slaptas prisijungimas (ir prieigos raktas neturėtų būti nutekintas). Deja, atrodo, kad darbuotojas neturėjo patikimo 2FA rinkinio. NPM leidžia organizacijos, siekiančios užtikrinti 2FA taikymą (tačiau tai neprivaloma, o ne numatytoji), ką tikriausiai ir turėtų turėti „Ledger“. Ir nepamirškite pridėti atitinkamų įgaliojimų panaikinimas procedūros buvusiems darbuotojams, ypač turint prieigą prie tokių svarbių išteklių kaip organizacijos turima NPM apimtis.

Versijos prisegimas priklausomybėms su peržiūrėtomis versijų pataisomis taikoma praktika, kuria siekiama sumažinti kenkėjiškų priklausomybių plitimą. „Ledger“ incidento kontekste bibliotekos versijos, kurias „connect-kit-loader“ iš CDN paimta informacija turėjo būti prisegta ir „nepasitikėkite tuo, ką CDN pateikia“. Turint kontrolinės sumos patikrinimas pvz., iš CDN dinaminiam kodo įkėlimui turėtų būti naudojamas SRI (arba net skaitmeninio parašo schema, kuri taip pat autentifikuoja šaltinį).  

Visa kita – jau istorija.

Kalbant apie įprastesnes sukčiavimo apsimetant piniginės naudotojais, kyla klausimas: kas verčia naudotojus patekti į nusikaltėlių spąstus ir patvirtinti operacijas, kurių jie niekada neketino atlikti? Šios srities sukčiavimo apsimetant svetainės yra gerai sukurtos ir įtikinamos, imituojančios populiarius kriptovaliutų prekės ženklus; jose taip pat siūlomi nemokami žetonai, kaldinti NFT ir kitus atlygius. Išvengti vartotojų patekimo į tokius spąstus yra problema, ieškanti sprendimo.

Ir kad nepamirštumėte susijusi kriptovaliutų įsilaužimas atakos – bendresnė grėsmė, kai priešininkai perima debesų infrastruktūrą, kad paleistų kriptovaliutų kasimo programas, dažnai skirtas privatumo monetoms, tokioms kaip „Monero XMR“ ir „Zcash“, su paslėpta operacijų istorija. Kriptovaliutų vagystė yra aktuali, nes ji gali paveikti BET KOKĮ organizaciją, ir nors užpuoliko pelnas gali būti mažas, aukos išlaidos gali būti didelės („Sysdig“ minėtas ši ataskaita kad už kiekvieną užpuolikui iškastą 1 dolerį aukos organizacijai tenka 53 doleriai.

Nuorodos

Ištyrinėkite „Xygeni“ funkcijas!
Žiūrėkite mūsų vaizdo demonstraciją
sca-tools-software-composition-analyses-tools
Prioritetizuoti, pašalinti ir apsaugoti savo programinės įrangos rizikas
Gaukite nemokamą paskyrą.
Nebūtina kreditinės kortelės.

Apsaugokite savo programinės įrangos kūrimą ir tiekimą

su „Xygeni“ produktų rinkiniu