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.

Über Christoph Bergmann (1905 Beiträge)
Das Bitcoinblog wird von Bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Christoph hat vor kurzem ein Buch geschrieben: Bitcoin: Die verrückte Geschichte vom Aufstieg eines neuen Geldes. Das Buch stellt Bitcoin in seiner ganzen Pracht dar. Ihr könnt es direkt auf der Webseite Bitcoin-Buch.org bestellen - natürlich auch mit Bitcoin - oder auch per Amazon. Natürlich freuen wir uns auch über Spenden in Bitcoin, Bitcoin Cash oder Bitcoin SV an die folgende Adresse: 1BergmanNpFqZwALMRe8GHJqGhtEFD3xMw. Wer will, kann uns auch Hier mit Lightning spenden. Tipps für Stories sind an christoph.bergmann@mailbox.org immer erwünscht. Wer dies privat machen möchte, sollte meinen PGP-Schlüssel verwenden.

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

  1. Erste große Hack einer Kryptowallet? Ich erinnere an den Hack der Komodowallet letzten Sommer. Das Problem war da fast 1 zu 1 dasselbe wie bei Iota.

  2. Heißt der berühmte Spruch nicht eher so:“Nicht deine Schlüssel, nicht deine Coins“. ? https://www.youtube.com/watch?v=dnC5mFaIW3Q

  3. „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.“

    IOTA ist natürlich zentralisiert. Allerdings hat die IOTA-Foundation auch nie was anderes behauptet. Der Coordinator wurde von Anfang an als „Training Wheel“ bezeichnet. Und genau diesen Zweck erfüllt er jetzt.
    Das Ziel der IOTA Foundation ist nach wie vor der Coordicide, d.h. die Abschaltung des Coordinators und damit die Dezentralisierung. Die Risiken sind momentan noch sehr hoch. Andererseits sollte man auch nicht das Potential IOTA’s übersehen.

  4. Stewie Geezus Is Alive // 25. Februar 2020 um 23:39 // Antworten

    „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.“
    Da scheint jemand den Bullshit-Coin HEAT noch nicht zu kennen xD

  5. Paul Janowitz // 26. Februar 2020 um 9:11 // Antworten

    Die Abschaltung der Tangle für wahrscheinlich mehr als einen Monat ist natürlich der Super GAU, insbesondere wie man das den ganzen „Industriepartnern“ vermitteln will, von denen glücklicherweise noch niemand darauf aufbaut. Andererseits gibt das ihnen eine Idee, dass jeder seine eigene Tangle bauen könnte und die totale Macht darüber behält, ganz ohne IOTA…

    Um den aktuellen Mess zu verstehen, muss man etwas weiter zurückblicken, als es nur die offizielle IOTA Wallet gab, die praktisch gar nicht funktionierte und oft auch nach 10 reattach Versuchen keine Transaktion in die Tangle bekam, ganz abgesehen vom nicht vorhandenen Seed Generator, der dann irgendwelche scammy Online Tools dafür aufpoppen ließ, die auch zu erheblichen Verlusten einiger User geführt haben.
    Das führte dazu, dass ein Student „Trinity“ in seiner Freizeit entwickelt hat und afaik irgendwann in die Foundation „einverleibt“ wurde und die offizielle Wallet mittlerweile nicht mehr weiterentwickelt / unterstützt wird. Es war ein Befreiungsschlag für IOTA, denn es gab eine tatsächlich funktionierende Wallet und man hat es nicht so genau genommen, den Code zu auditieren. Schlimmer, selbst umfassende Änderungen wie Moonpay Integration mit 50 Einzeländerungen an verschiedenen Codeteilen wurden scheinbar durch niemanden überprüft: https://github.com/iotaledger/trinity-wallet/pull/2364
    Das Repository hat auch kaum jemanden, der so etwas machen könnte: https://github.com/iotaledger/trinity-wallet/graphs/contributors
    Ein verheerendes Bild für die Foundation, die mittlerweile mit ihrer Heerschar an Mitarbeitern niemanden hat, der Änderungen am einzigen funktionierenden Wallet überprüft, ggf. Verbesserungen vorschlägt und Ähnliches.

    Das Nachladen von Code ist immer eine schlechte Idee, man kann sich dann die Veröffentlichung von Kontrollhashes oder gar Signieren der Binaries gleich sparen. Wenn man das dann noch von einem Drittanbieter tut und alle möglichen Prüfungen wie DNSSec, Hash, Signaturen weglässt, ist das grob fahrlässig, zumal es hier nicht um ein Pinball Game geht, sondern um reale Investments, was man mit der Anbindung zu einem Fiat-Gateway ja noch einmal unterstreicht…

    Die Aufarbeitung des Hacks ist noch lange nicht vorbei, denn niemand kann aktuell einschätzen, wie viele Seeds tatsächlich geleakt wurden. Sobald das „Migration“ Tool kommt, mit dem man seine Token claimen kann (diejenigen, die noch nicht unwiderruflich auf Exchanges gelandet sind), wir man 7 Tage haben, mit seinem Seed zu behaupten, dass man der rechtmäßige Eigentümer dieser ist um sie auf eine neue Wallet zu verschieben. Was, wenn der Angreifer alle Seeds auf diese Weise auf jeweils neue Wallets beansprucht? Im Falle von Double-Claims wird es einen aufwendigen KYC Prozess geben müssen, den die Foundation leisten muss und damit „Gericht“ spielt. Da man seine „Kunden“ aber nicht kennt und nicht explizit informieren kann, ist eine Frist von 7 Tagen zur Wahrung seines Anspruchs extrem kurz und könnte von Seiten geprellter User zu Ansprüchen gegen die Foundation führen, die diese Frist verpasst haben, weil sie nichts davon wussten.

    IOTA scheint seit seinen Anfängen immer getrieben gehandelt zu haben, man wollte schneller sein als z.B. Nano und hat offensichtlich unfertiges herausgebracht. Man haut mit neuen Ankündigungen um sich, diese Woche soll noch ein Proof of Concept von „Cubic“ kommen und ein Paper zu Sharding released werden.
    Vielleicht hat man einen ganz interessanten Ansatz einer nicht linearen DAG mit den großen Ankündigungen ohne Substanz auch verspielt, bevor ihn jemand wirklich ernst nehmen konnte… Deren Community ist aber ziemlich geschlossen hinter dem Projekt, man verzeiht sehr viel.

    @Hans Frosch
    Lieber Hans, man muss klar sagen, dass IOTA (bzw. die Founder, namentlich Sonstebo) anfangs sogar dreist behauptet hat, man müsse dem Coo gar nicht folgen, er gebe nur eine Art „Orientierungshilfe“. Dessen Abschaltung wurde anfangs auf 6-12 Monate projektiert und damals war von „Coordicide“ noch gar keine Rede.

  6. „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.“
    Das heißt im Umkehrschluss doch, dass wenn jemand mit viel Power, – z.B. ein Staat – der mit einer Überweisung nicht einverstanden ist, das System derart hacken kann, dass er entweder den User entlarvt, oder die Coins übernehmen kann.

    Ich denke da an die nachfolgende Meldung:
    https://bitcoinblog.de/2020/02/26/die-52-millionen-euro-die-die-irische-polizei-nicht-beschlagnahmen-kann/

    • Paul Janowitz // 27. Februar 2020 um 12:17 // Antworten

      Interessanter Denkansatz! Beim Claiming Prozess müsste sich die Foundation wahrscheinlich beugen, wenn z.B. ein Gericht oder Finanzamt bei ihr nach einem konkreten Bürger fragt um dessen Coins zu beschlagnahmen. Noch interessanter wird es, wenn man das weiterspinnt, nach dem Migrationsprozess und die Anfrage dann kommt. Dürfte der Coo dann noch eine ausgehende Transaktion von dieser Adresse bestätigen, wenn der Inhaber eindeutig per KYC verifiziert wurde? Der Coo wird ja nachweislich von der Foundation betrieben.

Schreiben Sie einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Wechseln )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Wechseln )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Wechseln )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Wechseln )

Verbinde mit %s