Une faille sur le marché Rarible NFT a permis des transferts d’actifs cryptographiques délicats

nft

Une faille de sécurité sur le marché Rarible NFT (jeton non fongible) a permis aux acteurs de la menace d’utiliser une astuce relativement simple pour voler des actifs numériques et les transférer directement dans leurs portefeuilles.

Rarible est un marché NFT centré sur la communauté qui offre jusqu’à 50 % de redevances, compte 2,1 millions d’utilisateurs enregistrés, des centaines de millions de dollars américains en volumes de transactions annuels et prend en charge trois chaînes de blocs.

La dangereuse faille du marché a été découverte par des analystes de Point de contrôlequi a travaillé avec Rarible pour implémenter un correctif.

Cependant, les utilisateurs qui ont déjà été victimes doivent vérifier et révoquer les approbations de jetons qu’ils ont accordées via des demandes de transactions frauduleuses passées.

Cacher du code dans les NFT

Le problème provient du risque intrinsèque sur la fonction « setApprovalForAll » qui fait partie de la norme NFT EIP-721, qui donne le contrôle complet des actifs NFT à quelqu’un d’autre.

Exemple de demande frauduleuse
Exemple de demande frauduleuse
(point de contrôle)

En falsifiant une demande de transaction qui semble anodine et en demandant au détenteur de l’actif de la signer, les acteurs de phishing arrachent les NFT de leur cible ou même prennent le contrôle du portefeuille sans aucune alerte pour la victime.

La faille de sécurité de Rarible est que la plate-forme permettait aux utilisateurs de télécharger des fichiers multimédias jusqu’à 100 Mo sans les examiner pour un contenu potentiellement malveillant.

Sur cette base, les chercheurs de Check Point ont pensé qu’ils pourraient créer une image SVG cachant une charge utile JavaScript malveillante et la télécharger sur Rarible en tant que NFT à vendre.

NFT malveillant téléchargé sur Rarible
NFT malveillant téléchargé sur Rarible (point de contrôle)

Cliquer sur l’image NFT ou sur le lien IPFS déclencherait l’exécution de code qui entraînerait la réception par la cible d’une demande de transaction « setApprovalForAll » sur son navigateur.

En supposant que la victime est négligente ou ne comprend pas très bien en quoi consiste la transaction, elle peut approuver la demande, donnant à l’attaquant l’accès à l’ensemble de sa collection.

À partir de là, les pirates peuvent utiliser l’action « transferFrom » et simplement voler les NFT, en les transférant vers un portefeuille dont ils sont propriétaires. Comme dans toutes les transactions blockchain, cette action est irréversible.

Transférer des NFT vers des portefeuilles externes
Transférer des NFT vers des portefeuilles externes (point de contrôle)

Le rapport de Check Point mentionne un cas d’abus dans le monde réel visant la célébrité taïwanaise Jay Chou, qui récemment perdu un NFT « Bored Ape » d’une valeur de 500 000 $ à un escroc de signature de transaction.

Comment protéger vos actifs

Il est important de souligner que Rarible n’est pas le seul marché avec ce défaut spécifique, car Check Point a découvert un problème très similaire sur OpenSea l’année dernière.

Essentiellement, le problème réside dans la norme de transaction NFT et l’ambiguïté des demandes de signature qui rendent difficile pour les détenteurs d’actifs d’évaluer leur authenticité et leur portée réelle.

Pour cette raison, chaque fois que vous recevez une demande de signature, examinez-la attentivement pour déterminer ce qui est impliqué. Si vous avez des doutes, n’autorisez pas la transaction.

Les utilisateurs sont invités à utiliser ce vérificateur d’approbation de jeton de revoir leurs approbations précédentes et de révoquer celles qui semblent frauduleuses.

En raison de la façon dont ces attaques fonctionnent, il y a souvent un délai entre les approbations d’accès et le transfert d’actifs, il peut donc encore y avoir du temps pour certaines victimes.

Aussi pionnière que puisse être la technologie blockchain, l’aspect de la protection des actifs des utilisateurs est toujours à la traîne, les investisseurs doivent donc être extrêmement prudents avec tout.