Ledger-hyökkäys: kryptolompakoiden laitteistotason tyhjentäminen

Ledger-hyökkäys: kryptolompakoiden laitteistotason tyhjentäminen

Tässä viestissä analysoidaan Ledgeriin kohdistunutta hyökkäystä esimerkkinä siitä, kuinka keihäshuijaus johti ohjelmistotoimitusketjun (SSC) hyökkäykseen yrityksen laitteistolompakoiden käyttämää ohjelmistojen yhteystyökalua vastaan, minkä ansiosta hyökkääjä pystyi viemään vähintään 600 000 dollarin arvosta rahaa. 

Tämä hyökkäys tapahtui toimitusketjun häiriöiden vaivaaman vuoden lopussa. Tässä artikkelissa analysoimme hyökkäystä, sen vaikutusta, sen käsittelytapoja ja siitä voitiin oppia.

Ledger ja hänen laitteistolompakkonsa käyttäjät ovat ilmeisiä kohteita kyberrikollisille. Lompakoiden tyhjentäjät hyökkäsivät Ledgerin käyttäjien kimppuun tietojenkalasteluyritysten avulla kryptosovellusten käyttöliittymissä, ja rikollisten on tiedettävä käyttäjien koordinaatit voidakseen toteuttaa tietojenkalastelukampanjoita. Ledgerillä oli tietomurto heinäkuuhun 2023 mennessä sekä osana Syyskuun 2020 tietovarkaus verkkokauppaansa Shopifyhin liittyen, tapahtumalla oli suuri vaikutus. Julkaisussa ”Päivitys: Pyrkimykset suojata tietojasi ja asettaa roskapostittajat syytteeseen” osoittaa, kuinka syviä nämä murtumat menivät.

Ledgerin on otettava turvallisuus vakavasti (se on keskeinen osa heidän liiketoimintaansa) ja sillä on oltava sisäinen tutkimuslaboratorio (Donjon) käsittely laitteen tietoturvasertifiointitai bug-palkkio ohjelmoida, turvallisuustiedotteetja uhkien mallintaminenTähän asti kaikki hyvin …

Miten hyökkäys tehtiin

Ledger havaitsi hyökkäyksen Ledgerin avulla DApp Connect -paketti torstaina 14. joulukuuta 2023. Tämä hyökkäys upotti haitallista koodia Ethereum-pohjaisiin hajautettuihin sovelluksiin (DApp), jotka käyttivät Ledger Connect Kitiä, huijaten käyttäjiä allekirjoittamaan lompakoita tyhjentäviä tapahtumia. 

Hyökkäys havaittiin nopeasti ja ratkaisu toteutettiin pian sen jälkeen. Samaan aikaan pieni määrä käyttäjiä joutui hyökkäyksen kohteeksi ja allekirjoitti lompakkonsa tyhjentäviä tapahtumia.

Hyökkäys alkoi, kun entinen Ledgerin työntekijä joutui tietojenkalasteluhyökkäyksen uhriksi, jolla päästiin hänen NPM-tililleen istuntotunnuksen kautta. Hyökkääjät julkaisivat haitallisia versioita  @ledgerhq/connect-kit (1.1.5, 1.1.6 ja 1.1.7, nyt poistettu käytöstä). Hyökkääjät voivat suorittaa mielivaltaista koodia samoilla käyttöoikeuksilla kuin lompakkosovellus: hyökkääjät voivat välittömästi tyhjentää käyttäjien varat ilman vuorovaikutusta, levittää useita tietojenkalastelulinkkejä käyttäjien harhauttamiseksi tai hyödyntää käyttäjien paniikkia suostuttelemalla heidät siirtämään varoja uuteen osoitteeseen, mikä johtaa varojen menetykseen väärennetyn lompakon lataamisen vuoksi.

Lompakon käyttöliittymät (dApp) käyttivät tyypillisesti connect-kit-loader Ledgeristä ladattavan paketin Connect Kitin lataamiseksi ajonaikana JavaScript CDN:stä (jsDelivr). Valitettavasti URL-osoite https://cdn.jsdelivr.net/npm/@ledgerhq/connect-kit@1 ei kiinnittänyt tarkkaa versiota (tuolloin 1.1.4), joten kun haitalliset versiot ladattiin, CDN palveli (ja tallennti välimuistiin) ne. Eikä käytetty tarkistussummaa sen varmistamiseksi, että CDN:stä ladattu resurssi oli todella odotettu (jota tulisi käyttää jaettaessa koodia CDN:stä). Tämä tarkistussummaan perustuva järjestelmä on nimetty Aliresurssien eheys (SRI).

