116 / 736SYBIL

Sybil Attack

Ein Angreifer hinter vielen scheinbar unabhängigen Teilnehmern

Hundert Konten müssen nicht hundert Menschen bedeuten. Eine Sybil Attack nutzt genau diesen Unterschied: Ein Angreifer tritt als viele Teilnehmer auf. Bitcoin wählt seine Historie deshalb nicht nach der Zahl verbundener Computer aus.

Bei einer Sybil Attack kontrolliert ein Angreifer viele Identitäten und stellt sie als unabhängige Teilnehmer dar. Zusätzliche Netzwerkverbindungen allein bringen ihm in Bitcoin weder mehr Rechenleistung beim Mining noch das Recht, Regeln zu ändern. Sie können ihm aber helfen, die Informationsquellen eines bestimmten Knotens zu beeinflussen.

Anna sucht einen Dienst anhand von Empfehlungen in einem Forum aus. Dutzende Konten loben ihn, doch alle gehören dem Betreiber. Die Zustimmung dieser Namen ist nicht unabhängig entstanden. John R. Douceur beschrieb das entsprechende Problem für Computernetzwerke 2002 in The Sybil Attack: Ein Angreifer kann mehrere Teilnehmer vortäuschen. Einen Namen zu erfinden ist leicht; passende Adressen, Server (Computer, die anderen Dienste bereitstellen) und Verbindungen können dagegen Geld und Zeit kosten. [1]

Ein Peer ist im Bitcoin-Netzwerk einfach die Gegenstelle, mit der Ihr Programm Daten austauscht. Peter kann mehrere Knoten betreiben, ein Unternehmen noch viel mehr. Bitcoin verlangt kein Personenregister, das jedem Menschen einen einzigen Knoten zuweist. Eine IP-Adresse bezeichnet ein Ziel im Netzwerk, zu dem das Programm eine Verbindung aufbaut. Eine andere IP-Adresse beweist deshalb keinen anderen Eigentümer. Mehrere Knoten zu betreiben ist auch noch kein Angriff; problematisch wird es, wenn ihre scheinbare Unabhängigkeit ausgenutzt wird. [1] [3]

Peters Full Node ist ein Programm, das die Bitcoin-Regeln selbst prüft. Unterschreiben bedeutet hier, mit einem privaten Schlüssel, einem geheimen Zahlenwert, einen überprüfbaren Nachweis für die Berechtigung zur Zahlung zu erzeugen. Andere können die Signatur prüfen, ohne diesen geheimen Wert zu kennen. Selbst wenn alle mit Peters Knoten verbundenen Peers eine Transaktion mit ungültiger Signatur schicken, lehnt er sie ab. Übereinstimmende Antworten zählen nicht als Stimmen. Ein Block bündelt Transaktionen, die in die gemeinsame Historie aufgenommen werden. Auch Blöcke werden geprüft, etwa auf bereits ausgegebene Mittel oder eine unzulässige Belohnung. Das Netzwerk liefert die Daten; über deren Gültigkeit entscheiden die Regeln des Knotens und nicht die Beliebtheit des Absenders. [2] [6] [9]

Manchmal existieren zwei konkurrierende gültige Zweige der Historie. Proof of Work ermöglicht den Vergleich ihrer angesammelten Arbeit: eines Gewichts, das sich aus der Schwierigkeit der gefundenen Blöcke ergibt. Mining erfordert tatsächliche Rechenversuche; ein umbenannter Computer fügt keine Arbeit hinzu. Verteilt ein Angreifer dieselben Mining-Geräte auf viele Identitäten, erhöht diese Aufteilung ihre Gesamtleistung nicht. Ein Konto, eine Stimme gilt hier also nicht. [2] [6]

Tausend Verbindungen ersetzen keinen privaten Schlüssel, mit dem fremde Bitcoin ausgegeben werden könnten. Zusätzliche Identitäten allein können weder die Ausgaberegeln brechen noch einen korrekt prüfenden Knoten zur Annahme eines ungültigen Blocks bewegen. Das ist keine Sicherheitsgarantie gegen jeden Angriff. Ein Angreifer könnte zusätzlich Mining-Leistung erwerben oder einen Softwarefehler ausnutzen. Solche Fähigkeiten sind getrennt zu betrachten und nicht allein der Kontenzahl zuzuschreiben. [2] [9]

