Auteur : Lisa & Aro

Éditeur : Liz

Dans l'environnement Internet actuel, les menaces telles que les logiciels malveillants, les virus et les attaques par hameçonnage sont omniprésentes. Installer un logiciel antivirus (comme AVG, Bitdefender, Kaspersky, Malwarebytes, etc.) peut aider les utilisateurs à se protéger contre les programmes malveillants et à améliorer la sécurité du système. Cependant, le rôle des logiciels antivirus est de fournir une protection de base ; ils ne peuvent que réduire les risques et ne garantissent pas une sécurité absolue. La lutte est un processus dynamique, et l'installation d'un logiciel antivirus n'est que le premier pas pour améliorer la sécurité. De plus, les logiciels antivirus eux-mêmes peuvent également signaler des faux positifs, ce qui entraîne des risques supplémentaires.

Récemment, des utilisateurs ont signalé qu'après avoir utilisé un logiciel antivirus, certaines extensions de navigateur (en particulier les extensions de portefeuille de cryptomonnaie) ont été signalées à tort comme des logiciels malveillants, entraînant l'isolement ou la suppression des fichiers JavaScript de l'extension, ce qui a finalement endommagé le portefeuille et l'a rendu inutilisable.

Pour les utilisateurs de Web3, cette situation est particulièrement grave, car les extensions de portefeuille crypté stockent généralement les clés privées. Si elles ne sont pas traitées correctement, cela peut entraîner une perte de données de portefeuille, voire l'incapacité à récupérer des actifs. Par conséquent, il est crucial de comprendre comment récupérer correctement les données de l'extension isolées par un faux positif.

Comment traiter ?

Si vous trouvez qu'un logiciel antivirus a signalé à tort et a causé des dommages à l'extension du navigateur, il est conseillé de suivre les étapes suivantes pour la récupérer :

1. Récupérez les fichiers de la zone de quarantaine, ne désinstallez pas l'extension

Si vous découvrez qu'un logiciel ou une extension ne fonctionne pas, vérifiez immédiatement la « zone de quarantaine » (Quarantine) ou l'« historique » (History) du logiciel antivirus pour rechercher des fichiers signalés à tort, n'effacez pas les fichiers en quarantaine.

  • Si le fichier est toujours dans la zone de quarantaine, sélectionnez « Récupérer » (Restore) et ajoutez ce fichier ou cette extension à la liste de confiance pour éviter de nouveaux faux positifs.

  • Si le fichier a été supprimé, vérifiez s'il existe une sauvegarde automatique ou utilisez un outil de récupération de données pour le retrouver.

  • N'oubliez pas : ne désinstallez pas l'extension ! Même si l'extension est déjà endommagée, il peut encore y avoir des fichiers liés à la clé privée cryptée sur votre système, ce qui laisse une possibilité de récupération.

2. Sauvegardez et recherchez les données d'extension locales

Les données de l'extension sont généralement stockées sur le disque local. Même si l'extension ne peut pas s'ouvrir, vous pouvez toujours trouver les données pertinentes pour la récupération (l'ID de l'extension à titre d'exemple : MetaMask : nkbihfbeogaeaoehlefnkodbefgpgknn) :

  • Référence de chemin Windows : C:\Users\USER_NAME\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn

  • Référence de chemin Mac :
    ~/Library/Application Support/Google/Chrome/Default/Local Extension Settings/nkbihfbeogaeaoehlefnkodbefgpgknn

Il convient de noter que si Chrome utilise plusieurs configurations de compte, le chemin par défaut pourrait devenir Profile 1/Profile 2, vous devez vérifier le répertoire de profil spécifique et ajuster le chemin en fonction de la situation réelle. Il est recommandé de sauvegarder immédiatement le répertoire complet de l'extension cible pour pouvoir le récupérer en cas de problème.

3. Méthode de récupération brutale : écraser le répertoire d'extension local

Si un faux positif a endommagé l'extension, la méthode la plus directe consiste à remplacer les données de l'extension sauvegardée directement dans le répertoire local correspondant à l'extension sur un nouvel ordinateur ou dans un nouvel environnement de navigateur, puis à rouvrir le programme d'extension.

4. Méthode de récupération avancée : décryptage manuel des données de clé privée

Si l'extension ne peut toujours pas s'ouvrir ou si des données sont manquantes, vous pouvez essayer des méthodes de récupération plus avancées, c'est-à-dire déchiffrer manuellement les données de la clé privée pour récupérer. Prenons MetaMask comme exemple :

  • Recherchez localement l'ID de l'extension MetaMask sur l'ordinateur, trouvez le répertoire suivant : C:\Users\[User]\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn

  • Ce répertoire peut contenir des fichiers ldb/log, qui stockent les données de clé privée cryptées. Vous pouvez utiliser l'outil de décryptage du coffre officiel de MetaMask (https://metamask.github.io/vault-decryptor/) pour décrypter.

  • Étapes de décryptage : ouvrez l'outil de décryptage du coffre MetaMask -> copiez le contenu crypté des fichiers ldb/log -> utilisez le mot de passe d'origine de l'extension pour déchiffrer -> après avoir obtenu la clé privée, réimportez le portefeuille.

Si l'extension MetaMask peut encore ouvrir certaines pages (comme chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/home.html), vous pouvez essayer d'exécuter le code suivant pour obtenir les données de la clé privée cryptée :