Injektoitu koodi todennäköisesti manipuloi tapahtumatietoja ja huijasi käyttäjiä vahvistamaan manipuloituja maksuja. Esimerkiksi käyttäjä, joka hyväksyi token-maksun sovelluksen toiminnallisuuden mahdollistamiseksi, on saattanut nähdä hyväksynnän maksulle hakkerin osoitteeseen. Rahat on tyhjennetty riippumatta siitä, kuinka turvallinen laitteistolompakko on ollut. 

Löytö ja tutkinta

Eri käyttäjät alkoivat julkaista X:ssä (eli Twitterissä) viestejä, joiden mukaan Zapper-käyttöliittymä oli "kaapattu". Kunnia kuuluu kryptotukiyritys Sushin teknologiajohtajalle Mathew Lilleylle, joka varoitti ensimmäisenä... Twitter post että ”yleisesti käytetty web3-liitin” on vaarantunut. Myöhemmin hän osoitti LedgerHQ/connect-kit vaarantuneena kirjastona ja antoi ensimmäisen arvion, hieman tylysti:

Käyttäjä 0xViva avasi tukipyynnön GitHub-projektirepositoriossa: [KIIREELLINEN] Tämä arkisto käyttää haitallista versiota npm-paketista @ledgerhq/connect-kit, 1.1.7.

Lohkoketjun turvallisuusyritys SlowMost julkaisi 15. joulukuuta 2023 analyysipostaus antaa täydelliset tiedot haitallisista versioista. 

Ledger-laitteistolompakkoa ei vaarannettu, ainoastaan ​​Ledger Connect Kit. Koska monet sovellukset, kuten SushiSwap, Zapper, MetalSwap, Harvest Finance ja Revoke.cash, käyttävät kyseistä kirjastoa, vaikutuksen laajuus oli merkittävä. bittrace.ioJotkut uhrit yrittivät paniikissa siirtää varoja uuteen osoitteeseen, mutta latasivat väärennetyn lompakkosovelluksen! 

Samana päivänä Jameson Lopp tarkalleen ottaen Tweeted hyökkäyksen onnistumisen mahdollistaneista puutteista:

Miten tapahtumaan suhtauduttiin

Ledgerin toimitusjohtaja Pascal Gauthier julkaisi samana päivänä hyökkäyksen tapahtuman. selvityskirje antaa lisätietoja tapauksesta, mikä on ehdottomasti hyvä asia: Pään piilottaminen hiekkaan kuin strutsi on huonoin tapa käsitellä mitä tahansa kyberturvallisuuspoikkeamaa. 

Kirjeen rakenne on mielenkiintoinen: Se tunnisti heti kirjaston haitallisten versioiden olemassaolon, jotka kuluttavat rahaa, mikä on hyvä (todellisuuden kieltäminen on hölynpölyä):

”Koimme tänään Ledger Connect Kit -haavoittuvuuden. Ledger Connect Kit on Javascript-kirjasto, joka toteuttaa painikkeen, jonka avulla käyttäjät voivat yhdistää Ledger-laitteensa kolmannen osapuolen DApp-sovelluksiin (lompakkoon yhdistettyihin verkkosivustoihin).

Tämä hyväksikäyttö johtui entisen työntekijän joutumisesta tietojenkalasteluhyökkäyksen uhriksi, jonka avulla pahantahtoinen toimija pystyi lataamaan haitallisen tiedoston Ledgerin NPMJS:ään (sovellusten välillä jaetun Javascript-koodin paketinhallintaohjelma).

Työskentelimme nopeasti kumppanimme WalletConnectin kanssa hyökkäyksen korjaamiseksi ja päivitimme NPMJS:n poistamaan ja deaktivoimaan haitallisen koodin 40 minuutin kuluessa havaitsemisesta. Tämä on hyvä esimerkki alan nopeasta yhteistyöstä tietoturvahaasteiden ratkaisemiseksi. 

