Viis aastat tagasi avastatud Coldcardi tarkvaravea tõttu võis ründajal olla võimalik taastada privaatvõtmed ja varastada üle 1 100 bitcoini, mis sundis rahakoti tootjat süüdistama avastuse eest osaliselt tehisintellekti (AI).
Kas Coldcardi turvaaugu avastamise taga oli tehisintellekt?

Peamised järeldused
- Coldcardiga seotud algvõtmed paljastasid 1 128,4717 BTC, mille väärtus on umbes 71,1 miljonit dollarit.
- Coinkite väidab, et tehisintellekt võis selle viieaastase vea avastada, kuid selle seos ei ole veel tõestatud.
- Coldcardi kasutajad, kelle algandmed on mõjutatud, peavad looma uued rahakotid fikseeritud püsivara abil.
Koordineeritud rünnak tühjendas sadu rahakotte
Juhtum sai avalikuks pärast seda, kui 30. juulil kanti umbes 594 BTC, mille väärtus oli sel ajal ligi 38 miljonit dollarit, üle umbes 500 ühe allkirjaga bitcoini aadressilt. Kui uudis esmakordselt avalikuks sai, märkis Bitcoin.com News, et ülekanded toimusid umbes 25 minuti jooksul ja näisid olevat suunatud rahakottidele, millel oli ühine tehniline nõrkus.
Hilisemad plokiahela analüüsid laiendasid varguse võimalikku ulatust. Uurijad hindasid, et umbes 41-minutilise ajavahemiku jooksul võis mõjutatud olla 1 082–1 196 aadressi. Spetsiaalne jälgimispaneel nimega Coldcard Sweep Watch hindas hiljem kogusummaks 1 128,4717 BTC, mis oli väärt umbes 71,1 miljonit dollarit, kui bitcoini hind oli ligikaudu 63 044 dollarit.

Suurem osa rahalistest vahenditest koondati aadressile, millel hoiti sadu bitcoine, kusjuures suur osa neist jäi suures osas liikumatuks. Asjaomaseid aadresse ühendas üks oluline detail: nende taastamissõnad olid loodud Kanada ettevõtte Coinkite toodetud Coldcardi riistvarakottides.
Taastamissõna on sõnade nimekiri, mis kontrollib juurdepääsu krüptovaluuta rahakotile. Igaüks, kes suudab selle sõna taastada või hankida, saab tavaliselt rahakoti vahendeid liigutada, ilma et tal oleks füüsilist seadet.
Coldcard avastas vigase juhuslikkuse süsteemi
Coinkite avaldas kiireloomulise hoiatuse, et teatud Coldcardi seadmetel loodud taastamissõnad võivad olla nõrgad. Suurimas ohus olid Mk3-seadmed, millel oli umbes 2021. aasta märtsis välja antud püsivara versioon 4.0.1 ja uuemad versioonid.
Täiendav analüüs laiendas muret ka mõnedele Mk4-, Mk5- ja Q-seadmetel loodud taastamisseemnetele enne, kui Coinkite avaldas kiireloomulised püsivara parandused. Tapsigner, Opendime ja Satscard tooted ei olnud väidetavalt mõjutatud, kuna need kasutavad teistsugust tarkvara.
Viga oli seotud juhuslike andmete genereerimise protsessiga. Turvalised rahakotid sõltuvad kõrgekvaliteedilisest juhuslikkusest, et nende taastamisseemneid ei saaks ära arvata. Kõige tõsisemalt mõjutatud Mk3-seadmete puhul hindasid teadlased, et seemne efektiivne juhuslikkus võis olla vaid umbes 40 bitti kavandatud 128 bitti asemel.
See erinevus on kriitiline. Nõuetekohaselt genereeritud 128-bitist taastamisseemet peetakse jõumeetodiga praktiliselt võimatuks ära arvata. 40-bitine taastamisseeme pakub märkimisväärselt vähem võimalusi, võimaldades piisava arvutusvõimsusega ründajal potentsiaalseid taastamisseemeid võrguväliselt testida ja saadud aadresse avalikus Bitcoini plokiahelas võrrelda.
Mõned uuemad seadmed võisid pakkuda ligikaudu 72 bitti efektiivset juhuslikkust, kuna turvaline riistvara lisas veel ühe ettearvamatu andmete kihi. See muudaks algväärtuste rekonstrueerimise raskemaks, kuigi need oleksid ikkagi kavandatust palju nõrgemad.
Üks konfiguratsiooniviga püsis 5 aastat
Probleem algas koostamisaja konfiguratsiooniveast, mis hõlmas kahte sarnaseid ülesandeid täitvat tarkvarafunktsiooni. Üks funktsioon kasutas seadme riistvarapõhist tõelist juhuslike arvude genereerijat, samas kui teine tugines MicroPythonist pärinevale nõrgemale tarkvaraprotsessile.
Coinkite kavatses MicroPythoni valiku keelata. Tarkvarakontroll vaatas aga ainult seda, kas konfiguratsioonimärge oli määratletud, mitte seda, kas selle väärtuseks oli seatud null. Selle tulemusena võis valmis püsivara märkamatult valida nõrgema funktsiooni.
Kuna kahel funktsioonil oli ühesugune formaat, jätkas tarkvara kompileerimist ja töötamist ilma silmnähtava veata. Viga sattus koodi umbes 2021. aasta tarkvaramigratsiooni käigus ja püsis avalikult kättesaadavas püsivaras üle viie aasta.
Seadme uuendamine praegu ei tugevda seemet, mis genereeriti vigase tarkvara abil. Mõjutatud kasutajad peavad looma täiesti uue seeme, kasutades parandatud püsivara või mõnda teist turvalist seadet, ning seejärel kandma oma rahalised vahendid aadressidele, mida kontrollib see uus seeme.