Ensuite, copiez les données du coffre dans l'outil de décryptage du coffre MetaMask pour décrypter.

5. Écrire un outil de récupération personnalisé

Si les méthodes ci-dessus ne permettent pas de récupérer les données du portefeuille, l'utilisateur peut écrire un script pour extraire les données stockées par l'extension à partir du fichier de base de données local, puis procéder au décryptage. Ici, en prenant PhantomKeyRetriever comme modèle, les principes de base et la mise en œuvre d'outils de récupération de différents portefeuilles sont les suivants :

Les plugins de portefeuille stockent généralement des données sensibles dans une base de données ou des fichiers sur le système local. Les portefeuilles d'extensions de navigateur (comme Phantom, MetaMask, etc.) utilisent l'API de stockage fournie par le navigateur pour stocker les données cryptées dans la zone de stockage local du navigateur, généralement dans des systèmes de base de données comme LevelDB ou IndexedDB. Peu importe le type de portefeuille, un principe clé est que les données sont toujours stockées sous forme cryptée, garantissant que même si les données sont copiées, elles ne peuvent pas être accessibles sans le mot de passe correct.

La plupart des portefeuilles cryptés utilisent une architecture de cryptage multicouche pour améliorer la sécurité. Tout d'abord, le mot de passe principal de l'utilisateur est utilisé pour chiffrer une clé intermédiaire (généralement appelée « clé de cryptage » ou « clé de décryptage »). Ensuite, cette clé intermédiaire est utilisée pour chiffrer la clé privée réelle ou la mnémonique. Ce design fait en sorte que même si le code de l'application de portefeuille est compromis, un attaquant doit connaître le mot de passe de l'utilisateur pour accéder à la clé privée. Ce design multicouche permet également à l'application de portefeuille de ne décrypter la clé intermédiaire qu'après que l'utilisateur se soit connecté, sans avoir à saisir à nouveau le mot de passe principal à chaque opération.

Le processus de création d'un outil de récupération de portefeuille comprend généralement :

  • Localisez et extrayez les données cryptées (lisez les données depuis LevelDB/IndexedDB).

  • Analysez la structure des données pour identifier les clés privées cryptées / mnémoniques.

  • Demander à l'utilisateur de saisir le mot de passe du portefeuille, calculer la clé de décryptage via KDF (comme PBKDF2 ou Scrypt).

  • Décryptez la clé intermédiaire, puis décryptiez les clés privées / mnémoniques.

Ce processus nécessite une compréhension précise du schéma de cryptage du portefeuille et du format de stockage des données, ce qui nécessite généralement de l'ingénierie inverse ou une analyse du code source du portefeuille.

Prenons l'outil PhantomKeyRetriever comme exemple, c'est un script spécialement conçu pour extraire les mnémoniques ou les clés privées du portefeuille Phantom à partir des données du navigateur Chrome. SlowMist a actuellement rendu cet outil open source sur GitHub (https://github.com/slowmist/PhantomKeyRetriever), son principe de base est le suivant :

  • Lisez la base de données LevelDB de Chrome, copiez les données pertinentes dans un répertoire temporaire.

  • Parcourez la base de données pour rechercher les clés cryptées et les informations de graine de portefeuille stockées par le portefeuille Phantom.

  • L'utilisateur saisit le mot de passe Phantom, le script utilise PBKDF2/Scrypt pour calculer la clé de décryptage.

  • Décryptez les données du coffre du portefeuille, extrayez la mnémonique BIP39 ou la clé privée Base58.

Dans ce processus de double décryptage, le script prend en charge les fonctions de dérivation de clé PBKDF2 et Scrypt et utilise la bibliothèque NaCl's SecretBox pour un décryptage sécurisé. Enfin, en fonction du type de données décryptées, le script générera une mnémonique conforme à la norme BIP39 ou extraira la clé privée encodée en Base58.

Il convient de noter que d'autres navigateurs prenant en charge les portefeuilles d'extension (comme Edge, Firefox) fonctionnent selon des principes similaires, nous n'entrerons pas plus dans les détails ici.

Comment prévenir ?

Pour réduire le risque de faux positifs, les utilisateurs peuvent prendre les mesures suivantes :

  • Sauvegardez régulièrement les fichiers importants et les données des extensions de navigateur afin de pouvoir les récupérer rapidement en cas de faux positif.

  • Ajoutez manuellement des règles de confiance dans le logiciel antivirus. Pour les logiciels ou extensions importants (comme MetaMask), vous pouvez les ajouter manuellement à la liste de confiance pour éviter les faux positifs.

  • Téléchargez des logiciels par des canaux officiels pour éviter d'installer des applications non officielles ou modifiées, afin de réduire le risque d'être signalé comme une menace potentielle par le logiciel antivirus.

Résumé

La lutte est toujours en évolution, et les politiques de sécurité doivent également être ajustées en permanence. Installer un logiciel antivirus est certes important, mais au final, l'utilisateur est la dernière ligne de défense de ses propres actifs. En cas de faux positif, l'utilisateur doit traiter la situation calmement, éviter de supprimer directement des fichiers critiques et adopter des moyens de récupération appropriés. Seule une bonne connaissance de la sécurité peut réellement garantir la sécurité des données.