Recherche en sécurité

Étude de la vulnérabilité Ledger-Donjon et développement de l’ELLIPAL Titan

Ledger-Donjon Vulnerability Study and The Development of The ELLIPAL Titan - ELLIPAL

 

ELLIPAL a lancé son premier portefeuille froid en 2018 et est instantanément devenu la référence de la nouvelle génération de portefeuilles matériels. Grâce au modèle de sécurité unique d’ELLIPAL et à sa facilité d’utilisation, il a attiré beaucoup d’attention de la part des utilisateurs et des autres fabricants de portefeuilles matériels. Actuellement, le deuxième modèle d’ELLIPAL, le ELLIPAL Titan, s’impose pour devenir la meilleure solution de portefeuille froid mobile et isolée du réseau.

 

Lors de la sortie de notre modèle original — l’ELLIPAL EC01 a attiré l’attention de Ledger, qui s’intéressait au modèle de sécurité d’ELLIPAL. Ledger a effectué un test de sécurité sur l’ELLIPAL EC01 et a activé la clause de récompense d’ELLIPAL, dans le cadre de laquelle nous les avons récompensés pour avoir découvert la vulnérabilité. Ledger a présenté le résultat lors de la Convention Breaking Bitcoin 2019Un résumé de l’étude et de la réponse d’ELLIPAL aux conclusions est présenté dans le tableau ci-dessous. Veuillez noter que Ledger n’a extrait aucune phrase de récupération de l’ELLIPAL EC01.




Conclusions de Ledger

 


Sécurité matérielle

La faiblesse la plus courante de presque tous les portefeuilles matériels, voire de tous, réside dans les attaques physiques. Une attaque physique se produit lorsqu’un pirate obtient un accès physique à votre appareil et prépare une attaque. Cela peut inclure des attaques de la chaîne d’approvisionnement (par exemple, l’installation d’un logiciel malveillant avant l’expédition à l’utilisateur final) ou des attaques de type « evil maid » (par exemple, le piratage physique de l’appareil lorsque son propriétaire est absent). Cette étude révèle la vulnérabilité de l’ELLIPAL EC01 face à ce type d’attaques.

 

1) Identification de l’interface UART

UART signifie Universal Asynchronous Receiver/Transmitter, soit émetteur-récepteur asynchrone universel. Il s’agit d’une interface permettant aux appareils électroniques de communiquer entre eux, très courante dans tous les appareils électroniques. Dans ce cas, Ledger avait identifié un port UART sur l’ELLIPAL et était en mesure de recevoir des sorties de signal. Selon le rapport, ces sorties sont « utiles pour un attaquant », par exemple dans le cadre d’une attaque de rétro-ingénierie (expliquée dans la partie suivante).

À partir de là, Ledger a accédé au redémarrage d’usine de l’appareil ELLIPAL EC01 et a pu localiser les fonctionnalités Wi-Fi de la carte mère au moyen du logiciel. En mode usine, le composant Wi-Fi a pu se connecter au point d’accès lorsqu’une antenne externe était branchée. Néanmoins, Ledger n’a pas vérifié plus avant si le système Android fortement personnalisé de l’ELLIPAL prend en charge le Wi-Fi.

 

2) Interface USB

Le port USB de l’ELLIPAL sert uniquement au chargement. Il n’existe aucune connexion entre le port USB et le processeur principal. Toutefois, les signaux de données du port USB peuvent être soudés à la carte mère principale afin de lui permettre de communiquer avec le processeur, créant ainsi un port USB modifié. Ce nouveau port USB établit une connexion entre l’ELLIPAL et le monde extérieur. Le micrologiciel de l’ELLIPAL pourrait faire l’objet d’une rétro-ingénierie, puis être transféré dans l’ELLIPAL EC01 afin d’en extraire les phrases de récupération. Néanmoins, ce point reste théorique et n’a pas été testé.

Avec un accès physique sur l’appareil ELLIPAL, un scénario d’attaque par compromission de la chaîne d’approvisionnement ou par femme de ménage malveillante est possible. Un pirate pourrait réactiver le Wi-Fi de l’appareil et le connecter à Internet. Il pourrait ensuite tenter de procéder à l’ingénierie inverse du firmware d’ELLIPAL et de charger le firmware contrefait sur l’appareil. Grâce à la combinaison de ces deux opérations, le pirate pourrait faire en sorte que le firmware extraie la phrase de récupération et la transmette par Wi-Fi au pirate. Si votre ELLIPAL est perdu ou volé, cette vulnérabilité peut être exploitée.

 


Sécurité logicielle

Ledger a effectué un bref test de la sécurité logicielle et n’a découvert aucune vulnérabilité.

 

3) Mécanisme de mise à jour

Le fichier de mise à jour d’ELLIPAL est chiffré afin de garantir que seuls des fichiers de mise à jour authentiques puissent être copiés sur l’ELLIPAL. Dans cette étude, Ledger a identifié le mécanisme de chiffrement ECB utilisé par ELLIPAL comme une « mauvaise pratique » ; toutefois, Ledger n’est pas parvenu à téléverser un firmware modifié via le mécanisme de mise à jour. ELLIPAL utilise un chiffrement multicouche et n’est pas vulnérable, contrairement à ce qui a été affirmé. Les utilisateurs peuvent consulter l’outil open source de vérification des fichiers de mise à jour sur Github.

