Was ist ein Eclipse-Angriff?
HomeArticles

Was ist ein Eclipse-Angriff?

Fortgeschritten
2mo ago
6m

Inhalt


Ein Eclipse-Angriff ist ein relativ einfacher Angriff, den ein bösartiger Akteur ausführen kann, um Nodes in einem Netzwerk zu stören. Wie der Name schon andeutet, zielt der Angriff darauf ab, die Sichtweise eines Teilnehmers auf das Peer-to-Peer-Netzwerk zu verdunkeln, um allgemeine Störungen zu verursachen oder sich auf komplexere Angriffe vorzubereiten.

Eclipse-Angriffe können oberflächlich betrachtet vergleichbar ähnlich aussehen wie Sybil-Angriffe. Obwohl sie bestimmte Gemeinsamkeiten teilen – der bösartige Akteur überschwemmt das Netzwerk mit gefälschten Peers – das Endziel ist letztlich ein anderes. Ein Eclipse-Angriff zielt auf einen einzelnen Node (aus Gründen, die in einem späteren Abschnitt erläutert werden), während ein Sybil-Angriff ein netzwerkweiter Angriff ist, der darauf abzielt, das Reputationssystem des Protokolls zu manipulieren.

Das Konzept wird ausführlich im 2015 erschienenen Dokument  Eclipse Attacks on Bitcoin’s Peer-to-Peer Network diskutiert, in dem Forscher der Boston University und der Hebrew University über ihre Ergebnisse aus ihren Experimenten mit Eclipse-Angriffen sowie mögliche Gegenmaßnahmen zu deren Bekämpfung berichten.


Wie ein Eclipse-Angriff funktioniert

Bitcoin-Miner benötigen spezielles Equipment, um neue Blöcke zu generieren, aber Non-Mining- oder Full Nodes können leicht mit minimaler Rechenleistung betrieben werden. Dies unterstützt die Dezentralisierung von Bitcoin, da jeder einen Node auf einem Low-Spec-Gerät laufen lassen kann. Die Software führt eine Datenbank mit Transaktionen, die sie mit ihren unmittelbaren Peers synchronisiert, um im Einklang mit dem Netzwerk zu bleiben.

Ein limitierender Faktor für viele Nodes ist die Bandbreite. Obwohl es eine enorme Anzahl von Geräten gibt, auf denen die Software läuft, kann sich das durchschnittliche Gerät aufgrund der Einschränkungen in der Bitcoin-Software (die nur maximal 125 Verbindungen zulässt) nicht direkt mit vielen von ihnen verbinden.

Bei einem Eclipse-Angriff stellt der bösartige Akteur sicher, dass alle Verbindungen des Ziels zu angreifergesteuerten Nodes hergestellt werden. Die Entität wird das Ziel zunächst mit ihren eigenen IP-Adressen überfluten, mit denen sich das Opfer beim Neustart seiner Software wahrscheinlich verbinden wird. Ein Neustart kann entweder erzwungen werden (d.h. mit einem DDoS Angriff auf das Ziel), oder der Angreifer kann einfach darauf warten, dass er stattfindet. 

Sobald dies geschehen ist, ist das ahnungslose Opfer den bösartigen Nodes ausgeliefert – ohne Blick auf das weitere Netzwerk, sie können vom Angreifer mit falschen Daten versorgt werden.


Folgen eines Eclipse-Angriffs

Wenn ein Angreifer die Ressourcen aufwendet, um einen Peer aus dem Netzwerk herauszulösen, hat er wahrscheinlich ein Motiv, dies zu tun. Es gibt eine Handvoll aufeinanderfolgender Angriffe, die nach dem Abschotten eines Node leichter gestartet werden können.


0-Bestätigung Doppelausgaben

Wenn eine Person eine Transaktion ohne Bestätigungen akzeptiert, besteht das Risiko einer Doppelausgabe. Die Transaktion kann gesendet worden sein, aber bis sie in einen Block aufgenommen wurde (und somit an die Blockchain gebunden ist), kann der Absender leicht eine neue Transaktion erstellen, die das gleiche Geld woanders ausgibt. Wenn die neue Transaktion eine höhere Gebühr hat, wird ein Miner sie wahrscheinlich vor dem Original einfügen, wodurch die frühere ungültig wird. 

Einige Unternehmen und Einzelpersonen akzeptieren diese 0-Bestätigung-Transaktionen. Nehmen wir einen Händler, Bob, der High-End-Fahrzeuge verkauft. Er weiß nicht, dass Alice seinen Node angegriffen hat, und vermutet nichts, als sie eine Bestellung für einen Luxussportwagen aufgibt. Sie erstellt eine Transaktion, die Bob dann an das Netzwerk sendet. Zufrieden, dass die Zahlung auf dem Weg ist, übergibt er die Schlüssel zum Auto und Alice rast los.

Natürlich wurde die Transaktion nicht an das Netzwerk übertragen – Bob hat sie lediglich an Alice's bösartige Nodes weitergeleitet, die sie nicht an ehrliche Nodes weiterleiten werden. Während diese Transaktion in der Schwebe hängt, gibt Alice das gleiche Geld für das (reale) Netzwerk aus, sei es für eine andere Partei oder an eine Adresse, die sie besitzt. Selbst wenn die erste Transaktion für Bob schließlich gesehen wird, wird sie abgelehnt, da die Coins bereits ausgegeben wurden.


