Plus tôt aujourd'hui, Kraken Security Labs a publié un rapport de sécurité divulguant leurs découvertes sur le portefeuille matériel SafePal S1. Nous aimerions profiter de cette occasion pour répondre aux conclusions et clarifier certaines affirmations de Kraken Security Labs.
TL, DR:
- Les fonds sont #SAFU: Avec plusieurs tentatives et angles d'attaque, Kraken Security Labs a échoué à voler la graine.
- Détection de manipulation inefficace: Non-exploitable et n'affecte pas la sécurité du portefeuille.
- Attaque de rétrogradation: Non-exploitable, corrigée.
Examinons maintenant les problèmes présentés par Kraken Security Labs dans le rapport.
1. Détection de manipulation inefficace
Dans le rapport, Kraken Security Labs prétend avoir contourné le mécanisme d'auto-destruction en retirant le blindage RF et en réattachant une seule broche. Pourtant, cette conception n'est pas liée à la logique de sécurité principale du dispositif. Au lieu de cela, le blindage RF est une exigence pour la CEM (Compatibilité Électromagnétique) standard. Contourner ce paramètre ne créera pas une menace réelle pour la sécurité du portefeuille matériel. Et cela a été prouvé par l'absence de progrès substantiels de Kraken Security Labs dans ce scénario d'attaque. Le mécanisme d'auto-destruction et d'effacement des données est intégré dans de nombreux détails du SafePal S1 au niveau matériel et logiciel. Il est inapproprié d'affirmer que le mécanisme est inefficace simplement parce que d'autres pièges n'ont pas été déclenchés.
2. Violations de licence open source
SafePal est un portefeuille décentralisé qui vise à construire des solutions de gestion d'actifs sécurisées et conviviales pour les masses cryptographiques. Pour l'instant, il n'est pas encore open source.
Le fait de ne pas être open source ne signifie pas que les produits SafePal ne sont pas sécurisés à utiliser. Comme Tagore l'a écrit dans Stray Birds : "Le meilleur ne vient pas seul. Il vient avec la compagnie de tous", l'open source a aussi ses avantages et ses inconvénients.
D'une part, rendre un produit open source permet à tout le monde de vérifier s'il y a des codes malveillants intégrés dans les produits, aidant à établir la confiance et la transparence. Cela aide également le produit à s'améliorer et à évoluer avec le soutien des communautés de développeurs. Les développeurs peuvent examiner les codes et localiser d'éventuelles vulnérabilités, renforçant ainsi la sécurité du produit.
D'autre part, la plupart des personnes sans compétences techniques pourraient ne pas être en mesure d'auditer vraiment les codes open source et de vérifier s'ils sont sécurisés, alors que l'open source rend en réalité plus facile pour les pirates d'exploiter les vulnérabilités potentielles et de nuire aux utilisateurs. Par conséquent, du point de vue des utilisateurs, il est difficile de dire si l'open source apporte plus d'avantages que de risques.
De plus, comme le développement logiciel est un processus compliqué, même si un produit est open source, il est très probable que les utilisateurs ne pourront pas dire si les codes sur les produits actuels qu'ils utilisent sont réellement cohérents avec et compilés à partir des codes open source.
En résumé, SafePal n'est pas encore open source. Mais l'open source a toujours été pris en considération. À l'avenir, nous pourrions également choisir de rendre une partie des codes open source en fonction de la situation réelle, tout comme l'ont fait Apple et Microsoft.
3. Attaque de rétrogradation
Dans le rapport, Kraken Security Labs a retiré le flash de la carte principale et a utilisé un programmateur de flash spécial pour reprogrammer le firmware du SafePal S1 vers une version officielle antérieure. Le rapport souligne les risques potentiels auxquels ce phénomène pourrait conduire lorsqu'un attaquant expérimenté lance une attaque de rétrogradation en utilisant une version de firmware antérieure vulnérable (le cas échéant).
Le SafePal S1 a adopté une technologie de chaîne de démarrage sécurisée (pour prévenir toute tentative malveillante pendant le fonctionnement du firmware) et la technologie de l'échange de clés Elliptic Curve Diffie - Hellman (pour assurer la sécurité des communications entre le processeur d'application et l'élément sécurisé). Cette structure de base a été mise en œuvre dès le premier jour. Dans le rapport, Kraken Security Labs n'a pas fait de progrès substantiels dans la pénétration du mécanisme de sécurité de base, ce qui prouve d'un autre côté le niveau de sécurité de l'architecture de base du SafePal S1.
SafePal a publié le firmware V1.0.24 pour ajouter de nouvelles fonctionnalités et corriger la limitation de rétrogradation. Les directives de mise à niveau peuvent être trouvées ici.
4. Faiblesse de communication possible entre les processeurs d'application et l'élément sécurisé
Kraken Security Labs a mentionné dans le rapport que les processeurs d'application qui communiquent avec l'élément sécurisé sont constamment le point faible des portefeuilles matériels de cryptomonnaie. Voici notre divulgation technique supplémentaire sur ce point :
Depuis le premier jour de la sortie du firmware SafePal S1, le dispositif a adopté la technologie de l'échange de clés Elliptic Curve Diffie - Hellman. Chaque fois que le SafePal S1 est allumé, les processeurs d'application négocieront avec l'Élément Sécurisé une nouvelle clé pour chiffrer les communications. Un attaquant ne peut pas facilement extraire et chiffrer le contenu des communications même s'il obtient physiquement le dispositif, force brute et surveille les communications. Même si l'attaquant contrefait une transaction vers l'Élément Sécurisé, elle échouera à la vérification d'un mot de passe spécial généré à partir du code PIN du dispositif et des identifiants uniques des puces. Après 5 tentatives, la clé privée sera effacée. Cela peut protéger efficacement le dispositif contre les tentatives malveillantes visant le mécanisme de communication.
5. Autres tentatives et analyses
1) Tentatives de modification du flash
Les Kraken Security Labs ont essayé plusieurs tentatives de modification du firmware, entraînant à chaque fois un dysfonctionnement du dispositif. Aucun progrès substantiel n'a été réalisé.
Cela est conforme à nos attentes. Le SafePal S1 adopte une technologie de chaîne de démarrage sécurisée qui vérifie chaque étape en avant et en arrière pendant le processus de démarrage. Si une étape échoue à la vérification, le système sera interrompu.
2) Tentative de mise à niveau du firmware
Les Kraken Security Labs ont tenté de manipuler le fichier upgrade.bin, ce qui a entraîné un échec de la mise à niveau.
Cela est conforme à nos attentes. Le fichier upgrade.bin a été chiffré depuis la sortie du 1er firmware. Avant une mise à niveau du firmware, le dispositif validera la signature sur le fichier upgrade.bin. Une fois que le fichier upgrade.bin est manipulé, la validation échouera, et l'attaquant ne pourra pas entrer dans le processus de mise à niveau du firmware et écrire du contenu illégal.
3) Tentative de manipulation de base de données
Les Kraken Security Labs ont tenté de modifier les données sensibles du portefeuille dans la base de données S1 telles que les adresses et les transactions. Après cela, un dysfonctionnement s'est produit.
Cela est conforme à nos attentes. Toutes les données sensibles dans la base de données S1 sont entièrement chiffrées via AES. La clé chiffrée est générée à partir des identifiants uniques de plusieurs puces selon un algorithme spécial. Toute tentative de modification ou de contrefaçon des données et des composants du dispositif entraînera un dysfonctionnement du dispositif.
4) Analyse de la configuration et de la base de données
Le fichier wallet.cfg inclut des informations telles que l'heure d'arrêt, la langue par défaut, le nom du portefeuille, etc. Il s'agit de données non sensibles car elles peuvent être consultées instantanément en démarrant le dispositif sans tentatives supplémentaires. Même si les attaquants adoptent des tentatives similaires à celles des Kraken Security Labs pour ouvrir le dispositif, retirer le flash et changer le nom du portefeuille via un processus complexe à l'aide d'un programmateur de flash, les utilisateurs remarqueront les changements de nom du portefeuille dès l'ouverture du dispositif. Changer le fichier wallet.cfg n'aura aucun impact sur la sécurité des clés privées. À partir du firmware V1.0.24, le fichier wallet.cfg a été abandonné.
Crédits
Ces attaques et tentatives partagées dans le rapport ont été réalisées sans notification préalable à SafePal. Le rapport présente pleinement le professionnalisme et le savoir-faire des Kraken Security Labs. Nous tenons à remercier les chercheurs des Kraken Security Labs pour avoir rapporté les découvertes en détail et avoir eu la bonne volonté de protéger les utilisateurs contre toute attaque malveillante.