Kasutajad, kes lisasid oma algvõtme loomisel vähemalt 50 sõltumatut täringuviskamist, võisid olla lisanud piisavalt täiendavat juhuslikkust, et seda nõrkust vältida. Tugev BIP-39 parool oleks samuti võinud taastamist raskendada, samas kui rahakotid, mis nõuavad allkirju mitmelt sõltumatult seadmelt, oleksid võinud takistada ühe ohustatud algvõtme kasutamist rahaliste vahendite üksi liikumiseks.
Coinkite viitab tehisintellektile, kuid tõendeid pole veel esitatud
Coinkite’i tegevjuht Rodolfo Novak vabandas avalikult ja ütles, et ettevõte võtab püsivara rikke eest täieliku vastutuse. Ta ütles, et meeskond töötab parandatud tarkvara, tehniliste aruannete ja mõjutatud kasutajate toetuse kallal.
Coinkite ja Novak esitasid ka silmatorkava teooria selle kohta, kuidas viga avastati. Kuna ettevõtte püsivara oli olnud aastaid avalikult kättesaadav, arvas ettevõte, et keegi võis kasutada tehisintellekti vanemate koodiversioonide uurimiseks ja nõrga juhuslikkuse tee leidmiseks.
„Kõigile teistele arendajatele: usume, et see on uue tehisintellekti paradigma karm reaalsus. Tehisintellekti abil toimuv koodiülevaatus suudab nüüd leida varjatud vigu kiirusega, mis ületab isegi tööstuse kogenuimate ekspertide oma,“ kirjutas Novak oma vabanduspostituses, mis avaldati X-is. „Kui teie püsivara on avatud lähtekoodiga või on kunagi olnud avalik, eeldage, et seda loevad juba nii ründajad kui ka kaitsjad.“
Tänapäevased tehisintellekti koodisüsteemid suudavad töödelda suuri tarkvararepositooriume ja tuvastada kahtlasi seoseid konfiguratsiooniseadete, funktsioonide ja turvaeelduste vahel. Ründaja võiks paluda sellisel süsteemil otsida konkreetselt nõrku juhuslike arvude genereerijaid, varufunktsioone või krüptovõtmeid mõjutavaid vigu.

Sõltumatud uurijad teatasid hiljem, et kasutasid tehisintellekti mudeleid probleemi leidmiseks või selgitamiseks pärast seda, kui aluseks olev juhuslikkuse probleem oli teada saanud. See näitas, kui kättesaadavaks on muutunud tehisintellekti abil tehtav koodianalüüs, kuid ei tõestanud, et algne ründaja kasutas tehisintellekti.

Coinkite tunnistas, et nende enda läbivaatus, milles kasutati juhtivat tehisintellekti mudelit, ei suutnud viga enne vargust avastada. See tulemus näitab, et tehisintellekti süsteemid ei leia automaatselt kõiki tõsiseid vigu. Nende tulemuslikkus võib sõltuda saadud juhistest, esitatud koodi hulgast ja sellest, kas inimestest läbivaataja mõistab hoiatusmärke.
Kriitikud väidavad, et esmalt oli tegemist inimliku veaga
Mõned turvalisuse spetsialistid väidavad, et liigne keskendumine tehisintellektile (AI) võib juhtida tähelepanu kõrvale põhilisest tehnilisest veast. Paljud usuvad, et konfiguratsiooniviga oli teadaolevat tüüpi tarkvaraviga ning tavapärased koodiülevaatused, testimisprotseduurid või seemne genereerimisele keskendunud auditid oleksid võinud selle avastada juba aastaid varem.

Vastandlikud seisukohad ei pruugi olla üksteisega vastuolus. Inimlik viga tekitas haavatavuse ja võimaldas sellel püsida, samas kui tehisintellekt võis vähendada selle leidmise, mõistmise või ärakasutamise kulusid. Kaitsjatel tuleb tuvastada iga ohtlik nõrkus, samas kui ründajal tuleb leida vaid üks.
See intsident seab kahtluse alla ka eeldused avatud lähtekoodiga tarkvara turvalisuse kohta. Avalik kood võimaldab sõltumatutel ekspertidel tarkvara kontrollida, kuid kättesaadavus üksi ei taga, et keegi vaatab läbi just õige osa, märkab peent viga ja teatab sellest enne, kui ründaja tegutsema hakkab.
Coldcardi kasutajate jaoks on esmatähtis kindlaks teha, millal ja kuidas nende algkood loodi. Igaüks, kelle algkood on mõjutatud, peab kontrollima juhiseid Coinkite ametlike kanalite kaudu, installima parandatud püsivara, looma uue algkoodi ning kandma raha üle ettevaatlikult, pöörates tähelepanu pettuskatseid ja võltsitud tugisõnumeid.
Pikemaajalised küsimused keskenduvad sellele, kui palju bitcoine varastati, kas uurijad suudavad ründaja tuvastada ja kas tehisintellektil oli vea leidmisel otsustav roll. Riistvarakottide tootjad satuvad samuti surve alla tugevdada entropia testimist, auditeerida koostamiskonfiguratsioone ning pidevalt kontrollida vana koodi nii inimekspertide kui ka vastandliku tehisintellekti tööriistade abil.
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.
















