
Source: Communauté chinoise certik
16 janvier 2024,Socket Tech a été attaqué et perdu environ 3,3 millions de dollars américainsEssenceL’attaquant utilise un contrat de douilleVulnérabilité dans le lien de vérification des donnéesLes fonds de l’utilisateur qui ont volé le contrat autorisé grâce à une entrée de données malveillantes.Cette attaque a porté des pertes à 230 adresses, et la plus grande perte d’adresse était d’environ 656 000 dollars américains.
Introduction de fond
Socket est un protocole interopérable desservant la sécurité transversale, des données efficaces et une transmission d’actifs.Le contrat de passerelle de socket est le point d’accès pour toute l’interaction avec la couche de liquidité de socket. .
Trois jours avant l’attaque de piratage, l’administrateur du contrat de socket a exécuté la commande addroute et a ajouté une nouvelle route vers le système.Le but d’ajouter des itinéraires est d’étendre la fonction de la passerelle de socket,Mais j’ai accidentellement introduit une échappatoire cléEssence
Le chiffre suivant est un enregistrement de l’ajout de routage via l’administrateur du contrat:
Contour
1. À 15:03 le 16 janvier, l’heure de Pékin, le portefeuille de l’attaquant a été transféré aux fonds utilisés par l’attaque.
2Ces fonds sont utilisés pour créer et exécuter deux contrats pour utiliser les lacunes de SocketEssenceLe premier contrat s’adresse à l’USDC à l’adresse de l’adresse Socketgateway (la capture d’écran est la suivante).127 victimes ont été trompées d’environ 2,5 millions de dollars.
3. Ensuite, le deuxième contrat vise Weth, USDT, WBTC, DAI et MATIC dans l’adresse de la victime.En conséquence, les 104 autres victimes ont perdu les actifs: actifs:
-42,48 Weth
-347,005,65 USDT
-2,89 WBTC
-13 821.01 Dai
-165,356,99 Matic
4. L’attaquant convertit USDC et USDT en ETH.
Vulnérabilité
Les vulnérabilités utilisées par l’attaquant existent dans la nouvelle adresse d’adresse de routage supplémentaire.
La fonction d’origine de la fonction PerformAction dans cette adresse est d’aider la fonction de l’emballage et du déballage.
Cependant,Il y a une échappatoire clé dans cette fonction: Sous la situation sans vérification, appelez directement les données externes via swapextradata dans .Call (), etCela signifie qu’un attaquant peut exécuter n’importe quelle fonction malveillanteEssence
Dans cet incident, l’attaquant a fait une entrée swapextradata malveillante pour déclencher la fonction de transfrom.L’appel malveillant a profité de l’autorisation par l’utilisateur du contrat Socketgateway et leur a volé des fonds.
Bien que le contrat garantira que le solde de l’utilisateur changera correctement après que les informations sont appelées en vérifiant le contrôle du solde pour s’assurer que le solde de l’utilisateur changera, mais la fonction ne considère pas que l’attaquant définit le montant à 0.
Restaurer le processus d’attaque
1. Utilisez un contrat d’attaque pour appeler le 0x00000196 () dans le contrat de passerelle Socket.
2.Fallback () utilise la signature de six-à-faire 196 pour appeler des échappatoires.
3. Dans la capture d’écran ci-dessous, nous pouvons voir la fausse entrée utilisée par l’attaquant.
4. Ensuite, vous appellerez enveloppétokenwapperImpl.PerformAction () pour Swap.
5. Sans aucune vérification, le faux swapextradata est accepté et exécuté par FromToken (weth).
6. L’attaquant exécute à plusieurs reprises le processus ci-dessus jusqu’à ce que les actifs de la victime soient épuisés.Après l’apparition de la transaction malveillante, le socket a rapidement appelé DisableRoute, bloquant le routage de la vulnérabilité auparavant, empêchant la plus grande gamme d’attaques.
7. Le 23 janvier, Socket a annoncé qu’il avait récupéré 1032 ETHS et a annoncé le 25e qu’elle compenserait toutes les pertes.Cet événement est résolu.
Résumé des événements
Dans un contrat de routage autorisé par les utilisateurs illimités, les attaques de calldata malveillantes ne sont pas rares.
Des attaques similaires dans le passé incluentDexable et Hector BridgeEssence
Le 17 février 2023, l’échange décentralisé dexable a été attaqué et perdu plus que1,5 million de dollars américainsEssenceLes services publics de vulnérabilité entrent le calciatif calvial à la fonction Fill () de la dexabilité pour voler les actifs des utilisateurs.
Le 2 juin 2023, le protocole du réseau Hector a été attaqué.L’attaquant a déployé un faux contrat de l’USDC et a passé le calcul malveillant pour transférer 652 000 réels USDC du contrat de la victime.
La plate-forme en polymère blockchain utilise généralement une série de ponts et de contrats de routage pour améliorer la liquidité et réduire les pertes.Cependant, cet emballage compliqué peut apporter plus de problèmes à la sécurité.