DAX +0,66 % 25.629,24 Pkt 18:00:00 MDAX -0,82 % 31.980,52 Pkt 18:00:00 Euro Stoxx 50 +0,21 % 6.358,01 Pkt 18:00:00 Dow Jones +1,70 % 52.470,97 Pkt 19:18:50 S&P 500 +2,19 % 7.476,53 Pkt 19:18:49 Nasdaq +3,50 % 25.297,48 Pkt 19:18:49 Nikkei +4,03 % 64.362,02 Pkt 08:45:03 Gold -0,03 % 4.098,90 USD 19:08:39 Silber -2,03 % 57,62 USD 19:08:46 Brent +1,10 % 90,01 USD 19:03:24 WTI +1,20 % 84,59 USD 19:08:47 Bitcoin -2,94 % 62.819,17 USD 19:18:48 EUR/USD +0,51 % 1,15260 USD 19:18:22 EUR/GBP -0,29 % 0,85530 GBP 19:18:49 EUR/CHF -0,13 % 0,93150 CHF 19:18:49 EUR/JPY -1,89 % 183,721 JPY 19:18:49

Schwere Sicherheitslücke bei Coldcard: Hunderte Bitcoin gestohlen!?

Technologie

Bereits gestern hatten sich im Laufe des Tages erste Gerüchte über ein mögliches Sicherheitsproblem bei Coldcard verdichtet. Ausgangspunkt war unter anderem ein Reddit-Beitrag mit dem Titel „Full panic – one of my wallets was drained“. Ein Nutzer berichtete darin, dass seine Wallet vollständig leergeräumt worden sei. Nach eigener Aussage hatte er die Coldcard direkt beim Hersteller gekauft und den Seed ausschließlich auf dem Gerät erzeugt. Die Wallet sei danach lediglich zum Empfangen von Bitcoin verwendet worden. Die Seedphrase habe er weder auf einem Computer noch auf einer Webseite eingegeben. Als Wallet-Software kam Sparrow zum Einsatz. Zunächst war die Reaktion wenig überraschend. Viele vermuteten einen klassischen Nutzerfehler. Vielleicht wurde der Seed doch irgendwo digital gespeichert, fotografiert oder von einer Kamera erfasst. Vielleicht war der Computer kompromittiert oder die SD-Karte manipuliert. Solche Erklärungen liegen schließlich nahe. Wenn Bitcoin aus einer Hardware-Wallet verschwinden, liegt es meistens nicht an gebrochener Kryptografie, sondern an einer offengelegten Seedphrase oder einer unbemerkt bestätigten Transaktion. Doch diesmal passten die üblichen Erklärungen immer weniger zum geschilderten Ablauf. Im Laufe des Tages kamen dann weitere Berichte und technische Hinweise hinzu. Schließlich veröffentlichten Blocks Bitcoin Engineering and Security Teams gemeinsam mit anonymen Sicherheitsforschern eine ausführliche Analyse der Coldcard-Firmware. Das Ergebnis ist für Coinkite, den Hersteller der Coldcard, alles andere als angenehm. Die Firmware mehrerer Coldcard-Generationen nutzte bei sicherheitskritischen Vorgängen offenbar nicht die vorgesehene Hardware-Zufallsquelle, sondern einen vorhersehbaren Software-Fallback. Damit waren die erstellten Seedwörter eben nicht so zufällig, wie die Nutzer dachten. Kurz darauf veröffentlichte Coinkite eine eigene Sicherheitswarnung. Betroffen sind laut Hersteller zunächst alle Nutzer, die einen Seed mit einer Coldcard Mk3 unter Firmware 4.0.1 oder einer späteren Version erzeugt haben. Der Fehler befindet sich damit nicht nur in irgendeiner experimentellen Vorabversion, sondern war seit 2021 über Jahre hinweg Bestandteil regulärer Firmware. Mittlerweile warnt Coinkite außerdem vor Seeds, die mit älteren Firmwareständen auf Mk4, Mk5 oder Coldcard Q erzeugt wurden. Bei diesen Geräten sei die Auswirkung weniger gravierend als bei der Mk3, aber weiterhin ernst. Coinkite spricht von ungefähr 72 Bit Entropie anstelle der erwarteten 128 Bit. Betroffen sind demnach (bisher bestätigt): Die anderen Produkte von Coinkite, wie Tapsigner, Opendime und Satscard sollen im Übrigen nicht betroffen sein, da sie eine andere Codebasis verwenden. WICHTIGE INFO! Entscheidend ist dabei nicht, welche Coldcard man heute benutzt. Wichtig ist, auf welchem Gerät und mit welcher Firmware der Seed ursprünglich erzeugt wurde. Ein schwach erzeugter Seed wird nicht dadurch sicher, dass man ihn später auf eine neue Coldcard, BitBox, Trezor oder eine andere Hardware-Wallet importiert. Der Fehler steckt schließlich im Seed selbst und wird beim Gerätewechsel einfach mitgenommen. Auch ein Firmware-Update repariert keinen bereits erzeugten Seed. Es kann lediglich verhindern, dass zukünftig erneut ein Seed mit der fehlerhaften Methode erstellt wird. Bei einer Bitcoin-Wallet entsteht der Seed aus einer möglichst unvorhersehbaren Zufallszahl. Ist diese Zufallszahl wirklich gut, gibt es so viele mögliche Seeds, dass ein Angreifer sie praktisch niemals alle ausprobieren kann. Bei Coldcard lief dabei offenbar etwas grundlegend schief. Die Firmware sollte eigentlich einen sicheren Hardware-Zufallsgenerator nutzen. Wegen eines Programmierfehlers griff sie jedoch auf einen einfachen Softwaregenerator zurück, dessen Ergebnisse unter bestimmten Bedingungen vorhersagbar waren. Dieser Generator nutzte unter anderem Geräte- und Zeitwerte. Solche Daten sehen zwar irgendwie zufällig aus, sind aber oft fest, miteinander verbunden oder zumindest grob eingrenzbar. Vereinfacht gesagt sollte die Coldcard einen Seed aus einem riesigen, praktisch undurchsuchbaren Zahlenraum auswählen, tatsächlich stammte er aber bei den betroffenen Geräten teilweise aus einer deutlich kleineren Menge möglicher Zustände. Für den Angreifer wurde dadurch aus „unmöglich zu erraten“ plötzlich ein „mit genug Rechenleistung leicht durchsuchbar“. Ein kleiner Fehler mit großen Folgen Auch die technische Ursache war erstaunlich unscheinbar. Eine verwendete Bibliothek prüfte nur, ob eine bestimmte Einstellung für den Hardware-Zufallsgenerator vorhanden war. Sie prüfte aber nicht richtig, ob dieser tatsächlich aktiviert war. Dadurch ging die Software davon aus, sicheren Hardware-Zufall zu verwenden, obwohl im Hintergrund der schwächere Softwaregenerator zum Einsatz kam. Bei einer normalen Software wäre so ein Fehler vielleicht nur ärgerlich. Bei einer Hardware-Wallet betrifft er jedoch die Grundlage aller privaten Schlüssel. Ist der Seed von Anfang an vorhersehbar, helfen dann halt auch Airgap, Secure Element, PIN oder MicroSD-Karte nicht mehr weiter. Laut Block wurde derselbe fehlerhafte Zufallsmechanismus auch für weitere Coldcard-Funktionen verwendet. Dazu gehören unter anderem: neue und temporäre Wallet-Seeds, zufällig erzeugte Paper-Wallet-Schlüssel, zufällige Seed-XOR-Masken, bestimmte Schlüssel für Device Cloning, Schlüsselmaterial für USB-Verschlüsselung, Web2FA, Passwörter für Secure Notes, und mehr. Das bedeutet nicht, dass jede dieser Funktionen gleich schwer betroffen ist. Die konkrete Auswirkung hängt davon ab, wie der jeweilige Wert verwendet wird und ob ein Angreifer über öffentliches Material verfügt, mit dem er seine Kandidaten überprüfen kann. Bei einem Wallet-Seed oder Paper-Wallet-Schlüssel ist das aber besonders problematisch. Eine bekannte Adresse oder ein xpub verrät dem Angreifer sofort, ob ein getesteter Kandidat korrekt war. Für zusätzliche Diskussionen sorgt die Entstehungsgeschichte der fehlerhaften Firmware. Zach Herbert, CEO des Hardware-Wallet-Herstellers Foundation Devices, stellte dazu einen zeitlichen Zusammenhang mit dem bekannten Lizenzstreit her. Foundation hatte im Juli 2020 seine Passport-Wallet angekündigt. Diese basierte damals auf der zu diesem Zeitpunkt unter der GPLv3-Lizenz veröffentlichten Coldcard-Firmware. Der Coldcard-Entwickler NVK kritisierte anschließend öffentlich, Foundation habe einen „Clone“ gebaut und trage seiner Ansicht nach nicht ausreichend zum ursprünglichen Projekt bei. Coinkite wechselte daraufhin schrittweise von der freien GPL-Lizenz zu einer restriktiveren „source available“-Lizenz und begann mit einem größeren Umbau der Firmware. Im März 2021 entfernte ein umfangreicher Commit die verbleibenden GPL-Abhängigkeiten und ersetzte verschiedene Kryptobibliotheken. Derselbe rund 120 Dateien umfassende Umbau änderte auch die Seed-Erzeugung und führte den später problematischen Zufallspfad ein. Herbert bezeichnet den Fehler daher als möglichen Kollateralschaden dieses großen Firmware-Umbaus. Es gibt zwar bislang keinen Nachweis dafür, dass der Lizenzwechsel allein den Fehler verursacht hat. Coinkite verfolgte mit dem Umbau natürlich auch technische Ziele, die zeitliche Überschneidung spricht aber gewissermaßen Bände. Foundation lieferte somit den offensichtlichen Anstoß für den Lizenzwechsel und das Entfernen des GPL-Codes war ein ausdrückliches Ziel des anschließenden Umbaus, der letztlich zu dem Fehler führte. Wer seinen Seed mit einer betroffenen Firmware erzeugt hat, sollte sich eine andere Hardware-Wallet oder zumindest ein Gerät mit aktueller und korrigierter Firmware besorgen und dort einen komplett neuen Seed erzeugen. Anschließend müssen die Bitcoin auf neue, aus diesem Seed abgeleitete Adressen übertragen werden. Als Hot-Fix, bis man ein neues Gerät zur Hand hat, kann man eventuell als Übergangslösung zumindest eine (besonders sichere) Passphrase einrichten und seine Coins auf diese neuen, damit erzeugten Adressen senden. Ein bloßes Firmware-Update der bisherigen Coldcard reicht, wie weiter oben schon in der Infobox erwähnt, nicht aus, weil dadurch ein bereits schwach erzeugter Seed nicht nachträglich sicher wird. Auch das Zurücksetzen des Geräts und der erneute Import desselben Seeds lösen das Problem nicht. Für Mk4 und Mk5 gilt nur die brandaktuelle Firmware 5.6.0, für die Coldcard Q entsprechend mindestens Version 1.5.0Q als sicher. Bei einer betroffenen Mk3 sollte der neue Seed besser auf einem anderen, aktuellen Gerät erzeugt werden. Coinkite kündigte nämlich an, voraussichtlich kein Update für die Mk3 zu veröffentlichen, was in einer solchen Situation offen gesagt aus Usersicht etwas dreist ist. Anstatt den eigenen Fehler glattzubügeln, sollten Nutzer stattdessen, lieber ein neues Gerät kaufen. Natürlich wird das sinnvoll sein. Die Frage ist, ob User nach dieser Aktion dann nicht das Gerät eines anderen Herstellers wählen. Eine starke BIP39-Passphrase kann eine zusätzliche unabhängige Schutzschicht darstellen. Gemeint ist dabei nicht die PIN der Coldcard, sondern eine optionale Passphrase, die gemeinsam mit den Seedwörtern eine eigenständige Wallet erzeugt. Ist diese Passphrase lang, zufällig, einzigartig und dem Angreifer unbekannt, muss dieser neben dem schwachen Seed zusätzlich auch die Passphrase erraten. Kurze Wörter, Namen, Zitate, typische Sätze oder wiederverwendete Passwörter sollte man hingegen nicht überschätzen. Eine starke Passphrase kann das Risiko erheblich reduzieren und möglicherweise Zeit verschaffen. Sie repariert die fehlerhafte Seed-Erzeugung aber nicht. Langfristig sollte deshalb auch in diesem Fall auf einen komplett neuen und sicher erzeugten Seed gewechselt werden. Der Vorfall kratzt ziemlich deutlich an einem hartnäckigen Narrativ rund um Coldcard und sogenannte Airgap-Wallets. Coldcard wurde über Jahre hinweg gerne als besonders sicher dargestellt, weil das Gerät weitgehend ohne direkte Datenverbindung zu einem Computer verwendet werden kann. Transaktionen lassen sich etwa über eine MicroSD-Karte oder beim Modell Q über QR-Codes übertragen (was aber im Grunde auch eine Kommunikationsverbindung darstellt). Daraus wurde in Teilen der Bitcoin-Community trotzdem schnell die stark vereinfachte Aussage: Airgapped Wallets sind besonders sicher und praktisch nicht hackbar. So einfach war es allerdings nie und wir haben bei Blocktrainer.de in der Vergangenheit auch mehrmals darauf hingewiesen, dass „airgap“ nicht automatisch „sicher“ bedeutet, da eine gute Hardware-Wallet mehr als nur das ausmacht. Eine gute Hardware-Wallet muss unter anderem auch ihren Seed wirklich zufällig erzeugen, private Schlüssel sicher speichern, Transaktionsdetails korrekt anzeigen, manipulierte Firmware erkennen, Updates authentisch überprüfen, kryptografische Verfahren sauber implementieren, physische Angriffe erschweren, Fehlerzustände sicher behandeln, ihre Lieferkette absichern und mehr. „Kein USB“, „kein Bluetooth“ oder „nur MicroSD“ ist halt noch lange kein vollständiges Sicherheitskonzept. Interessanterweise hat insbesondere das Airgap in diesem Fall verhindert, dass z.B. das Host-Gerät als Entropiequelle genutzt werden kann. Der Coldcard-Fall zeigt, warum eine Hardware-Wallet bei der Erzeugung des Seeds möglichst nicht von einer einzigen Zufallsquelle abhängig sein sollte. Andere Hersteller versuchen dieses Risiko abzufedern, indem sie mehrere voneinander unabhängige Quellen miteinander kombinieren. Bei der BitBox02 fließen unter anderem Zufallsdaten aus dem Mikrocontroller, dem Secure Chip und dem angeschlossenen Computer ein. Selbst wenn beispielsweise der Zufallsgenerator im Mikrocontroller fehlerhaft wäre, könnten die anderen Quellen den fertigen Seed weiterhin absichern. Die Idee dahinter ist, dass nicht eine einzige defekte Komponente direkt das gesamte Sicherheitsmodell zu Fall bringt. Trezor verfolgt einen ähnlichen Ansatz. Beim Model One und Model T wird Zufall aus dem Mikrocontroller mit zusätzlicher Entropie vom Computer oder Smartphone kombiniert. Bei neueren Modellen wie Safe 3 und Safe 5 kommt außerdem ein Secure Element als weitere Quelle hinzu. Der Computer kennt dabei nicht den fertigen Seed, sondern liefert nur einen Teil der Zufallsdaten, die erst auf dem Gerät mit den internen Quellen zusammengeführt werden. Entscheidend ist und bleibt aber, wie sauber die verschiedenen Quellen technisch kombiniert werden und wie viel echte Zufälligkeit am Ende tatsächlich im Seed landet. Grundsätzlich ist ein solcher Aufbau aber robuster, als sich auf eine einzelne Quelle zu verlassen. Genau dieser fehlende Schutz gegen einen einzelnen Fehler wurde Coldcard nun offenbar zum Verhängnis. Sollten sich die bisherigen technischen Erkenntnisse vollständig bestätigen, handelt es sich um eine der schwerwiegendsten bekannten Schwachstellen bei einer etablierten Bitcoin-Hardware-Wallet. Besonders problematisch ist der lange Zeitraum. Der fehlerhafte Codepfad gelangte im März 2021 in die reguläre Firmware. Nutzer konnten also über mehrere Jahre Bitcoin auf Wallets einzahlen, deren tatsächliche Sicherheit möglicherweise nur einen Bruchteil dessen betrug, was sie erwarten durften. Hinzu kommt (wieder einmal) die Kommunikation des Herstellers. Zunächst erklärte NVK in einem mittlerweile gelöschten Post, dass es sich nur um einen User-Fehler handle. Später erklärte man seitens Coldcard, dass Mk4, Q und Mk5 nach einer frühen Analyse nicht betroffen seien. Wenig später wurde die Warnung auf diese Modelle erweitert. Mittlerweile spricht Coinkite selbst von möglicherweise lediglich 72 Bit Entropie bei Seeds, die vor den aktuellen Hotfix-Versionen erzeugt wurden. Natürlich können sich Erkenntnisse während eines laufenden Sicherheitsvorfalls verändern. Bei einem Hersteller, der seine Geräte offensiv als besonders sichere Lösung für anspruchsvolle Bitcoin-Nutzer positioniert, bleiben solche Fehleinschätzungen trotzdem hängen. Dazu kommt die Frage, wie ein derart grundlegender Fehler über Jahre hinweg durch Entwicklung, Reviews und Tests gelangen konnte. Der Vorfall zeigt in jedem Fall, warum man Hardware-Wallets nicht nur anhand einzelner Schlagwörter wie „airgapped“, „Secure Element“ oder „Open Source“ bewerten sollte. Am Ende zählt die gesamte Sicherheitsarchitektur, von der ersten Zufallszahl bis zur Anzeige der fertigen Transaktion. Und bei Coldcard scheint ausgerechnet das Fundament jahrelang deutlich schwächer gewesen zu sein, als die Nutzer annehmen durften. Das Blocktrainer-Team liefert sachliche und fundierte Aufklärungsarbeit rund um die Themen Bitcoin und Wirtschaft. Durch den integren und pflichtbewussten Ansatz hat sich Blocktrainer einen Namen in der deutschsprachigen Bitcoin- und Finanzszene gemacht. Die Inhalte stellen keine Anlageberatung, sondern ein reines Bildungs- und Informationsangebot dar. Die Artikel und Seiten auf blocktrainer.de können Partner-Links enthalten. Diese dienen sowohl der weiterführenden Information als auch der Finanzierung unserer Webseite.

← Zurück zu News

Bereit für Ihre kostenlose E-Mail?

512 MB Speicher, modernes Webmail und ein News-Portal — kostenlos starten.

Jetzt kostenlos registrieren