Toetab
Featured

Coldcardi turvaaugu selgitus: kes kaotasid bitcoine ja kes on ohus

30. juulil kasutas ründaja ära teatud Coldcardi riistvarakottide poolt genereeritud nõrku algvõtmeid, et varastada sadadelt aadressidelt bitcoine ligikaudu kümnete miljonite väärtuses.

KIRJUTAS
JAGA
Coldcardi turvaaugu selgitus: kes kaotasid bitcoine ja kes on ohus

Peamised järeldused

  • Coldcardiga seotud vargused tühjendasid 30. juulil sadu rahakotte.
  • Coinkite väitel oli Mk3 algvõtmetel entropiat umbes 40 bitti, mitte 128.
  • Coldcardi kasutajad peavad enne raha ülekandmist paigaldama parandatud püsivara ja looma uued algvõtmed.

Galaxy Researchi põhjaliku analüüsi kohaselt toimus peamine vargus tihedalt koordineeritud rünnakuna, mis kestis umbes 25 minutit, samas kui laiem analüüs seostas hiljem umbes 1 196 aadressi ja koguni 1 083 bitcoini, mille väärtus oli ligi 70 miljonit dollarit, umbes 41 minutit kestnud tegevusega. Lõplikud arvud võivad muutuda, kuna uurijad jätkavad tehingute jälgimist avalikus bitcoini plokiahelas.

Viis aastat vana turvaauk mõjutab bitcoini rahakotte üle kogu maailma

Mõjutatud rahakotid kuulusid suures osas pikaajalistele omanikele, kes genereerisid oma taastamisseemned Coldcardi seadmete abil, millel oli paigaldatud alates 2021. aasta märtsist välja antud haavatav püsivara. Coldcard on Kanada tootja Coinkite valmistatud õhku eraldatud riistvaraline rahakott, mis on loodud hoidma bitcoini (BTC) võtmeid internetiga ühendatud seadmetest eraldatuna.

Paljud tühjendatud aadressid olid olnud aastaid kasutamata. Ründaja tegutses kiiresti, maksis kõrgendatud fikseeritud tehingutasusid ega jätnud maha ühtegi vahetusväljundit, mis tähendab, et iga aadress tühjendati täielikult. See muster viitas automatiseeritud operatsioonile, kus kasutati ettevalmistatud privaatvõtmete nimekirja, mitte aga sellele, et kliendid oleksid oma rahalisi vahendeid iseseisvalt ümber paigutanud.

Vargust ei põhjustanud phishing, kasutaja arvutis olev pahavara, füüsiline seadme vargus ega tavapärane kaugjuurdepääsu rikkumine. Selle asemel nõrgendas püsivara viga juhuslikkust, mida kasutati mõnede Coldcardi seadmete rahakoti algandmete loomisel. Need algandmed nägid välja normaalsed, kuid pärinesid palju väiksemast võimalike kombinatsioonide hulgast, kui kasutajatele oli lubatud.

Coldcardi juhuslike arvude genereerija ebaõnnestus märkamatult

Bitcoini rahakoti algkood on salajane, tavaliselt 12 või 24 sõnast koosnev jada, mille alusel rahakott genereerib oma aadressid ja privaatvõtmed. Nõuetekohaselt genereeritud 12-sõnaline algkood sisaldab 128 bitti entropiat – tehnilist mõõdikut, mis kirjeldab võimalike kombinatsioonide tohutut arvu, mis muudab algkoodi äraarvamise praktiliselt võimatuks.

Coldcardi seadmed pidid selle juhuslikkuse saama seadme mikrokontrolleris asuvast riistvaralisest juhuslike arvude genereerijast. See komponent kasutab füüsilist elektrilist müra, mida välisvaatleja ei peaks suutma ennustada.

2021. aastal toimunud tarkvararaamatukogu ülemineku käigus avalikustas Coinkite aga, et kaks ühesuguse liidesega juhuslike arvude funktsiooni läksid segamini. Üks neist kasutas seadme õiget riistvarageneraatorit. Teine oli nõrk tarkvaraline varuvariant, mis oli mõeldud sobiva riistvarata plaatidele.

Üks konfiguratsiooniseade lülitas vaikimisi MicroPythoni riistvaratee välja, kuna Coinkite pakkus omaenda riistvarapaketti. Tarkvara kontrollis ainult seda, kas see seade oli olemas, mitte seda, kas see oli sisse lülitatud. Kuna seade oli olemas, kuid sellele oli määratud väärtus null, lõppes koostamine edukalt, samal ajal kui algväärtuse genereerimine nihkus märkamatult nõrgemale tarkvarageneraatorile.

Tehaseandmed ja ajastus asendasid tõelist juhuslikkust

See varuvariant tugines suuresti ennustatavale seadme teabele, sealhulgas seerianumbriga sarnasele kiibi identifikaatorile ja käivitumisajastusega seotud sisemistele kellaväärtustele. Ründaja, kes suudaks neid sisendandmeid kitsendada, peaks tegelema palju väiksema otsingualaga kui 128-bitine vahemik, mida oodatakse turvaliselt genereeritud algväärtuse puhul.

