Wiki/Reentrancy-Angriffe auf Smart Contracts erklärt
Reentrancy-Angriffe auf Smart Contracts erklärt - Biturai Wiki Knowledge
EXPERTE | BITURAI KNOWLEDGE

Reentrancy-Angriffe auf Smart Contracts erklärt

Ein Reentrancy-Angriff ist eine kritische Sicherheitslücke, bei der ein bösartiger externer Vertrag wiederholt eine Funktion aufruft, bevor ihre ursprüngliche Ausführung abgeschlossen ist. Dies ermöglicht es dem Angreifer, den Zustand des

Biturai Knowledge
Biturai Knowledge
Research-Bibliothek
Aktualisiert: 27.6.2026
Technisch geprüft

Struktur, Lesbarkeit, interne Verlinkung und SEO-Metadaten wurden automatisiert geprüft. Der Artikel wird fortlaufend aktualisiert und dient der Bildung, nicht als Finanzberatung.

Definition

Ein Reentrancy-Angriff ist eine kritische Sicherheitslücke in Smart Contracts, bei der ein bösartiger externer Vertrag wiederholt eine Funktion in einem anfälligen Vertrag aufruft, bevor die ursprüngliche Ausführung dieser Funktion abgeschlossen ist. Dies ermöglicht es dem Angreifer, den Zustand des Vertrags zu manipulieren, was oft zum unbefugten Abfluss von Geldern oder anderen unbeabsichtigten Zustandsänderungen führt. Das Kernproblem entsteht, wenn ein Vertrag einen externen Aufruf an eine nicht vertrauenswürdige Adresse tätigt und dann seinen internen Zustand basierend auf dem Ergebnis dieses Aufrufs aktualisiert, ohne zuvor alle internen Zustandsänderungen abgeschlossen zu haben.

Ein Reentrancy-Angriff nutzt eine Schwachstelle in Smart Contracts aus, die es einem externen Vertrag ermöglicht, eine Funktion rekursiv aufzurufen, bevor ihre ursprüngliche Ausführung beendet ist, wodurch der Zustand des Vertrags manipuliert oder Vermögenswerte entzogen werden können.

Kernaussage

Das grundlegende Prinzip eines Reentrancy-Angriffs ist die Ausnutzung eines unsynchronisierten Zustands während eines externen Aufrufs. Wenn ein Smart Contract Gelder sendet oder mit einem anderen Vertrag interagiert, gibt er vorübergehend die Kontrolle ab. Falls der anfällige Vertrag seinen internen Saldo oder Zustand nach dieser externen Interaktion aktualisiert, kann ein bösartiger Vertrag den ursprünglichen Vertrag "wieder betreten" und die Auszahlungsfunktion erneut aufrufen, bevor der Saldo korrekt aktualisiert wurde, um die erste Auszahlung widerzuspiegeln. Dies schafft ein Zeitfenster für einen Angreifer, um wiederholt Gelder abzuheben oder Daten zu manipulieren.

Mechanik

Die Mechanik eines Reentrancy-Angriffs dreht sich um die Reihenfolge der Operationen innerhalb einer Smart-Contract-Funktion, insbesondere das "Checks-Effects-Interactions"-Muster. Ein sicherer Smart Contract sollte zuerst alle notwendigen Prüfungen (z.B. require-Anweisungen für Salden oder Berechtigungen) durchführen, dann alle Effekte anwenden (d.h. seine internen Zustandsvariablen wie Salden aktualisieren) und erst dann Interaktionen mit externen Verträgen durchführen (z.B. Ether senden oder die Funktion eines anderen Vertrags aufrufen). Eine Reentrancy-Schwachstelle tritt typischerweise auf, wenn diese Reihenfolge verletzt wird und eine externe Interaktion vor der vollständigen Aktualisierung des internen Zustands stattfindet.

