Eclipse-Angriffe erklärt
Grundlagen
In der Welt der Netzwerksicherheit kann ein Angriff namens "Eclipse" Knoten in einem Netzwerk stören. Das Ziel des Angreifers ist es, die Sicht eines Knotens auf das Peer-to-Peer-Netz zu verbergen, um aufwändigere Angriffe vorzubereiten oder allgemeine Störungen zu verursachen. Obwohl es Ähnlichkeiten zu Sybil-Angriffen gibt, bei denen gefälschte Peers das Netzwerk überschwemmen, konzentrieren sich Eclipse-Angriffe auf einen einzelnen Knoten. Im Gegensatz dazu zielen Sybil-Angriffe darauf ab, das Reputationssystem des Protokolls im gesamten Netzwerk zu manipulieren.
In einer 2015 veröffentlichten Arbeit mit dem Titel "Eclipse Attacks on Bitcoin's Peer-to-Peer Network" beschreiben Forscher der Boston University und der Hebrew University ihre Ergebnisse aus Experimenten zum Durchführen von Eclipse-Angriffen. Sie geben außerdem Vorschläge für mögliche Gegenmaßnahmen.
Wie funktioniert das?
Bitcoin-Mining erfordert spezialisierte Hardware, aber Low-End-Geräte können Nicht-Mining-Full-Nodes betreiben, die zur Dezentralisierung von Bitcoin beitragen. Diese Nodes synchronisieren eine Transaktionsdatenbank mit ihren Peers, um mit dem Netzwerk im Einklang zu bleiben. Bandbreite ist für viele Nodes oft ein begrenzender Faktor, da die Bitcoin-Software nur maximal 125 Verbindungen erlaubt.
Böswillige Akteure nutzen Eclipse-Angriffe, um Zielknoten zu stören, indem sie alle Verbindungen des Opfers auf angreiferkontrollierte Knoten umleiten. Der Angriff beginnt damit, dass die böswillige Partei das Ziel mit eigenen IP-Adressen überschwemmt, zu denen das Opfer wahrscheinlich bei einem Software-Neustart eine Verbindung herstellen wird. Dies kann entweder durch Erzwingen eines Neustarts via DDoS-Angriff erreicht werden oder indem man auf einen normalen Neustart wartet. Das Ziel wird so verwundbar gegenüber den Knoten des Angreifers und kann falsche Daten erhalten, ohne Sicht auf das weitere Netzwerk. Forscher der Boston University und der Hebrew University schlugen in ihrer 2015er Arbeit "Eclipse Attacks on Bitcoin's Peer-to-Peer Network" Gegenmaßnahmen vor.
Beispiele für weitere Aktionen von Angreifern
Wenn ein böswilliger Akteur einen Peer vom Netzwerk abschneidet, hat er wahrscheinlich einen bestimmten Grund dafür. Ein abgeschnittener Knoten ist anfälliger für nachfolgende Angriffe, die dann mit größerer Leichtigkeit gestartet werden können.
0-Bestätigungs-Double-Spends
Das Akzeptieren von Transaktionen ohne Bestätigungen birgt das Risiko eines Double Spends. Bis eine Transaktion einem Block in der Blockchain hinzugefügt wurde, kann der Sender eine neue Transaktion erstellen, die dieselben Mittel anderswo ausgibt. Hat die neue Transaktion eine höhere Gebühr, wird ein Miner sie wahrscheinlich vor der ursprünglichen aufnehmen, wodurch jene ungültig wird.
Einige Unternehmen und Privatpersonen akzeptieren solche 0-Bestätigungs-Transaktionen und sind so für Double-Spending anfällig. Zum Beispiel könnte ein Händler namens Charlie, der hochwertige Fahrzeuge verkauft, unwissentlich eine von einem böswilligen Akteur, Eve, eclipsed übermittelte Transaktion akzeptieren. In diesem Szenario sendet Charlie die Transaktion ins Netz in der Annahme, sie sei echt. Die Transaktion wird jedoch an Eves bösartige Knoten weitergeleitet, die nicht an ehrliche Knoten weiterreichen. Somit hängt die Transaktion in der Schwebe, während Eve dieselben Mittel im echten Netzwerk ausgeben kann. Wenn die ursprüngliche Transaktion gegenüber Charlie schließlich sichtbar wird, wird sie abgelehnt, da die Coins bereits ausgegeben sind.
N-Bestätigungs-Double-Spends
Den 0-Bestätigungs-Double-Spend-Angriff kann man durch Warten auf eine bestimmte Anzahl von Bestätigungen vermeiden. Um das zu umgehen, können Angreifer jedoch einen N-Bestätigungs-Double-Spend durchführen, der sowohl Miner als auch den Händler eclipsen muss. Nachdem der Angreifer eine Bestellung beim Händler aufgegeben hat, sendet er eine Transaktion an die eclipsed Miner, die bestätigt und in die Blockchain aufgenommen wird.
Diese Blockchain wird jedoch von der Mehrheit des Netzwerks nicht gesehen, da der Miner abgeschnitten ist. Der Angreifer leitet diese Version der Blockchain dann an den Händler weiter, der die Ware freigibt in dem Glauben, die Transaktion sei bestätigt. Wenn die eclipsed Nodes wieder mit dem tatsächlichen Netzwerk verbunden werden, wird die Blockchain, die sie für gültig hielten, von der Blockchain, an der der Rest des Netzwerks gearbeitet hat, verworfen. Diese Art von Angriff ist ähnlich einem 51%-Angriff.
Schwächung konkurrierender Miner
Wenn ein Knoten eclipsed ist, funktioniert er normal, ohne seine Abtrennung vom Netzwerk zu bemerken. Obwohl Miner weiterhin Blöcke produzieren, werden diese abgelehnt, wenn sie mit ehrlichen Peers synchronisiert werden. Zwar ist es derzeit zu teuer, dass ein Angreifer 51% der Bitcoin-Hashrate kauft, aber ein hypothetisches Szenario wäre möglich, in dem ein Angreifer durch Abschneiden eines bedeutenden Teils der verteilten Hashrate diese Macht erwirbt. Wenn ein Angreifer fünf der zehn Parteien mit je 8TH/s Hashrate eclipsed, bräuchte er nur etwas mehr als 20TH/s, um die Kontrolle zu übernehmen. Sabotage könnte auch Manipulationen durch selfish mining oder gezielte Miner-Rennen beinhalten.
Wie mildert man die Auswirkungen eines Eclipse-Angriffs?
Ein Angreifer kann jeden Knoten mit genügend IP-Adressen eclipsen, aber das Blockieren eingehender Verbindungen und das Herstellen nur ausgehender Verbindungen zu bestimmten Knoten kann dies verhindern. Dieser Ansatz ist jedoch nicht skalierbar, da neue Nodes dann nicht dem Netzwerk beitreten könnten. Die Autoren der Forschungsarbeit schlagen Änderungen an der Bitcoin-Software vor, von denen einige seit Veröffentlichung integriert wurden. Diese Modifikationen machen Eclipse-Angriffe teurer, etwa durch zufällige Auswahl neuer Verbindungen und größere Kapazität zur Speicherung von Adressen.
Fazit
Eclipse-Angriffe sind Angriffe auf der Ebene des Peer-to-Peer-Netzwerks. Obwohl diese Angriffe für sich genommen meist nur lästig sind, liegt ihre wahre Gefahr in ihrer Fähigkeit, andere finanziell schädigende Angriffe zu ermöglichen. Bislang hat es keine gravierenden Folgen durch Eclipse-Angriffe gegeben, doch die Bedrohung besteht trotz eingebauter Netzwerkschutzmaßnahmen weiterhin. Die beste Verteidigung gegen solche Angriffe besteht, wie bei den meisten Angriffsvektoren in Kryptowährungen, darin, sie für Angreifer finanziell untragbar zu machen.