Coinkite hindas praeguste eelduste kohaselt haavatavate Mk3 algväärtuste efektiivset otsinguruumi umbes 40 bitiks. See on ikkagi suur hulk võimalusi, kuid seda on võimalik läbi otsida spetsiaalse arvutitehnika abil, eriti kui ründaja saab võrrelda kandidaat-algväärtusi plokiahelas nähtavate bitcoini aadressidega.

Screenshot of the Coldcard Mk3 model.
Coldcard Mk3 mudeli pilt.

Hilisemad Coldcardi mudelid, sealhulgas Mk4, Q ja Mk5, lisasid turvaelemendist mõningast juhuslikkust. Siiski jõudis vaid piiratud osa sellest mõjutatud generaatorini, jättes enne parandatud püsivara paigaldamist loodud algandmetele hinnanguliselt 72-bitise efektiivse entropia. See oli tugevam kui Mk3-mudeli lahendus, kuid ikkagi alla kavandatud 128-bitise standardi.

Erinevus on sarnane tõeliselt juhusliku lukukombinatsiooni asendamisega kombinatsiooniga, mis on tuletatud lukusarja numbrist ja selle esmakordse sisselülitamise ajast. Saadud kombinatsioon võib tunduda juhuslik, kuid keegi, kes teab valemit ja suudab algandmeid hinnata, saab selle taasesitada. Paljud kasutajad vahetavad seadmeid mitte ainult Mk3-seadmetelt, vaid ka Mk4-, Q- ja Mk5-seadmetelt.

Coinkite soovitab kasutajatel luua täiesti uued algväärtused

Coinkite avaldas turvateated ja parandas püsivara, kui sai teada aktiivsest ohust. Ettevõte teatas, et kasutajad, kes on loonud algandmeid mõjutatud püsivara abil, peaksid looma täiesti uue algandme parandatud versiooni abil ja kandma oma bitcoini üle aadressidele, mida see algandme kontrollib.

Ainuüksi värskenduse installimisest ei piisa. Puuduliku süsteemi alusel loodud algandmed jäävad püsivalt nõrgaks, kuna püsivara värskendus ei saa juba olemasolevatele sõnadele juhuslikkust lisada.

Coinkite soovitas kasutajatel oma seade uuendada, luua uus algvõti, kontrollida varukoopia ja rahakoti sõrmejälge, kinnitada vastuvõtva aadressi, saata väike testtehing ning seejärel kanda üle järelejäänud saldo. Kasutajad peaksid säilitama vana varukoopia kuni ülekande kinnitamiseni, kuid ei tohiks vana algvõtit enam turvalisena käsitleda.

Ettevõte nimetas parandatud versioone, sealhulgas Mk3 versiooni 4.2.0 või uuemad, Mk4 ja Mk5 versiooni 5.6.0 või uuemad ning Q versiooni 1.5.0Q või uuemad, koos vastavate Edge’i versioonidega. Tapsigner, Opendime ja Satscard tooted kasutavad teistsugust koodi ning neid probleem väidetavalt ei mõjutanud.

Lisatud turvameetmed kaitsesid mõningaid Coldcardi omanikke

Kasutajad, kes lisasid seemne genereerimisel piisavalt sõltumatuid täringuviskeid, olid oluliselt kaitstud, kuna nende enda juhuslikkus ületas defektse tarkvara sisendi. Coinkite väitis, et vähemalt 50 eraviisilist viset õiglase täringuga pakkusid piisavat kaitset selle probleemi eest, kuigi täiendavad visked võivad pakkuda suuremat turvalisusvaru.

Tugev BIP-39 parool loob ka eraldi rahakoti, mida ei saa taastada ainult algandmesõnade põhjal. Mitme allkirjaga rahakotid, mis nõuavad enne bitcoini liikumist võtmeid mitmest seadmest või asukohast, olid suures osas või täielikult kaitstud, kui haavatav Coldcardi algandmed moodustasid vaid ühe osa allkirjastamiskorraldusest.

Need kaitsemeetmed olid aga vabatahtlikud. Paljud ohvrid näivad olevat järginud tol ajal kättesaadavaid standardseid turvanõuandeid: osta tunnustatud riistvarakott, genereeri algandmed võrguväliselt, kaitse varukoopiat ja ära sisesta seda kunagi internetiga ühendatud seadmesse.

Coinkite võtab süü enda peale, kui arutelu pöördub tehisintellekti poole

Coinkite’i tegevjuht Rodolfo Novak, keda tuntakse laialdaselt nimega NVK, vabandas avalikult 31. juulil ja ütles, et ettevõte võtab endale täieliku vastutuse püsivara vea eest. „Mul on kahju ja ma olen murest murtud. Meie meeskond on eilsete uudiste pärast südamest murest murtud,“ kirjutas Novak. Ta tunnistas, et kiirparandus kaitseb äsja loodud algandmeid, kuid ei suuda parandada algandmeid, mis on loodud haavatava tarkvara abil.