Mitä? Eikö entiseltä työntekijältä, jolla oli julkaisuoikeudet, peruttu NPM-tunnisteita?

Toimitusjohtaja luetteli sitten käytössä olevat turvatoimet, mutta vihjasi, että NPM-käyttöoikeuksissa oli jotain heikkoa:

"Haluaisin nyt käsitellä, miksi näin tapahtui, miten aiomme parantaa turvallisuuskäytäntöjämme tämän riskin lieventämiseksi tulevaisuudessa, ja jakaa suosituksemme toimialalle, jotta voimme olla vahvempia yhdessä."

standard Ledgerin käytäntönä on, että kukaan yksittäinen henkilö ei voi ottaa käyttöön koodia ilman useiden osapuolten tarkistusta. Meillä on vahvat käyttöoikeuksien valvonnat, sisäiset tarkastukset ja koodin moniallekirjoitukset useimmissa kehitystyömme osissa. Tämä pätee 99 prosenttiin sisäisistä järjestelmistämme. Jokaiselta työntekijältä, joka lähtee yrityksestä, peruutetaan käyttöoikeudet kaikkiin Ledger-järjestelmiin.

Tämä oli valitettava yksittäistapaus. Se muistuttaa siitä, että turvallisuus ei ole staattista ja Ledgerin on jatkuvasti parannettava turvallisuusjärjestelmiään ja -prosessejaan. Tällä alueella Ledger ottaa käyttöön vahvempia turvallisuuskontrolleja, jotka yhdistävät kokoonpanomme pipeline joka toteuttaa tiukkaa software supply chain security NPM-jakelukanavaan."

No, näytti siltä, ​​että NPM-tilillä, jolla oli oikeudet julkaista uusia versioita kirjastosta, oli vähemmän tiukat suojaustoimenpiteet kuin muilla ohjelmistoinfrastruktuurin osilla. Yksittäinen tapaus huonon tuurin vuoksi?

Kirjeen loppu on enemmänkin standard viranomaisten kanssa käytyä yhteistyötä koskeva osio, ”tilanne hallinnassa” -lausunto ja anteeksipyynnöt:

”Ledger on ollut yhteydessä viranomaisiin ja tekee kaikkensa auttaakseen tutkinnan edetessä. Ledger tukee asianomaisia ​​käyttäjiä tämän pahantekijän löytämisessä, saattamisessa oikeuden eteen, varojen jäljittämisessä ja yhteistyössä lainvalvontaviranomaisten kanssa varastettujen varojen takaisinsaamisessa hakkereilta. Olemme syvästi pahoillamme tänään asianomaisille henkilöille tapahtuneista asioista.” 

Tilanne on nyt hallinnassa ja uhka on ohi. Ymmärrämme paniikin, jonka tämä aiheutti yhteisölle ja laajemmalle ekosysteemille.”

Kirjeen liitteenä on aikajana, joka auttaa käyttäjiä ymmärtämään, miten tapaus löydettiin, mitä erityisiä eristämis- ja korjaavia toimenpiteitä tehtiin ja miten käyttäjille aiheutuneet vahingot korvataan. Tämä on kolikkokohtaisin osa:

”Tänä aamuna Keski-Euroopan aikaa entinen Ledgerin työntekijä joutui tietojenkalasteluhyökkäyksen uhriksi, jolla päästettiin käsiksi hänen NPMJS-tililleen. Hyökkääjä julkaisi haitallisen version Ledger Connect Kitistä (koskee versioita 1.1.5, 1.1.6 ja 1.1.7). Haitallinen koodi käytti haitallista WalletConnect-projektia varojen uudelleenohjaamiseen hakkereiden lompakkoon.” Ledgerin teknologia- ja tietoturvatiimit hälytettiin ja korjaus otettiin käyttöön 40 minuutin kuluessa siitä, kun Ledger sai tiedon ongelmasta. Haitallinen tiedosto oli verkossa noin viisi tuntia, mutta uskomme, että aika, jonka aikana varoja valui ulos, oli alle kaksi tuntia.Ledger koordinoi yhteistyötä WalletConnectin kanssa, joka poisti nopeasti käytöstä haitallisen projektin. Aito ja varmennettu Ledger Connect Kit -versio 1.1.8 on nyt leviämässä ja on turvallinen käyttää.

