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

Der Trinity-Hack: IOTA-User verlieren mehrere Millionen Euro, Tangle steht für Wert-Transaktionen still

Bei IOTA ersetzt der "Tangle" die Blockchain. Auf deutsch übersetzt bedeutet das "Gewirr". Angesichts der Vorfälle der letzten Wochen erscheint der Name sehr gut gewählt. Bild von Quinn Dombrowski via flickr.com, Lizenz: Creative Commons

Bei IOTA hagelt es Probleme: Ein Hacker nutzte ein Addon der Trinity-Wallet, um eine Malware in die Wallets zu schleusen, die den Seed und damit IOTA im Wert von mehr als 2 Millionen Euro gestohlen hat. Nun steht der Tangle still, und die IOTA Foundation macht alles Menschenmögliche, um den Schaden zu begrenzen. Dabei demonstriert sie einen Anspruch auf Kontrolle, den es bei einer Kryptowährung eigentlich gar nicht geben sollte. Der Vertrauensverlust in die vor allem in Deutschland beliebte Kryptowährung dürfte enorm sein.

Manchmal heißt es, Kryptowährungen seien Geld ohne Vertrauen. Aus einer sehr theoretischen Ebene ist dies korrekt, da die User von Kryptowährungen an sich keinen Mittelsmann benötigen, um Geld zu empfangen und zu versenden. Praktisch gesehen verdichtet sich das Vertrauen jedoch bei den Entwicklern, die die Wallets herstellen, mit denen User mit den Netzwerken von Kryptowährungen interagieren.

Wie trügerisch dieses Vertrauen sein kann, haben in den vergangenen Wochen zahlreiche User der Kryptowährung IOTA zu spüren bekommen. IOTA ist im Ranking der Kryptowährungen zwar nur auf dem 24. Platz, und damit im Grunde kaum relevant. Durch die fleissige Arbeit der Berliner IOTA-Foundation und zahlreichen Industriepartnerschaften in Deutschland erfreut sich IOTA aber hierzulande einer Aufmerksamkeit, die weit über der von vielen Top-10-Kryptowährungen liegt.

Aber auch ansonsten ist das, was ab dem 11. Februar geschah, spannend. Denn es ist ein im Krypto-Raum bisher einzigartiger Vorfall, der wie kein anderer geeignet ist, die Grundfesten des Mantras zu erschüttern, durch Kryptowährungen seine eigene Bank zu sein.

Die Anatomie eines 2-Millionen-Euro-Hacks

Eine häufige Software, um IOTA zu benutzen, ist die Trinity-Wallet. Diese Wallet wurde von der IOTA-Foundation entwickelt und ist erst im vergangenen Jahr erschienen.

Ab dem 11. Februar bemerkten viele User plötzlich das, was man bei einer Wallet absolut nicht bemerken möchte: Ihre Guthaben waren auf Null gesunken, die Coins, die in ihren Wallets gelegen hatten, waren ohne ihre Erlaubnis auf andere Adressen überwiesen worden. Am 12. Februar wurde die IOTA-Foundation auf das Problem aufmerksam. Als erstes stellte sie den zentralen Koordinator ab, wodurch die Tangle – das ist die Blockchain von IOTA – zum Stillstand kam und keine weiteren Transaktionen prozessierte. Es hat Vorteile, nicht dezentral zu sein, wenn es zu Problemen kommt.

Anschließend begann die Foundation, Ausmaß und Ursache des Hacks zu erforschen. Recht bald stand fest, dass die Schuld bei der MoonPay-Integration in die Trinity-Wallet zu finden war. MoonPay ist ein Wechselservice, der es Usern der Trinity-Wallet seit Dezember 2019 erlaubte, mit Kreditkarten IOTA-Token direkt in der Wallet zu kaufen. MoonPay wurde durch ein Content Delivery Network (CDN) in Trinity integriert, was bedeutet, dass der Code hierfür nicht von der Trinity-Wallet selbst, sondern von einem Drittanbieter geliefert wurde. Dem Hacker war es nun gelungen, den Code durch einen eigenen zu ersetzen, der die privaten Schlüssel in der Wallet ausspähte.

Eine Einsicht in die Logfiles des DNS-Providers  von MoonPay, Cloudflare, erbrachte schließlich die Einsicht, dass der Hack von langer Hand geplant und professionell ausgeführt worden war. Die Integration von MoonPay in Trinity begann im September 2019, die ersten geschlossenen Beta-Tests waren ab November verfügbar und wurden rasch durch Leaks bekannt. Am 26. November veröffentlichte die IOTA-Foundation den Code für die MoonPay per GitHub. Einen Tag später, am 27. November, konnte der Hacker mit einem Cloudflare API-Schlüssel den Endpunkt der MoonPay-API manipulieren und alle Daten abfangen. Nach einigen Tests im Dezember – die aus den Logs ebenfalls hervorgehen – begann der Hacker den Angriff auf die Trinity-Wallets am 25. Januar, indem er die manipulierte Software über das CDN auslieferte.

