Drevet af
Featured

Forklaring af Coldcard-sårbarheden: Hvem har mistet Bitcoin, og hvem er i fare?

En hacker udnyttede svage seed-koder, der var genereret af visse Coldcard-hardware-tegnebøger, til den 30. juli at stjæle bitcoin til en værdi af omkring titusindvis fra hundredvis af adresser.

SKREVET AF
DEL
Forklaring af Coldcard-sårbarheden: Hvem har mistet Bitcoin, og hvem er i fare?

Hovedpunkter

  • Tyverier knyttet til Coldcard tømte bitcoin fra hundredvis af tegnebøger den 30. juli.
  • Coinkite oplyser, at Mk3-seeds havde en entropi på ca. 40 bits i stedet for 128.
  • Coldcard-brugere skal installere den rettede firmware og oprette nye seeds, før de overfører midler.

Ifølge en dybdegående analyse fra Galaxy Research udspillede tyveriet sig i en tæt koordineret bølge, der varede ca. 25 minutter, mens en bredere analyse senere knyttede ca. 1.196 adresser og hele 1.083 bitcoin, til en værdi af næsten 70 millioner dollars, til aktivitet, der strakte sig over ca. 41 minutter. De endelige tal kan ændre sig, efterhånden som efterforskerne fortsætter med at spore transaktioner på den offentlige Bitcoin-blockchain.

En 5 år gammel fejl rammer Bitcoin-tegnebøger over hele verden

De berørte tegnebøger tilhørte hovedsageligt langtidsejere, der genererede deres gendannelseskoder ved hjælp af Coldcard-enheder, der kørte sårbar firmware udgivet fra marts 2021 og frem. Coldcard er en air-gapped hardware-tegnebog fremstillet af den canadiske producent Coinkite og designet til at holde bitcoin (BTC)-nøgler isoleret fra enheder med internetforbindelse.

Mange af de tømte adresser havde været inaktive i årevis. Angriberen handlede hurtigt, betalte forhøjede faste transaktionsgebyrer og efterlod ingen restbeløb, hvilket betyder, at hver adresse blev tømt fuldstændigt. Dette mønster tydede på en automatiseret operation ved hjælp af en forberedt liste over private nøgler snarere end at kunderne selvstændigt flyttede deres midler.

Tyveriet skyldtes ikke phishing, malware på en brugers computer, tyveri af fysiske enheder eller et konventionelt fjernangreb. I stedet svækkede en firmwarefejl den tilfældighed, der blev anvendt, da nogle Coldcard-enheder oprettede tegnebogsfrø. Disse frø så normale ud, men stammede fra et langt mindre udvalg af mulige kombinationer, end brugerne var blevet lovet.

Coldcards tilfældighedsgenerator svigtede i al stilhed

En Bitcoin-wallet-seed er en hemmelighed, der typisk vises som 12 eller 24 ord, og ud fra hvilken wallet'en genererer sine adresser og private nøgler. En korrekt genereret 12-ords seed indeholder 128 bits entropi, et teknisk mål, der beskriver et enormt antal mulige kombinationer, hvilket gør det praktisk talt umuligt at gætte seed'en.

Coldcard-enhederne skulle hente denne tilfældighed fra en hardwarebaseret tilfældighedsgenerator inde i enhedens mikrocontroller. Komponenten trækker på fysisk elektrisk støj, som en udefrastående observatør ikke burde være i stand til at forudsige.

Under en migrering af softwarebiblioteker i 2021 afslørede Coinkite imidlertid, at to tilfældighedsgeneratorfunktioner med ens grænseflader blev forvekslet. Den ene fik adgang til enhedens egentlige hardwaregenerator. Den anden var en svag software-reserve, der var beregnet til kort uden passende hardware.

En konfigurationsindstilling deaktiverede standard MicroPython-hardwarevejen, fordi Coinkite leverede sin egen hardware-wrapper. Softwaren kontrollerede kun, om denne indstilling fandtes, ikke om den var aktiveret. Da indstillingen var til stede, men tildelt værdien nul, blev kompileringen gennemført uden problemer, mens genereringen af startværdier i al stilhed skiftede over til den svagere softwaregenerator.

Fabriksdata og timing erstattede ægte tilfældighed

Denne fallback var stærkt afhængig af forudsigelige enhedsoplysninger, herunder en chipidentifikator svarende til et serienummer og interne urværdier knyttet til opstartstidspunktet. En angriber, der kunne indsnævre disse indtastninger, ville stå over for en langt mindre søgning end det 128-bit-interval, der forventes fra en sikkert genereret seed.