Ledger Connect Kit -koodia kehittäville ja sen kanssa vuorovaikutuksessa oleville rakentajille: NPM-projektin connect-kit-kehitystiimillä on nyt vain luku -oikeudet, eivätkä he voi turvallisuussyistä julkaista NPM-pakettia suoraan. Olemme kierrättäneet salaisuudet sisäisesti julkaistavaksi Ledgerin GitHubissa. Kehittäjät, tarkistakaa uudelleen, että käytätte uusinta versiota 1.1.8.

Ledger yhdessä LompakkoYhdistä ja kumppanimme ovat ilmoittaneet haitallisen toimijan lompakko-osoitteesta. Osoite näkyy nyt Chainalysis. Tether on jäädyttänyt pahiksen USDT:n.”

Tämän mukaan eristäminen oli nopeaa, koska varojen uudelleenohjaukseen tarkoitettu haitallinen WalletConnect-projekti poistettiin käytöstä välittömästi. Mutta tästä huolimatta joitakin lompakoita tyhjennettiin.

Jälkiseuraukset: Miten teollisuus reagoi

Jotkut käyttäjät ilmaisivat vihansa Ledgerille siitä, ettei se estänyt tietomurtoa, kun taas toiset varoittivat kolmansien osapuolten kirjastoihin luottamisen vaaroista.

Kyberturvallisuusalalla on oma markkinarakonsa kyberkolikoissa. Lompakoiden tyhjennyskampanjat ovat tunnettuja, ja niissä käytetään pääasiassa tietojenkalastelusivustoja loppukäyttäjien harhauttamiseen. Tavallisessa SaaS-liiketoiminnassa (Scam-as-a-Service) on erikoistuneita toimijoita lompakoiden tyhjentämiseen, kuten huijausyritys. Inferno Drainer joka ilmoitettu toiminnan lopettaminen marraskuussa 2023. Tämä näyttää joka tapauksessa olevan harhaluulo Dunen viimeaikaisen toiminnan perusteella. @scamsnifferHeidän noudattamansa järjestelmä selitettiin tässä IB-ryhmän viestissä:

Inferno Drainerin työnkulku. Lähde: Goodbye Inferno Drainer? (…), Group-IB.
Ledger-hyökkäys: kryptolompakoiden laitteistotason tyhjentäminen

Jotkut analyytikot antoivat vihjeitä siitä, mikä mahdollisti hyökkäyksen. käyttäjän brianddk kommentti projektin arkiston tiketissä annetaan meille tietoa perimmäisestä syystä: 

Ledger-hyökkäys: kryptolompakoiden laitteistotason tyhjentäminen

A toisen käyttäjän, HenryQW, kommentti, viittasi toiseen asiaan, joka mahdollisti haitallisten versioiden leviämisen CDN:n kautta:

On liian aikaista nähdä pitkän aikavälin aloitteita kryptolompakoiden käyttöliittymien suojaamiseksi tietojenkalasteluhyökkäyksiltä. Näyttää siltä, ​​että vaaditaan noudattamaan tiettyä standard samankaltainen kuin mitä PA-DSS maksusovellusten ohjelmistotoimittajien tekemät toimet voitaisiin ottaa vastaan ​​kryptoalalla.

Ja nyt, opitut läksyt!

On hämmästyttävää, miten laitteistolompakko, kryptoturvallisuuden ruumiillistuma, murtauduttiin yksinkertaisesti antamalla käyttöoikeus NPM-tunnistetietoihin Ledgerin "entisestä työntekijästä" (luultavasti käyttäjätunnus/salasana ilman 2FA-suojausta tai käyttöoikeustunnus). Tämä tapaus toimii silmiinpistävänä muistutuksena siitä, että kun olet hyökkäyksen kohteena, ohjelmistoinfrastruktuuriasi on suojattava yhtä huolellisesti kuin ohjelmisto- tai laitteistotuotteitasi.

