ELLIPAL a lancé son premier portefeuille froid en 2018 et est instantanément devenu la vague principale dans la nouvelle catégorie de portefeuilles matériels. Grâce au modèle de sécurité unique et à la facilité d'utilisation d'ELLIPAL, 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, l'ELLIPAL Titan, est en passe de devenir la meilleure solution de portefeuille froid mobile et à air-gap.
Lors de la sortie de notre modèle original, l'ELLIPAL EC01 a attiré l'attention de Ledger, qui était intéressé par le 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 prime d'ELLIPAL dans laquelle nous les avons récompensés pour avoir trouvé la vulnérabilité. Ledger a présenté les résultats à la convention Breaking Bitcoin 2019. Un résumé de l'étude et la réponse d'ELLIPAL aux conclusions peuvent être consultés dans le tableau ci-dessous. Veuillez noter que Ledger n'a pas extrait de seeds de l'ELLIPAL EC01.

Les conclusions de Ledger
Sécurité matérielle
La faiblesse la plus courante pour presque tous, sinon tous, les portefeuilles matériels est les attaques physiques. Une attaque physique se produit lorsqu'un pirate obtient un accès physique à votre appareil et planifie une attaque. Cela peut inclure des attaques telles que les attaques de la chaîne d'approvisionnement (par exemple, un logiciel malveillant installé avant l'expédition à l'utilisateur final) ou les attaques de la femme de chambre (par exemple, le piratage physique de l'appareil lorsque le propriétaire n'est pas là). Cette étude révèle la faiblesse de l'ELLIPAL EC01 face à de telles attaques.
1) Trouver l'interface UART
UART signifie Universal Asynchronous Receiver/Transmitter. C'est une interface permettant aux appareils électroniques de communiquer entre eux et elle est très courante dans tous les appareils électroniques. Dans ce cas, Ledger a identifié un port UART sur l'ELLIPAL et a pu recevoir des signaux de sortie. Ces sorties sont considérées dans le rapport comme « utiles pour un attaquant », par exemple, une attaque d'ingénierie inverse (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 capacités Wi-Fi de la carte mère via le logiciel. En mode usine, le composant Wi-Fi a pu se connecter au point d'accès lorsqu'une antenne externe était attachée. Néanmoins, Ledger n'a pas vérifié 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 est uniquement destiné au chargement. Il n'y a pas de connexion entre le port USB et le processeur principal. Cependant, les signaux de données du port USB peuvent être soudés à la carte mère principale et la faire communiquer avec le processeur, créant ainsi un port USB modifié. Ce nouveau port USB devient une connexion de l'ELLIPAL avec le monde extérieur. Le firmware d'ELLIPAL pourrait être rétro-conçu et peut être transféré dans l'ELLIPAL EC01 pour extraire les seeds. Néanmoins, ce point est une théorie et n'a pas été testé.
Avec un accès physique à l'appareil ELLIPAL, un scénario d'attaque de la chaîne d'approvisionnement ou d'attaque de la femme de chambre est possible. Un pirate pourrait réactiver le Wi-Fi sur l'appareil et le connecter à Internet. Le pirate pourrait alors tenter de rétro-ingénierer le firmware de l'ELLIPAL et de charger un faux firmware sur l'appareil. En combinant ces deux efforts, le pirate peut faire en sorte que le firmware extraie la seed et l'envoie via Wi-Fi au pirate. Si votre ELLIPAL est perdu ou volé, cette vulnérabilité peut se produire.
Sécurité logicielle
Ledger a effectué un bref test de sécurité logicielle et n'a trouvé aucune vulnérabilité.
3) Mécanisme de mise à jour
Le fichier de mises à jour d'ELLIPAL est chiffré pour s'assurer que seuls les fichiers de mise à jour authentiques peuvent être copiés dans l'ELLIPAL. Au cours de cette étude, Ledger a identifié le mécanisme de chiffrement ECB utilisé par ELLIPAL comme étant une "mauvaise pratique", mais ils n'ont pas réussi à télécharger de firmware modifié via le mécanisme de mise à jour. ELLIPAL dispose d'un chiffrement multicouche et n'est pas faible, comme cela a été affirmé. Les utilisateurs peuvent consulter l'outil de vérification de fichiers de mise à jour open source sur Github.
Points clés à retenir
Suite à l'étude du portefeuille ELLIPAL EC01, des vulnérabilités ont été découvertes au niveau du matériel du portefeuille, où l'exploitation des composants UART et Wi-Fi est possible. Une attaque possible consiste à effectuer une attaque de dump pour installer un faux firmware via le port USB modifié. Le faux firmware peut être programmé pour voler la clé privée et l'envoyer à l'attaquant lorsque l'appareil se connecte à Internet via Wi-Fi.
Il n'est pas possible d'installer un faux firmware via le mécanisme de mise à jour, comme l'a prouvé Ledger. La seule façon d'exploiter l'ELLIPAL EC01 est d'avoir un accès physique et suffisamment de temps pour effectuer les opérations suivantes :
1) Modifier le port UART et USB.
2) Installer un faux firmware via le port modifié.
3) Accéder au mode de redémarrage usine et activer le Wi-Fi.
4) Attacher une antenne pour recevoir le signal Wi-Fi.
5) Tout remettre en place sans que l'utilisateur ne se doute de rien.
Réponse d'ELLIPAL
Avant que Ledger ne publie l'étude, ELLIPAL avait déjà préparé une mise à niveau de sécurité suffisante pour contrer la faille de sécurité. Lors de la publication, ELLIPAL a sorti son firmware v.2.0, qui a garanti qu'une attaque par dump n'était pas possible et a empêché toute modification. Cependant, nous sommes convaincus que cela ne sera pas suffisant pour nous ou pour la communauté, qui considère la sécurité comme la priorité absolue. Cette passion pour une meilleure sécurité a conduit au remodelage du portefeuille froid ELLIPAL.
ELLIPAL Titan
En septembre 2019, ELLIPAL a lancé son tout nouveau modèle de portefeuille froid, le portefeuille froid ELLIPAL Titan. Basé sur les vulnérabilités découvertes avec le modèle précédent EC01, l'ELLIPAL Titan est sécurisé contre les attaques à distance et les attaques physiques.
Améliorations matérielles
L'ELLIPAL Titan est remodelé pour garantir que les pirates ne peuvent pas accéder à la carte mère d'ELLIPAL et modifier l'UART pour accéder au redémarrage d'usine. À l'origine, l'ELLIPAL EC01 logeait sa carte mère dans un boîtier en plastique qui pouvait être ouvert en dévissant les vis. Pour l'ELLIPAL Titan, la carte mère est à l'intérieur d'un boîtier métallique fortement scellé, conçu pour ne jamais être ouvert. Le joint est si solide ; il est étanche à la poussière et à l'eau (indice IP65). Le boîtier métallique est également suffisamment solide pour supporter le passage d'une voiture sans subir de dommages. Grâce à la robustesse du matériel, forcer l'ouverture de l'appareil est très difficile et entraînera des dommages permanents, alertant l'utilisateur.
En outre, ELLIPAL Titan comprend un mécanisme anti-altération qui contribue à protéger vos données sensibles. Lorsque l'appareil ELLIPAL Titan détecte une violation du matériel, le système s'auto-supprime automatiquement pour rendre l'unité inutilisable et vos données inaccessibles.
Améliorations « Air-gapped »
Nous sommes allés plus loin pour nous assurer que l'ELLIPAL Titan est 100 % isolé de tout réseau, sans possibilité d'être modifié. Nous nous sommes assurés que l'ELLIPAL Titan n'a aucun composant ou port disponible pour se connecter à Internet ou à un autre appareil.
Nous avons remplacé l'intégralité du chipset pour nous assurer qu'aucune connexion n'est possible. Le nouveau chipset (Allwinner A64) ne prend en charge aucune connexion réseau telle que la 4G, le Bluetooth et le WiFi. Nous avons également supprimé le port USB et l'avons remplacé par un port de charge à contact. L'ELLIPAL Titan est désormais garanti de ne jamais pouvoir se connecter à un autre appareil pour exporter ou importer des informations.
Informations complémentaires
Il y a eu beaucoup de débats autour de l'idée d'un portefeuille (ou de tout ce qui est lié à la blockchain) étant open-source. Un code open-source est un morceau de code qui peut être examiné par le public. S'il y a quelque chose de suspect ou une erreur, le public peut interpeller directement l'entreprise propriétaire du code. Beaucoup de gens y voient un avantage en matière de sécurité, car un code open-source peut prouver que l'entreprise n'a pas d'intentions malveillantes envers l'utilisateur et est transparente.
D'autre part, être open-source peut facilement conduire à la copie, la reproduction et l'édition du code en une version malveillante. Avec un accès physique, une attaque par vidage (dump attack) peut se produire avec un portefeuille matériel open-source. Un certain portefeuille matériel open-source a déjà subi ce type d'attaque.
Parmi diverses raisons de sécurité, ELLIPAL choisit d'être closed-source mais maintient les parties importantes open-source pour que les utilisateurs puissent vérifier notre sécurité. Tout d'abord, ELLIPAL a suscité quelques arguments concernant son système de génération de codes QR, à savoir s'il peut ou non divulguer des clés privées. La réponse simple est non, et cela peut être prouvé.
Le transfert de données ELLIPAL du matériel vers l'application est basé sur un code QR au format ouvert (https://github.com/ELLIPAL/air-gapped_qrcode_data_format). Le scan du code QR est également contrôlé manuellement par l'utilisateur. Toutes les données transférées dépendent entièrement du scan de l'utilisateur, et il n'y aura pas de données cachées. Chacun 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é dans le code QR à tout moment.
Une autre préoccupation concerne la création de clés privées. Les gens disent souvent que les portefeuilles fermés peuvent donner des clés privées prégénérées aux utilisateurs, et qu'il n'y a aucun moyen pour les utilisateurs de le vérifier. ELLIPAL n'a aucune intention malveillante envers ses utilisateurs, mais nous n'avons pas de code open-source pour nous soutenir. Néanmoins, nous permettons aux utilisateurs d'importer leurs propres clés privées fiables pour les conserver en toute sécurité sur l'ELLIPAL. Cette fonctionnalité d'importation n'est pas disponible dans de nombreux portefeuilles et rend l'ELLIPAL unique. Nous ne forçons pas nos utilisateurs à faire confiance à nos clés privées générées. 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.
Enfin, les gens affirment que les portefeuilles matériels fermés peuvent renvoyer les clés privées des utilisateurs au fabricant. C'est impossible pour l'ELLIPAL car il est déjà 100 % déconnecté, ce qui signifie que vos clés ne peuvent être envoyées nulle part. La seule sortie pour l'ELLIPAL est via le code QR. Ce n'est pas une préoccupation pour les utilisateurs car cette partie du code est au format ouvert et peut être vérifiée.
Il existe également d'autres codes, tels que l'outil de vérification des fichiers de mise à jour et plus encore disponibles sur le Github d'ELLIPAL.
Conclusion
Ledger a identifié des vecteurs de vulnérabilité sur l'ELLIPAL et nous a permis de corriger la vulnérabilité afin de maintenir notre écosystème crypto en sécurité. Nous allons résumer les problèmes trouvés et la manière dont ELLIPAL les a résolus.
1) UART trouvé et capable d'accéder au mode de réinitialisation d'usine pour activer la capacité WiFi du CPU.
Réponse d'ELLIPAL :
Utilisation d'un tout nouveau chipset pour l'ELLIPAL Titan, qui n'a aucune capacité de connexion.
Inclure des fonctions anti-effraction et anti-désassemblage pour empêcher les pirates d'accéder au CPU.
2) L'interface USB peut être modifiée pour effectuer une attaque par dump.
Réponse d'ELLIPAL :
ELLIPAL Titan a remplacé un port de chargement USB par un port de chargement à contact. Plus important encore, la fonction anti-désassemblage empêchera la modification du port en premier lieu.
Presque tous les portefeuilles matériels sont vulnérables lorsqu'un attaquant y accède physiquement. ELLIPAL est allé au-delà pour empêcher cela en s'assurant que vous êtes toujours protégé même si votre ELLIPAL Titan est volé ou perdu. ELLIPAL Titan est également 100 % isolé de tout réseau, garantissant que vos clés privées sont toujours conservées en toute sécurité et isolées à l'intérieur de l'ELLIPAL Titan.
Pour toute question, veuillez contacter : cs@ellipal.com





1 commentaire
Nice job