Analyse des vulnérabilités|Analyse de l'incident de vol de 12 millions de dollars du protocole d'actifs ancrés Cork Protocol et suivi des fonds

Récemment, le protocole Cork sur la chaîne Éther a été attaqué, les attaquants ont tiré profit de 12 millions de dollars grâce à une vulnérabilité logique dans le contrat du projet (paramètres clés non vérifiés). Cet article fournit une analyse détaillée de cet incident d'attaque et du suivi des fonds.

Rédigé par : Beosin

Récemment, le protocole Cork sur la chaîne Éther a été attaqué. L'attaquant a profité d'une vulnérabilité logique dans le contrat du projet (paramètres clés non vérifiés) pour gagner 12 millions de dollars. L'équipe de sécurité Beosin a effectué une analyse détaillée de cet incident d'attaque et un suivi des fonds, et partage les résultats comme suit :

Étapes d’attaque détaillées

Avant d’analyser une attaque, nous devons comprendre la logique métier particulière du protocole Cork. Il introduit un mécanisme de swap de défaut de crédit similaire à la finance traditionnelle (appelé Depeg Swap), qui tokenise le risque de désancrage des actifs indexés (tels que stETH), et les utilisateurs peuvent couvrir ou négocier le risque de désancrage des actifs indexés. Les types de jetons sont les suivants :

  • Actif de rachat (Redemption Asset, RA) : actif sous-jacent (comme Éther)

  • Actif adossé (Pegged Asset, PA) : actif ancré à un actif sous-jacent (comme stETH)

  • Depeg Swaps (DS) : similaire aux options de vente, pour couvrir la baisse des prix

  • Token de couverture (Cover Token, CT) — similaire à une option d'achat, sans décrochage, vous pouvez réaliser des bénéfices ; en cas de décrochage, des pertes doivent être supportées.

Lorsque l'utilisateur dépose RA, le protocole Cork frappe des jetons DS et CT, que l'utilisateur peut échanger ou racheter pour parier ou couvrir des risques.

Cette attaque implique le marché des jetons réel et un marché fictif construit par l'attaquant :

(1) attaquants ont d’abord créé une fausse place de marché où le RA est le jeton weETH8DS-2 et le PA est le wstETH. Il convient de noter que weETH8DS-2 peut être utilisé comme un RA sur le faux marché au lieu d’un DS sur le marché réel, qui aurait dû être interdit par la vérification des jetons inter-marchés.

(2) L'attaquant achète weETH8CT-2 sur le marché réel.

(3) L'attaquant a exploité le manque de contrôle d'accès approprié dans la fonction beforeSwap de CorkHook, en envoyant des données de Hook personnalisées à la fonction CorkCall, forçant celle-ci à diviser son weETH8DS-2 en fake_DS et fake_CT. Cela a été possible parce que weETH8DS-2 est le RA d'un marché fictif, et la fonction considère que fake_DS et fake_CT appartiennent à l'attaquant.

(4) les jetons fake_DS et fake_CT ont été transférés à l'attaquant, selon les règles du Cork Protocol : les jetons DS et CT peuvent être échangés contre des jetons RA. L'attaquant a échangé les jetons fake_DS et fake_CT reçus contre weETH8DS-2 sur le marché virtuel.

(5) Actuellement, l'attaquant possède weETH8CT-2 acheté à l'étape 2, weETH8DS-2 réassemblé, qui peut être échangé sur le marché réel contre RA (c'est-à-dire wstETH).

Ainsi, les attaquants peuvent transférer la liquidité DS du marché réel vers un autre marché (marché fictif construit) pour le rachat en tant que RA, extrayant ainsi la liquidité RA du marché réel. Les attaquants ont volé 3761 wstETH dans cet incident et les ont échangés contre environ 12 millions de dollars d'ETH.

Analyse des vulnérabilités

À travers le processus d'attaque ci-dessus, nous pouvons voir que les raisons d'exploitation de la vulnérabilité de l'événement sont les suivantes :

  • Manque de validation : il n'y a pas eu de vérification pour savoir si le DS utilisé comme RA a été utilisé sur d'autres marchés.

  • CorkCall données de rappel fournies par des utilisateurs de confiance non vérifiés.

  • Ce protocole permet de créer des marchés sans autorisation et sans restrictions.

Bien que le protocole Cork ait subi plusieurs audits de sécurité et concours d'audit, cette vulnérabilité au niveau logique a été négligée. Si des vérifications plus strictes sur la réutilisabilité des jetons étaient effectuées, si les données de rappel étaient rigoureusement vérifiées et si un contrôle plus strict de la création de marché était appliqué, cette attaque aurait pu être évitée.

Suivi des fonds volés

Beosin Trace a découvert que les fonds volés ont été suivis : l'adresse de l'attaquant 0xea6f30e360192bae715599e15e2f765b49e4da98 a réalisé un profit d'environ 3761 wstETH, puis a échangé wstETH contre de l'Éther via des protocoles DeFi tels que Uniswap et 1inch, pour un total de 4530,6.

Les fonds volés n'ont pas encore été transférés. Beosin Trace a ajouté les adresses liées au hacker à la base de données des adresses noires et continuera de suivre les développements.

Selon l'analyse de Beosin Trace, tous les fonds volés sont toujours stockés à l'adresse de l'attaquant.

Résumé

Au cœur de l’attaque se trouvait une vulnérabilité de logique métier dans le protocole Cork, qui a conduit l’attaquant à voler une grande quantité de wstETH par le biais de faux jetons. Les protocoles DeFi complexes comme le protocole Cork nécessitent des tests détaillés et un examen de la logique commerciale du contrat par le biais d’audits de sécurité à multiples facettes et à plusieurs niveaux. Auparavant, l’équipe de sécurité de Beosin a réalisé des audits de sécurité de plusieurs protocoles DeFi (par exemple, Surf Protocol, SyncSwap, LeverFi, Owlto Finance), en se concentrant sur la recherche de failles de logique contractuelle et de cas limites qui peuvent être négligés, en s’assurant que le protocole est entièrement testé.

Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)