Wichtiger Hinweis: Vorsicht vor der gefälschten Website finanzforensik.com — offiziell nur unter finanz-forensik.de. Eingetragen beim Amtsgericht Hanau, HRB 100521.

Technische Grundlagen

Kurz erklärt: Ein Reentrancy Guard (Wiedereintritts-Schutz) ist ein Programmiermuster in Smart Contracts, das verhindert, dass eine Funktion erneut aufgerufen wird, bevor ihr vorheriger Aufruf abgeschlossen ist. Er dient der Abwehr sogenannter Reentrancy-Angriffe und ist unter anderem als Baustein der OpenZeppelin-Bibliothek verbreitet.

Das Problem der Reentrancy

Ein Reentrancy-Angriff (Wiedereintrittsangriff) nutzt aus, dass ein Smart Contract während eines externen Aufrufs die Kontrolle an einen anderen Vertrag abgibt. Ruft eine Funktion beispielsweise ein Guthaben aus und aktualisiert den internen Kontostand erst danach, kann der aufgerufene Vertrag die ursprüngliche Funktion erneut aufrufen, bevor der Stand korrigiert wurde, und so mehrfach Mittel abziehen.

Der prominenteste historische Fall ist der Angriff auf „The DAO“ im Jahr 2016, bei dem eine Reentrancy-Schwachstelle ausgenutzt wurde. Der Vorfall führte letztlich zu einer umstrittenen Hard Fork der Ethereum-Blockchain und gilt als prägend für das Sicherheitsbewusstsein im Ökosystem.

Funktionsweise des Schutzmechanismus

Ein Reentrancy Guard arbeitet üblicherweise mit einer Zustandsvariablen, die den Ein- und Austritt einer Funktion markiert („Mutex“-Prinzip):

  • Beim Eintritt in eine geschützte Funktion wird eine Sperre gesetzt.
  • Während die Sperre aktiv ist, wird ein erneuter Aufruf derselben oder anderer geschützter Funktionen abgewiesen.
  • Am Ende der Funktion wird die Sperre wieder freigegeben.

In der OpenZeppelin-Bibliothek wird dies über den Modifier nonReentrant bereitgestellt. Ergänzend gilt das „Checks-Effects-Interactions“-Muster als bewährte Praxis: Zuerst werden Bedingungen geprüft, dann der interne Zustand aktualisiert und erst zuletzt externe Aufrufe getätigt.

Einordnung und Grenzen

Der Reentrancy Guard ist ein wirksames, aber punktuelles Werkzeug. Er schützt gezielt vor Wiedereintritts-Angriffen, nicht jedoch vor anderen Schwachstellenklassen wie fehlerhafter Zugriffskontrolle, Ganzzahl-Überläufen oder Fehlern in der Preisberechnung.

Analysewerkzeuge wie Slither von Trail of Bits können fehlende Schutzmechanismen automatisiert aufdecken. In der Praxis wird der Einsatz eines Guards durch manuelle Audits, Bug-Bounty-Programme und die konsequente Anwendung sicherer Programmiermuster ergänzt. Ein Guard ist somit ein Baustein einer mehrschichtigen Sicherheitsstrategie, kein alleiniger Garant.

Häufige Fragen

Was macht ein Reentrancy Guard?

Er verhindert, dass eine Funktion eines Smart Contracts erneut aufgerufen wird, solange ihr vorheriger Aufruf noch läuft, und wehrt damit Wiedereintrittsangriffe ab.

Wie funktioniert der Schutz technisch?

Über eine Sperr-Variable nach dem Mutex-Prinzip: Beim Eintritt in die Funktion wird eine Sperre gesetzt, erneute Aufrufe werden abgewiesen, und am Ende wird die Sperre wieder freigegeben.

Welcher Vorfall machte Reentrancy bekannt?

Der Angriff auf The DAO im Jahr 2016, der eine Reentrancy-Schwachstelle ausnutzte und letztlich zu einer Hard Fork der Ethereum-Blockchain führte.

Was ist das Checks-Effects-Interactions-Muster?

Eine Programmierregel, nach der zuerst Bedingungen geprüft, dann der interne Zustand aktualisiert und erst zuletzt externe Aufrufe getätigt werden. Es reduziert das Reentrancy-Risiko unabhängig vom Guard.

Reicht ein Reentrancy Guard für sichere Smart Contracts aus?

Nein. Er schützt nur vor Wiedereintrittsangriffen. Andere Schwachstellen erfordern zusätzliche Massnahmen wie Audits, sichere Muster und Tests.

Zusammenfassung

Ein Reentrancy Guard ist ein Schutzmuster in Smart Contracts, das nach dem Mutex-Prinzip verschachtelte Wiedereintritts-Aufrufe einer Funktion verhindert und so Reentrancy-Angriffe abwehrt. Bekannt wurde die Schwachstellenklasse durch den DAO-Angriff 2016. Der Guard, etwa OpenZeppelins nonReentrant-Modifier, ist ein Baustein einer mehrschichtigen Sicherheitsstrategie, ersetzt aber weder sichere Programmiermuster noch Audits.

Weiterführende Quellen

Fachlich verantwortet von David Lüdtke, Finanz Forensik GmbH. Stand: 2026-08-11. Dieser Beitrag dient der allgemeinen Information und ersetzt keine Rechtsberatung im Einzelfall.

Offizieller Hinweis der Finanz Forensik GmbH

Wir weisen ausdrücklich darauf hin, dass die Website finanzforensik.com in keiner geschäftlichen oder rechtlichen Verbindung zu unserem Unternehmen steht. Offiziell erreichen Sie uns ausschließlich unter finanz-forensik.de.

Wir haben bereits Strafanzeige erstattet und den Vorgang den zuständigen Behörden vorgelegt. Wer wir sind, können Sie jederzeit unabhängig überprüfen: Die Finanz Forensik GmbH ist beim Amtsgericht Hanau unter HRB 100521 eingetragen.

Den vollständigen Handelsregisterauszug sowie unsere ausführliche Dokumentation des Vorgangs stellen wir Ihnen hier zur Verfügung.