Zurück zu Peters Knoten: Ein Angreifer kann versuchen, dessen Liste bekannter Adressen zu füllen und seine Verbindungen zu besetzen. Kontrolliert er alle relevanten Wege zum übrigen Netzwerk, kann er Blöcke zurückhalten und ein unvollständiges oder verspätetes Bild vermitteln. Diese Isolation heißt Eclipse Attack. Eine Sybil Attack kann dabei helfen; viele Angreiferidentitäten beweisen aber noch keine erfolgreiche Isolation. Empfangene Daten zu prüfen heißt nicht, von verschwiegenen Daten zu wissen. [3] [5] [8]

Bitcoin Core kombiniert mehrere Hürden. Bei der automatischen Auswahl ausgehender Verbindungen strebt es Netzwerkvielfalt an. Bekannte Adressen werden gruppiert, damit eine Quelle nicht leicht die gesamte Auswahl beherrscht. Kurze Testverbindungen namens feeler prüfen die Erreichbarkeit weiterer Peers. Das erschwert Angriffe, ermittelt aber weder den tatsächlichen Eigentümer jedes Servers noch garantiert es Schutz vor Isolation. Die Umsetzung entwickelt sich weiter; die Quellen zeigen hier Bitcoin Core 29.0. [4] [7] [8]

Eine IP-Adresse oder die Adresse eines Tor-Dienstes sagt dem Programm, wohin es sich verbinden soll. Sie bestätigt keinen neuen, unabhängigen Menschen am anderen Ende. Ein Betreiber kann viele Adressen besitzen, während mehrere Nutzer eine öffentliche IP-Adresse oder Teile eines Netzwerkwegs teilen. Tor kann die Privatsphäre einer Verbindung schützen; seine Adresse allein beweist keine unabhängige Gegenstelle. Nachrichtenweiterleitung und Gewicht bei der Auswahl der Bitcoin-Historie sind unterschiedliche Dinge. [3] [4]

Proof of Work behandelt einen wichtigen Teil des Problems vorgetäuschter Mehrheiten, aber nicht jedes Kommunikationsrisiko. Das P2P-Netzwerk — der direkte Datenaustausch zwischen Teilnehmern — kann Überlastungsangriffen, Überwachung und zurückgehaltenen Nachrichten ausgesetzt sein. Zum Schutz gehören deshalb auch die Verwaltung von Verbindungen und Grenzen für den Ressourcenverbrauch. Entscheidend ist, was der Angreifer tatsächlich kontrolliert: nur Namen, Netzwerkwege, Rechenleistung oder eine Kombination daraus. [1] [5] [6]

Die Zahl öffentlich erreichbarer Knoten ist weder eine Personenzahl noch eine Abstimmung über Regeln. Wichtig sind auch ihre Informationswege und ihre eigenen Prüfungen. Ein eigener Full Node lässt Sie empfangene Blöcke kontrollieren, braucht aber Verbindung zum übrigen Netzwerk. Eine Wallet ist eine Anwendung oder ein Gerät zum Empfangen und Senden von Bitcoin. Nutzt sie einen fremden Server, verschwindet diese Abhängigkeit nicht dadurch, dass anderswo viele Knoten laufen. Mehr Kontakte bedeuten nicht automatisch mehr Unabhängigkeit. [1] [3] [9]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Nakamoto Consensus, Eclipse Attack, Selfish Mining, Block Propagation, Bitcoin, Proof of Work. Auf diesen Eintrag verweisen außerdem Byzantine Generals Problem, Nakamoto Consensus, Eclipse Attack, Selfish Mining.

DOC · 001John R. Douceur — The Sybil AttackPrimärquelle DOC · 002Satoshi Nakamoto — Bitcoin whitepaperPrimärquelle DOC · 003Bitcoin Developer Guide — P2P NetworkDokumentation DOC · 004Bitcoin Core v29.0 — Peer connectionsDokumentation DOC · 005Heilman et al. — Eclipse Attacks on BitcoinPrimärquelle DOC · 006The Bitcoin Backbone ProtocolPrimärquelle DOC · 007Bitcoin Core v29.0 — Address managerDokumentation DOC · 008Bitcoin Optech — Eclipse attacksDokumentation DOC · 009Bitcoin Core v29.0 — Block validationDokumentation
Überarbeitet: Quellenbasiert · Keine Anlageberatung