Tarjoaa
Featured

Coldcard-haavoittuvuuden selitys: Kuka menetti bitcoineja ja kuka on vaarassa

Hyökkääjä hyödynsi tiettyjen Coldcard-laitteistolompakoiden luomia heikkoja alkulukuja varastaakseen 30. heinäkuuta satojen osoitteiden bitcoin-varoja, joiden arvo oli noin kymmeniä miljoonia.

KIRJOITTAJA
JAA
Coldcard-haavoittuvuuden selitys: Kuka menetti bitcoineja ja kuka on vaarassa

Tärkeimmät kohdat

  • Coldcard-lompakoihin liittyvät varkaudet tyhjensivät satoja lompakoita 30. heinäkuuta.
  • Coinkiten mukaan Mk3-siemenillä oli noin 40 bittiä entropiaa 128:n sijaan.
  • Coldcard-käyttäjien on asennettava korjattu laiteohjelmisto ja luotava uudet siemenet ennen varojen siirtämistä.

Galaxy Researchin perusteellisen analyysin mukaan varkauden ydin tapahtui tiiviisti koordinoidussa, noin 25 minuuttia kestäneessä hyökkäyksessä, kun taas laajemmassa analyysissä yhdistettiin myöhemmin noin 1 196 osoitetta ja jopa 1 083 bitcoinia, joiden arvo oli lähes 70 miljoonaa dollaria, noin 41 minuuttia kestäneeseen toimintaan. Lopulliset luvut voivat muuttua, kun tutkijat jatkavat transaktioiden jäljittämistä julkisessa Bitcoin-lohkoketjussa.

Viisi vuotta vanha haavoittuvuus vaikuttaa bitcoin-lompakkoihin ympäri maailmaa

Hyökkäyksen kohteeksi joutuneet lompakot kuuluivat pääosin pitkäaikaisille omistajille, jotka olivat luoneet palautusavainlauseensa Coldcard-laitteilla, joissa oli käytössä maaliskuusta 2021 lähtien julkaistu haavoittuva laiteohjelmisto. Coldcard on kanadalaisen valmistajan Coinkiten tuottama air-gapped-laitteistolompakko, joka on suunniteltu pitämään bitcoin (BTC)-avaimet erillään internetiin kytketyistä laitteista.

Monet tyhjennetyistä osoitteista olivat olleet käyttämättöminä vuosia. Hyökkääjä toimi nopeasti, maksoi korkeita kiinteitä transaktiomaksuja eikä jättänyt vaihtorahoja, mikä tarkoittaa, että jokainen osoite tyhjennettiin kokonaan. Tämä toimintamalli viittasi automatisoituun operaatioon, jossa käytettiin valmiiksi laadittua yksityisten avainten luetteloa, eikä siihen, että asiakkaat olisivat siirtäneet varojaan itsenäisesti.

Varkaus ei johtunut tietojen kalastelusta, käyttäjän tietokoneella olevasta haittaohjelmasta, fyysisestä laitevarkaudesta tai tavanomaisesta etähyökkäyksestä. Sen sijaan laiteohjelmistovirhe heikensi satunnaisuutta, jota käytettiin joidenkin Coldcard-laitteiden luodessa lompakon siemeniä. Nämä siemenet näyttivät normaaleilta, mutta ne olivat peräisin huomattavasti pienemmästä mahdollisten yhdistelmien joukosta kuin käyttäjille oli luvattu.

Coldcardin satunnaislukugeneraattori petti huomaamatta

Bitcoin-lompakon siemen on salainen, yleensä 12 tai 24 sanan pituinen merkkijono, jonka perusteella lompakko luo osoitteensa ja yksityiset avaimensa. Oikein luotu 12 sanan siemen sisältää 128 bittiä entropiaa, joka on tekninen mittari, joka kuvaa valtavaa määrää mahdollisia yhdistelmiä ja tekee siemenen arvaamisen käytännössä mahdottomaksi.

Coldcard-laitteiden oli tarkoitus saada tämä satunnaisuus laitteen mikrokontrollerissa olevasta laitteistopohjaisesta satunnaislukugeneraattorista. Komponentti hyödyntää fyysistä sähköistä kohinaa, jota ulkopuolinen tarkkailija ei pitäisi pystyä ennustamaan.