Betrachten wir eine vereinfachte Auszahlungsfunktion:

  1. Prüfen, ob der Benutzer über ausreichend Guthaben verfügt.
  2. Ether an die Adresse des Benutzers senden.
  3. Das Guthaben des Benutzers aktualisieren, um die Auszahlung widerzuspiegeln.

In diesem Szenario kann ein bösartiger Vertrag dies ausnutzen, wenn Schritt 2 (Ether senden) vor Schritt 3 (Guthaben aktualisieren) ausgeführt wird. Wenn der anfällige Vertrag Ether an den Vertrag des Angreifers sendet, wird die receive- oder fallback-Funktion des Angreifervertrags ausgelöst. Innerhalb dieser receive-Funktion kann der Angreifervertrag sofort die Auszahlungsfunktion des anfälligen Vertrags erneut aufrufen. Da das Guthaben im anfälligen Vertrag noch nicht aktualisiert wurde (Schritt 3 ist noch nicht erfolgt), wird die Prüfung in Schritt 1 weiterhin bestanden, was dem Angreifer ermöglicht, wiederholt Gelder abzuheben, bis das Guthaben des anfälligen Vertrags erschöpft ist oder das Gaslimit erreicht wird. Dieser rekursive Aufruf vor der Zustandsfinalisierung ist das Wesen des Angriffs.

Trading-Relevanz

Reentrancy-Angriffe haben tiefgreifende Auswirkungen auf die Krypto-Handelslandschaft und das Vertrauen der Anleger. Wenn ein dezentrales Finanzprotokoll (DeFi) oder ein Smart Contract, der erhebliche Vermögenswerte hält, Opfer eines Reentrancy-Angriffs wird, ist die unmittelbare Folge oft ein massiver Verlust von Geldern. Dies kann zu einem plötzlichen und drastischen Rückgang des Wertes der zugehörigen Token führen, was Händler betrifft, die diese Vermögenswerte halten oder Liquidität für das betroffene Protokoll bereitstellen. Wenn beispielsweise eine Kreditplattform geleert wird, könnten die Sicherheiten für Kredite verschwinden, was eine Kaskade von Liquidationen und Marktinstabilität verursacht.

Händler müssen sich der Sicherheitslage der Smart Contracts, mit denen sie interagieren, genau bewusst sein. Bevor man in einen Token investiert oder an einem DeFi-Protokoll teilnimmt, ist es von größter Bedeutung zu recherchieren, ob die zugrunde liegenden Smart Contracts strengen Sicherheitsaudits durch renommierte Firmen unterzogen wurden. Das Vorhandensein einer Reentrancy-Schwachstelle, selbst wenn sie noch nicht ausgenutzt wurde, stellt eine tickende Zeitbombe dar, die Investitionen über Nacht vernichten kann. Das Verständnis der Mechanik solcher Angriffe hilft Händlern, Risiken einzuschätzen, potenzielle Warnsignale in Projektaudits zu erkennen und fundiertere Entscheidungen darüber zu treffen, wo sie ihr Kapital in den volatilen Krypto-Märkten einsetzen.

Risiken

Die mit Reentrancy-Angriffen verbundenen Risiken sind vielfältig und schwerwiegend. In erster Linie führen sie zu finanziellen Verlusten, da Angreifer erhebliche Mengen an Kryptowährung aus anfälligen Verträgen abziehen können. Der berüchtigte DAO-Hack führte beispielsweise zum Diebstahl von Ether im Wert von Millionen von Dollar, was die katastrophalen finanziellen Auswirkungen verdeutlicht. Über den direkten Geldverlust hinaus können Reentrancy-Angriffe Reputationsschäden für Projekte verursachen, was zu einem Vertrauensverlust bei Nutzern und Anlegern führt, der schwer wiederherzustellen ist. Dies führt oft zu einem Rückgang des Token-Preises des Projekts und der allgemeinen Akzeptanz.

