Low-entropy-fout in Coldcard zet Bitcoin-bezitters aan tot heroverweging van vertrouwen in hardware wallets
Belangrijkste punten
- •Aanvallers hebben meer dan 100 miljoen dollar aan Bitcoin gestolen door een low-entropy kwetsbaarheid in Coldcard hardware wallets uit te buiten die het kraken van privésleutels mogelijk maakte.
- •De kwetsbaarheid ontstond in firmwareversie 4.0.1, uitgebracht in maart 2021, waarbij de STM32-hardware random number generator werd vervangen door de Yasmarang pseudo-random number generator van MicroPython.
- •Coinkite schat dat Mk2- en Mk3-apparaten seeds produceerden met ongeveer 40 bits aan entropy, terwijl Mk4-, Mk5- en Q-modellen ongeveer 70 bits bereikten, beide ver onder de vereiste 128 bits voor een veilige seed phrase van 12 woorden.
- •Gebruikers die aanvullende dobbelsteen-entropy toevoegden of een BIP-39-passphrase gebruikten met een niet-standaard afleidingspad waren beschermd tegen de exploit.
- •Coinkite heeft een officiële waarschuwing voor seed-generatie gepubliceerd voor de betreffende apparaten, en meerdere fysieke entropiemethoden, waaronder dobbelsteenworpen en papieren opzoektabellen, worden gepromoot als veiligere alternatieven.