Coinkite CEO Rodolfo Novak's article screenshot.
Coinkite tegevjuhi Rodolfo Novaki vabanduskiri. Pildi allikas: X.

Novak selgitas, et Coinkite avaldab pärast üksikasjade kontrollimist täieliku tehnilise aruande ning abistab mõjutatud kasutajaid politseile avalduse esitamisel, kindlustusnõuete esitamisel või sõltumatute uurimiste läbiviimisel. Ta hoiatas ka arendajaid, et tehisintellekti (AI) tööriistad suudavad nüüd vanu avalikult kättesaadavaid koode varjatud nõrkuste leidmiseks skannida kiiremini, kui traditsioonilised läbivaatamisprotsessid neid avastada suudavad.

Coinkite rõhutas, et peab eeldama, et ründaja kasutas tehisintellekti (AI) ettevõtte avatud lähtekoodiga püsivara uurimiseks, kuigi puuduvad tõendid selle kohta, kuidas viga avastati. Ettevõte tunnistas ka, et hiljutine läbivaatus, mis viidi läbi juhtiva tehisintellekti mudeli abil, ei suutnud probleemi tuvastada. Mitmed konkureerivad riistvarakoti tootjad on sotsiaalmeedias märkinud, et nende tooted ei ole mõjutatud.

„Ledgerit ei mõjuta hiljuti avaldatud Coldcard Mk3 hoiatus,“ teatas ettevõte X-i kasutajatele pärast Coldcardi intsidenti. „Ledgeri seadmed kasutavad sertifitseeritud tõelist juhuslike arvude genereerijat (TRNG), mis on sisse ehitatud otse meie Secure Element kiipi ja genereerib iga 24-sõnalise salajase taastamislause jaoks täielikku 256-bitist entropiat.”

„Trezori kasutajad: teie rahalised vahendid on turvalised,“ selgitas riistvarakoti tootja Trezor reedel. „Hiljutine Coldcardi probleem piirdub nende enda kohandatud püsivara ja sellega, kuidas mõned nende seadmed juhuslikkust genereerisid. Trezor ei kasuta seda koodi.“

Trezor X-i konto lisas:

„Oleme alati kombineerinud mitut sõltumatut juhuslikkuse allikat (seadme riistvara + host + uuemate mudelite Secure Elementid). Meil on tõeliselt kahju kõigi pärast, kes on kaotanud bitcoine.“

Mida Coldcardi kasutajad peaksid edaspidi jälgima

Ründaja isik on endiselt teadmata ning varastatud bitcoine võidakse igal hetkel nende koondusaadressidelt ära viia. Uurijad püüavad endiselt kindlaks teha, kui palju haavatavaid algvõtmeid tegelikult genereeriti, kui palju bitcoine on endiselt ohus ning kas ründaja on juba tuvastanud täiendavaid suure väärtusega rahakotte. Siiski ei pruugi Coinkitel olla palju teavet ammu tagasi ostnud omanike kohta.

„Huvitav kahe teraga mõõk: Coinkite kustutab kõik oma kliendiandmed 120 päeva möödudes, et kaitsta end andmelekkide eest,“ teatas Casa kaasasutaja Jameson Lopp X-is. „See tähendab, et nad ei saa võtta ühendust klientidega, kes on viimase viie aasta jooksul ostnud haavatavaid coldcarde, et neid sellest haavatavusest hoiatada.“

X screenshot of the pseudonymous open-source bitcoin developer calle.
Pseudonüümi all tegutsev avatud lähtekoodiga bitcoini arendaja calle jagas oma mõtteid selle teema kohta. „Mul on tõeliselt kahju kõigi kannatanute pärast, eriti nende pärast, kes on võib-olla just kaotanud oma elu säästud. Kõige halvem on see, et nad tegid kõike õigesti,“ ütles calle X-is.

See juhtum paneb proovile ka selle, kas Coinkite suudab taastada usalduse Coldcardi vastu ja kas riistvarakottide tootjad hakkavad seemnete genereerimisel kasutama rangemaid sõltumatuid kontrolle. Kasutajate jaoks on esmane prioriteet lihtsam: igaüks, kes lõi seemne mõjutatud püsivara abil ilma tugeva sõltumatu täringuentroopia, salasõna või mitme allkirja kaitseta, peaks seda käsitlema ohustatuna ja kandma rahalised vahendid ettevaatlikult uude loodud rahakotti.

Lisaks laastavale vargusele löövad kogu kogukonna bitcoini-kasutajad häiret ja kutsuvad teisi üles sõnumit levitama, enne kui veelgi haavatavamad rahakotid tühjaks tehakse.

See artikkel tõlgiti inglise keelest tehisintellekti abil. Ingliskeelne originaalversioon on autoriteetne allikas; automaatsed tõlked võivad sisaldada ebatäpsusi, eriti juriidilises ja regulatiivses terminoloogias.