Inhaltsverzeichnis

  • Wie ein Eclipse-Angriff funktioniert

  • Die Folgen eines Sonnenfinsternis-Angriffs

    • „Doppelte Ausgaben“ ohne Bestätigung

    • „Doppelte Ausgaben“, die N-malige Bestätigung erfordern

    • Reduzieren Sie den Wettbewerb zwischen Bergleuten

  • Verlangsamen Sie die Auswirkungen des Sonnenfinsternis-Angriffs

  • Zusammenfassen


Ein Eclipse-Angriff ist ein relativ einfacher Basisangriff, mit dem ein Angreifer in Knoten in einem Netzwerk eingreifen kann. Wie der Name schon sagt, kann dieser Angriff den angegriffenen Knoten im Peer-to-Peer-Netzwerk daran hindern, effektive Informationen zu erhalten, wodurch eine Netzwerkunterbrechung verursacht oder komplexere Angriffe vorbereitet werden.

Oberflächlich betrachtet ähnelt der Eclipse-Angriff dem Sybil-Angriff. Obwohl sie einige Gemeinsamkeiten aufweisen (ein Angreifer stört das Netzwerk, indem er Knoten angreift), unterscheiden sich ihre letztendlichen Angriffsziele. Eclipse-Angriffe zielen auf einen einzelnen Knoten ab (aus den unten erläuterten Gründen), während Sybil-Angriffe auf das gesamte Netzwerk abzielen und darauf abzielen, die Reputation von Netzwerkprotokollen zu manipulieren.

Das Konzept wird ausführlich in der Arbeit „Eclipse Attacks on the Bitcoin Peer-to-Peer Network“ aus dem Jahr 2015 diskutiert, in der Forscher der Boston University und der Hebrew University über die Ergebnisse ihrer Experimente mit Eclipse-Angriffen und präventive Maßnahmen zu deren Bekämpfung berichteten.


Wie ein Eclipse-Angriff funktioniert

Bitcoin-Miner benötigen spezielle Geräte, um neue Blöcke zu generieren und zu verifizieren, aber Nicht-Mining-Knoten (oder vollständige Knoten) benötigen für den Betrieb nur sehr wenig Rechenleistung. Auf diese Weise kann jeder mit günstigen Geräten einen Node betreiben, was auch zur Dezentralisierung von Bitcoin beiträgt. Das Softwareprogramm unterhält eine Transaktionsdatenbank, die mit Peers synchronisiert wird, um mit dem Netzwerk synchron zu bleiben.

Der limitierende Faktor für die Verbindung einer großen Anzahl von Knoten ist die Bandbreite. Obwohl es eine große Anzahl von Geräten gibt, auf denen das Programm ausgeführt werden kann, ist die Anzahl der im Bitcoin-Netzwerk festgelegten Verbindungen begrenzt (maximal 125 Verbindungen) und normale Geräte können nicht direkt mit anderen Geräten verbunden werden.

Bei einem Eclipse-Angriff stellt der Angreifer sicher, dass alle Verbindungen zum Ziel auf vom Angreifer kontrollierten Knoten hergestellt werden. Der Angreifer sendet zunächst eine Flut von seiner eigenen IP-Adresse an die Zieladresse, und das Opfer kann sich beim Neustart des Programms mit der IP-Adresse des Angreifers verbinden. Sie können einen Neustart erzwingen (d. h. einen DDoS-Angriff auf das Ziel durchführen) oder einfach warten, bis das Programm automatisch neu startet.​

In diesem Fall sind ahnungslose Opfer böswilligen Knoten ausgeliefert und der Angreifer füttert sie mit falschen Daten, die sie im realen Netzwerk nicht erhalten können.


Die Folgen eines Sonnenfinsternis-Angriffs

Für Angreifer besteht ein Anreiz zu solchen Angriffen, wenn es ihnen gelingt, einen Netzwerkknoten durch den Verbrauch seiner Ressourcen vom Netzwerk zu trennen. Ist ein Knoten isoliert, kann ein Angreifer mehrere aufeinanderfolgende Angriffe durchführen.


„Doppelte Ausgaben“ ohne Bestätigung

Akzeptiert ein unabhängiger Node eine unbestätigte Transaktion, besteht die Gefahr von „Double Spending“. Wenn die stattgefundene Transaktion möglicherweise vor dem Eintritt in den Block (der Übermittlung an die Blockchain) gesendet wurde, kann der Absender problemlos an anderer Stelle eine neue Transaktion durchführen und den gleichen Betrag wie bei der vorherigen Transaktion ausgeben. Wenn die neu generierte Transaktionsgebühr höher ist, priorisieren die Miner die Transaktion und betrachten sie als erste Transaktion, wodurch die erste Transaktion ungültig wird.​

Einige Händler und Privatpersonen akzeptieren diese 0-Bestätigungstransaktionen. Denken Sie an Bob, einen Geschäftsmann, der Luxusautos verkauft. Er wusste nicht, dass Alice einen Eclipse-Angriff auf seinen Knoten gestartet hatte, und er hatte keinen Verdacht, als er sah, wie sie einen Luxussportwagen bestellte. Alice erstellt die Transaktion und Bob sendet sie an das Netzwerk. Als er sah, dass die Zahlungsnachricht bestätigt werden sollte, war er sehr zufrieden und reichte Alice die Autoschlüssel, die mit hoher Geschwindigkeit davonfuhr.

Tatsächlich wurde die Transaktion nicht an das Netzwerk gesendet, sondern nur an Alices böswilligen Knoten weitergeleitet, und der von Alice kontrollierte böswillige Knoten leitete die Transaktion nicht an den realen Knoten weiter. Daher gilt die Transaktion als ungültig. Zu diesem Zeitpunkt zahlt Alice den gleichen Betrag im (realen) Netzwerk, entweder an sich selbst oder an eine andere Person. Selbst wenn die ursprüngliche Transaktion mit Bob schließlich im realen Netzwerk sichtbar ist, kann die Transaktion nicht überprüft werden, da das Guthaben auf Alices Konto aufgebraucht ist.