Vuonna 2021 tehdyn ohjelmistokirjastojen siirron yhteydessä Coinkite kuitenkin paljasti, että kaksi rajapinnaltaan samanlaista satunnaislukufunktiota sekoitettiin toisiinsa. Toinen käytti laitteen oikeaa laitteistogeneraattoria. Toinen oli heikko ohjelmistovara, joka oli tarkoitettu laitteille, joissa ei ollut sopivaa laitteistoa.

Yksi konfiguraatioasetus poisti MicroPythonin oletusarvoisen laitteistopolun käytöstä, koska Coinkite toimitti oman laitteistokääreensä. Ohjelmisto tarkisti vain, oliko kyseinen asetus olemassa, mutta ei sitä, oliko se käytössä. Koska asetus oli olemassa, mutta sille oli annettu arvo nolla, rakennus valmistui onnistuneesti, samalla kun alkuluvun generointi siirtyi huomaamatta heikompaan ohjelmistogeneraattoriin.

Tehdasasetukset ja ajoitus korvasivat todellisen satunnaisuuden

Tämä varajärjestelmä nojautui vahvasti ennustettaviin laitetietoihin, mukaan lukien sarjanumeroa muistuttava sirutunniste ja käynnistysajoitukseen liittyvät sisäisen kellon arvot. Hyökkääjä, joka pystyisi rajaamaan näitä syötteitä, joutuisi tekemään huomattavasti pienemmän haun kuin mitä turvallisesti luodulta siemeneltä odotettaisiin 128-bittisellä alueella.

Coinkite arvioi haavoittuvien Mk3-siementen tehokkaan hakualueen olevan nykyisten oletusten mukaan noin 40 bittiä. Se on edelleen suuri määrä mahdollisuuksia, mutta se voidaan käydä läpi erikoistuneilla laskentalaiteilla, etenkin kun hyökkääjä voi verrata ehdokas-siemeniä lohkoketjussa näkyviin bitcoin-osoitteisiin.

Screenshot of the Coldcard Mk3 model.
Kuva Coldcard Mk3 -mallista.

Myöhemmissä Coldcard-malleissa, kuten Mk4:ssä, Q:ssa ja Mk5:ssä, lisättiin satunnaisuutta turvaelementin avulla. Kuitenkin vain rajallinen osa tästä satunnaisuudesta päätyi kyseiseen generaattoriin, jolloin ennen korjatun laiteohjelmiston asentamista luotujen siemenien teholliseksi entropiaksi jäi arviolta 72 bittiä. Se oli vahvempi kuin Mk3-mallin ratkaisu, mutta silti alle tavoitellun 128-bittisen standardin.

Ero on verrattavissa siihen, että aidosti satunnainen lukon yhdistelmä korvattaisiin yhdistelmällä, joka johdetaan lukon sarjanumerosta ja sen ensimmäisestä kytkentäajankohdasta. Tuloksena oleva yhdistelmä saattaa näyttää satunnaiselta, mutta joku, joka tuntee kaavan ja osaa arvioida lähtötiedot, voi tuottaa sen uudelleen. Monet käyttäjät ovat siirtymässä paitsi Mk3-laitteista myös Mk4-, Q- ja Mk5-malleista.

Coinkite kehottaa käyttäjiä luomaan täysin uudet siemenet

Coinkite julkaisi tietoturvailmoituksia ja korjasi laiteohjelmiston havaittuaan aktiivisen uhan. Yritys ilmoitti, että käyttäjien, jotka ovat luoneet siemeniä kyseisellä laiteohjelmistolla, tulisi luoda täysin uusi siemen korjatun version avulla ja siirtää bitcoininsa kyseisen siemenen hallinnoimiin osoitteisiin.

Pelkän päivityksen asentaminen ei riitä. Viallisessa järjestelmässä luotu siemen pysyy pysyvästi haavoittuvana, koska laiteohjelmistopäivitys ei voi lisätä satunnaisuutta jo olemassa oleviin sanoihin.

