Dernière modification effectuée le 06.09.2023 23:39
10,86 millions de dollars siphonnés dans le hack de bEarn
bEarn est l’un des nombreux protocoles qui compose l’écosystème DeFi de la Binance Smart Chain. Celui-ci propose une série de services de yield farming automatique et cross-chain, à savoir qu’il fonctionne aussi bien sur la BSC que sur Ethereum.
Le 16 mai, les équipes du projet ont notifié leurs utilisateurs qu’une attaque était en cours.
Au total, l’attaquant a réussi à siphonner l’équivalent de 10,86 millions de dollars via les 26 transactions qui ont composé son attaque.
Quelques heures après les évènements, les développeurs de bEarn sont revenus sur le déroulement de l’attaque via un post-mortem publié sur Medium.
Une faille dans le coffre-fort BUSD
Avant toute chose, rappelons que bEarn propose une série de coffres-forts implémentant des stratégies qui visent à optimiser les rendements générés par un autre protocole. De ce fait, bEarn est connecté à une dizaine d’autres protocoles et hérite de ce fait de leurs faiblesses et failles.
En pratique, l’attaque a visé la stratégie du coffre-fort BUSD lié au protocole Alpaca. D’après le post-mortem, il semblerait qu’une erreur d’implémentation dans la fonction withdraw() soit à l’origine de la faille.
Ainsi, les développeurs communiquaient dans la fonction withdraw de la stratégie BUSD Alpaca le montant en BUSD alors qu’ils auraient dû communiquer le montant en ibBUSD, une version du BUSD propre au protocole bEarn.
“De ce fait, la stratégie a retiré plus de BUSD que nécessaire et le montant supplémentaire a été utilisé pour effectuer un dépôt sur FairLaunch par la suite, ce qui a augmenté le montant de BUSD bloqué dans le contrat alors qu’il n’y avait pas de nouveau dépôt.”, explique l’annonce.
Une attaque en trois étapes
Bien qu’elle soit composée de 26 transactions distinctes, l’attaque s’est en réalité déroulée en trois grandes étapes.
- Flash loan de 7,8 millions de BUSD sur le protocole Cream ;
- Dépôt et retrait de BUSD sur le coffre-fort présentant la faille. La faille permettait de retirer plus de BUSD que ceux déposés. L’attaquant a répété cette étape une trentaine de fois ;
- Remboursement du flash loan, avec un profit de 10,86 millions de dollars.
Par la suite, l’attaquant a divisé ses fonds sur plusieurs adresses. Depuis ces adresses, l’attaquant a converti son butin en renBTC puis a retiré les renBTC hors de la Binance Smart Chain, probablement pour éviter toute intervention de la part de Binance.
Une fois n’est pas coutume, cette attaque a été menée alors que le protocole avait été audité par plusieurs firmes d’audit, dont Certik.
Plan de remboursement
Suite à cet évènement tragique, les équipes de bEarn ont annoncé la mise en place d’un programme de compensation à destination des utilisateurs lésés.
Pour financer cette campagne de remboursement, les développeurs vont taper à la fois dans les fonds qu’ils ont réussi à sauver, dans le fonds destiné aux développeurs ainsi que dans les caisses du DAO.
Les utilisateurs pourront ainsi réclamer leurs fonds de la manière suivante :
- 87,5% du montant du dépôt initial en BUSD (immédiatement)
- 10% du montant du dépôt initial en BDEX (avec une période de blocage de 80 semaines, comme l’équipe principale)
- 7,5% du montant du dépôt initial en BDOv2 (immédiatement)
En pratique, les utilisateurs lésés recevront un bonus de 5% sur le montant qu’ils avaient déposé, une sorte de frais de compensation offerts par le protocole.