Darüber hinaus können Reentrancy-Angriffe systemische Risiken innerhalb des breiteren Blockchain-Ökosystems mit sich bringen. Wenn ein wichtiges Protokoll ausgenutzt wird, kann dies einen Dominoeffekt auslösen, der andere Protokolle, die darauf angewiesen sind, beeinflusst oder weit verbreitete Panikverkäufe verursacht. Es gibt auch verschiedene Varianten von Reentrancy, wie z.B. Cross-Function-Reentrancy, bei der ein Angreifer eine Schwachstelle in einer Funktion ausnutzt, um eine andere verwandte Funktion innerhalb desselben Vertrags oder sogar über mehrere Verträge hinweg, die denselben Zustand teilen, wieder zu betreten. Dies macht die Erkennung und Prävention komplexer, da die Schwachstelle möglicherweise nicht sofort in der Logik einer einzelnen Funktion offensichtlich ist. Das Kernrisiko bleibt die Fähigkeit, den Zustand des Vertrags zu manipulieren, bevor Transaktionen finalisiert werden, was zu unbefugten Aktionen oder Vermögensübertragungen führt.

Geschichte und Beispiele

Der berühmteste und folgenreichste Reentrancy-Angriff in der Blockchain-Geschichte ist zweifellos der DAO-Hack von 2016. Die Decentralized Autonomous Organization (The DAO) war ein frühes, ehrgeiziges Projekt auf der Ethereum-Blockchain, das als dezentraler Risikokapitalfonds konzipiert war. Es ermöglichte Anlegern, Ether einzuzahlen und über Finanzierungsvorschläge abzustimmen. Eine Schwachstelle in ihrer splitDAO-Funktion, die es Benutzern erlaubte, ihre Gelder abzuheben und eine "Kind-DAO" zu erstellen, wurde ausgenutzt. Die Funktion sendete zuerst Ether an den Benutzer und aktualisierte dann den internen Saldo.

Ein Angreifer rief die splitDAO-Funktion wiederholt aus der Fallback-Funktion seines bösartigen Vertrags auf und zog Ether mehrmals ab, bevor der interne Saldo verringert werden konnte. Dieser rekursive Aufruf ermöglichte es dem Angreifer, etwa 3,6 Millionen Ether, damals im Wert von rund 50 Millionen US-Dollar, aus dem DAO-Vertrag abzuziehen. Das schiere Ausmaß des Diebstahls führte zu einer großen Krise für das aufstrebende Ethereum-Netzwerk. Die Gemeinschaft beschloss schließlich, einen kontroversen Hard Fork der Ethereum-Blockchain durchzuführen, um die gestohlenen Gelder zurückzuholen, wodurch Ethereum Classic (ETC) aus der ursprünglichen Kette und die neue Ethereum (ETH)-Kette, auf der der Hack rückgängig gemacht wurde, entstanden. Dieses Ereignis diente der gesamten Blockchain-Industrie als deutlicher Weckruf bezüglich der Smart-Contract-Sicherheit. Obwohl der DAO-Hack das prominenteste Beispiel bleibt, sind seitdem zahlreiche andere, kleinere Reentrancy-Angriffe in verschiedenen DeFi-Protokollen und Smart Contracts aufgetreten, was die anhaltende Bedrohung durch diese Schwachstelle unterstreicht.

Häufige Missverständnisse

Ein häufiges Missverständnis bei Reentrancy-Angriffen ist, dass sie sich ausschließlich auf das Abziehen von Ether aus einem Vertrag beziehen. Obwohl der Geldabfluss das finanziell folgenreichste Ergebnis ist, geht es bei der Kernschwachstelle um die Zustandsmanipulation, bevor eine Transaktion vollständig abgeschlossen ist. Ein Angreifer könnte theoretisch Reentrancy ausnutzen, um jede Funktion, die den Zustand ändert, wie z.B. Abstimmungsmechanismen, Zugriffsrechtsänderungen oder Token-Genehmigungen, wiederholt aufzurufen, wenn der interne Zustand des Vertrags nicht vor einem externen Aufruf aktualisiert wird. Der Fokus sollte auf dem unsynchronisierten Zustand liegen und nicht nur auf der Art des Vermögenswerts.