Über die folgenden zwei Wochen schliff der Angreifer an seinem Code und an der Technik, um heimlich die privaten Schlüssel auszuspähen. Dieser Prozess hielt bis zum 10. Februar an, ohne dass bisher jemand etwas davon mitbekam. An diesem Tag entdeckte MoonPay endlich, dass ein unerlaubtes Routing stattfand und löschte den betreffenden API-Key, allerdings ohne die IOTA-Foundation zu informieren. Als dem Hacker klar wurde, dass er aufgeflogen war, blieb ihm nichts anderes übrig, als die Früchte seiner Arbeit zu ernten. Er begann am 11. Februar, mittels der extrahierten privaten Schlüssel Transaktionen auszuführen. Laut Schätzung der IOTA-Foundation waren 50 User betroffen, die insgesamt 8,55 TeraIOTA-Token verloren haben, was derzeit gut 2 Millionen Euro entspricht.

Analyse und Schadensbegrenzung

Die IOTA-Foundation räumt ein, einen Fehler begangen zu haben. Man war sich bewusst, dass CDNs trotz der weiten Nutzung im Netz Risiken bergen. Daher habe man bereits im Vorfeld ein NPM-Module (Node Package Manager) verlangt, welches die Sicherheit erhöht, und das von MoonPay auch später eingerichtet wurde. Allerdings haben „der Druck, zu veröffentlichen, sowie menschliches Versagen dazu geführt, dass die Foundation nicht bereits vor dem Start zu dem sichereren NPM-Paket gewechselt hat.“ Der Fehler sei vermeidbar gewesen, „wenn die Foundation die Veröffentlichung der Software durch einen intensiveren und teamübergreifenden Review-Prozess begleitet hätte.“

Ohne zuweit spekulieren zu wollen, frage ich mich auch, weshalb das MoonPay-Plugin für die Wallet überhaupt einen Zugriff auf die privaten Schlüssel hatte. Im Grunde benötigt es lediglich die öffentlichen Schlüssel, um IOTA-Token an diese zu senden. Es dürfte möglich sein, die öffentlichen von den privaten Schlüssel zu trennen und einem Plugin lediglich das Recht zu geben, die öffentlichen Schlüssel zu sichten. Hätte der Hack durch ein stärkeres Sicherheitsbewusstsein in der Wallet-Entwicklung verhindert werden können?

Aber es ist, wie es ist, und der IOTA-Foundation bleibt nur, Fehler einzugestehen und zu versuchen, den Schaden zu begrenzen. Die Abschaltung des Koordinators verhindert zumindest, dass der Hacker weitere Token überweist. Aber was nun?

Zunächst hat die Foundation eine neue Version von Trinity veröffentlicht, die nicht mehr angreifbar ist. Wer seine Trinity-Wallet seit dem 25. Januar nicht mehr geöffnet hat, dürfte gute Chancen haben, dass seine Schlüssel noch nicht in den Händen des Hackers sind. Er kann die neue Wallet-Version installieren und dürfte dann sicher sein. Mobile User sollten ebenfalls eine neue Version installieren, in der das MoonPay-Plugin nicht länger enthalten ist.

Anschließend begann die Foundation, die gestohlenen IOTA-Token durch Blockchain- bzw. Tangle-Analysen aufzufinden. Dazu haben sie die Hilfe mehrere Sicherheitsexperten und Cyperforensiker in Anspruch genommen und den Vorfall der Polizei in Deutschland, Großbritannien und Malta sowie dem FBI gemeldet. Die Absicht dürfte hier sein, Zugang zu großen Börsen wie Bitcoin.de (Deutschland) und Binance (Malta) zu bekommen, auf denen IOTA gehandelt wird. Die Foundation hat zudem alle relevanten Börsen informiert, um mit diesen zusammen herauszufinden, wohin die gestohlenen Token transferiert wurden, und sie gebeten, diese gegebenenfalls einzufrieren.

Ein Kernproblem besteht aber weiterhin: Die IOTA-Foundation weiß nicht, wie viele User betroffen sind. Wie bei einer Virenepidemie ist zwar bekannt, bei wie vielen Usern etwas ausgebrochen ist – das sind die 50 Wallets, von denen Guthaben abgezogen wurden – aber die Foundation weiß nicht, von wie vielen Wallets der Hacker die privaten Schlüssel besitzt, ohne diese bisher benutzt zu haben, was so ist, wie wenn jemand infiziert ist, aber (noch) keine Symptome zeigt. Egal was die Foundation nun macht, egal wie viele Sicherheitslücken sie in Trinity schließt – sie kann nicht ausschließen, dass User ihre Coins verlieren werden, wenn sie den Tangle wieder anwirft.