N-Bestätigung Doppelausgaben

Die N-Bestätigung Doppelausgaben sind ähnlich wie die der 0-Bestätigung, erfordern aber mehr Vorbereitung. Viele Unternehmen ziehen es vor, auf eine bestimmte Anzahl von Bestätigungen zu warten, bevor sie eine Zahlung als gültig markieren. Um dies zu umgehen, muss der Angreifer sowohl die Miner als auch den Händler per Eclipse-Angriff attackieren. Sobald der Angreifer die Bestellung mit dem Händler eingeleitet hat, sendet er eine Transaktion an die (per Eclipse-Angriff manipulierten) Miner. Die Transaktion wird bestätigt und in die Blockchain aufgenommen – aber diese Blockchain ist nicht die Chain, die die Mehrheit des Netzwerks beobachtet, da der Miner abgeschnitten ist.

Von dort aus leitet der Angreifer diese Version der Blockchain an den Händler weiter, der die Ware im Glauben freigibt, dass die Transaktion bestätigt wurde. Sobald die im Eclipse-Angriff manipulierten Nodes wieder dem eigentlichen Netzwerk beitreten, ist die Blockchain, von der sie fälschlicherweise glaubten, dass sie gültig ist, verwaist im Vergleich zu derjenigen, an der der Rest des Netzwerks gearbeitet hat (dies weist einige Ähnlichkeiten mit einem 51% Angriff auf).


Schwächung konkurrierender Miner

Ein manipulierter Node wird weiterhin betrieben, ohne zu wissen, dass er vom Netzwerk getrennt wurde. Miner werden weiterhin Blöcke innerhalb der im Protokoll festgelegten Regeln minen, aber die hinzugefügten Blöcke werden verworfen, da sie mit ehrlichen Peers synchronisiert werden. 

Theoretisch könnte ein groß angelegter Eclipse-Angriff auf wichtige Miner verwendet werden, um einen 51% Angriff zu ermöglichen. So wie es aussieht, sind die Kosten für die Übernahme der Mehrheit von Bitcoins Hashing-Power einfach zu hoch für selbst die einfallsreichsten Angreifer – bei ~80TH/s würde die Entität mehr als 40TH/s benötigen, um ein solches Manöver durchzuführen. 

In einem hypothetischen Szenario, in dem diese Hashing-Power auf 10 Parteien verteilt ist (so dass jeder 8TH/s besitzt), kann der Angreifer die Anforderungen an einen 51% Angriff deutlich senken, indem er diese Parteien vom Netzwerk ausschließt. Wenn fünf manipuliert werden, werden 40TH/s aus dem Rennen genommen, um den nächsten Block zu finden, und der Angreifer muss nun nur noch etwas mehr als 20TH/s bekommen, um die Kontrolle zu übernehmen.

Andere Formen der Sabotage, die durch den Eclipse-Angriff erreicht werden kann, beinhaltet die Manipulation von Knoten für Selfish Mining, oder der Einsatz von Wettkämpfen zwischen Minern zur Suche nach dem nächsten Block.


Eindämmung

Mit genügend IP-Adressen kann ein Angreifer jeden Knoten per Eclipse-Angriff manipulieren. Die einfachste Methode, dies zu verhindern, besteht darin, dass ein Operator eingehende Verbindungen blockiert und nur ausgehende Verbindungen zu bestimmten Nodes (z. B. solche, die von anderen Peers auf die Whitelist gesetzt wurden) herstellt. Wie das Forschungspapier betont, handelt es sich jedoch nicht um einen Ansatz, der im großen Stil funktioniert – wenn alle Teilnehmer diese Maßnahmen ergreifen, werden neue Nodes nicht in der Lage sein, sich dem Netzwerk anzuschließen.

Die Autoren schlagen eine Handvoll Optimierungen an der Bitcoin-Software vor, von denen einige seit der Veröffentlichung des Papiers integriert wurden. Diese machen Eclipse-Angriffe teurer durch kleinere Änderungen am Code, wie z.B. die zufällige Auswahl neuer Verbindungen und eine größere Kapazität zur Speicherung von Adressen.


Fazit

Eclipse-Angriffe werden auf Peer-to-Peer-Netzwerkebene durchgeführt. Als Standalone-Angriff eingesetzt, können sie eine Art Ärgernis darstellen. Ihre wahre Effektivität besteht darin, andere Angriffe zu verstärken, die sich finanziell auf die Ziele auswirken oder dem Angreifer einen Vorteil an der Mining-Ffront verschaffen.

In der Praxis gab es noch keine schwerwiegenden Folgen eines Eclipse-Angriffs, aber die Bedrohung besteht trotz der in das Netzwerk integrierten Gegenmaßnahmen. Wie bei den meisten Angriffsvektoren, die für Bitcoin und andere Kryptowährungen existieren, wird die stärkste Verteidigung diejenige sein, die es für böswillige Parteien finanziell unerschwinglich macht, sie zu versuchen.