Le 5 novembre 2021, le protocole de prêt DeFi bZx a perdu environ 55 millions de dollars — son troisième incident majeur, après les deux attaques par prêt flash fondatrices de février 2020. Cette fois, l'attaque n'était pas sur les smart contracts. Un développeur bZx a ouvert un email de phishing avec un document Word malveillant, et un attaquant a remonté la chaîne de compromission jusqu'aux clés de signature du protocole.
Ce qui s'est passé
Un développeur bZx a reçu un email de phishing usurpant l'identité d'un contact légitime, avec un document Word attaché. Ouvrir le document a déclenché une macro malveillante qui exécutait un script sur l'ordinateur personnel du développeur. Le script a :
- Volé la phrase mnémotechnique du wallet personnel du développeur — et l'a vidé.
- Extrait deux clés privées que la machine du développeur détenait pour les déploiements Polygon et BNB Chain de bZx.
Les déploiements Polygon et BSC utilisaient des contrats proxy upgradables contrôlés par ces clés admin. Avec les deux clés en main, l'attaquant a :
- Mis à jour les contrats proxy de bZx vers une implémentation malveillante qui permettait des retraits arbitraires.
- Drainé les holdings du protocole sur Polygon et BSC — environ 55 M$ sur les soldes équivalents ETH et stablecoins.
- En bonus, balayé les soldes des utilisateurs ayant accordé aux contrats bZx des approbations de tokens illimitées, ajoutant plusieurs millions en pertes supplémentaires.
Le déploiement Ethereum de bZx était intact — la machine compromise du développeur ne détenait des clés que pour Polygon et BSC, et la multi-sig gouvernant les contrats Ethereum nécessitait des signataires additionnels.
Attribution & conséquences
- L'analyse de Kaspersky de la charge utile de l'email de phishing et de la signature de blanchiment a ensuite attribué l'opération au groupe Lazarus de Corée du Nord, l'une des plus anciennes opérations Lazarus publiquement documentées contre une cible purement DeFi.
- bZx a finalement cessé les opérations de prêt après le troisième coup. Le protocole survit en forme (sous Ooki DAO) mais a perdu son statut de prêteur DeFi sérieux.
- Les fonds volés ont été blanchis via Tornado Cash ; aucune récupération publique.
Pourquoi c'est important
L'incident de novembre 2021 de bZx est fondamental pour deux raisons :
-
C'était un avertissement précoce que le DeFi était désormais carrément dans le viseur de Lazarus. Les opérations Lazarus précédentes s'étaient concentrées sur les échanges centralisés ; le ciblage précis d'un développeur DeFi avec une charge utile de phishing personnalisée, et la sophistication opérationnelle pour monétiser les clés inter-chaînes, étaient un avant-goût des opérations bien plus grandes à venir chez Harmony, Radiant Capital et finalement Bybit.
-
Le même protocole peut survivre à n'importe quel nombre d'exploits de smart contracts — et quand même être tué par une compromission endpoint. Le code Solidity de bZx n'a pas été compromis en novembre 2021. Un ordinateur portable l'a été.
La leçon — que les clés admin appartiennent à des hardware wallets derrière un multi-sig, point, peu importe à quel point la signature à clé unique est pratique pour le développement — est une leçon que l'industrie a payée des centaines de millions de dollars à apprendre, à répétition, dans les années depuis.
Sources & preuves on-chain
- [01]therecord.mediahttps://therecord.media/hacker-steals-55-million-from-bzx-defi-platform
- [02]coindesk.comhttps://www.coindesk.com/business/2021/11/05/defi-lender-bzx-suffers-hack-for-reported-55m
- [03]halborn.comhttps://www.halborn.com/blog/post/explained-the-bzx-hack-november-2021