Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete

Quelle: PR

Fomo3D: Wie ein Hacker das Schneeballsystem überlistete

Am 22. August hat jemand die erste Runde von Fomo3D gewonnen. Eine Analyse von SECBIT Labs zeigt, dass hinter diesem Sieg ein kontrollierter Angriff auf das Spiel stand. 

Auch wenn es schon vor über einer Woche passierte, lohnt sich ein detailreicher Blick: Am 22. August 2018 gewann ein Unbekannter die erste Runde von Fomo3D – und damit fast 10.500 Ether. Das entspricht nach aktuellem Preis ungefähr 3 Millionen US-Dollar.

Alles deutet darauf hin, dass der Gewinner kein normaler Teilnehmer war, sondern verschiedene Tricks anwandte, um das Spiel zu seinen Gunsten zu manipulieren. SECBIT Labs haben die Strategie des hinter der Adresse 0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85 stehenden Gewinners/Hackers genauer untersucht. Die Details hinter dem Gewinn der ersten Runde von Fomo3D lesen sich wie ein Cyberkrimi, in der ein großer Scammer ein Spiel/Schneeballsystem manipulierte.

Wie funktioniert Fomo3D?

BTC-ECHO hat Fomo3D in einem Artikel kurz beschrieben. Das grobe Spielprinzip lässt sich als „Spiel mit der Gier“ zusammenfassen: Ein Timer zählt herunter. Während dieses Countdowns können Mitspieler sich einen „Private Key“ kaufen. Mit jedem Kauf werden diese Keys teurer. Wenn jedoch für eine bestimmte Zeit kein Kauf stattfindet oder ein globaler Countdown abgelaufen ist, hat jener, der den letzten Key kaufte, 48 Prozent des gespeicherten Ethers. Der Rest wird zwischen verschiedenen Teams aufgeteilt, die für unterschiedliche Strategien stehen. Wer mehr über die Regeln erfahren möchte, sei auf das Wiki von Fomo3D verwiesen.

Spurensuche auf der Blockchain

Dank der Transparenz der Ethereum-Blockchain lässt sich der Sieg der Entität hinter der Adresse  0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85 gut nachvollziehen. Für uns interessant ist die Entwicklung zwischen 6:48 und 6:50 des 22. August 2018.


Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete
[Anzeige]
Bitcoin, Ethereum, Ripple, IOTA und die bekanntesten Kryptowährungen auf Plus500 handeln. Warum Plus500? Kostenloses Demo-Konto; Mobile Trading-App; Einzahlungen per PayPal; große Auswahl an verschiedenen Finanzprodukten (Kryptowährungen, Aktien, Rohstoffe, ETFs, Devisen, Indizies).

Jetzt kostenloses Konto eröffnen

Die entsprechenden Blöcke auf der Ethereum-Blockchain, Block 6191898 und 6191908, sind ungewöhnlich klein. Sie enthalten durchschnittlich 14 Transaktionen – was deutlich geringer als die 100 Transaktionen ist, die es durchschnittlich alle 15 Sekunden in einen Block schaffen.

Im Kontrast dazu beinhalten die Blöcke Transaktionsgebühren von durchschnittlich 21 US-Dollar, was fast viermal so hoch wie das Allzeithoch Anfang 2018 ist. Der Angreifer hat also bewusst Transaktionen mit hohen Gebühren initiiert.

Das allein wäre für so manchen Miner ein Honeypot, der schnell wenige, aber lukrative Transaktionen zu einem Block zusammenfasst und so diese vor anderen Minern bearbeitet. Über Etherscan lässt sich jedoch bestätigen, dass die relevanten Blöcke von unterschiedlichen Minern gemint wurden. Einige der erfolgreichen Miner waren SparPool, BitClubPool, Nanopool oder Ethermine.

Wir können über die Blockchain nachvollziehen, dass alle relevanten Transaktionen indirekt an den Gewinner von Fomo3D gingen; dazwischen war ein Smart Contract geschaltet. Der Quellcode von diesem ist leider nicht einsehbar, aber man kann vermuten, was der Smart Contract tat. SECBIT Labs vermutet, dass der Smart Contract zwei Funktionen durchführte.