Ein weiteres Missverständnis ist, dass die Verwendung von transfer() oder send() zum Senden von Ether Reentrancy-Risiken vollständig mindert. Obwohl diese Funktionen sicherer sind als call(), da sie das an den Empfänger weitergeleitete Gas (2300 Gas) begrenzen, was es einem bösartigen Vertrag erschwert, komplexe Re-entrant-Aufrufe durchzuführen, sind sie keine Patentlösung. Sie schützen hauptsächlich vor direkter Reentrancy bei einfachen Ether-Transfers. Komplexere Cross-Contract-Reentrancy oder Cross-Function-Reentrancy können jedoch weiterhin auftreten, wenn ein Vertrag mit mehreren externen Verträgen interagiert oder wenn ein bösartiger Vertrag über eine andere, weniger eingeschränkte Funktion wieder eintreten kann. Die robusteste Verteidigung besteht darin, das "Checks-Effects-Interactions"-Muster einzuhalten, Reentrancy-Guards zu verwenden und alle externen Aufrufe sorgfältig zu prüfen. Sich ausschließlich auf Gaslimits zu verlassen, die von transfer() oder send() bereitgestellt werden, kann ein falsches Sicherheitsgefühl erzeugen.

Zusammenfassung

Reentrancy-Angriffe stellen eine schwerwiegende und anhaltende Bedrohung für die Smart-Contract-Sicherheit dar, die aus einem grundlegenden Fehler in der Reihenfolge der Operationen bei externen Aufrufen resultiert. Sie treten auf, wenn ein Vertrag einen externen Aufruf tätigt, bevor er seinen internen Zustand aktualisiert, was einem bösartigen Akteur ermöglicht, den Vertrag rekursiv wieder zu betreten und seinen Zustand zu manipulieren oder Gelder abzuziehen. Der berüchtigte DAO-Hack von 2016 ist ein historisches Zeugnis der verheerenden Auswirkungen solcher Schwachstellen, die zu einem Hard Fork der Ethereum-Blockchain führten. Um Reentrancy zu verhindern, müssen Entwickler das "Checks-Effects-Interactions"-Muster strikt befolgen und sicherstellen, dass alle internen Zustandsänderungen vor externen Interaktionen finalisiert werden. Darüber hinaus sind die Implementierung von Reentrancy-Guards, die Verwendung sicherer Bibliotheken und die Durchführung gründlicher Sicherheitsaudits wesentliche Praktiken, um Smart Contracts vor diesen ausgeklügelten Exploits zu schützen und so Vermögenswerte zu sichern und das Vertrauen in das dezentrale Ökosystem aufrechtzuerhalten.

OKX EU · Offizieller Biturai-Partner

OKX EU

Entdecke das aktuelle Angebot von OKX EU über den offiziellen Biturai-Partnerlink. Produkte und Verfügbarkeit können je Land abweichen.

OKX EU ansehen

Partnerlink · Biturai kann bei Nutzung eine Vergütung erhalten · keine Anlageberatung

OKX EU

Haftungsausschluss

Dieser Artikel dient ausschließlich zu Informationszwecken. Die Inhalte stellen keine Finanzberatung, Anlageempfehlung oder Aufforderung zum Kauf oder Verkauf von Wertpapieren oder Kryptowährungen dar. Biturai übernimmt keine Gewähr für die Richtigkeit, Vollständigkeit oder Aktualität der Informationen. Investitionsentscheidungen sollten stets auf Basis eigener Recherche und unter Berücksichtigung der persönlichen finanziellen Situation getroffen werden.

Transparenz

Biturai kann KI-gestützte Werkzeuge zur Recherche, Strukturierung oder Aktualisierung von Wiki-Artikeln einsetzen. Redaktionell geprüfte Artikel werden separat gekennzeichnet; alle Inhalte bleiben Bildungsinhalte und ersetzen keine eigene Prüfung.