Marktkapitalisierung: $2.8167T -5.61%
Volumen (24h): $179.5196B 61.64%
Angst- und Gier-Index:

38 - Furcht

  • Marktkapitalisierung: $2.8167T -5.61%
  • Volumen (24h): $179.5196B 61.64%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $2.8167T -5.61%
Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos
Top Cryptospedia

Sprache auswählen

Sprache auswählen

Währung wählen

Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos

Wie sichern Sie Ihren Smart Contract vor Wiedereintrittsangriffen?

Reentrancy vulnerabilities arise when external calls precede state updates, enabling malicious recursive calls—mitigated by Checks-Effects-Interactions, ReentrancyGuard, and cautious gas limits.

Jan 23, 2026 at 10:39 am

Wiedereintrittsschwachstellen verstehen

1. Wiedereintrittsangriffe nutzen die Fähigkeit externer Verträge aus, den anfälligen Vertrag zurückzurufen, bevor die ursprüngliche Funktionsausführung abgeschlossen ist.

2. Dies geschieht, wenn Zustandsänderungen nicht vor externen Aufrufen abgeschlossen werden, wodurch bösartiger Code wiederholt Salden oder Flags manipulieren kann.

3. Der berüchtigte DAO-Hack im Jahr 2016 hat gezeigt, wie ein rekursives Abhebungsmuster ETH im Wert von über 60 Millionen US-Dollar abgezogen hat.

4. Solche Schwachstellen gedeihen in Funktionen, die Übertragungen, Abhebungen oder jede Logik mit externen Aufrufen und anschließenden Statusaktualisierungen verarbeiten.

5. In den Solidity-Versionen vor 0.8.0 fehlten integrierte Wiedereintrittsschutzvorrichtungen, was einen manuellen Schutz für ältere Bereitstellungen unerlässlich machte.

Implementierung des Checks-Effects-Interactions-Musters

1. Diese Architekturdisziplin schreibt vor, dass alle internen Zustandsänderungen vor jeder externen Interaktion erfolgen.

2. Beispielsweise muss die Aktualisierung des Guthabens eines Benutzers vor der Anrufweiterleitung oder dem Anruf an eine andere Adresse erfolgen.

3. Ein Verstoß gegen diese Anordnung öffnet Angreifern die Tür, den Kontrollfluss zu kapern und wieder in die gleiche Funktion einzutreten.

4. Auch bei richtiger Reihenfolge müssen Entwickler sicherstellen, dass keine Zwischenfunktionen – wie Ereignisemitter oder Modifikatoren – unbeabsichtigte externe Aufrufe auslösen.

5. Tools wie Slither und MythX können Abweichungen von diesem Muster bei der statischen Analyse von Bytecode und Quelle erkennen.

Verwendung des ReentrancyGuard-Modifikators

1. ReentrancyGuard von OpenZeppelin ist ein weithin geprüftes Dienstprogramm, das eine Funktion mithilfe eines booleschen Flags sperrt.

2. Der Modifikator setzt _status vor der Ausführung auf _ENTERED und setzt ihn nach Abschluss auf _NOT_ENTERED zurück.

3. Jeder verschachtelte Aufruf, der versucht, dieselbe geschützte Funktion erneut aufzurufen, wird aufgrund der aktiven Sperre zurückgesetzt.

4. Es verhindert keinen funktionsübergreifenden Wiedereintritt, es sei denn, alle sensiblen Einstiegspunkte nutzen dieselbe Schutzinstanz.

5. Entwickler müssen sicherstellen, dass die Vererbungshierarchie den Schutzstatus korrekt initialisiert und eine Verschattung der internen Variablen vermeidet.

Gasbegrenzung als Minderungsstrategie

1. Durch die explizite Beschränkung der Gasweiterleitung in Low-Level-Aufrufen wie call.gas(2300) wird verhindert, dass Empfängerverträge komplexe Logik ausführen.

2. Diese Technik ahmt die Gasstipendien von send und transfer nach, die die Ausführung auf 2300 gas beschränken.

3. Sich ausschließlich auf Gasgrenzwerte zu verlassen, ist jedoch fragil – zukünftige EVM-Upgrades oder benutzerdefinierte Opcodes können die Gaskosten unvorhersehbar verändern.

4. Es beeinträchtigt auch die Kompatibilität mit Verträgen, die mehr als nur minimale Gase für die Fallback-Logik erfordern, wie z. B. solche, die Protokollierung oder Neuausgleich durchführen.

5. Gasbasierte Schadensbegrenzung sollte strukturelle Schutzmaßnahmen wie Wiedereintrittswächter und staatliche Anordnungen ergänzen und nicht ersetzen.

Häufig gestellte Fragen

F: Kann ein Wiedereintritt in der Ansicht oder in reinen Funktionen auftreten? A: Nein. Diese Funktionen können keine Zustandsänderungsoperationen oder externen Aufrufe ausführen, wodurch die Möglichkeit einer rekursiven Interferenz ausgeschlossen ist.

F: Verhindert die Verwendung von „delegatecall“ einen erneuten Eintritt? A: Nicht von Natur aus. Während Delegatecall den Speicherkontext des Aufrufers beibehält, werden wiedereintrittsfähige Muster nicht blockiert, wenn die Ziellogik ungeschützte externe Interaktionen enthält.

F: Ist die kostenpflichtige Fallback-Funktion immer gefährlich? A: Nur, wenn Statusaktualisierungen oder externe Aufrufe ohne Wiedereintrittsschutz durchgeführt werden. Ein minimaler Fallback, bei dem ETH ohne Nebenwirkungen akzeptiert wird, stellt ein vernachlässigbares Risiko dar.