Ein Block hinter den Contract des Hackers

Zum einen griff er auf eine Funktion hinter Fomo3D zu: Über getCurrentRoundInfo() kann man Informationen wie das Ende der Runde oder den letzten Käufer erhalten.

Mit diesen Transaktionen wird es noch seltsamer: sie schlugen alle fehl. Außerdem ist immer das Gas-Limit erschöpft. Anscheinend wandte der Smart Contract zum zweiten einen Trick an, mit dem das Block Limit, welches die jeweiligen Miner vorgaben, schnell erreicht werden konnte. Es ist bekannt, dass der Solidity-Befehl assert(), speziell wenn dies zu einem Fehler führt, viel Gas benötigt. Da dieser zu dem Fehler „Bad Instruction“ beziehungsweise dem 0xfe-Opcode führt, kann man bestätigen, dass alle fehlgeschlagenen Transaktionen eben assert() nutzten.

Fassen wir zusammen: Der Angreifer konnte über getCurrentInfo() abschätzen, wie knapp aktuell die Deadline ist und ob er der aktuell letzte Key-Käufer ist. Über den Missbrauch der assert()-Funktion konnten Blöcke bezüglich des Gases schnell gefüllt werden. Wenn die Zeit zu Ende ging und der letzte Käufer der Angreifer war wurde das Gas Limit der Blöcke wie oben beschrieben durch Manipulation erreicht. Durch vielfaches Anwenden konnte der Angreifer das Spiel beschleunigen und die Gewinnwahrscheinlichkeit für sich selbst extrem hochmanipulieren.

Soweit war es schon recht genial. So genial, dass der Smart Contract auch bei anderen derartigen Spielen genutzt wurde, beispielsweise bei Super Card. Auch Last Winner zeigt ähnliche Auffälligkeiten, würde jedoch hier den Rahmen sprengen.

Lessons Learned nach Fomo3D

Bei Spielen mit starkem Schneeball-Charakter wie Fomo3D oder Last Winner passt es, zynisch betrachtet, dass der Gewinner mit unlauteren Mitteln gewann. Außerdem zeigt die Raffinesse der Hacker sowohl die Möglichkeiten als auch die Risiken von Smart Contracts, speziell wenn diese miteinander interagieren.

Im März haben wir eine Studie diskutiert, nach der drei Prozent aller Smart Contracts Sicherheitslücken besitzen. In dem verlinkten Artikel wurde darauf hingewiesen, dass man auf Formulierungen wie xxx is yyy achten und ohnehin besonders skeptisch sein sollte bei Smart Contracts im Opcode oder Bytecode, sprich sie nicht in Solidity sein sollten. Was die Entwicklungen im Kontext um Fomo3D und ähnlichen Spielen betrifft, heißt das auch, dass man sich um andere Smart-Contract-basierte Spiele Sorgen machen sollte. Die wichtigste zusätzliche Lesson learned ist, dass man das Verhalten der Mitspieler genauer beobachten sollte. Dank der Transparenz der Blockchain ist das, wie SECBIT bewiesen, auch möglich.

BTC-ECHO

Mehr zum Thema:

Ähnliche Artikel

Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete
Bezahlen mit Bitcoin? Wirex lanciert Debitcard für Asien-Pazifik (APAC)
Bitcoin

Wirex hat anlässlich der FinTech Week in Singapur seine neue Visa Travelcard für den asiatisch-pazifischen Wirtschaftsraum lanciert. Die Debitkarte unterstützt neben diversen Fiatwährungen auch Bitcoin & Co. Bezahlen mit Bitcoin ist möglich – jedoch nicht direkt.

Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete
5 Twitter Threads für den perfekten Bitcoin Pitch
Bitcoin

Für viele Bitcoiner avanciert Twitter zum Medium Nr. 1. Denn anstatt von Hass und Hetze werden hier zum Teil hochkomplexe Ideen besprochen. Besonders geeignet sind dafür sogenannte Threads.

Newsletter