Coinkite anslog det effektive søgeområde for sårbare Mk3-seed til ca. 40 bit under de nuværende antagelser. Det er stadig et stort antal muligheder, men det kan gennemsøges med specialiseret computerudstyr, især når en angriber kan sammenligne kandidat-seed med bitcoin-adresser, der er synlige på blockchainen.

Screenshot of the Coldcard Mk3 model.
Billede af Coldcard Mk3-modellen.

Senere Coldcard-modeller, herunder Mk4, Q og Mk5, tilføjede en vis tilfældighed fra et sikkert element. Imidlertid nåede kun en begrænset del frem til den berørte generator, hvilket efterlod en anslået effektiv entropi på 72 bit for seed-værdier, der blev oprettet, før den korrigerede firmware blev installeret. Det var stærkere end Mk3-metoden, men stadig under den tilsigtede 128-bit-standard.

Forskellen kan sammenlignes med at erstatte en virkelig tilfældig låsekombination med en, der er afledt af låsens serienummer og det tidspunkt, hvor den første gang blev tændt. Den resulterende kombination kan se tilfældig ud, men en person, der kender formlen og kan estimere udgangspunktet, kan genskabe den. Mange brugere skifter nu enhed, ikke kun fra Mk3-enheder, men også fra Mk4, Q og Mk5.

Coinkite opfordrer brugerne til at oprette helt nye seeds

Coinkite udsendte sikkerhedsadvarsler og udgav en rettet firmware, efter at de blev opmærksomme på den aktive trussel. Virksomheden opfordrede brugere, der havde genereret seeds på den berørte firmware, til at oprette en helt ny seed ved hjælp af en rettet version og overføre deres bitcoin til adresser, der kontrolleres af denne seed.

Det er ikke nok blot at installere opdateringen. En seed, der er oprettet under det fejlbehæftede system, forbliver permanent sårbar, da firmwareopdateringen ikke kan tilføje tilfældighed til ord, der allerede findes.

Coinkite rådede brugerne til at opdatere deres enhed, oprette en ny seed, verificere sikkerhedskopien og tegnebogens fingeraftryk, bekræfte modtageradressen, sende en lille testtransaktion og derefter overføre den resterende saldo. Brugerne bør beholde den gamle sikkerhedskopi, indtil overførslen er bekræftet, men bør ikke længere betragte den gamle seed som sikker.

Virksomheden har identificeret rettede udgivelser, herunder Mk3 version 4.2.0 eller nyere, Mk4 og Mk5 version 5.6.0 eller nyere samt Q version 1.5.0Q eller nyere, sammen med de tilsvarende Edge-versioner. Produkterne Tapsigner, Opendime og Satscard bruger anden kode og blev angiveligt ikke berørt.

Ekstra sikkerhed beskyttede nogle Coldcard-ejere

Brugere, der tilføjede tilstrækkeligt mange uafhængige terningekast ved generering af en seed, var i væsentlig grad beskyttet, da deres egen tilfældighed overvældede den defekte softwareindgang. Coinkite oplyste, at mindst 50 private kast med en retfærdig terning gav tilstrækkelig beskyttelse mod dette problem, selvom yderligere kast kan give en større sikkerhedsmargen.

En stærk BIP-39-adgangskode opretter også en separat tegnebog, der ikke kan rekonstrueres ud fra seed-ordene alene. Tegnebøger med flersignatur, som kræver nøgler fra flere enheder eller lokationer, før bitcoin kan overføres, var stort set eller fuldstændigt beskyttet, når den sårbare Coldcard-seed kun udgjorde en del af signeringsordningen.

Disse sikkerhedsforanstaltninger var dog valgfri. Mange ofre ser ud til at have fulgt de standard sikkerhedsråd, der var tilgængelige på det tidspunkt: Køb en anerkendt hardware-wallet, generer seedet offline, beskyt sikkerhedskopien, og indtast den aldrig på en enhed, der er forbundet til internettet.

Coinkite påtager sig skylden, mens debatten drejer sig om AI

Coinkites CEO Rodolfo Novak, bedre kendt som NVK, undskyldte offentligt den 31. juli og sagde, at virksomheden påtog sig det fulde ansvar for firmwarefejlen. »Jeg er ked af det og er knust. Vores team er dybt bedrøvet over gårsdagens nyheder,” skrev Novak. Han erkendte, at hotfixet sikrer nyoprettede seeds, men ikke kan reparere seeds, der er genereret under sårbar software.

