Website-Icon BitcoinBlog.de – das Blog für Bitcoin und andere virtuelle Währungen

Bug in Bitcoin Unlimited: Hacker schaltet mehr als 500 Nodes aus

"A modern Hacker" von David Restivo via flickr.com. Lizenz: Creative Commons 2.0

Bitcoin Unlimited hat gestern einen Bug gefixt. Allerdings hatte ein Hacker kurz darauf einen Angriff gegen diese Schwachstelle gestartet, der 500 Bitcoin Unlimited Knoten, die das Update noch nicht eingespielt hatten, herunterfuhr. Mittlerweile sind zwar fast 300 der ausgefallenen Knoten wieder im Netz – doch es werden erneut Zweifel an der Kompetenz der Bitcoin Unlimited Entwickler laut.

Gestern Nacht geschahen drei Dinge.

Zuerst, Um acht am Abend, veröffentlichte Bitcoin Unlimited Entwickler Andrew Stone einen neuen, undokumentierten Release. In diesen war ein Bugfix eingespielt, der eine Schwachstelle von Unlimiteds Blockverteiler Xthin schloss. Und zwar war es möglich, über xthin ungültige Daten einzuschleusen, die nicht nur Verwirrung stifteten, sondern das ganze Programm abschaltete. Es war möglich, einen Bitcoin Unlimited Knoten mit einem bestimmten Datensatz per Fernsteuerung abzuschalten. Mit dem Bugfix werden solche Angriffe abgelehnt und die Absender blockiert.

Allerdings war es schon zu spät, um einen Imageschaden zu verhindern. Nur eine Stunde später geschah nämlich das zweite. Der Core-Entwickler Peter Todd – nicht eben ein Fan von Unlimited – twitterte: „Sieht so aus, als sei der Fernsteuerungs-Crash DoS seit einem Jahr in Bitcoin Unlimited, vielleicht noch länger.“

Der Bug ist in der Tat ernst. Peter Todd weist zu recht darauf hin, dass es bedenklich ist, dass ein solcher Bug gut ein Jahr lang unentdeckt geblieben ist. Dass er jedoch zu einem Zeitpunkt, ab dem der Bug bereits gefixt ist, aber das Update noch nicht überall eingespielt ist, darauf hinweist, dürfte ein Tribut an die aufgeheizte Stimmung sein, in der sich die Bitcoin Community derzeit befindet. Der lange, mal mehr, mal weniger schwelende Bitcoin-Bürgerkrieg (den ich schon Anfang 2015 vorausgesagt habe) lädt sich wieder auf.

Die Anzahl von Bitcoin Unlimited Nodes ist gestern Nacht eingebrochen.

Denn drittens hat ein Hacker kurz nach Peter Todds tweet genau diesen Bug ausgenutzt, um einen DoS-Angriff gegen alle Bitcoin Unlimited Knoten zu starten, die Xthin aktiviert und noch kein Update eingespielt hatten. Sie erhielten eine ungültige Xthin-Datei und fuhren herunter. Von den knapp 800 Bitcoin Unlimited Nodes fielen auf einen Schlag 350 bis 500 vom Netz. Nur die Knoten, die den Bugfix bereits installiert hatten oder, wie die Miner, kein Xthin nutzen, blieben stehen. Würde jeder Bitcoin Unlimited benutzen, hätte ein solcher Angriff das gesamte Bitcoin-Netzwerk nahezu zum Aussetzen gebracht.

Und was folgt aus all dem?

Erstens zeigt der Vorfall, wie fragil Bitcoin sein kann. Satoshi Nakamoto hat einmal gesagt, es gebe mehr DoS-Angriffsmöglichkeiten, als er fixen könne. Kleine Details – wie in diesem, ein Stück Code das gewöhnlich nicht mit kompiliert wird, im Falle von Bitcoin aber doch – können die Stabilität des gesamten Systems bedrohen.

Zweitens bestätigt der Vorfall den Vorwurf an Bitcoin Unlimited, nicht genügend Kompetenz und Erfahrung mit Bitcoin mitzubringen, um ein Software-Projekt wie dieses zu übernehmen. Das Vertrauen, das ein Referenz-Client benötigt, muss sich Unlimited erst noch verdienen. Und nach dem Vorfall steht es nicht bei Null, sondern noch tiefer.

Drittens zeigt der Angriff, dass Vielfalt von Implementierungen resilient macht. Weil Core nicht Unlimiteds xthin für die Blockdistribution nutzt, sondern das eigens entwickelte compact blocks, waren diese Nodes ebenso wenig betroffen wie Classic, XT, bcoin oder btcd Nodes. Eine Vielfalt an Clienten hilft dem Netzwerk, fortzubestehen, wenn einer ausfällt. Passend dazu hat vor kurzem übrigens btc.com – ein Tochter-Pool von BitMain – den ersten Block mit der Javascript-Implementierung von Bitcoin, bcoin, gemined.

Drittens demonstriert der Vorfall einmal mehr, wie weit Bitcoin ins Kriegsgebiet abgerutscht ist. Ein Bug wird, sobald er veröffentlicht ist, für einen DoS-Angriff ausgenutzt, und aus diesem folgt prompt eine Propaganda-Schlacht zwischen den beiden Lagern. Allerdings ist das genau das, was Bitcoin muss: er muss im Kriegszustand Bitcoin bestehen können, um eine solide Währung zu sein. Gerade dann. Ein Bitcoin, der nur funktioniert, weil die Bösen einmal Pause machen oder nachsichtig sind, ist nicht besonders viel wert.

Die mobile Version verlassen