Die aktuellsten News kostenlos per E-Mail

Aktuell

Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete
Iran: Bittrex-Kunden erhalten eingefrorene Bitcoin zurück
Unternehmen

Die Bitcoin-Börse Bittrex wird iranischen Kunden eingefrorene Gelder zurückzahlen. Das geht aus Berichten in den sozialen Medien hervor.

Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete
Tunesiens Zentralbank gibt digitale Währung „E-Dinar“ heraus
Altcoins

Tunesiens Zentralbank hat die Einführung einer digitalen Währung bekannt gegeben. Die Blockchain-Plattform, auf der der E-Dinar gehandelt wird, wird vom russischen Unternehmen Universa bereitgestellt. Als erste digitale Währung wird der E-Dinar von einer Zentralbank herausgegeben. Andere Zentralbanken stehen jedoch bereits in den Startlöchern und könnten bald nachziehen. 

Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete
Themenpark in Thailand erhält eigenen Security Token
Blockchain

In der jüngsten Vergangenheit gab es immer wieder Projekte, die Häuser oder Grundstücke quasi auf die Blockchain setzten. Die Immobilien selbst blieben hierbei natürlich an ihrem Platz, allerdings erhielten Investoren die Möglichkeit, einen Teil des Grundstücks in der Form eines Token zu erwerben. In Thailand setzt sich dieser Trend nun fort, dieses Mal landete allerdings ein ganzer Themenpark auf der Kette.

Fomo3D, Fomo3D: Wie ein Hacker das Schneeballsystem überlistete
Indien: Jeder zehnte Kaffeebauer nutzt die Blockchain
Blockchain

Eine blockchainbasierte Handelsplattform soll die wirtschaftliche Existenz von Indiens Kaffeebauern sichern: Nach einem schweren Start im März beginnt die neue Saison ohne Mittelsmänner.

Angesagt

Bezahlen mit Bitcoin? Wirex lanciert Debitcard für Asien-Pazifik (APAC)
Bitcoin

Wirex hat anlässlich der FinTech Week in Singapur seine neue Visa Travelcard für den asiatisch-pazifischen Wirtschaftsraum lanciert. Die Debitkarte unterstützt neben diversen Fiatwährungen auch Bitcoin & Co. Bezahlen mit Bitcoin ist möglich – jedoch nicht direkt.

Ethereum in der Finanzwelt: ConsenSys investiert in ACTUS-Protokoll
Blockchain

ConsenSys Labs investiert in das schweizerische FinTech-Start-up Atpar. Das Unternehmen entwickelt das ACTUS-Protokoll, das eine Interoperabilität von Finanzdienstleistungen im Bankenwesen verspricht. ConsenSys fördert Projekte, die Finanzanwendungen im Ethereum-Ökosystem unterstützen.

Bitcoin kämpft mit 9.000 US-Dollar, Kurs von Dx Chain Token explodiert: Altcoin-Marktanalyse
Kursanalyse

Auch diese Woche schafft es der Kryptogesamtmarkt nicht die Marke von 245 Milliarden US-Dollar auf Tagesbasis zu überwinden. Aktuell oszilliert die Gesamtmarktkapitalisierung um den exponentiell gleitenden Mittelwert der letzten 200 Tage bei 236 Milliarden US-Dollar.  Somit bewegt sich der Gesamtmarkt in einer engen Spanne von knapp zehn Prozent. Der Unterstützungsbereich um 230 Milliarden US-Dollar auf Wochensicht gibt dem Kurs weiterhin Halt und lässt den Markt abermals seitlich tendieren.

Singapurs Zentralbank und J.P. Morgan testen Blockchain-Überweisungen
Blockchain

Die Monetary Authority of Singapore (MAS), die Zentralbank Singapurs, hat gemeinsam mit J.P. Morgan ein Blockchain-Netzwerk für grenzüberschreitende Zahlungen entwickelt. Das blockchainbasierte Netzwerk Ubin unterstützt Transaktionen in verschiedenen Währungen über dieselbe Plattform und führt den Zahlungsverkehr über eine Schnittstelle zusammen.