Useimmat ohjelmistojen toimitusketjuun kohdistuvat hyökkäykset alkavat sisäisen tilin (usein kehittäjän tai devops-insinöörin) vaarantamisella. Hyökkääjät siirtyvät sitten joko sivusuunnassa murtautuakseen ohjelmistoinfrastruktuurin sisäisiin järjestelmiin, kuten CI/CD järjestelmää tai käyttöönottotyökaluja, tai onnistua lisäämään haitallista logiikkaa lähdekoodirepositorioihin, mikä voitaisiin havaita, jos muutosten asianmukainen käsittely haarautumissuojauksella ja koodin tarkistuksilla on käytössä. Hyökkääjien ei kuitenkaan tarvitse mennä niin syvälle, kun kohde on suosittu kirjasto, joka on julkaistu julkisessa rekisterissä, varsinkin jos he voivat saada julkaisu- (kirjoitus-) tunnistetiedot. Ja näin tapahtui tässä hyökkäyksessä. 

2FA-todennus, erityisesti käyttämällä vankkoja elementtejä, kuten suojausavaimia, rajoitetaan interaktiivisten toimintojen riskiä. CI/CD pipelines, rajoitetun käyttöoikeuden omaavat käyttöoikeustunnukset tallennetaan CI/CD salaisuus on tavanomainen tapa toimia (eikä käyttöoikeustunnusta pitäisi vuotaa). Valitettavasti näyttää siltä, ​​että työntekijällä ei ollut vankkaa 2FA-settiä. NPM sallii organisaatiot valvovat 2FA:ta (mutta tämä on valinnainen, ei oletusarvo), mikä luultavasti pitäisi olla Ledgerissä. Äläkä unohda lisätä asianmukaisia tunnistetietojen peruuttaminen entisten työntekijöiden menettelytavat, erityisesti silloin, kun heillä on pääsy niin kriittisiin resursseihin kuin organisaation omistamaan NPM-laajuuteen.

Version kiinnittäminen riippuvuuksille, joilla on tarkistettuja versiomuutoksia, on käytäntö, joka rajoittaa haitallisten riippuvuuksien leviämistä. Ledger-tapauksen yhteydessä kirjaston versiot, jotka connect-kit-loader CDN:ltä otettu olisi pitänyt kiinnittää, ja "älä luota mihinkään, mitä CDN heittää". tarkistussumman vahvistus esim. SRI:n kautta (tai jopa digitaalisen allekirjoitusjärjestelmän kautta, joka myös todentaa lähteen) tulisi käyttää, kun CDN:stä noudetaan dynaamista koodin latausta varten.  

Loppu onkin tarina.

Perinteisempien lompakkokäyttäjiin kohdistuvien tietojenkalastelukampanjoiden kohdalla kysymys kuuluu: Mikä saa käyttäjät lankeamaan rikollisten asettamiin ansoihin ja vahvistamaan tapahtumia, joita he eivät koskaan aio suorittaa? Tämän alan tietojenkalastelusivustot ovat hyvin suunniteltuja ja vakuuttavia, ja ne jäljittelevät suosittuja kryptobrändejä; ja ne tarjoavat myös ilmaisia ​​tokeneita, NFT:n lyöminen ja muita palkintoja. Käyttäjien välttäminen joutumasta tällaisiin ansoihin on ongelma, johon etsitään ratkaisua.

Ja ettei unohdeta asiaankuuluvat kryptohakkerointi hyökkäykset, yleisempi uhka, jossa vastustajat ottavat haltuunsa pilvi-infrastruktuureja ja käyttävät kryptovaluuttojen louhijoita, usein yksityisyyttä suojaavia kolikoita, kuten Monero XMR ja Zcash, piilotettujen tapahtumahistorian kanssa. Kryptokaappaus on merkityksellinen, koska se voi vaikuttaa MIHIN TAHANSA organisaatioon, ja vaikka hyökkääjän voitto voi olla pieni, uhrin kustannukset voivat olla suuret (Sysdig mainitsee Tämän raportin että uhriorganisaatiolle koituu 53 dollarin kustannukset jokaista hyökkääjälle louhittua dollaria kohden).

Viitteet

Tutustu Xygenin ominaisuuksiin!
Katso videodemomme
sca-työkalut-ohjelmisto-koostumusanalyysityökalut
Priorisoi, korjaa ja suojaa ohjelmistoriskisi
Hanki ilmainen tili.
Luottokorttia ei vaadita.

Turvaa ohjelmistokehityksesi ja -toimituksesi

Xygeni-tuotepaketin kanssa