Aller au contenu
Dossier d'incident · · 2 min de lecture · 306 mots · Mis à jour ·Découvert ·Divulgué Résolu

Attaque par donation contre Euler Finance, mars 2023 : ce qui s’est passé et ce qu’il faut vérifier

L'absence de contrôle de santé sur une fonction de donation a permis à un attaquant de provoquer sa propre liquidation avec profit, en dérobant environ 197 millions de dollars. La quasi-totalité a été restituée.

Partager
Schéma de l'incident Euler Finance montrant l'étape de logique métier comme point de défaillance.
Schematic of the Euler Finance incident showing the business logic stage as the failure point.

En un coup d'œil

ENTITÉ TOUCHÉE
Euler Finance
CHAÎNE(S)
Ethereum
CLASSE D'ATTAQUE
Logique métier, Prêt flash
PERTES DÉCLARÉES
env. 197 millions de dollars américains (restitués pour l'essentiel)(Euler Labs, 13 Mar 2023)
RÉPONSE OFFICIELLE
www.euler.finance

Le contrôle manquant

Euler permettait aux utilisateurs de faire don d’une partie de leur solde aux réserves du protocole. Dans un protocole de prêt, la plupart des fonctions qui modifient l’état se terminent par une confirmation que le compte est toujours solvable — le contrôle de santé. Celle-ci ne le faisait pas, car faire un don aux réserves ne ressemble pas d’emblée à une opération susceptible de dégrader votre santé financière.

Elle le pouvait pourtant. Un attaquant a souscrit un prêt flash, déposé, emprunté, puis fait un don suffisant pour faire délibérément passer sa propre position sous le seuil de liquidation. Il s’est ensuite liquidé lui-même. Comme la décote de liquidation était calculée à partir de la position désormais en difficulté, l’autoliquidation était rentable, et le prêt flash a été remboursé sur le produit de l’opération.

Les audits et la forme de ce qui est examiné

Euler avait été audité à plusieurs reprises. Il vaut la peine de le dire clairement plutôt que de le passer sous silence, car le qualificatif « audité » est régulièrement présenté aux utilisateurs comme une garantie de sécurité, et cet incident montre précisément ce qu’il n’est pas. Les relecteurs examinent ce qu’ils identifient comme porteur de risque. Une fonction de donation se lit comme un cadeau — l’utilisateur réduit volontairement son propre solde — et la lecture adverse dans laquelle ce geste constitue le premier coup d’une attaque est facile à manquer.

Ce qu’un lecteur peut en retenir

Le risque d’un protocole ne se résume pas au nombre d’audits. Les questions les plus utiles sont de savoir si les invariants sont appliqués uniformément sur chaque chemin modifiant l’état, si le protocole est couvert par un programme de primes aux bogues actif doté d’un montant significatif, et s’il existe une surveillance capable de repérer un schéma de liquidation anormal en cours.

Chronologie

Ajout seulement. Les corrections sont ajoutées sous la forme d'une entrée datée distincte ; les entrées antérieures ne sont jamais réécrites.

  1. L'attaque s'exécute sur plusieurs marchés d'Euler au moyen d'une série de transactions financées par prêt flash. Euler confirme l'incident. Euler Labs
  2. L'attaquant commence à restituer les fonds ; la quasi-totalité des actifs est finalement rendue. Euler Labs

Ce qu'il faut vérifier

Euler Labs a publié une analyse post-incident technique, dont le lien figure ci-dessous, identifiant la fonction précise et le contrôle manquant.

Conisec n'héberge ni ne relaie d'outils de récupération, de révocation ou de « vérification ». Après un incident public, les attaquants diffusent systématiquement ce type de liens en utilisant les noms des publications qui couvrent l'affaire. Utilisez le canal officiel du projet concerné, indiqué ci-dessus, et rien d'autre.

Sources

  1. Euler Labs, Euler Exploit Post-Mortem (13 Mar 2023)

Pas un conseil. Ceci est un résumé de faits publiés, et non un conseil juridique, fiscal ou de sécurité. Vérifiez auprès des sources primaires indiquées ci-dessus.

Dernière vérification par Conisec Staff.

Pour aller plus loin