IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Un chercheur en sécurité réussit à casser la sécurité du Nano S
Un portefeuille matériel pour monnaies cryptographiques du français Ledger

Le , par Patrick Ruiz

151PARTAGES

11  0 
Les portefeuilles matériels sont ce qui se fait de mieux en matière de sécurité pour protéger ses jetons de monnaies cryptographiques. Ils ne sont pour autant pas inviolables comme l’a démontré un hacker avec le Nano S – une solution proposée par la société française Ledger et vendue en millions d’exemplaires à travers le monde.


Saleem Rashid pointe une vulnérabilité due à un choix de design du hardware wallet. En son sein, un processeur cryptographique – ST31H320 – muni d’une interface UART et un microcontrôleur STM32F042K6 chargé de la gestion de l’affichage, du clavier de l’appareil et de la connexion USB avec un PC.


D’après le chercheur en sécurité, le nœud du problème dans cette architecture est le fait qu’un attaquant puisse modifier le firmware du microcontrôleur STM32 pour contourner les vérifications de sécurité gérées par le processeur cryptographique. Et pour cause, le processeur cryptographique ne peut « voir » le firmware du STM32 pour l’authentifier. Pour parvenir à attester de l’authenticité du firmware du STM32, les ingénieurs de Ledger ont mis sur pied un stratagème consistant à charger le contenu entier de la mémoire flash du microcontrôleur au travers de l’interface UART ; un problème quand on sait que cette manière de faire revient à demander à un criminel de produire son extrait de casier judiciaire.

Le hacker s’est appuyé sur cette brèche pour parvenir à poser une backdoor sur la fonction de génération des clés privées de l’appareil. « Si vous êtes calés en langage C, vous noterez que j’ai remplacé un appel système au générateur de nombres aléatoires par un appel à une fonction qui définit toutes les entropies à zéro », explique-t-il.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 diff --git a/src/bolos_ux_onboarding_3_new.c b/src/bolos_ux_onboarding_3_new.c
index ce1849c..b950ae7 100644
--- a/src/bolos_ux_onboarding_3_new.c
+++ b/src/bolos_ux_onboarding_3_new.c
@@ -395,7 +395,7 @@ void screen_onboarding_3_new_init(void) {
 #else

     G_bolos_ux_context.onboarding_kind = BOLOS_UX_ONBOARDING_NEW_24;
-    cx_rng((unsigned char *)G_bolos_ux_context.string_buffer, 32);
+    os_memset(G_bolos_ux_context.string_buffer, 0, 32);
     G_bolos_ux_context.words_buffer_length = bolos_ux_mnemonic_from_data(
         (unsigned char *)G_bolos_ux_context.string_buffer, 32,
         (unsigned char *)G_bolos_ux_context.words_buffer,
Certes, l’exploitation de la vulnérabilité mise en lumière par le chercheur requiert que l’attaquant dispose d’un accès physique à l’appareil, une condition qui est souvent considérée comme étant difficile à remplir, mais qui dans ce cas l’a probablement été à plusieurs reprises au travers des revendeurs tiers. Un acteur malveillant qui contrôle le générateur de nombres aléatoires contrôle les clés privées et peut donc soutirer les jetons de cryptomonnaies d’un acquéreur de l’appareil.

Saleem Rashid a fait part de ses trouvailles à Ledger France en novembre 2017 et un correctif est disponible pour le Nano S depuis le 6 mars. L’entreprise met un nouveau firmware à la disposition des consommateurs et ce dernier leur sera proposé en téléchargement dès connexion de l’appareil à un ordinateur. Les trouvailles du chercheur en sécurité concernent également le Nano Blue pour lequel un correctif se fait toujours attendre.

Source

Billet Rashid

Votre opinion

Faites-vous usage des portefeuilles matériels proposés par Ledger ? Si oui, pour quelle raison ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Jiji66
Membre éprouvé https://www.developpez.com
Le 28/03/2018 à 11:14
C'est sur qu'en ayant un accès physique à l'appareil et en prenant le temps de changer le firmware je ne connais pas beaucoup de systèmes qui résistent. De la à mettre un titre qui dit que la sécurité du Nano S a été cassée il y a un pas que personnellement je n'aurais pas franchi.
0  0 
Avatar de benjani13
Membre extrêmement actif https://www.developpez.com
Le 28/03/2018 à 12:52
Citation Envoyé par Jiji66 Voir le message
C'est sur qu'en ayant un accès physique à l'appareil et en prenant le temps de changer le firmware je ne connais pas beaucoup de systèmes qui résistent. De la à mettre un titre qui dit que la sécurité du Nano S a été cassée il y a un pas que personnellement je n'aurais pas franchi.
L'intégrité physique et logicielle d'un appareil que tu achètes est une vrai question de sécurité. D'autant plus quand, comme pour ce portefeuille Ledger, l'entreprise donne comme argument de vente qu'il n'est pas possible de modifier l'appareil. Et si, heureusement il y a de nombreux système où il n'est pas du tout triviale de modifier le firmware (et même simplement de le lire).
0  0 
Avatar de Jiji66
Membre éprouvé https://www.developpez.com
Le 28/03/2018 à 20:24
Citation Envoyé par benjani13 Voir le message
............ Et si, heureusement il y a de nombreux système où il n'est pas du tout triviale de modifier le firmware (et même simplement de le lire).
Est-il alors encore possible de faire un upgrade du firmware sur ces système ?
0  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 29/03/2018 à 14:08
Citation Envoyé par Jiji66 Voir le message
Est-il alors encore possible de faire un upgrade du firmware sur ces système ?
Oui mais uniquement avec un binaire signé par exemple, ou même chiffré.
Cela empêche que n'importe qui puisse flasher n'importe quoi.
0  0