Coinkite neuvoi käyttäjiä päivittämään laitteensa, luomaan uuden siemenen, tarkistamaan varmuuskopion ja lompakon sormenjäljen, vahvistamaan vastaanotto-osoitteen, lähettämään pienen testitapahtuman ja siirtämään sitten jäljellä olevan saldon. Käyttäjien tulisi säilyttää vanha varmuuskopio, kunnes siirto on vahvistettu, mutta he eivät saisi enää pitää vanhaa siementä turvallisena.

Yritys ilmoitti korjatuista versioista, joihin kuuluvat Mk3-versio 4.2.0 tai uudemmat, Mk4- ja Mk5-versiot 5.6.0 tai uudemmat sekä Q-versio 1.5.0Q tai uudemmat, samoin kuin vastaavat Edge-versiot. Tapsigner-, Opendime- ja Satscard-tuotteet käyttävät erilaista koodia, eikä niihin tiettävästi kohdistunut vaaraa.

Lisäsuojaus suojasi joitakin Coldcard-korttien omistajia

Käyttäjät, jotka lisäsivät riittävän määrän riippumattomia noppakierroksia siemeniä luodessaan, olivat huomattavasti suojattuja, koska heidän oma satunnaisuutensa peitti viallisen ohjelmiston syötteen. Coinkite totesi, että vähintään 50 yksityistä reilun nopan heittoa tarjosi riittävän suojan tätä ongelmaa vastaan, vaikka lisäheitot voivat tarjota laajemman turvamarginaalin.

Vahva BIP-39-salasana luo myös erillisen lompakon, jota ei voida rekonstruoida pelkästään siemensanojen perusteella. Monen allekirjoituksen lompakot, jotka vaativat avaimia useilta laitteilta tai sijainneilta ennen kuin bitcoineja voidaan siirtää, olivat suurelta osin tai kokonaan suojattuja, kun haavoittuva Coldcard-siemen edusti vain yhtä osaa allekirjoitusjärjestelystä.

Nämä suojatoimenpiteet olivat kuitenkin vapaaehtoisia. Monet uhrit näyttävät noudattaneen tuolloin saatavilla olleita vakiintuneita turvallisuusohjeita: osta arvostettu laitteistolompakko, luo siemen offline-tilassa, suojaa varmuuskopio ja älä koskaan syötä sitä internetiin kytkettyyn laitteeseen.

Coinkite ottaa vastuun, kun keskustelu siirtyy tekoälyyn

Coinkiten toimitusjohtaja Rodolfo Novak, joka tunnetaan yleisesti nimellä NVK, pyysi julkisesti anteeksi 31. heinäkuuta ja sanoi, että yritys ottaa täyden vastuun laiteohjelmiston virheestä. ”Olen pahoillani ja täysin järkyttynyt. Tiimimme on murtunut eilisen uutisen vuoksi”, Novak kirjoitti. Hän myönsi, että korjauspäivitys suojaa vasta luodut siemenet, mutta ei voi korjata haavoittuvalla ohjelmistolla luotuja siemeniä.

Coinkite CEO Rodolfo Novak's article screenshot.
Coinkiten toimitusjohtajan Rodolfo Novakin anteeksipyyntöartikkeli. Kuvan lähde: X.

Novak selitti, että Coinkite julkaisee yksityiskohtaisen teknisen selvityksen tarkistettuaan tiedot ja auttaa asianomaisia käyttäjiä poliisi-ilmoitusten, vakuutuskorvaushakemusten tai riippumattomien tutkimusten hankkimisessa. Hän varoitti myös kehittäjiä siitä, että tekoälytyökalut pystyvät nykyään skannaamaan vanhaa julkista koodia piilevien heikkouksien varalta nopeammin kuin perinteiset tarkistusprosessit niitä havaitsevat.

Coinkite korosti, että sen on oletettava, että hyökkääjä käytti tekoälyä tarkastellakseen sen avoimen lähdekoodin laiteohjelmistoa, vaikka mitään todisteita ei ole siitä, miten haavoittuvuus löydettiin. Yritys myönsi myös, että äskettäin johtavalla tekoälymallilla suoritettu tarkastus ei onnistunut tunnistamaan ongelmaa. Useat kilpailevat laitteistolompakkovalmistajat ovat ilmoittaneet sosiaalisessa mediassa, että heidän tuotteitaan asia ei koske.

