-
bitcoin $76464.156879 USD
0.86% -
ethereum $2445.495804 USD
1.91% -
tether $0.999058 USD
-0.01% -
bnb $725.991560 USD
1.93% -
xrp $1.303704 USD
0.85% -
usd-coin $0.999942 USD
0.00% -
solana $100.064497 USD
3.06% -
tron $0.335357 USD
0.24% -
zcash $1358.632097 USD
14.53% -
hyperliquid $79.355311 USD
2.37% -
dogecoin $0.081165 USD
1.50% -
monero $495.294239 USD
-2.55% -
chainlink $11.205049 USD
3.83% -
unus-sed-leo $8.932502 USD
0.55% -
cardano $0.198341 USD
1.78%
Qu’est-ce qu’une attaque de réentrance dans les contrats intelligents ?
Reentrancy attacks exploit Ethereum’s external call mechanism, allowing malicious contracts to recursively drain funds before state updates—famously enabling The DAO hack.
Dec 24, 2025 at 02:20 am
Comprendre les attaques de réentrée
1. Une attaque de réentrance se produit lorsqu'un contrat malveillant rappelle à plusieurs reprises une fonction vulnérable d'un autre contrat avant la fin de l'exécution initiale.
2. Cet exploit exploite le mécanisme d'appel externe dans les contrats intelligents Ethereum, où le contrôle est transféré à une adresse externe avant que les changements d'état ne soient finalisés.
3. L'attaquant déploie un contrat contenant une fonction de repli ou de réception qui déclenche des invocations récursives de la logique de retrait ou de transfert de la cible.
4. Étant donné qu'Ethereum exécute les appels de manière synchrone et monothread et n'applique pas les mises à jour de l'état atomique par défaut, les soldes ou les indicateurs peuvent rester inchangés pendant la fenêtre de rappel.
5. En conséquence, les fonds peuvent être prélevés plusieurs fois sur le même solde sans contrôles appropriés, violant ainsi l’invariant économique prévu du système.
Exemple historique célèbre : le hack DAO
1. En juin 2016, l'organisation autonome décentralisée connue sous le nom de DAO a été compromise pour environ 3,6 millions d'ETH , évalués à l'époque à plus de 50 millions de dollars.
2. La vulnérabilité résidait dans une fonction de partage qui permettait aux utilisateurs de retirer leur part après l'adoption d'une proposition, mais mettait à jour le solde du contributeur après le transfert de fonds.
3. Un attaquant a déployé un contrat avec une fonction de repli qui a appelé de manière récursive la fonction split avant la mise à jour du solde.
4. Chaque appel récursif lit la valeur du solde d'origine, permettant des retraits répétés du même montant alloué.
5. L’incident a déclenché un hard fork de la blockchain Ethereum, ce qui a fait d’Ethereum et d’Ethereum Classic deux chaînes distinctes.
Conditions techniques permettant la réentrée
1. Un appel externe vers une adresse non fiable doit précéder les modifications d’état critiques telles que les mises à jour du solde ou le basculement des indicateurs d’accès.
2. Le contrat doit s'appuyer sur des variables de stockage mutables qui reflètent la propriété ou les droits sans appliquer de gardes de réentrée.
3. L'absence de modèles mutex, comme l'utilisation d'un booléen verrouillé ou de modificateurs de réentrance, laisse les points d'entrée non protégés dans les contextes d'appel imbriqués.
4. L'utilisation d'appels de bas niveau comme call() au lieu d'alternatives plus sûres comme transfer() ou send() augmente le risque en raison du manque de restrictions sur les allocations de gaz et du comportement de retour automatique.
5. Les contrats héritant de bibliothèques obsolètes ou non auditées peuvent exposer involontairement des fonctions avec des surfaces de réentrance héritées.
Stratégies d'atténuation déployées aujourd'hui
1. Le modèle Contrôles-Effets-Interactions exige la validation des conditions, la mise à jour de l'état interne et ensuite seulement l'exécution d'appels externes.
2. Les gardes de réentrée, tels que ReentrancyGuard d'OpenZeppelin, utilisent un booléen verrouillé pour empêcher la rentrée de fonction pendant l'exécution active.
3. L'utilisation de transfer() ou send() au lieu de raw call() impose une limite de 2 300 gaz, rendant les fonctions de secours incapables d'exécuter une logique complexe, y compris d'autres appels réentrants.
4. Les outils d'analyse statique comme Slither et MythX détectent les vecteurs de réentrance potentiels pendant le développement et les pipelines CI.
5. Les cadres de vérification formelle tels que Certora et KEVM valident les invariants de contrat sous des séquences d'appels arbitraires, y compris des invocations externes imbriquées.
Foire aux questions
T1. Des attaques par réentrée peuvent-elles se produire sur des blockchains autres qu’Ethereum ? A1. Oui. Toute chaîne compatible EVM, y compris BNB Chain, Polygon et Arbitrum, est également susceptible si les contrats reproduisent le même modèle d'interaction défectueux. Les chaînes non-EVM avec une sémantique d'appel externe similaire, comme les invocations inter-programmes de Solana dans certaines conditions, sont également confrontées à des risques analogues.
Q2. L'utilisation des instructions require() est-elle suffisante pour empêcher la réentrée ? A2. Non. Les instructions Require vérifient les conditions préalables mais ne bloquent pas la rentrée. Ils fonctionnent avant les changements d'état et ne peuvent pas restreindre les rappels ultérieurs une fois les appels externes effectués.
Q3. Les contrats évolutifs basés sur un proxy introduisent-ils des surfaces de réentrée supplémentaires ? A3. Oui. Si le contrat de mise en œuvre ne dispose pas d'une protection contre la réentrance et que le proxy transfère les appels sans intercepter ou valider la profondeur des appels, les modèles évolutifs peuvent hériter ou amplifier les vulnérabilités existantes.
Q4. Les prêts flash peuvent-ils déclencher une réentrée même sans contrats malveillants ? A4. Oui. Les attaques basées sur les prêts flash combinent souvent la manipulation de l'oracle des prix avec la réentrée pour drainer les pools de liquidités ou les protocoles de prêt, comme le montrent les exploits contre dYdX, Harvest Finance et BurgerSwap, qui reposent tous sur des appels externes non surveillés au sein de chemins critiques.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
LIT Échangez maintenant$4.99
18.05%
-
NEAR Échangez maintenant$2.87
16.60%
-
PONS Échangez maintenant$0.6525
16.01%
-
ONDO Échangez maintenant$0.3676
12.95%
-
UNI Échangez maintenant$7.02
12.18%
-
ZEC Échangez maintenant$1362.08
11.60%
- Vitalik Buterin conteste le récit catastrophique de la cybersécurité de l'IA et plaide pour une vérification formelle
- 2026-09-18 00:55:01
- AML RightSource remporte le prestigieux prix Dobra-Sight pour l'excellence en matière de conformité des actifs numériques
- 2026-09-18 00:40:01
- Solana et XRP naviguent dans les marées changeantes du marché de la cryptographie, avec un clin d'œil aux tendances plus larges de tokenisation
- 2026-09-17 20:40:01
- Compte HBO Max Reddit piraté pour une attaque de logiciel malveillant de vol de crypto : une nouvelle vague d'escroqueries sophistiquées
- 2026-09-17 12:50:01
- Le comité de la Chambre fait progresser le projet de loi sur la réserve stratégique de Bitcoin, façonnant l'avenir des avoirs fédéraux en cryptographie
- 2026-09-17 12:40:01
- Projet de loi fiscale sur les crypto-monnaies : les actifs numériques sont confrontés à de nouvelles règles fiscales, mais la clarté reste insaisissable
- 2026-09-17 09:10:02
Connaissances connexes
Qu'est-ce que le DAI et en quoi est-il différent de l'USDT ?
Sep 08,2026 at 05:00pm
Modèles de volatilité du marché 1. Des fluctuations de prix supérieures à 15 % sur une fenêtre de 24 heures se sont produites dans plus de 68 % des jo...
Pourquoi un Stablecoin peut-il perdre son ancrage à 1 $ ?
Sep 08,2026 at 02:00am
Composition des réserves et lacunes en matière de transparence 1. De nombreuses pièces stables prétendent être entièrement adossées à des liquidités o...
Qu’est-ce que l’auto-garde dans la cryptographie et pourquoi est-ce important ?
Sep 10,2026 at 04:19am
Définition et mécanique de base 1. L'auto-garde fait référence à la pratique selon laquelle les individus conservent le contrôle total de leurs cl...
Portefeuilles dépositaires et non dépositaires : quelle est la différence ?
Sep 17,2026 at 03:19am
Portefeuilles de garde définis 1. Un portefeuille de garde est une solution de stockage d'actifs numériques dans laquelle un fournisseur de servic...
Qu'est-ce qu'un portefeuille Multisig et quand est-il utile ?
Sep 12,2026 at 02:20pm
Définition et architecture de base 1. Un portefeuille multisig est une construction cryptographique qui nécessite plusieurs clés privées pour autorise...
Bitcoin et Lightning Network : quelle est la différence ?
Sep 13,2026 at 03:40pm
Architecture de base et modèle de transaction 1. Bitcoin fonctionne sur une blockchain monocouche et sans autorisation où chaque transaction est vérif...
Qu'est-ce que le DAI et en quoi est-il différent de l'USDT ?
Sep 08,2026 at 05:00pm
Modèles de volatilité du marché 1. Des fluctuations de prix supérieures à 15 % sur une fenêtre de 24 heures se sont produites dans plus de 68 % des jo...
Pourquoi un Stablecoin peut-il perdre son ancrage à 1 $ ?
Sep 08,2026 at 02:00am
Composition des réserves et lacunes en matière de transparence 1. De nombreuses pièces stables prétendent être entièrement adossées à des liquidités o...
Qu’est-ce que l’auto-garde dans la cryptographie et pourquoi est-ce important ?
Sep 10,2026 at 04:19am
Définition et mécanique de base 1. L'auto-garde fait référence à la pratique selon laquelle les individus conservent le contrôle total de leurs cl...
Portefeuilles dépositaires et non dépositaires : quelle est la différence ?
Sep 17,2026 at 03:19am
Portefeuilles de garde définis 1. Un portefeuille de garde est une solution de stockage d'actifs numériques dans laquelle un fournisseur de servic...
Qu'est-ce qu'un portefeuille Multisig et quand est-il utile ?
Sep 12,2026 at 02:20pm
Définition et architecture de base 1. Un portefeuille multisig est une construction cryptographique qui nécessite plusieurs clés privées pour autorise...
Bitcoin et Lightning Network : quelle est la différence ?
Sep 13,2026 at 03:40pm
Architecture de base et modèle de transaction 1. Bitcoin fonctionne sur une blockchain monocouche et sans autorisation où chaque transaction est vérif...
Voir tous les articles














