Coldcard-Fehler macht Wallet-Seeds für Angreifer berechenbar
Der Coldcard-Exploit führte am 30. Juli zum Diebstahl von Bitcoin aus Hunderten Wallets. Eine Analyse von Galaxy Research brachte später rund 1.196 Adressen und bis zu 1.083 BTC im Wert von fast 70 Millionen US-Dollar mit den Aktivitäten in Verbindung. Die endgültigen Zahlen können sich noch ändern, da Transaktionen auf der öffentlichen Bitcoin-Blockchain weiter ausgewertet werden, wie news.bitcoin.com berichtet.
- Ursache: Ein Firmware-Fehler seit März 2021 reduzierte die Entropie anfälliger Mk3-Seeds von 128 auf etwa 40 Bit.
- Diebstahl: Laut Galaxy Research betraf die breitere Auswertung rund 1.196 Adressen und bis zu 1.083 BTC. Die Aktivitäten erstreckten sich über etwa 41 Minuten.
- Risiko: Auch Seeds späterer Modelle konnten vor der korrigierten Firmware unter dem angestrebten Entropie-Niveau liegen.
- Maßnahme: Coinkite fordert betroffene Nutzer auf, eine korrigierte Firmware zu installieren, neue Seeds zu erstellen und Guthaben an die neuen Adressen zu übertragen.
Der Angriff: Wie ein Zufallszahlen-Fehler zur Schwachstelle wurde
Coldcard-Geräte sollten Wallet-Seeds mit einem Hardware-Zufallszahlengenerator erzeugen. Bei einer Migration von Software-Bibliotheken im Jahr 2021 wurden laut Coinkite jedoch zwei Zufallszahlfunktionen mit ähnlichen Schnittstellen verwechselt. Eine Konfigurationseinstellung deaktivierte den standardmäßigen MicroPython-Hardwarepfad, weil Coinkite einen eigenen Hardware-Wrapper bereitstellte. Die Software prüfte lediglich, ob die Einstellung vorhanden war, nicht aber, ob sie aktiviert war.
Dadurch griff die Seed-Erzeugung unbemerkt auf einen schwächeren Software-Fallback zurück. Dieser nutzte vorhersehbare Geräteinformationen wie Chip-Kennungen und interne Taktwerte, die mit dem Startzeitpunkt verbunden waren. Die Seeds sahen zwar normal aus, stammten aber aus einem deutlich kleineren Raum möglicher Kombinationen als vorgesehen.
Coinkite schätzte den effektiven Suchraum für anfällige Mk3-Seeds auf etwa 40 Bit statt 128 Bit. Spätere Modelle wie Mk4, Q und Mk5 erhielten durch ein Secure Element zusätzliche Zufälligkeit. Vor der Installation der korrigierten Firmware verblieben bei diesen Geräten jedoch schätzungsweise etwa 72 Bit effektive Entropie und damit weniger als der angestrebte Standard.
Wie der Diebstahl ablief
Die betroffenen Wallets gehörten größtenteils Langzeitinhabern, deren Wiederherstellungs-Seeds auf Geräten mit anfälliger Firmware erzeugt worden waren. Viele der leergeräumten Adressen waren seit Jahren inaktiv. Der Angreifer zahlte erhöhte feste Transaktionsgebühren und hinterließ keine Restbeträge, sodass die jeweiligen Adressen vollständig geleert wurden.
Dieses Muster deutete laut der Analyse auf einen automatisierten Vorgang mit einer vorbereiteten Liste privater Schlüssel hin, nicht auf eigenständige Transfers der Kunden. Der Diebstahl wurde nicht durch Phishing, Malware auf dem Computer eines Nutzers, den Diebstahl eines physischen Geräts oder einen herkömmlichen Fernzugriff verursacht. Entscheidend war vielmehr die geschwächte Zufälligkeit bei der Erzeugung bestimmter Wallet-Seeds.
Coinkite übernimmt Verantwortung, andere Hersteller grenzen sich ab
Coinkite-CEO Rodolfo Novak entschuldigte sich am 31. Juli öffentlich und erklärte, das Unternehmen übernehme die Verantwortung für den Firmware-Fehler. Er wies darauf hin, dass der Hotfix neu erstellte Seeds absichert, bereits unter der anfälligen Software erzeugte Seeds jedoch nicht reparieren kann. Coinkite kündigte zudem einen vollständigen technischen Bericht und Unterstützung für betroffene Nutzer bei Polizeiberichten, Versicherungsansprüchen oder unabhängigen Untersuchungen an.
Mehrere konkurrierende Hardware-Wallet-Hersteller erklärten in sozialen Medien, dass ihre Produkte nicht betroffen seien. Ledger verwies auf einen zertifizierten Zufallszahlengenerator im Secure Element seiner Geräte. Trezor erklärte, den betroffenen Coldcard-Code nicht zu verwenden, und verwies auf mehrere unabhängige Zufallsquellen bei der Seed-Generierung.
Marktstimmung und Selbstverwahrung
Der Vorfall richtete sich gegen eine Form der Selbstverwahrung, bei der private Schlüssel offline gehalten werden. Nach Angaben des Analyseanbieters Santiment, die IG zusammenfasst, fiel das Verhältnis positiver zu negativer Social-Media-Kommentare zu Bitcoin auf rund 0,58 positive Kommentare je negativem Kommentar. IG ordnete dies als eine der negativsten von Santiment erfassten Messungen ein und verglich die Stimmung mit den Reaktionen auf Mt. Gox und den COVID-19-Crash.
Die Dollar-Verluste des Vorfalls bleiben im Vergleich zu historischen Ereignissen wie dem FTX-Kollaps kleiner. Die Reaktion verdeutlicht jedoch die Sorge um die Sicherheit von Hardware-Wallets: Der Fehler betraf nicht das Bitcoin-Protokoll, sondern die Firmware und die Seed-Generierung bestimmter Coldcard-Geräte.
Was Coldcard-Nutzer jetzt beachten sollten
Coinkite rät Nutzern, die Seeds auf betroffener Firmware erstellt haben, das Gerät zu aktualisieren, mit der korrigierten Software einen vollständig neuen Seed zu erzeugen und ihre Bitcoin an Adressen zu übertragen, die von diesem neuen Seed kontrolliert werden. Ein Firmware-Update allein genügt nicht, weil es einem bereits erzeugten Seed keine zusätzliche Zufälligkeit hinzufügen kann.
Als behobene Versionen nannte Coinkite für Mk3 die Version 4.2.0 oder höher, für Mk4 und Mk5 die Version 5.6.0 oder höher sowie für Q die Version 1.5.0Q oder höher. Das Unternehmen empfiehlt außerdem, das Backup und den Wallet-Fingerabdruck zu prüfen, die Empfängeradresse zu bestätigen, zunächst eine kleine Testtransaktion zu senden und danach den Restbetrag zu übertragen. Das alte Backup sollte bis zur bestätigten Übertragung aufbewahrt werden, der alte Seed aber nicht länger als sicher gelten.
Weitgehend geschützt waren Nutzer, die bei der Seed-Generierung mindestens 50 eigene Würfelwürfe mit einem fairen Würfel hinzugefügt hatten. Auch eine starke BIP-39-Passphrase kann eine separate Wallet erzeugen, die nicht allein aus den Seed-Wörtern rekonstruiert werden kann. Multisignatur-Wallets waren weitgehend oder vollständig geschützt, wenn der anfällige Coldcard-Schlüssel nur einen Teil des Signaturprozesses darstellte.
Die Identität des Angreifers ist weiterhin unbekannt. Für Nutzer mit einem auf betroffener Firmware erzeugten Seed ohne starke unabhängige Würfelentropie, Passphrase oder Multisignatur-Schutz bleibt die unmittelbare Priorität, den Seed als kompromittiert zu behandeln und Guthaben vorsichtig in eine neu erzeugte Wallet zu übertragen.