”Äskettäin julkaistu Coldcard Mk3 -varoitus ei koske Ledgeriä”, yritys kertoi X-käyttäjille Coldcard-tapauksen jälkeen. ”Ledger-laitteissa käytetään sertifioitua todellisen satunnaislukugeneraattoria (TRNG), joka on integroitu suoraan Secure Element -siruumme ja joka tuottaa täyden 256-bittisen entropian jokaiselle 24 sanan pituiselle salaiselle palautuslauseelle.”

”Trezor-käyttäjät: varanne ovat turvassa”, laitteistolompakkovalmistaja Trezor selitti perjantaina. ”Äskettäinen Coldcard-ongelma rajoittuu heidän omaan mukautettuun laiteohjelmistoonsa ja siihen, miten jotkut heidän laitteistaan tuottivat satunnaisuutta. Trezor ei käytä kyseistä koodia.”

Trezor X -tili lisäsi:

"Olemme aina yhdistäneet useita toisistaan riippumattomia satunnaislukulähteitä (laitteen laitteisto + isäntä + uusimpien mallien Secure Element -sirut). Olemme todella pahoillamme kaikkien niiden puolesta, jotka ovat menettäneet bitcoineja."

Mitä Coldcard-käyttäjien tulisi seurata seuraavaksi

Hyökkääjän henkilöllisyys on edelleen tuntematon, ja varastetut bitcoinit voivat siirtyä niiden keräysosoitteista milloin tahansa. Tutkijat selvittävät edelleen, kuinka monta haavoittuvaa siemenarvoa on tosiasiassa luotu, kuinka paljon bitcoineja on edelleen vaarassa ja onko hyökkääjä jo tunnistanut muita arvokkaita lompakoita. Coinkitella ei kuitenkaan välttämättä ole paljon tietoa kauan sitten rekisteröityneistä omistajista.

"Hauska kaksiteräinen miekka: Coinkite poistaa kaikki asiakastietonsa 120 päivän kuluttua suojautuakseen tietomurroilta", Casa-yrityksen perustaja Jameson Lopp kertoi X:ssä. ”Tämä tarkoittaa, että he eivät voi ottaa yhteyttä asiakkaisiin, jotka ovat ostaneet haavoittuvia coldcardeja viimeisten viiden vuoden aikana, varoittaakseen heitä tästä haavoittuvuudesta.”

X screenshot of the pseudonymous open-source bitcoin developer calle.
Salanimellä calle tunnettu avoimen lähdekoodin bitcoin-kehittäjä jakoi ajatuksiaan asiasta. ”Olen todella surullinen kaikkien asianosaisten puolesta, etenkin niiden, jotka ovat saattaneet menettää juuri elämänsä säästöt. Pahinta on, että he tekivät kaiken oikein”, calle sanoi X:ssä.

Tapaus koettelee myös sitä, pystyykö Coinkite palauttamaan luottamuksen Coldcardiin ja ottavatko laitteistolompakkojen valmistajat käyttöön tiukempia riippumattomia tarkastuksia siemenlukuja luotaessa. Käyttäjien kannalta välitön prioriteetti on yksinkertaisempi: jokaisen, joka on luonut siemenen kyseisellä laiteohjelmistolla ilman vahvaa riippumatonta noppien entropiaa, salasanaa tai monen allekirjoituksen suojaa, tulisi pitää sitä vaarantuneena ja siirtää varat varovasti uuteen lompakkoon.

Tämän tuhoisan varkauden lisäksi bitcoin-yhteisön jäsenet ovat nostaneet hälytyksen ja kehottavat muita levittämään tietoa, ennen kuin lisää haavoittuvia lompakoita tyhjennetään.

Tämä artikkeli on käännetty englannista tekoälyn avulla. Alkuperäinen englanninkielinen versio on auktoritatiivinen lähde; automaattiset käännökset voivat sisältää epätarkkuuksia, erityisesti oikeudellisessa ja sääntelyyn liittyvässä terminologiassa.

Tunnisteet tässä tarinassa