
Bitcoin Magazin
Das Ende der Closed-Source-Ära steht bevor: Obskurität war nie Sicherheit
In den letzten Tagen haben Menschen, die alles richtig machen wollten, ihr Bitcoin verloren. Sie kauften einen angesehenen Hardware-Signer, generierten einen Seed offline mit diesem Gerät und vertrauten darauf, dass das Gerät das eine tut, wozu ein Signer existiert: eine Zahl zu produzieren, die niemand sonst erraten kann. Der Coldcard tat dies nicht. Ein Vorverarbeitungswächter, der das falsche überprüfte, hatte stillschweigend die Seed-Generierung an einen schwachen Software-PRNG (pseudorandom number generator), MicroPythons Yasmarang, umgeleitet, anstatt an die Hardware-Entropiequelle. Bei einigen Modellen fiel die effektive Entropie auf etwa 40 Bit. Der Fehler wurde im März 2021 ausgeliefert und war mehr als fünf Jahre lang in öffentlich lesbarer Firmware vorhanden. Angreifer durchsuchten 500 Adressen, bevor jemand verstand, warum; innerhalb weniger Tage erreichte die Zählung von Galaxy Research 4.585 Adressen und fast 90 Millionen Dollar; der Angriff ist zum Zeitpunkt dieses Artikels noch im Gange.
Die Arbeitsannahme von Coinkite, mit breiter Zustimmung zu X, ist, dass jemand KI verwendet hat, um die öffentlich verfügbaren Firmware zu durchsuchen, um den Fehler zu finden. Ob das der Weg war, wie dieser Angreifer ihn gefunden hat, oder nicht, der nächste wird es tun. Während eine KI-unterstützte Prüfung Wochen vor dem Diebstahl durchgeführt wurde, fand sie nichts (möglicherweise aufgrund der Fähigkeiten des Modells, möglicherweise aufgrund der spezifischen Konstruktion der Suche). Seit dem Beginn des Angriffs haben Forscher mehrere Grenzmodelle gezeigt, die denselben Fehler innerhalb von Minuten aus einem einzigen Prompt lokalisieren. Der Code war fünf Jahre lang für menschliche Überprüfungen offen und kein Mensch hat ihn entdeckt.
Coinkite hatte seine Firmware von einer Lizenz für freie Software auf Quellcode-verfügbare Bedingungen, MIT mit einer Commons-Klausel, umgestellt, nachdem Foundation Devices den Code in einem konkurrierenden Produkt verwendet hatte. Man konnte den Quellcode lesen, aber kein Geschäft darauf aufbauen. Es änderte nichts. Der Fehler lebte in einem Code, den eine Maschine unabhängig von dem, was die Lizenz erlaubte, lesen konnte; er trat tatsächlich in den Baum ein, in der sehr Überarbeitung, die den letzten Teil des GPL-Codes entfernte. Die Lizenzänderung erhöhte den Schutz nicht; sie änderte lediglich die Wirtschaftlichkeit der Fehlersuche.
Im Zeitalter hochentwickelter KI ist alles, was verteilt wird, lesbar oder wird es bald sein. Entfernen Sie die Symbole eines Binaries, führen Sie es durch einen Decompiler, und heraus kommt das Pseudo-C, das jeden begrüßt, der Ghidra geöffnet hat: namenlose Variablen, abgeflachter Kontrollfluss, Funktionen mit dem Label FUN_00401a20. Für die meisten Menschen unlesbar. Diese hohe Hürde für das menschliche Verständnis war das gesamte Sicherheitsplus von "Closed Source."
Ein kompiliertes Programm hat keine Wahl, als die Wahrheit zu sagen. Code, der verschlüsselt bleibt, kann nicht ausgeführt werden. Im Moment der Ausführung muss der Prozessor die tatsächlichen Anweisungen erhalten, also was auch immer das Programm tut, es übergibt der Maschine eine vollständige und genaue Anleitung, wie es zu tun ist. Die Informationen sind alle im Maschinencode vorhanden. Obfuskation entfernt sie nicht und kann sie nicht entfernen.
Wenn das Lesen eines Binärcodes für eine Maschine zu schwer erscheint, um es bald zu meistern, wiegt man es gegen das, was Maschinen bereits bei viel schwierigeren Problemen leisten. Das Lesen eines Binärcodes ist Analyse: Jede Tatsache, die Sie benötigen, liegt vor Ihnen, und die Arbeit besteht in der Extraktion. Mathematische Erfindung ist eine andere Schwierigkeitsstufe, da sie ein Objekt verlangt, das noch niemand gesehen hat. Um 02:19 UTC am 20. Juli postete Levent Alpöge, ein Mathematiker, der mit Anthropic’s Claude Fable 5 arbeitet, ein Gegenbeispiel zur Jacobian-Vermutung von Keller, einem Problem, das seit 1939 offen ist und schwer genug, um auf Stephen Smales Liste der Herausforderungen für das 21. Jahrhundert zu stehen. Generationen hatten es versucht. Der Widerspruch besteht aus drei Polynomen in drei Variablen. Lean verifizierte es innerhalb von Stunden, und es ist kurz genug, damit es jeder in einem Computer-Algebrasystem in etwa einer Minute bestätigen kann.
Die Jacobian-Vermutung fiel an einem Nachmittag, während der Fragesteller anscheinend das Finale der FIFA-Weltmeisterschaft verfolgte. Im Mai stürzte ein OpenAI-Modell die Erdős-Einheitsabstands-Vermutung, eine Frage, die seit 1946 offen ist; Ende Juli fiel eine 30 Jahre alte Graphentheorie-Vermutung auf vier Eingabeaufforderungen; zwischen ihnen kam der Widerspruch zur Jacobian-Vermutung und eine Reihe anderer Ergebnisse, die seit Jahrzehnten Bestand hatten.
Setzen Sie dieses Tempo neben die bescheidene Aufgabe, Maschinen-Code zu lesen, der bereits im Internet verfügbar ist. Die heutigen Modelle verarbeiten Quell- und Decompiler-Ausgaben besser als rohe Bytes, sodass ein vollständig geschlossener Binärcode einen dünnen Spielraum behält. Dieser Spielraum ist ein Kosten-Geschwindigkeitsbumper und erodiert mit der Geschwindigkeit, die Sie überall anders beobachten. Auf die Sicherheit zu setzen, wie lange es dauert, bedeutet, gegen eine Uhr zu wetten, die nur schneller wird.
Die gleiche Fähigkeit, die Ihren Entropie-Fehler findet, liest Ihre proprietäre Methode. Dies ist das ruhigere Opfer, und es betrifft Unternehmen, die sich nie als dem Risiko von Open Source ausgesetzt betrachtet haben. Geschäftsgeheimnisse in ausgelieferter Software waren immer nur Obskurität in einem Anzug. Das Gesetz hat das so lange gesagt, wie es das Handelsgeheimnisrecht gibt: Reverse Engineering eines Produkts, das Sie rechtmäßig besitzen, ist fair play, und daher überlebt ein Geheimnis nur, solange dieses Reverse Engineering teuer bleibt. Wenn die Kosten für die Extraktion auf ein Abonnement und eine Eingabeaufforderung sinken, hört das Geheimnis, das im Code verkörpert ist, den Sie Ihren Kunden übergeben, auf, eines zu sein. Ihr cleverer Algorithmus, Ihr undokumentiertes Format, Ihr Vorteil im Binärcode: lesbar für jeden, der bereit ist, einen Blick darauf zu werfen, auf einer Zeitachse, die zunehmend in Minuten gemessen wird.
None of this necessarily makes open source safe. Heartbleed versteckte sich zwei Jahre lang in der am weitesten verbreiteten TLS-Bibliothek der Welt, weil Sichtbarkeit ohne finanzierte Aufmerksamkeit nichts findet. Der xz-Hintertür zeigte, dass das offene Beitragsmodell selbst eine Angriffsfläche ist, die ein geduldiger Gegner mit einem freundlichen Gesicht und zwei Jahren guter Commits durchschreiten kann. Während Offenheit einst ein Schild war, ist sie es nicht mehr. Was es tut ist, Gutachter zu gewinnen, die berechtigt sind, zu schauen, Builds, die unabhängig reproduziert und verifiziert werden können, einen Ausstieg, wenn ein Anbieter stirbt oder sich wendet, und die Anerkennung, dass all dies passieren wird, ob es dir gefällt oder nicht.
Jetzt müssen wir davon ausgehen, dass jede ausgelieferte Zeile von jemandem gelesen wird, der Schaden wünscht, weil es so sein wird.Der Verteidiger hat einen strukturellen Vorteil, den der Angreifer niemals haben wird: Zeit. Sie können die gleichen Grenzmodelle an Ihrem eigenen Code vor der Veröffentlichung anwenden, im Raum zwischen Commit und Versand, während der Angreifer auf ein Binärprogramm wartet, das noch nicht existiert. Machen Sie Ihre Builds reproduzierbar, damit sie auf den Quellcode zurückverweisen und der Quellcode überprüft werden kann. Entwerfen Sie so, dass es geschlossen fehlschlägt, und halten Sie den vertrauenswürdigen Kern klein genug, dass ein Fehler nicht alles gefährden kann. Für das spezifische Geschäft des Haltens von Bitcoin lernen Sie die Lektion, die Coldcard in Echtzeit lehrt: Besitzen Sie die Entropie, die Sie sich nicht leisten können, erraten zu lassen, halten Sie das sichere Element minimal und hinter einer veröffentlichten Schnittstelle, und verteilen Sie Ihre Schlüssel über unabhängige Implementierungen, sodass kein einzelnes Gerät und kein einzelner Fehler eines Anbieters Ihre gesamte Exposition ausmacht.
Für Bitcoin sind die Einsätze unerbittlich auf eine Weise, wie sie anderswo nicht sind, da das bloße Wissen um die privaten Schlüssel den Besitz gewährt. Der Entropie-Bug hat dauerhafte Narben hinterlassen. Das Patchen des Generators hilft nichts für die bereits produzierten Seeds; ein schwacher Schlüsselraum bleibt für immer durchsuchbar, und die Offenlegung übergibt dem Angreifer das Rezept. Wir haben das schon einmal gesehen. Die Milk Sad-Schwachstelle im libbitcoin-Explorer-Tool, bx, erzeugte private Schlüssel aus einem 32-Bit-Wert, und Angreifer leerten die Wallets, die es produzierte, bevor der Fehler jemals öffentlich gemacht wurde. Angreifer halten ihren eigenen Zeitplan, eingeladen oder nicht. Für Geld, das nicht zurückgeholt werden kann, ist „letztendlich auffindbar“ ein Synonym für „letztendlich verschwunden.“
Bitcoin hat niemals der Obskurität vertraut. Das Protokoll ist offen, seine Regeln von jedem überprüfbar, seine Sicherheit beruht nicht auf Geheimnissen, sondern auf Mathematik und Anreizen, die im vollen Blick stehen. Die Hardware und Software, die wir darum herum bauen, verdienen denselben Standard, denn die Alternative steht nicht mehr zur Debatte. Die Wahl war nie offen oder geschlossen. Sie war diszipliniert oder exponiert.
Die breitere Lehre aus dieser Coldcard-Situation ist, dass geschlossene Software wie ein Seed ist, der von einer defekten Coldcard generiert wurde; es sieht gut aus, ist aber grundsätzlich auf Sand gebaut. Jeder kann den Code lesen – die einzige Frage, die bleibt, ist, ob du diese Tatsache anerkennst oder ob du und deine Benutzer sie so lernen, wie es die Benutzer von Coldcard taten, Adresse für Adresse, die leergeräumt wurde.
Dies ist ein Gastbeitrag von Colin Crossman, der Content-Produzent bei Fedi ist. Die geäußerten Meinungen sind ausschließlich seine eigenen und spiegeln nicht unbedingt die von BTC Inc oder Bitcoin Magazine wider.
Dieser Beitrag "Das Ende der Closed-Source-Ära steht bevor: Obskurität war nie Sicherheit" erschien zuerst im Bitcoin Magazine und wurde von Colin Crossman verfasst.
Quelle: BitcoinMagazine





