Einleitung
Zano hat in einem aktuellen Nachbericht den Fehler offengelegt, der den außergewöhnlichen 30-tägigen Blockchain-Rücklauf erforderlich machte. Ein Angreifer nutzte eine fehlende Verifizierung in Gateway-Adressen aus, um in einer einzigen Transaktion etwa 18,4 Millionen ZANO zu prägen, und wiederholte diesen Trick mit fUSD.
Der Angriff
Der erste Angriff blieb fast einen Monat unbemerkt, während Zanos eigene Datenschutzmechanismen die gefälschten Münzen zunehmend von legitimen Münzen unterschieden. Zanos 30-tägiger Blockchain-Rücklauf klang bereits drastisch. Jetzt hat das Team erklärt, was sich darunter verbarg, und die Mechanik ist durchaus bemerkenswert.
Ein Fehler, der mit Hard Fork 6 eingeführt wurde, erlaubte es einem Angreifer, Münzen zu erstellen, die das Netzwerk als echt akzeptierte, beginnend am 29. August. Laut dem Entwicklerteam prägte der erste echte Angriff 2^64 Basiseinheiten, etwa 18,4 Millionen ZANO, in einer einzigen Transaktion. Niemand bemerkte es fast einen Monat lang.
Die Entdeckung
Als Zanos interne Werkzeuge am 25. September Alarm schlugen, war das gefälschte Angebot bereits in ein Datenschutzsystem verwickelt, das absichtlich so gestaltet war, dass Transaktionen schwer nachverfolgt werden konnten. Die Probleme begannen mit Gateway-Adressen, einem neuen Adresstyp, der mit Hard Fork 6 eingeführt wurde, um Zano die Integration mit zentralisierten Börsen (CEX), Brücken und anderen Diensten zu erleichtern.
Gateway-Ausgaben zeigen einen Betrag und eine Asset-ID, im Gegensatz zu Zanos standardmäßigen vertraulichen Ausgaben, bei denen beides verborgen ist. Die Implementierung fehlte jedoch eine kritische Verifizierung. Zano gab bekannt, dass ein Angreifer einen speziell berechneten Asset-Identifikator konstruieren konnte, der die Transaktionsnachweise des Netzwerks erfüllte, während er einen beliebigen Betrag in eine versteckte Ausgabe einschleuste.
„Kurz gesagt, jede Zano-Transaktion muss beweisen, dass Münzen gemäß den Konsensregeln erstellt wurden“, erklärte das Team. „Aufgrund einer fehlenden Verifizierung konnte ein Angreifer diesen Nachweis erbringen, während er zusätzliche Münzen innerhalb der Transaktion ‚versteckte‘.“
Die Auswirkungen
Diese Münzen waren keine bloßen Buchungseinträge. Das Team sagte:
„Diese Münzen fungierten als authentisches ZANO und konnten normal ausgegeben werden.“
Der Angreifer registrierte am 28. August eine Gateway-Adresse und zahlte die erforderliche Gebühr von 100 ZANO, um zu testen, ob Zano einen konstruierten, nicht existierenden Vermögenswert akzeptieren würde. Am nächsten Tag ging es los. Eine Transaktion prägte etwa 18,4 Millionen ZANO, die derzeit einen Wert von rund 102 Millionen Dollar haben.
Fast einen Monat später, am 24. September, tätigte der Angreifer zwei legitime Einzahlungen von jeweils nur 0,05 ZANO, anscheinend um den normalen Einzahlungsweg zu testen. Am 25. September wurde erneut 18,4 Millionen ZANO erstellt, gefolgt von demselben 2^64-Basiseinheiten-Manöver mit dem fUSD-Stablecoin. Insgesamt sind das mehr als 200 Millionen Dollar an illegalen Krypto-Token.
Die Reaktion von Zano
Hier ist der Clou: Zano hatte vor Hard Fork 6 Tests mit künstlicher Intelligenz (KI), Teamprüfungen und Bug-Bounty-Programmen durchgeführt. Keines davon entdeckte die Schwachstelle.
„Der ursprüngliche Angriff blieb fast einen Monat lang unentdeckt, weil die erhöhte Ausgabe wie jede andere private Ausgabe erschien“, sagte das Team.
Sobald die gefälschten Münzen in Zanos vertrauliches Transaktionssystem eingetreten waren, wurde es zu einer weiteren Herausforderung, genau zu bestimmen, wohin sie gingen. Ring-Signaturen mischen Ausgaben mit anderen Ausgaben, was dazu führt, dass sich die Unsicherheit jedes Mal ausbreitet, wenn Münzen bewegt werden.
Zano scannte jede Ausgabe, die potenziell mit den drei Präge-Transaktionen verbunden war. Bei Block 3.878.388 berührte die Spur 117.941 Ausgaben, die durch 65.301 Transaktionen erstellt wurden. Etwa 165.700 Ausgaben wurden anschließend aus der ersten Prägung erstellt, was etwa 71 % der Netzwerkaktivität während des Zeitraums darstellt.
„Das ist Datenschutz, der wie beabsichtigt funktioniert“, sagte Zano. „Niemand, einschließlich des Zano-Teams, kann genau bestimmen, welche Ausgaben betroffen sind.“
Das ließ das Projekt in einer Zwickmühle. Die sehr Datenschutzmerkmale, die die Benutzer von Zano erwarteten, verhinderten es den Entwicklern, legitime Münzen von unbefugten zu trennen.
Die Lösung
„Der einzige Weg, die Integrität des Angebots zu überprüfen, besteht darin, die Kette von einem Punkt vor dem ersten Angriff fortzusetzen“, erläuterte das Team. Dieser Punkt war Block 3.833.000, vor Hard Fork 6. Hard Fork 7 startete die Kette von dort neu und deaktivierte Gateway-Adressen, was bedeutet, dass Transaktionen, Staking-Belohnungen und abgebauten Blöcke aus dem betroffenen Zeitraum im aktualisierten Hauptbuch nicht mehr existieren.
Zano erklärte weiter, dass betroffene Salden vollständig wiederhergestellt werden, ohne das Angebot oder den Emissionszeitplan von ZANO zu ändern. Die Finanzierung wird aus dem Entwicklungsfonds, dem persönlichen Geld der Teammitglieder und externen Beiträgen kommen.
Börsen müssen nun einen Monat Aktivität durchgehen, Transaktion für Transaktion, bevor sie den Zugang wieder öffnen.
„Es sind derzeit keine Maßnahmen erforderlich“, sagte das Team den Benutzern in seinen sozialen Medien.
Das Zano-Team gab am Dienstag bekannt, dass ein Hotfix angewendet wurde und das Netzwerk stabil ist.