Coinkite CEO Rodolfo Novak's article screenshot.
Coinkites CEO Rodolfo Novaks undskyldningsartikel. Billedkilde: X.

Novak forklarede, at Coinkite vil offentliggøre en fuldstændig teknisk redegørelse, når detaljerne er verificeret, og vil bistå berørte brugere, der søger at indgive politianmeldelser, forsikringskrav eller iværksætte uafhængige undersøgelser. Han advarede også udviklere om, at værktøjer baseret på kunstig intelligens (AI) nu kan scanne gammel offentlig kode for skjulte svagheder hurtigere, end traditionelle gennemgangsprocesser kan opdage dem.

Coinkite understregede, at man må antage, at en angriber har brugt AI til at undersøge virksomhedens open-source-firmware, selvom der ikke er fundet beviser for, hvordan fejlen blev opdaget. Virksomheden erkendte også, at en nylig gennemgang udført med en førende AI-model ikke formåede at identificere problemet. Flere konkurrerende producenter af hardware-wallets har på sociale medier gjort opmærksom på, at deres produkter ikke er berørt.

»Ledger er ikke berørt af den nyligt offentliggjorte advarsel om Coldcard Mk3,« meddelte virksomheden til X-brugere efter Coldcard-hændelsen. »Ledger-enheder bruger en certificeret True Random Number Generator (TRNG), der er indbygget direkte i vores Secure Element-chip, og som genererer fulde 256 bit entropi for hver 24-ords hemmelig gendannelsesfrase.«

»Trezor-brugere: jeres midler er sikre,« forklarede hardware-wallet-producenten Trezor fredag. »Det nylige Coldcard-problem er begrænset til deres egen tilpassede firmware og den måde, hvorpå nogle af deres enheder genererede tilfældighed. Trezor deler ikke den kode.«

Trezor X-kontoen tilføjede:

"Vi har altid kombineret flere uafhængige tilfældighedskilder (enhedens hardware + vært + Secure Elements på nyere modeller). Vi beklager dybt over for alle, der har mistet bitcoin."

Hvad Coldcard-brugere bør holde øje med fremover

Gerningsmandens identitet er stadig ukendt, og de stjålne bitcoin kan til enhver tid flyttes fra deres konsolideringsadresser. Efterforskerne arbejder stadig på at fastslå, hvor mange sårbare seeds der faktisk blev genereret, hvor mange bitcoin der stadig er udsat for risiko, og om yderligere værdifulde tegnebøger allerede er blevet identificeret af gerningsmanden. Coinkite har dog muligvis ikke mange oplysninger om ejere fra lang tid siden.

"Et sjovt tveægget sværd: Coinkite sletter alle deres kunderegistreringer efter 120 dage for at beskytte mod datalækager," rapporterede medstifteren af Casa, Jameson Lopp, på X. »Det betyder, at de ikke kan kontakte de kunder, der har købt sårbare coldcards i løbet af de seneste 5 år, for at advare dem om denne sårbarhed.«

X screenshot of the pseudonymous open-source bitcoin developer calle.
Den pseudonyme open-source-bitcoin-udvikler med kælenavnet calle delte sine tanker om sagen. »Jeg er virkelig ked af det på vegne af alle de berørte, især dem, der måske netop har mistet deres livsopsparing. Det værste er, at de gjorde alting rigtigt,« sagde calle på X.

Hændelsen vil også sætte Coinkite på prøve med hensyn til, om de kan genoprette tilliden til Coldcard, og om producenter af hardware-wallets indfører strengere uafhængige kontroller af seed-generering. For brugerne er den umiddelbare prioritet enklere: Enhver, der har oprettet en seed på den berørte firmware uden stærk uafhængig terningentropi, en adgangskode eller multisignaturbeskyttelse, bør betragte den som kompromitteret og omhyggeligt flytte midlerne til en nygenereret tegnebog.

Ud over det ødelæggende tyveri slår bitcoin-brugere i hele fællesskabet alarm og opfordrer andre til at sprede budskabet, inden flere sårbare tegnebøger bliver tømt.

Denne artikel er oversat fra engelsk ved hjælp af kunstig intelligens. Den originale engelske version er den autoritative kilde; automatiske oversættelser kan indeholde unøjagtigheder, især i juridisk og lovgivningsmæssig terminologi.