Points clés à retenir

L’étude du portefeuille ELLIPAL EC01 a révélé des vulnérabilités matérielles, permettant d’exploiter les composants UART et Wi-Fi. Une attaque possible consiste à effectuer une attaque par vidage afin d’installer un firmware contrefait via le port USB modifié. Le firmware contrefait peut être programmé pour dérober la clé privée et la renvoyer à l’attaquant lorsque l’appareil se connecte à Internet via le Wi-Fi.

Il n’est pas possible d’installer un firmware contrefait via le mécanisme de mise à jour, comme l’a démontré Ledger. La seule façon d’exploiter l’ELLIPAL EC01 est d’y accéder physiquement et de disposer de suffisamment de temps pour effectuer les opérations suivantes :

1) Modifier les ports UART et USB.

2) Installer un firmware contrefait via le port modifié.

3) Accéder au mode de redémarrage d’usine et activer le Wi-Fi.

4) Fixer une antenne pour recevoir le signal Wi-Fi.

5) Tout remettre en place sans éveiller les soupçons de l’utilisateur.

 

Réponse d’ELLIPAL


Avant la publication de l’étude par Ledger, ELLIPAL avait déjà préparé une mise à niveau de sécurité suffisante pour corriger cette faille. Lors de sa publication, ELLIPAL a lancé notre firmware v.2.0, qui garantissait qu’une attaque par vidage ne serait pas possible et empêchait toute modification. Cependant, nous sommes convaincus que cela ne suffira ni pour nous ni pour la communauté, qui considère la sécurité comme la priorité absolue. Cette volonté d’améliorer la sécurité a conduit à la refonte du portefeuille hors ligne ELLIPAL.

ELLIPAL Titan

En septembre 2019, ELLIPAL a lancé son tout dernier modèle de portefeuille hors ligne, l’ELLIPAL Titan. Conçu pour remédier aux vulnérabilités découvertes sur le précédent modèle EC01, l’ELLIPAL Titan résiste aussi bien aux attaques à distance qu’aux attaques physiques.

Améliorations matérielles

L’ELLIPAL Titan a été repensé afin d’empêcher les pirates d’accéder à la carte mère d’ELLIPAL et de modifier l’UART pour accéder au redémarrage d’usine. À l’origine, l’ELLIPAL EC01 abrite sa carte mère dans un boîtier en plastique qui peut être ouvert en dévissant les vis. Pour l’ELLIPAL Titan, la carte mère se trouve dans un boîtier métallique hermétiquement scellé, conçu pour ne jamais être ouvert. Le joint est si robuste que l’appareil est classé IP65, résistant à la poussière et à l’eau. Le boîtier métallique est également suffisamment solide pour résister au passage d’une voiture sans subir de dommages. En raison de la robustesse du matériel, forcer l’ouverture de l’appareil est très difficile et laissera des dommages permanents, alertant ainsi l’utilisateur.

De plus, l’ELLIPAL Titan intègre un mécanisme anti-sabotage qui contribue à protéger vos données sensibles. Lorsque l’appareil ELLIPAL Titan détecte une atteinte à son matériel, le système s’efface automatiquement afin de rendre l’appareil inutilisable et vos données inaccessibles.

 

Améliorations « Air-gapped »

Nous avons pris des mesures supplémentaires pour garantir que l’ELLIPAL Titan soit 100 % Air-gapped et ne puisse pas être modifié. Nous avons veillé à ce que l’ELLIPAL Titan ne possède aucun composant ni port permettant de se connecter à Internet ou à un autre appareil.

Nous avons remplacé l’intégralité du chipset afin de garantir qu’aucune connexion ne soit possible. Le nouveau chipset, (Allwinner A64), ne prend en charge aucune connexion réseau telle que la 4G, le Bluetooth ou le Wi-Fi. Nous avons également supprimé le port USB et l’avons remplacé par un port de charge à contacts. L’ELLIPAL Titan est désormais garanti comme étant dans l’impossibilité de se connecter à un autre appareil pour exporter ou importer des informations.

 

Informations supplémentaires

L’idée qu’un portefeuille (ou que tout ce qui concerne la blockchain) soit open source fait l’objet de nombreux débats. Le code source ouvert est un code qui peut être examiné par le public. Si quelque chose semble suspect ou comporte une erreur, le public peut directement interpeller l’entreprise qui en est propriétaire. Beaucoup considèrent cela comme un avantage en matière de sécurité, car le code source ouvert peut prouver que l’entreprise ne nourrit aucune intention malveillante envers l’utilisateur et qu’elle fait preuve de transparence.

D’un autre côté, le code source ouvert peut facilement être copié, reproduit et modifié en une version malveillante. Avec un accès physique, une attaque par extraction peut se produire sur un portefeuille matériel open source. Un certain portefeuille matériel open source a déjà subi ce type d’attaque.

