"Tote erben länger" – 2 Millionen Prämie für Bug in Blockchain-Projekt
Ein Hacker strich ein Bug-Bounty von 2 Millionen US-Dollar ein, weil er einem Blockchain-Projekt einen Fehler im Design ihrer Basis-Funktionen nachgewiesen hat.
Eines der zentralen Features der neueren Blockchains wie Ethereum sind die sogenannten Smart Contracts. Das sind letztlich kleine Progrämmchen, die auf der Blockchain selbst ausgeführt werden und damit insbesondere Finanz-Transaktionen ermöglichen. Da das alles jedoch oftmals mit heißer Nadel gestrickt und weitgehend ungetestet ist, finden sich da immer wieder Fehler, die dramatische Konsequenzen haben. In einem aktuellen Fall war ein solcher den Betreibern eines Blockchain-Projekts die Rekordprämie von über 2 Millionen US-Dollar wert.
Mehrfachvererbung bei Selbstmord
Das Problem betraf eine Bezahlinfrastruktur namens Optimism auf Basis von Ethereum. Seine Wurzel war die vom System bereitgestellte Selbstmord-Funktion, die früher wirklich Suicide heiß, dann aber in Selfdestruct umbenannt wurde. Damit kann ein Objekt (also konkret ein Smart Contract etwa auf der Ether-Blockchain) all seine Ressourcen freigeben. Insbesondere übergibt es dabei seine Crypto-Tokens an einen selbstbestimmten Erben.
Allerdings existierenden diese Smart Contracts nur auf der Blockchain. Also muss dieser Erbvorgang vonstattengehen, bevor das Objekt final terminiert wird, denn sonst gäbe es ja die damit verknüpften Tokens nicht mehr. Dummerweise vergaß die Selbstmord-Funktion (wohl angesichts des ohnehin unmittelbar bevorstehenden Endes) diese vererbten Tokens vom Konto des "Selbstmörders" abzubuchen. Weshalb dieser die Tokens dann erneut vererben konnte. Und dann noch mal und so weiter. Letztlich konnte ein Hacker seinen Smart Contract vor seinem wirklichen Ende aus dem Nichts beliebige Summen an Crypto-Geld erschaffen lassen.
Anders als andere Hacker meldete der Finder Jay Freeman das Problem bei Optimism. Das sind die Betreiber der auf Ethereum aufsetzenden Bezahlinfrastruktur mit dem Ether-Derivat OETH. Die fixten den Fehler dann auch recht zügig und belohnten den Finder mit der (meines Wissens) höchsten bislang ausgezahlten Prämie von 2.000.042 US-Dollar. Dass ein so junges, recht unbekanntes Projekt für einen solchen Fehler einfach mal über 2 Millionen auf den Tisch legen kann, sagt viel über den aktuellen Zustand der Crypto- und Blockchain-Blase. Aber das wird eine andere Geschichte.
Der Finder des Problems Jay Freeman mag vielen noch als Saurik bekannt sein. Unter diesem Pseudonym war er an einigen der ersten iPhone-Jailbreaks beteiligt und gründete mit Cydia einen alternativen App-Store für gejailbreakte iOS-Geräte. Er beschreibt die Hintergründe seiner Entdeckung sehr ausführlich in Attacking an Ethereum L2 with Unbridled Optimism. Die Betreiber des Blockchain-Projekts bilanzieren ihre Lehren aus dem Vorfall mit ungebremsten Optimismus (sorry, das musste jetzt doch noch raus).
(ju)