Drevet av
Featured

Coldcard-utnyttelsen forklart: Hvem mistet bitcoin, og hvem er i risikosonen

En angriper utnyttet svake seed-verdier generert av enkelte Coldcard-maskinvarelommebøker for å stjele bitcoin verdt anslagsvis titalls millioner fra hundrevis av adresser 30. juli.

SKREVET AV
DEL
Coldcard-utnyttelsen forklart: Hvem mistet bitcoin, og hvem er i risikosonen

Viktige punkter

  • Coldcard-relaterte tyverier tappet bitcoin fra hundrevis av lommebøker 30. juli.
  • Coinkite sier Mk3-seed hadde rundt 40 bits entropi i stedet for 128.
  • Coldcard-brukere må installere rettet fastvare og opprette nye seed før de flytter midler.

Ifølge en dyptgående analyse fra Galaxy Research utspilte kjernetyveriet seg i en tett koordinert bølge som varte i omtrent 25 minutter, mens en bredere analyse senere knyttet rundt 1 196 adresser og så mye som 1 083 bitcoin, verdsatt til nær 70 millioner dollar, til aktivitet som strakte seg over cirka 41 minutter. Sluttallene kan endre seg etter hvert som etterforskere fortsetter å spore transaksjoner på den offentlige Bitcoin-blokkjeden.

En 5 år gammel feil når bitcoin-lommebøker verden over

De berørte lommebøkene tilhørte i stor grad langsiktige innehavere som genererte gjenopprettings-seedene sine ved hjelp av Coldcard-enheter som kjørte sårbar fastvare utgitt fra og med mars 2021. Coldcard er en luftgapet maskinvarelommebok laget av den kanadiske produsenten Coinkite og utformet for å holde bitcoin (BTC)-nøkler isolert fra internett-tilkoblede enheter.

Mange av de tømte adressene hadde vært inaktive i årevis. Angriperen handlet raskt, betalte forhøyede faste transaksjonsgebyrer og etterlot ingen veksleutganger, noe som betyr at hver adresse ble tømt fullstendig. Det mønsteret tydet på en automatisert operasjon som brukte en forberedt liste over private nøkler, snarere enn at kunder flyttet midlene sine uavhengig.

Tyveriet skyldtes ikke phishing, skadevare på en brukers datamaskin, fysisk enhetstyveri eller et konvensjonelt eksternt innbrudd. I stedet svekket en fastvarefeil tilfeldighetene som ble brukt da noen Coldcard-enheter opprettet lommebok-seed. Disse seedene så normale ut, men kom fra et langt mindre utvalg av mulige kombinasjoner enn brukerne hadde blitt lovet.

Coldcard sin tilfeldighetsgenerator feilet i det stille

En Bitcoin-lommebok-seed er en hemmelighet, vanligvis vist som 12 eller 24 ord, som lommeboken genererer adresser og private nøkler fra. En korrekt generert 12-ords seed inneholder 128 bits entropi, et teknisk mål som beskriver et enormt antall mulige kombinasjoner som gjør det i praksis umulig å gjette seeden.

Coldcard-enheter skulle hente den tilfeldigheten fra en maskinvarebasert tilfeldighetsgenerator inne i enhetens mikrokontroller. Komponenten trekker på fysisk elektrisk støy som en utenforstående ikke skal kunne forutsi.

Under en migrering av et programvarebibliotek i 2021, opplyste Coinkite at to tilfeldighetsfunksjoner med samsvarende grensesnitt ble forvekslet. Den ene ga tilgang til enhetens korrekte maskinvaregenerator. Den andre var en svak programvarebasert reserve ment for kort uten egnet maskinvare.

En konfigurasjonsinnstilling deaktiverte standard MicroPython-maskinvarebanen fordi Coinkite leverte sin egen maskinvare-wrapper. Programvaren sjekket bare om innstillingen eksisterte, ikke om den var aktivert. Siden innstillingen var til stede men hadde verdien null, ble bygget fullført vellykket, mens seed-genereringen i det stille skiftet til den svakere programvaregeneratoren.

Fabrikkdata og timing erstattet ekte tilfeldighet

Den reserveløsningen var i stor grad avhengig av forutsigbar enhetsinformasjon, inkludert en brikkeidentifikator som ligner et serienummer og interne klokkeverdier knyttet til oppstartstidspunkt. En angriper som kunne snevre inn disse inputene, ville stå overfor et langt mindre søk enn 128-bits-området som forventes fra en sikkert generert seed.

