-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Qu’est-ce qu’une attaque de réentrée et comment les contrats intelligents peuvent-ils s’en défendre ?
Re-entrancy attacks exploit unchecked external calls in smart contracts, allowing attackers to recursively withdraw funds before state updates, as seen in the $60M DAO hack.
Nov 13, 2025 at 03:40 am
Comprendre les attaques de réentrée dans les contrats intelligents
1. Une attaque de réentrée 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. Cet exploit profite de l'ordre dans lequel les changements d'état et les appels externes sont exécutés.
2. L'exemple le plus tristement célèbre est le piratage DAO de 2016, où un attaquant a drainé plus de 60 millions de dollars en retirant de manière récursive des fonds d'un contrat qui n'avait pas mis à jour les soldes avant d'envoyer de l'Ether.
3. Ces attaques ciblent généralement les fonctions qui effectuent des appels externes vers des contrats non fiables tout en conservant des variables d'état critiques dans un état incohérent.
4. Pendant l'appel récursif, la fonction de repli ou de réception de l'attaquant déclenche à nouveau la même logique de retrait, contournant ainsi les contrôles d'accès ou les vérifications de solde.
5. La principale vulnérabilité réside dans la violation du modèle de vérification des effets et des interactions, dans lequel les modifications d'état doivent toujours précéder les appels externes pour empêcher toute manipulation pendant l'exécution.
Modèles vulnérables courants dans Solidity
1. Les fonctions qui envoient de l'Ether ou des jetons à des adresses contrôlées par l'utilisateur sans mettre à jour au préalable la comptabilité interne sont des cibles privilégiées pour la réentrée.
2. Les contrats utilisant des appels de bas niveau, comme les appels avec des transferts Ether natifs, sont particulièrement menacés car ils transfèrent tout le gaz restant, permettant une logique de rappel complexe.
3. La logique qui repose sur les validations post-appel échoue lorsque l'appel lui-même déclenche une entrée récursive, rendant ces vérifications inefficaces jusqu'à ce que les dommages soient causés.
4. Les structures successorales peuvent involontairement exposer des fonctions si les contrats parentaux ne prévoient pas de protections appropriées, même si les contrats enfants semblent sécurisés.
5. Les bibliothèques ou les modèles de proxy peuvent propager des vulnérabilités si le mécanisme d'appel délégué permet une corruption de l'état via des configurations de stockage partagées.
Mécanismes de défense efficaces
1. Implémentez rigoureusement le modèle Contrôles-Effets-Interactions : validez toujours les entrées, mettez à jour les variables d'état, puis procédez aux appels externes.
2. Utilisez des gardes de réentrance provenant de bibliothèques établies comme ReentrancyGuard d'OpenZeppelin, qui utilisent des verrous mutex pour bloquer les entrées récursives.
3. Préférez le transfert de fonds par virement ou envoi plutôt que par appel , car ces méthodes limitent le transfert de gaz et réduisent la surface d'attaque.
4. Adopter des modèles de paiement pull-over-push dans lesquels les utilisateurs réclament des fonds plutôt que de les voir automatiquement envoyés, éliminant ainsi les risques d'appels sortants.
5. Appliquez des outils d'analyse statique rigoureux et une vérification formelle pendant le développement pour détecter les chemins de récursion potentiels avant le déploiement.
Foire aux questions
Qu’est-ce qui rend une fonction de repli dangereuse dans les scénarios de réentrée ? Une fonction de secours devient dangereuse lorsqu'elle contient une logique qui réinvoque les fonctions métier du contrat appelant. Si le contrat d'origine n'a pas mis à jour son état avant de passer un appel externe, ce déclencheur récursif peut exploiter des soldes ou des autorisations obsolètes.
La réentrée peut-elle se produire à travers plusieurs interactions contractuelles ? Oui, la réentrée entre fonctions est possible lorsque différentes fonctions au sein du même contrat accèdent à un état partagé sans synchronisation appropriée. Un attaquant pourrait déclencher une fonction qui appelle en externe, puis utiliser la solution de secours pour entrer une deuxième fonction vulnérable avant que les mises à jour d'état ne se produisent.
Les contrats non-Ether sont-ils à l’abri de la réentrée ? Non, les contrats de jetons gérant les transferts ERC-20 peuvent également être exploités. Si un transfert de jeton déclenche un hook de récepteur (comme approbation + rappel) et que le contrat de réception manipule l'état de l'expéditeur en cours de transfert, des exploits récursifs similaires apparaissent.
Comment les mises à niveau du compilateur aident-elles à atténuer la réentrée ? Les versions plus récentes de Solidity incluent des valeurs par défaut plus sûres et des avertissements pour les anti-modèles connus. Par exemple, des spécifications de visibilité explicites et des règles améliorées en matière d’allocation d’essence réduisent les comportements involontaires. Cependant, les fonctionnalités du compilateur ne peuvent à elles seules éliminer les défauts logiques nécessitant une discipline architecturale.
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.
-
RAIN Échangez maintenant$0.007852
113.00%
-
PIPPIN Échangez maintenant$0.06097
51.96%
-
PARTI Échangez maintenant$0.1396
42.04%
-
WAVES Échangez maintenant$0.9141
41.69%
-
ARC Échangez maintenant$0.04302
35.73%
-
HONEY Échangez maintenant$0.01029
21.80%
- Paix des courtiers de la Maison Blanche : crypto, banques et avenir de la finance
- 2026-01-31 18:50:01
- La découverte de pièces rares de la Monnaie royale suscite une frénésie de valeur : quelle est la valeur de votre monnaie ?
- 2026-01-31 18:55:01
- La migration du réseau principal du réseau Pi s'accélère, libérant des millions de personnes et renforçant la fondation de Pi Coin
- 2026-01-31 18:55:01
- Les stVaults du Lido révolutionnent le jalonnement d'Ethereum pour les institutions
- 2026-01-31 19:25:01
- Le pari audacieux de MegaETH : pas de frais d'inscription, pas de parachutages d'échange, juste du courage pur
- 2026-01-31 19:20:02
- Les retards de prévente de BlockDAG soulèvent des questions sur la date de cotation au milieu de l'examen du marché
- 2026-01-31 19:15:01
Connaissances connexes
Qu'est-ce que la réduction de moitié ? (Comprendre le calendrier d'approvisionnement de Bitcoin)
Jan 16,2026 at 12:19am
Qu'est-ce que la réduction de moitié de Bitcoin ? 1. La réduction de moitié de Bitcoin est un événement préprogrammé intégré au protocole Bitcoin ...
Que sont les jeux Play-to-Earn (P2E) et comment fonctionnent-ils ?
Jan 12,2026 at 08:19pm
Définition et mécanique de base 1. Les jeux Play-to-Earn (P2E) sont des expériences numériques basées sur la blockchain dans lesquelles les joueurs ga...
Qu'est-ce qu'un Mempool et comment les transactions sont-elles confirmées ?
Jan 24,2026 at 06:00am
Qu'est-ce que le pool de mémoire ? 1. Le pool de mémoire est une zone de stockage temporaire au sein de chaque nœud Bitcoin qui contient les trans...
Comment gagner un revenu passif avec la crypto-monnaie ?
Jan 13,2026 at 07:39am
Mécanismes de jalonnement 1. Le jalonnement consiste à verrouiller une certaine quantité de crypto-monnaie dans un portefeuille pour prendre en charge...
Que sont les preuves à connaissance nulle (ZK-Proofs) ?
Jan 22,2026 at 04:40am
Définition et concept de base 1. Les Zero-Knowledge Proofs (ZK-Proofs) sont des protocoles cryptographiques permettant à une partie de prouver la véra...
Qu’est-ce que le trilemme de la blockchain ? (Sécurité, évolutivité et décentralisation)
Jan 15,2026 at 05:00pm
Comprendre le conflit central 1. Le Trilemme Blockchain décrit une contrainte architecturale fondamentale où il est extrêmement difficile de maximiser...
Qu'est-ce que la réduction de moitié ? (Comprendre le calendrier d'approvisionnement de Bitcoin)
Jan 16,2026 at 12:19am
Qu'est-ce que la réduction de moitié de Bitcoin ? 1. La réduction de moitié de Bitcoin est un événement préprogrammé intégré au protocole Bitcoin ...
Que sont les jeux Play-to-Earn (P2E) et comment fonctionnent-ils ?
Jan 12,2026 at 08:19pm
Définition et mécanique de base 1. Les jeux Play-to-Earn (P2E) sont des expériences numériques basées sur la blockchain dans lesquelles les joueurs ga...
Qu'est-ce qu'un Mempool et comment les transactions sont-elles confirmées ?
Jan 24,2026 at 06:00am
Qu'est-ce que le pool de mémoire ? 1. Le pool de mémoire est une zone de stockage temporaire au sein de chaque nœud Bitcoin qui contient les trans...
Comment gagner un revenu passif avec la crypto-monnaie ?
Jan 13,2026 at 07:39am
Mécanismes de jalonnement 1. Le jalonnement consiste à verrouiller une certaine quantité de crypto-monnaie dans un portefeuille pour prendre en charge...
Que sont les preuves à connaissance nulle (ZK-Proofs) ?
Jan 22,2026 at 04:40am
Définition et concept de base 1. Les Zero-Knowledge Proofs (ZK-Proofs) sont des protocoles cryptographiques permettant à une partie de prouver la véra...
Qu’est-ce que le trilemme de la blockchain ? (Sécurité, évolutivité et décentralisation)
Jan 15,2026 at 05:00pm
Comprendre le conflit central 1. Le Trilemme Blockchain décrit une contrainte architecturale fondamentale où il est extrêmement difficile de maximiser...
Voir tous les articles