Das einzige, was sie nun tun kann, ist, die User aufzufordern, ihre Token sicher auf andere private Schlüssel zu migrieren. Für diesen Zweck wird sie ein Migrationswerkzeug bereitstellen. Durch dieses können User einen Anspruch auf die Coins in ihrer Wallet erheben, den die Foundation prüfen wird. Sollte es Zweifel an der Legitimität dieses Anspruchs geben, wird die Foundation eine KYC-Prüfung machen, also die Identität des Users validieren. Dieser Prozess soll maximal zehn Tage dauern und damit abgeschlossen werden, dass die Foundation den Tangle wieder anwirft.

Bisher scheint aber noch nicht klar zu sein, ab wann das Migrations-Took bereitsteht. Vermutlich Anfang März. Ungünstig ist auch, dass es vermutlich nicht jedem User gelingen wird, in der entsprechenden Zeitspanne seinen Anspruch zu erheben, und dass nicht klar ist, wie die Foundation damit umgehen wird.

Was lernen wir daraus? Eine Menge!

Der Vorfall ist der erste große Hack einer Krypto-Wallet. Bisher haben User zwar Coins auf Online-Wallets oder Börsen verloren, wenn es zu Hacks kam. Dass eine weithin genutzte, vom zentralen Akteur einer Kryptowährung herausgegebene, lokale Wallet eine Sicherheitslücke hatte, kam bisher noch nicht vor. Zumindest soweit mir bekannt ist.

Kein Fall dürfte so gut geeignet sein, dass Mantra „Nicht deine Schlüssel, nicht deine Coins“ zu hinterfragen, und das Konzept in Zweifel zu ziehen, dass Kryptowährungen es Usern erlauben, mit einer simplen Software ihre eigene Bank zu sein. Wer nicht in der Lage ist, die Software der Wallet zu analysieren – und zwar in einer Weise, die auch trickreiche und professionell ausgeführte Hacks entlarvt – sollte sich zweimal überlegen, ob er wirklich seine eigene Bank sein will, was im Umfeld der Kryptowährungen bedeutet, einen womöglich unsicheren Safe durch einen Wald voller Räuber zu transportieren. Was hier ausgenutzt werden kann, das wird ausgenutzt. Gnadenlos.

Neben diesem Vertrauensverlust unter den Usern fordert der Vorfall auch die IOTA-Foundation dazu auf, in sich zu gehen und zu fragen, wie sie verhindern kann, dass sich so etwas künftig wiederholt. In einem Blogpost verspricht sie, die Anforderungen an die Sicherheit künftig höher zu schrauben, mit der Implementierung von Plugins einer dritten Partei sehr viel vorsichtiger zu sein und verstärkt mit externen Sicherheits-Prüfern zusammen zu arbeiten. Ferner möchte sie ihre Analyse-Werkzeuge verbessern, um im Falle eines Hacks schneller und effizienter herauszufinden, was mit den Token passiert, um diese dann bei Börsen einfrieren zu lassen.

Das Vorgehen der IOTA-Foundation mag ohne Zweifel den Geschädigten helfen, ihre Coins eventuell wiederzubekommen, und verhindern, dass es zu weiteren Schäden kommt. Angesichts der Tatsachen und ihrer Optionen dürfte die Foundation gar keine andere Wahl gehabt haben, als so zu handeln. Sie enthüllt damit aber auch, dass IOTA weiterhin keine dezentrale Kryptowährung ist, sondern das Projekt einer zentralen Foundation mit Sitz in Berlin. Bastian Lipp, Vorstand des Bundesverbands Bitcoin, schreibt daher auch so empört wie berechtigt auf Bitcointalk:

„Die IOTA Foundation sieht es also offensichtlich nicht bloss als ihr Recht/ihre Pflicht an, den eigenen Tangle zu kontrollieren, sondern auch die Benutzung der eigenen Tokens durch Dritte!“ Lipp hat Verständnis dafür, dass die Geschädigten dies gerne in Kauf nehmen. „Nur kann sich die IOTA Foundation ab dem heutigen Tage nicht länger darauf berufen, für irgendetwas anderes zu stehen als für die vollständige Kontrolle, Zensur, Allmacht über den Tangle und die darin enthaltenen Tokens. Ich würde soweit gehen, den 21.02.2020 als Tag der Machtergreifung der IOTA Foundation zu schmähen.“

Natürlich ist sich Bastian bewusst, dass seine Wortwahl sehr drastisch ist. Aber er hat nicht unrecht – es dürfte kaum einen Fall bei Kryptowährungen geben, bei denen ein zentraler Akteur so drastisch seinen Anspruch auf Kontrolle über einen Coin durchgesetzt hat.

Die mobile Version verlassen