Coinkite anslo det effektive søkeområdet for sårbare Mk3-seed til rundt 40 bits under dagens antakelser. Det er fortsatt et stort antall muligheter, men det kan gjennomsøkes med spesialisert datakraft, særlig når en angriper kan sammenligne kandidat-seed mot bitcoin-adresser som er synlige på blokkjeden.

Screenshot of the Coldcard Mk3 model.
Øyeblikksbilde av Coldcard Mk3-modellen.

Senere Coldcard-modeller, inkludert Mk4, Q og Mk5, la til noe tilfeldighet fra et sikkert element. Imidlertid nådde bare en begrenset del den berørte generatoren, noe som ga anslagsvis 72 bits effektiv entropi på seed opprettet før korrigert fastvare ble installert. Det var sterkere enn Mk3-banen, men fortsatt under den tiltenkte 128-bits-standarden.

Forskjellen kan sammenlignes med å erstatte en virkelig tilfeldig låsekombinasjon med en som er avledet fra en låses serienummer og tidspunktet den først ble slått på. Den resulterende kombinasjonen kan se tilfeldig ut, men noen som kjenner formelen og kan anslå startinformasjonen kan gjenskape den. Mange brukere migrerer, ikke bare fra Mk3-enheter, men fra Mk4, Q og Mk5 også.

Coinkite ber brukere om å lage helt nye seed

Coinkite publiserte sikkerhetsråd og korrigerte fastvare etter å ha blitt klar over den aktive trusselen. Selskapet sa at brukere som genererte seed på berørt fastvare bør opprette en helt ny seed ved å bruke en rettet versjon og overføre bitcoinene sine til adresser kontrollert av den seeden.

Å installere oppdateringen alene er ikke nok. En seed opprettet under det feilaktige systemet forblir permanent svak fordi fastvareoppdateringen ikke kan legge til tilfeldighet til ord som allerede finnes.

Coinkite rådet brukere til å oppdatere enheten, opprette en ny seed, verifisere sikkerhetskopien og lommebok-fingeravtrykket, bekrefte mottaksadressen, sende en liten testtransaksjon og deretter flytte resten av saldoen. Brukere bør beholde den gamle sikkerhetskopien til overføringen er bekreftet, men bør ikke lenger behandle den gamle seeden som sikker.

Selskapet identifiserte rettede utgivelser, inkludert Mk3 versjon 4.2.0 eller nyere, Mk4 og Mk5 versjon 5.6.0 eller nyere, og Q versjon 1.5.0Q eller nyere, sammen med tilsvarende Edge-versjoner. Produktene Tapsigner, Opendime og Satscard bruker annen kode og var angivelig ikke berørt.

Ekstra sikkerhet beskyttet noen Coldcard-eiere

Brukere som la til nok uavhengige terningkast da de genererte en seed, var betydelig beskyttet fordi deres egen tilfeldighet overstyrte den defekte programvareinputen. Coinkite sa at minst 50 private kast med en rettferdig terning ga tilstrekkelig beskyttelse mot dette problemet, selv om flere kast kan gi en bredere sikkerhetsmargin.

En sterk BIP-39-passfrase skaper også en separat lommebok som ikke kan rekonstrueres fra seed-ordene alene. Multisignatur-lommebøker, som krever nøkler fra flere enheter eller steder før bitcoin kan flyttes, var i stor grad eller fullt ut beskyttet når den sårbare Coldcard-seeden bare representerte én del av signeringsoppsettet.

Disse tiltakene var imidlertid valgfrie. Mange ofre ser ut til å ha fulgt standard sikkerhetsråd som var tilgjengelig på den tiden: Kjøp en anerkjent maskinvarelommebok, generer seeden offline, beskytt sikkerhetskopien, og aldri skriv den inn i en internett-tilkoblet enhet.

Coinkite tar skylden mens debatten dreier mot KI

Coinkite-sjef Rodolfo Novak, kjent som NVK, ba offentlig om unnskyldning 31. juli og sa at selskapet tok fullt ansvar for fastvarefeilen. «Jeg beklager, og jeg er knust. Teamet vårt er sønderknust over gårsdagens nyheter», skrev Novak. Han erkjente at hurtigreparasjonen sikrer nyopprettede seed, men ikke kan reparere seed som ble generert under sårbar programvare.