F: Erhöhen aktualisierbare Proxy-Muster das Wiedereintrittsrisiko? A: Ja – wenn es im Implementierungsvertrag an angemessenen Schutzmaßnahmen mangelt und der Proxy Aufrufe ohne Validierung weiterleitet, können Angreifer sowohl die Proxy-Logik als auch die Geschäftslogik gleichzeitig ausnutzen.

Haftungsausschluss:info@kdj.com

Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!

Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.

Verwandtes Wissen

Wie führe ich eine kettenübergreifende Nachricht mit einem LayerZero-Vertrag aus?

Wie führe ich eine kettenübergreifende Nachricht mit einem LayerZero-Vertrag aus?

Jan 18,2026 at 01:19pm

Grundlegendes zur LayerZero-Architektur 1. LayerZero fungiert als leichtes, erlaubnisloses Interoperabilitätsprotokoll, das die Kommunikation zwischen...

Wie implementiert man EIP-712 für die sichere Signaturüberprüfung?

Wie implementiert man EIP-712 für die sichere Signaturüberprüfung?

Jan 20,2026 at 10:20pm

EIP-712-Übersicht und Hauptzweck 1. EIP-712 definiert einen Standard für typisiertes strukturiertes Daten-Hashing und Signieren in Ethereum-Anwendunge...

Wie kann ich mich für Airdrops qualifizieren, indem ich mit neuen Verträgen interagiere?

Wie kann ich mich für Airdrops qualifizieren, indem ich mit neuen Verträgen interagiere?

Jan 24,2026 at 09:00pm

Anforderungen an die Vertragsinteraktion verstehen 1. Die meisten Airdrop-Kampagnen erfordern eine direkte Interaktion mit Smart Contracts, die auf un...

Wie überwacht man einen Smart Contract auf Sicherheitswarnungen?

Wie überwacht man einen Smart Contract auf Sicherheitswarnungen?

Jan 21,2026 at 07:59am

On-Chain-Überwachungstools 1. Blockchain-Explorer wie Etherscan und Blockscout ermöglichen die Echtzeitprüfung von Vertragsbytecode, Transaktionsproto...

Wie kann ich einen Vertrag für automatisierte Zahlungen abschließen und finanzieren?

Wie kann ich einen Vertrag für automatisierte Zahlungen abschließen und finanzieren?

Jan 26,2026 at 08:59am

Grundlegendes zur Bereitstellung intelligenter Verträge 1. Entwickler müssen eine kompatible Blockchain-Plattform wie Ethereum, Polygon oder Arbitrum ...

Wie verwende ich OpenZeppelin-Verträge, um sichere dApps zu erstellen?

Wie verwende ich OpenZeppelin-Verträge, um sichere dApps zu erstellen?

Jan 18,2026 at 11:19am

Grundlegendes zu den OpenZeppelin-Vertragsgrundlagen 1. OpenZeppelin Contracts ist eine Bibliothek wiederverwendbarer, von der Community geprüfter Sma...

Wie führe ich eine kettenübergreifende Nachricht mit einem LayerZero-Vertrag aus?

Wie führe ich eine kettenübergreifende Nachricht mit einem LayerZero-Vertrag aus?

Jan 18,2026 at 01:19pm

Grundlegendes zur LayerZero-Architektur 1. LayerZero fungiert als leichtes, erlaubnisloses Interoperabilitätsprotokoll, das die Kommunikation zwischen...

Wie implementiert man EIP-712 für die sichere Signaturüberprüfung?

Wie implementiert man EIP-712 für die sichere Signaturüberprüfung?

Jan 20,2026 at 10:20pm

EIP-712-Übersicht und Hauptzweck 1. EIP-712 definiert einen Standard für typisiertes strukturiertes Daten-Hashing und Signieren in Ethereum-Anwendunge...

Wie kann ich mich für Airdrops qualifizieren, indem ich mit neuen Verträgen interagiere?

Wie kann ich mich für Airdrops qualifizieren, indem ich mit neuen Verträgen interagiere?

Jan 24,2026 at 09:00pm

Anforderungen an die Vertragsinteraktion verstehen 1. Die meisten Airdrop-Kampagnen erfordern eine direkte Interaktion mit Smart Contracts, die auf un...

Wie überwacht man einen Smart Contract auf Sicherheitswarnungen?

Wie überwacht man einen Smart Contract auf Sicherheitswarnungen?

Jan 21,2026 at 07:59am

On-Chain-Überwachungstools 1. Blockchain-Explorer wie Etherscan und Blockscout ermöglichen die Echtzeitprüfung von Vertragsbytecode, Transaktionsproto...

Wie kann ich einen Vertrag für automatisierte Zahlungen abschließen und finanzieren?

Wie kann ich einen Vertrag für automatisierte Zahlungen abschließen und finanzieren?

Jan 26,2026 at 08:59am

Grundlegendes zur Bereitstellung intelligenter Verträge 1. Entwickler müssen eine kompatible Blockchain-Plattform wie Ethereum, Polygon oder Arbitrum ...

Wie verwende ich OpenZeppelin-Verträge, um sichere dApps zu erstellen?

Wie verwende ich OpenZeppelin-Verträge, um sichere dApps zu erstellen?

Jan 18,2026 at 11:19am

Grundlegendes zu den OpenZeppelin-Vertragsgrundlagen 1. OpenZeppelin Contracts ist eine Bibliothek wiederverwendbarer, von der Community geprüfter Sma...

Alle Artikel ansehen

User not found or password invalid

Your input is correct