Naar aanleiding van de openbaarmaking van een ernstige low-entropy kwetsbaarheid in Coldcard hardware wallets — gelinkt aan publiek waargenomen diefstallen die op 30 juli begonnen — zijn Bitcoin-bezitters de veronderstellingen omtrent vertrouwen binnen hun self-custody-opstellingen aan het heroverwegen. Aanvallers hebben de fout uitgebuit om privésleutels te kruten, wat heeft geleid tot de diefstal van meer dan 100 miljoen dollar aan BTC.
Coldcard, geproduceerd door Coinkite, werd algemeen beschouwd als een van de meest op veiligheid gerichte hardware wallets in het Bitcoin-ecosysteem, specifiek gepromoot vanwege het air-gapped ontwerp en de ondersteuning voor geavanceerde functies zoals multisig en PSBT-workflows. Het doorbreken van deze positioning heeft de kritiek verscherpt op hoe hardware wallet-fabrikanten hun meest beveiligingskritieke codepaden implementeren en onderhouden.
Hoe de Coldcard-entropiefout werkte
Coldcard-apparaten waren uitgerust met STM32 "true random number generators" (TRNG's) die ontworpen waren om relying op fysieke processen voor het produceren van onvoorspelbare seed phrases. Er lijkt echter een kritieke kwetsbaarheid te zijn geïntroduceerd toen Coldcard-bedenker NVK een firmware-herschrijving initieerde om het project te laten overstappen van een op GPL-gelicentieerd vrije-softwaremodel naar een read-only model.
Vanaf firmwareversie 4.0.1, uitgebracht in maart 2021, gebruikten de apparaten de Yasmarang pseudo-random number generator (PRNG) van MicroPython in plaats van de STM32-hardware-RNG op de juiste manier in te zetten. Deze afwijking omzeilde in feite de op hardware gebaseerde entropiebron. Willekeurige getallengeneratie blijft een fundamenteel moeilijk probleem in de computerwetenschappen, waardoor het aanmaken van veilige, onvoorspelbare privésleutels altijd, althans deels, moet leunen op externe fysieke processen. De overstap bij de GPL-licentie vandaan verminderde ook de mogelijkheid van onafhankelijke ontwikkelaars om firmware-wijzigingen in realtime te controleren — een spanning die de open-source hardware wallet-gemeenschap al lang als een systemisch risico signaleert.
Analisten omschreven het gebruik van Yasmarang algemeen als een voorgeprogrammeerde fallback. Coinkite, de fabrikant achter Coldcard, betwiste deze karakterisering in een recent X-bericht.
De mogelijkheid dat Coldcards standaard waren geprogrammeerd op een obviously onveilige seed-generatiemethode leidde tot speculatie op X over de vraag of de fout opzettelijk als backdoor was geplaatst. Onderzoeksjournalist op het gebied van Bitcoin Hodlnaut speculeerde dat de bug voortkwam uit achteloze ontwikkelpraktijken en pogingen om fouten te onderdrukken door middel van willekeurige codewijzigingen.
Volgens de eigen schattingen van Coinkite genereerden Mk2- en Mk3-apparaten seeds met slechts ongeveer 40 bits aan entropy, terwijl de Mk4-, Mk5- en Q-modellen ongeveer 70 bits bereikten. Beide cijfers blijven ver onder de 128 bits die vereist zijn voor een veilige seed phrase van 12 woorden.
Gerelateerd: Coldcard-hackers brengen 64 BTC en 200 ETH over naar cryptocurrency mixers
De waarschijnlijkheid dat een bepaalde wallet kon worden gecompromitteerd, hing af van de vraag of de gebruiker aanvullende dobbelsteen-entropy had toegevoegd of een BIP-39-passphrase had gebruikt in combinatie met een niet-standaard afleidingspad.
James O'Beirne lanceerde vervolgens cktripwire, een website met honeypot-adressen die is ontworpen om te identificeren welke wallet-configuraties aanvallers actief plunderen.
Coinkite heeft ook een officiële waarschuwing voor seed-generatie gepubliceerd voor de betreffende apparaten.
Hoe fysieke entropy sommige wallets beschermde
De Coldcard-exploit heeft op pijnlijke wijze een van de basisprincipes van de Bitcoin-gemeenschap onderstreept: don't trust, verify.
Gebruikers die weigerden te leunen op een ondoorzichtige hardwarecomponent voor entropiegeneratie in de meest beveiligingskritieke fase — en in plaats daarvan een voldoende aantal fysieke dobbelsteenworpen gebruikten — werden volledig beschermd tegen de exploit. Dobbelstenen rollen is een eenvoudig, visueel transparant proces dat elke gewone gebruiker zelf kan controleren en intuïtief kan begrijpen. Het verifiëren van een TRNG vereist daarentegen een gedetailleerd fysiek onderzoek van de elektronica van het apparaat en een grondige examine van de firmware.
Sommige commentatoren hebben recente gebeurtenissen aangehaald als bewijs dat self-custody fundamenteel gebrekkig is. Het volgen van entropy-best practices laat echter zeer weinig mogelijkheden over voor een externe aanvaller. Wanneer een seed phrase wordt gegenereerd via fysieke entropy in plaats van hardware-afhankelijke processen, wordt het meest kritieke punt van falen bij het aanmaken van een wallet geëlimineerd.
De extended public key (xpub) en ontvangstadressen die van de seed zijn afgeleid, kunnen worden geverifieerd door de seed in meerdere onafhankelijke apparaten te importeren. Nonce-exfiltratie via een airgap kan ook worden gedetecteerd door te bevestigen dat twee apparaten identieke, RFC 6979-compliant handtekeningen produceren bij het verwerken van dezelfde ongetekende transactie.
Veilige entropiegeneratie is daarmee de absolute voorwaarde voor een veilige wallet. Sinds de Coldcard-exploit publiekelijk werd, circuleren verschillende methoden en voorstellen voor betrouwbare entropiegeneratie breed op X.
De meest populaire methode omvat het controleren van het vermogen van het apparaat om dobbelsteenvlakken correct om te zetten in een BIP-39 seed phrase door middel van een SHA-256-hash. Het gebruik van 100 of meer dobbelsteenworpen genereert voldoende entropy voor een seed van 24 woorden.
Eenvoudigere papieren methoden, zoals de opzoektabel gepubliceerd door Bitbox, verdelen de BIP-39-woordenlijst zodanig dat een combinatie van zes dobbelsteenworpen en een muntworp direct kan worden toegewezen aan een seed-woord zonder enig elektronisch apparaat.
Geavanceerdere hulpmiddelen, zoals het codex32 dobbelsteen-de-biasing werkblad, maken gebruik van een von Neumann-extractor — een procedure die volledig met de hand kan worden berekend — om een veilige seed phrase te produceren, zelfs met vertekende dobbelstenen.
Een alternatief voor dobbelstenen is het uitprinten van de volledige BIP-39-woordenlijst, de woorden knippen tot uniforme stukjes papier, ze grondig schudden en willekeurig 24 woorden trekken. Producten zoals Seedsticks of Entropia bieden een handzamere en duurzamere uitvoering van deze methode.
Gespecialiseerde hardware zoals Frostsnap probeert entropiegeneratie verifieerbaar te verdelen over meerdere apparaten. Sommige gebruikers zijn zelfs begonnen met het ontwerpen van hun eigen fysieke entropie-instrumenten die seed phrases bijna even snel kunnen genereren als een specifiek elektronisch apparaat.
Magazine: Betekenen de Coldcard-aanvallen dat alle hardware wallets nu onveilig zijn?