Pour diverses raisons de sécurité, ELLIPAL choisit de conserver son code source fermé, tout en laissant ouverts les éléments importants afin que les utilisateurs puissent vérifier notre sécurité. Tout d’abord, ELLIPAL a fait l’objet de certaines accusations concernant notre système de génération de codes QR : pourrait-il divulguer des clés privées ou non ? La réponse simple est non, et cela peut être prouvé.

 

Le transfert de données d’ELLIPAL du matériel vers l’application repose sur un code QR au format ouvert (https://github.com/ELLIPAL/air-gapped_qrcode_data_format). La lecture des codes QR est également contrôlée manuellement par l’utilisateur. Toutes les données transférées dépendent entièrement de la lecture effectuée par l’utilisateur, et aucune donnée cachée ne sera transmise. Tout le monde peut vérifier les données du code QR. Nous fournissons une bibliothèque JavaScript open source (https://github.com/ELLIPAL/js-ellipal). La signature ou le nonce transféré depuis le portefeuille matériel peut être vérifié à tout moment dans le code QR.

 

Une autre inquiétude concerne la création des clés privées. On dit souvent que les portefeuilles à code source fermé peuvent fournir aux utilisateurs des clés privées pré-générées, sans aucun moyen pour eux de le vérifier. ELLIPAL n’a aucune intention malveillante envers ses utilisateurs, mais nous ne disposons pas d’un code open source pour l’étayer. Néanmoins, nous permettons aux utilisateurs d’importer leurs propres clés privées de confiance afin de les conserver en sécurité sur l’ELLIPAL. Cette fonction d’importation n’est pas disponible sur de nombreux portefeuilles et rend l’ELLIPAL unique. Nous ne forçons pas nos utilisateurs à faire confiance aux clés privées que nous générons. Si vous ne faites pas confiance à ELLIPAL, utilisez vos propres clés privées. Une autre solution plus simple consiste à utiliser une phrase secrète et à rendre l’ensemble des mnémoniques unique pour vous seul.

Enfin, certains affirment que les portefeuilles matériels à code source fermé peuvent envoyer les clés privées des utilisateurs au fabricant. Cela est impossible avec ELLIPAL, car il est déjà 100 % dépourvu de toute connexion, ce qui signifie que vos clés ne peuvent être envoyées nulle part. Le seul moyen de sortie de l’ELLIPAL est le code QR. Les utilisateurs n’ont pas à s’en inquiéter, car cette partie du code est au format ouvert et peut être vérifiée.

D’autres codes sont également disponibles, notamment l’outil de vérification des fichiers de mise à jour, sur GitHub d’ELLIPAL.

 

Conclusion

Ledger a identifié des vecteurs de vulnérabilité sur l’ELLIPAL et nous a permis de corriger ces vulnérabilités afin de préserver la sécurité de notre écosystème crypto. Nous allons récapituler les problèmes identifiés et expliquer comment ELLIPAL les a corrigés.

 

1) Une interface UART a été trouvée et permettait d’accéder au mode de réinitialisation d’usine afin d’activer la fonctionnalité Wi-Fi du processeur.

Réponse d’ELLIPAL : 

 

Utiliser un tout nouveau jeu de composants pour l’ELLIPAL Titan, dépourvu de toute capacité de connexion.

Inclure des fonctions anti-effraction et anti-démontage afin d’empêcher les pirates d’accéder au processeur.

 

2) L’interface USB peut être modifiée pour effectuer une attaque par extraction de données.

Réponse d’ELLIPAL : 

 

ELLIPAL Titan a remplacé un port de chargement USB par un port de chargement par contact. Plus important encore, la fonction anti-démontage empêchera toute modification du port.

 

Presque tous les portefeuilles matériels sont vulnérables lorsqu’un attaquant y accède physiquement. ELLIPAL est allé encore plus loin pour empêcher cela, en veillant à ce que vous restiez protégé même si votre ELLIPAL Titan est volé ou perdu. ELLIPAL Titan est également 100 % isolé de tout réseau, afin que vos clés privées restent toujours en sécurité et isolées à l’intérieur de l’appareil. ELLIPAL Titan.

 

Pour toute question, veuillez contacter : cs@ellipal.com

Pourquoi les gens font confiance à ELLIPAL
ZéroViolations de portefeuilles hors ligne
Plus d’un millionUtilisateurs du monde entier
140+Pays atteints
12 milliards de dollars USActifs protégés
ForbesRecommandé
8 ansAir-gapped depuis 2018

Appropriez-vous-le. Puis utilisez-le.

Vos clés, vos cryptomonnaies. Gardez votre phrase de récupération hors ligne et le reste se fait tout seul.

Découvrez les portefeuilles hors ligne ELLIPAL

Note de sécurité : cet article est éducatif et ne constitue pas un conseil financier. Le comportement de l’appareil, notamment les limites de tentatives, peut changer selon le micrologiciel ; vérifiez toujours les informations à jour dans le centre d’aide officiel d’ELLIPAL. Toute fonctionnalité d’échange, de staking ou d’achat et de vente mentionnée ailleurs est fournie par des tiers, et ELLIPAL ne contrôle pas ces services.