„Doppelte Ausgaben“, die N-malige Bestätigung erfordern

„Doppelte Ausgaben“, die N Bestätigungen erfordern, ähneln „doppelten Ausgaben“, die keine Bestätigung erfordern, erfordern jedoch mehr Vorbereitungsarbeit. Viele Händler warten lieber eine bestimmte Anzahl an Bestätigungen ab, bevor eine Zahlung als gültig markiert wird. Um das Problem zu lösen, müsste ein Angreifer sowohl Miner- als auch Merchant-Knoten einem Eclipse-Angriff aussetzen. Wenn ein Angreifer eine Bestellung bei einem Händler aufgibt, sendet er die Transaktion an die Miner. Händler können bestätigte Transaktionen im Blockchain-Netzwerk sehen, aber da die Netzwerke, in denen sich Miner und Händler befinden, isoliert sind, wird die Blockchain von den meisten echten Knotenpunkten nicht beobachtet.

Der Angreifer schickte die falschen Blockchain-Netzwerkinformationen an den Händler, und nachdem der Händler sah, dass die Transaktion bestätigt worden war, übergab er die Ware. Wenn diese Knoten, die einen Eclipse-Angriff erlitten haben, wieder dem realen Netzwerk beitreten, betrachtet das echte Blockchain-Netzwerk diese Knoten als ungültig und isoliert diese Knoten (dies ähnelt einem 51-Prozent-Angriff).


Reduzieren Sie den Wettbewerb zwischen Bergleuten

Von einem Eclipse-Angriff betroffene Knoten bleiben weiterhin in Betrieb und werden nicht durch die Isolierung vom Netzwerk beeinträchtigt. Miner verifizieren weiterhin Blöcke innerhalb der im Protokoll festgelegten Regeln, hinzugefügte Blöcke werden jedoch beim Durchgang durch reale Netzwerkknoten verworfen.

Theoretisch könnte ein massiver Eclipse-Angriff auf einen großen Teil der Miner genutzt werden, um einen 51-Prozent-Angriff zu ermöglichen. Derzeit ist der Aufwand selbst für den einfallsreichsten Angreifer zu hoch, um den Großteil der Rechenleistung von Bitcoin (ungefähr 80TH/s) zu übernehmen, und der Angreifer müsste es zumindest mit mehr als 40TH/s versuchen.​

Geht man davon aus, dass diese Rechenleistung auf 10 Teilnehmer verteilt wird (jeder Teilnehmer hat ca. 8TH/s), kann ein Angreifer die Anforderungen eines 51 %-Angriffs deutlich reduzieren, indem er diese Teilnehmer vom Netzwerk isoliert. Wenn 5 der Knoten einen Eclipse-Angriff erleiden, kann der Angreifer die Rechenleistung um 40TH/s reduzieren, um den nächsten Block zu finden, und der Angreifer muss jetzt nur noch die Rechenleistung um 20TH/s erhöhen, um das Ziel des Angriffs auf den Knoten zu erreichen . Kontrolle.

Andere destruktive Aktivitäten, die durch einen Eclipse-Angriff auf ein Ziel erreicht werden können, umfassen die Manipulation von Knoten, um illegale Mining-Aktivitäten durchzuführen, oder die Ausnutzung des Rechenleistungswettbewerbs zwischen Minern, um den nächsten Block zu erhalten.


Verlangsamen Sie die Auswirkungen von Sonnenfinsternis-Angriffen

Mit genügend IP-Adressen kann ein Angreifer einen Eclipse-Angriff auf jeden Knoten durchführen. Der direkteste Weg, dies zu verhindern, besteht darin, den unbefugten Zugriff von Knoten zu blockieren und nur ausgehende Verbindungen zu bestimmten Knoten herzustellen (z. B. IPs, die von anderen Knoten im Peer-to-Peer-Netzwerk auf die Whitelist gesetzt wurden). Allerdings handelt es sich, wie das Forschungspapier betont, nicht um eine Lösung, die in großem Maßstab umgesetzt werden kann, und wenn alle Teilnehmer diese Maßnahmen ergreifen, werden neue Knoten nicht in der Lage sein, dem Netzwerk beizutreten.

Der Autor hat einige Anpassungen am Bitcoin-Programm vorgeschlagen und einige davon wurden nach Veröffentlichung des Whitepapers in das Bitcoin-Programm integriert. Durch kleine Änderungen am Code, wie die zufällige Auswahl neuer Verbindungen und die Erhöhung der Adressspeicherung, machen diese Maßnahmen Eclipse-Angriffe immer kostspieliger.


Zusammenfassen

Eclipse-Angriffe werden in einem Peer-to-Peer-Netzwerk durchgeführt. Als eigenständiger Angriffseinsatz können sie lästig sein. Der eigentliche Zweck eines Eclipse-Angriffs besteht darin, andere Angriffe durchzuführen, die größere Auswirkungen haben können, oder dem Angreifer einen Vorteil beim Mining zu verschaffen.

Im Allgemeinen hatten Eclipse-Angriffe noch keine ernsthaften Auswirkungen, und trotz der in Blockchain-Netzwerken eingesetzten Sicherheitsmaßnahmen besteht die Bedrohung weiterhin. Eclipse-Angriffe, wie die meisten Angriffe auf Bitcoin und die meisten anderen Kryptowährungen, besteht die beste Verteidigung darin, sie für böswillige Angreifer unrentabel zu machen.