Activaprijzen zijn tijdelijk vertraagdSommige activa ontvangen geen actuele prijsgegevens meer. De updates worden automatisch hervat zodra de dataverbinding is hersteld.
Bitculator

Bitculator op Android

Marktkapitalisatie:

$1,993,178,180,086

24u-volume:

$198,583,650,129

jun 23 Liquidaties:

$0

24U Long/Short:

Komt binnenkort

Bitculator · Leer

Reentrancy Attack

Wat betekent Reentrancy Attack in cryptotermen?

# 350·Bijgewerkt jun 2026·3 min lezen

Een Reentrancy Attack is een beveiligingsfout in smart contracts waarbij een aanvaller de kwetsbaarheid van het contract uitbuit door het herhaaldelijk aan te roepen voordat de initiële uitvoering is voltooid.

Wat is Reentrancy Attack?

Een Reentrancy Attack is wanneer een contract tijdens een oproep controle doorgeeft aan een ander contract en die externe code terugspringt naar het eerste contract voordat dat zijn gegevens heeft bijgewerkt. Die timingtruc laat de aanvaller toe om gevoelige handelingen zoals opnames keer op keer te herhalen. Stel je voor dat je om een terugbetaling vraagt en terug naar de balie sluipt voordat de kassier de kassa afsluit.


Mythe

“'Alleen oude code kan worden getroffen door een Reentrancy Attack.'” Dat is niet waar. Elk contract dat een externe oproep doet voordat het zijn eigen status vergrendelt kan kwetsbaar zijn als de logica slordig is.


Hoe Reentrancy Attack werkt

Kort verhaal. Een typisch smart contract heeft een withdrawfunctie die fondsen naar de aanroeper stuurt. Als het eerst de fondsen stuurt en de balans pas later leegmaakt, kan een aanvaller een callback binnensluipen en opnieuw om meer vragen voordat de balans op nul wordt gezet.

  1. Start: De aanvaller stort wat fondsen om er legitiem uit te zien.
  2. Oproep: De aanvaller activeert withdraw op het doelcontract.
  3. Fallback: Het doel stuurt fondsen, wat de fallbackfunctie van de aanvaller uitvoert.
  4. Herhaal: Die fallback roept withdraw opnieuw aan voordat de balans is bijgewerkt.
  5. Leegmaken: De lus gaat door tot het contract geen fondsen of gas meer heeft. Ja, dat is de truc.

Een klein foutje in de volgorde, groot probleem.


Waarom Reentrancy Attack belangrijk is

Het is van belang omdat timingfouten echt geld snel kunnen verplaatsen. Bovendien is dit een klassiek exploit dat iedere ontwikkelaar en geïnteresseerde gebruiker direct zou moeten herkennen.

  • Voordeel: Het herkennen van het patroon helpt je risicovolle code te zien en fondsen veilig te houden.
  • Perspectief: Het profiteert van openbare transparantie omdat alles op een blockchain zichtbaar en aanroepbaar is.
  • Relevantie: Je ziet het in DeFi, bridges, schatkisten en zelfs in uitbetalingen voor DAOs.

Tip

Volg eerst checks then effects then interactions. Werk eerst saldi bij en doe daarna externe oproepen. Voeg een eenvoudige reentrancy guard toe voor extra veiligheid.


Belangrijkste kenmerken van Reentrancy Attack

Dit is wat het doet:

  • Recursie: Externe code roept opnieuw hetzelfde contract aan voordat dat klaar is.
  • Volgorde: De fout ontstaat wanneer het sturen van fondsen of een externe oproep gebeurt voordat de status is bijgewerkt.
  • Cross: Het kan tussen meerdere contracten heen en weer springen, niet alleen binnen één functie.
  • Assets: Werkt met ETH, tokens en zelfs boekhoudkundige tegoeden als het slecht geprogrammeerd is.

Varianten

Verschillende vormen, zelfde probleem bij slordige code:

  • Single: Herhaaldelijk opnieuw betreden van dezelfde functie.
  • Cross: Opnieuw betreden via een andere functie binnen hetzelfde contract.
  • Multi: Opnieuw betreden over twee of meer contracten in een lus.
  • ReadOnly: Beïnvloeden van views of prijsorakels om latere schrijfbewerkingen te misleiden.

Herinnering

Het verhelpen van een Reentrancy Attack gaat niet over slechts één functie. Controleer elke externe oproep, voeg tests toe voor vreemde oproepketens en plan regelmatige audits.


Voorbeeld

De exploit van The DAO in 2016 gebruikte een reentrancylus bij withdraw voordat balansen werden geleegd, waardoor in enkele minuten een enorme schatkist werd leeggehaald.


Leuk weetje

De community catchphrase 'checks then effects then interactions' komt uit vroege beveiligingsgidsen en bleef hangen omdat het kort, makkelijk te onthouden en effectief is.


Samenvatting

Korte versie om bij de hand te houden: als externe code je kan aanroepen voordat je je eigen administratie afmaakt, ga ervan uit dat het gebeurt en je mogelijk gratis geld weggeeft. Dat is een Reentrancy Attack.

Zijn we iets vergeten??

Uw input helpt ons om alles correct te houden. Neem contact met ons op als er iets onjuist is of ontbreekt.

Contact