Coinkite CEO Rodolfo Novak's article screenshot.
Coinkite-sjef Rodolfo Novaks unnskyldningsartikkel. Bildekilde: X.

Novak forklarte at Coinkite ville publisere en full teknisk redegjørelse etter å ha verifisert detaljene og hjelpe berørte brukere som søker politirapporter, forsikringskrav eller uavhengige undersøkelser. Han advarte også utviklere om at kunstig intelligens (KI)-verktøy nå kan skanne gammel offentlig kode for skjulte svakheter raskere enn tradisjonelle gjennomgangsprosesser kan oppdage dem.

Coinkite understreket at de må anta at en angriper brukte KI til å inspisere den åpen-kildekodedes fastvaren deres, selv om ingen bevis har fastslått hvordan feilen ble oppdaget. Selskapet erkjente også at en nylig gjennomgang utført med en ledende KI-modell ikke klarte å identifisere problemet. Flere konkurrerende produsenter av maskinvarelommebøker har tatt til sosiale medier for å påpeke at produktene deres ikke er berørt.

«Ledger er ikke berørt av den nylig publiserte Coldcard Mk3-advarselen», sa selskapet til X-brukere etter Coldcard-hendelsen. «Ledger-enheter bruker en sertifisert ekte tilfeldighetsgenerator (TRNG) bygget direkte inn i vår Secure Element-brikke, som genererer full 256 bits entropi for hver 24-ords Secret Recovery Phrase.»

«Trezor-brukere: midlene deres er trygge», forklarte maskinvarelommebokprodusenten Trezor på fredag. «Den nylige Coldcard-saken er begrenset til deres egen tilpassede fastvare og hvordan noen av enhetene deres genererte tilfeldighet. Trezor deler ikke den koden.»

Trezor-kontoen på X la til:

«Vi har alltid blandet flere uavhengige kilder til tilfeldighet sammen (enhetens maskinvare + vert + sikre elementer på nyere modeller). Vi er virkelig lei oss for alle som har mistet bitcoin.»

Hva Coldcard-brukere bør følge med på videre

Angriperens identitet er fortsatt ukjent, og de stjålne bitcoinene kan flyttes fra konsolideringsadressene når som helst. Etterforskere arbeider fortsatt med å fastslå hvor mange sårbare seed som faktisk ble generert, hvor mye bitcoin som fortsatt er eksponert, og om ytterligere lommebøker med høy verdi allerede er blitt identifisert av angriperen. Coinkite har imidlertid kanskje ikke mye informasjon om eiere fra langt tilbake.

«Morsom tveegget sverd: Coinkite sletter alle kunderegistreringer etter 120 dager for å beskytte mot datainnbrudd», rapporterte medgrunnleggeren av Casa, Jameson Lopp, på X. «Noe som betyr at de ikke kan kontakte kunder som kjøpte sårbare coldcards de siste 5 årene for å advare dem om denne sårbarheten.»

X screenshot of the pseudonymous open-source bitcoin developer calle.
Den pseudonyme åpenkildekode-bitcoinutvikleren kalt calle delte tanker om saken. «Jeg er virkelig lei meg for alle som er rammet, spesielt de som kanskje nettopp har mistet livsoppsparingen sin. Det verste er at de gjorde alt riktig», sa calle på X.

Hendelsen vil også teste om Coinkite kan gjenopprette tilliten til Coldcard og om produsenter av maskinvarelommebøker innfører sterkere uavhengige gjennomganger av seed-generering. For brukere er den umiddelbare prioriteten enklere: Alle som opprettet en seed på berørt fastvare uten sterk uavhengig terningentropi, en passfrase eller multisignatur-beskyttelse, bør betrakte den som kompromittert og flytte midler forsiktig til en nygenerert lommebok.

Utover det ødeleggende tyveriet slår bitcoinere i hele miljøet alarm og presser andre til å spre ordet før flere sårbare lommebøker blir tømt.

Denne artikkelen er oversatt fra engelsk ved hjelp av kunstig intelligens. Den originale engelske versjonen er den autoritative kilden; automatiske oversettelser kan inneholde unøyaktigheter, særlig i juridisk og regulatorisk terminologi.