Retour HES2012 – Smartphone Passwords Managers

Retour HES2012 – Smartphone Passwords Managers

Petit retour sur la conférence « “Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh, Really? » de la HackitoErgoSum 2012 (http://2012.hackitoergosum.org) d’Andrey Belenko & Dmitry Sklyarov.

Intéressons-nous dans un premier temps à nos 2 intervenants russes et à la société Elcomsoft (http://www.elcomsoft.com) pour laquelle ils travaillent.

Andrey Belenko (http://www.belenko.ru , https://twitter.com/#!/andreybelenko) est chercheur et développeur en sécurité informatique.

Dmitry Sklyarov (https://twitter.com/#!/_Dmit) est lui aussi développeur, mais ce dernier est un peu plus connu car c’est lui qui a présenté le système de contournement de la protection anti-copie du format de fichier e-book Adobe à la Defcon (http://www.defcon.org) en 2001, cette présentation lui a d’ailleurs valu quelques mois de prison terminés par un procès, pour en conclure qu’Elcomsoft n’avait pas violé la loi américaine.

Elcomsoft est une société russe spécialisée dans les logiciels forensic allant de la récupération de mots de passe stockés ou de fichiers effacés jusqu’au cassage distribué de mots de passes chiffrés par GPU.

Cette conférence avait pour but de faire un état des lieux de la sécurité des différentes applications smartphone proposant le stockage de mots de passe de manière sécurisée, et dont certaines se disant utiliser des méthodes et des algorithmes aussi robustes que ceux des militaires.
La conférence a commencé par le rappel des différentes méthodes d’authentification présentes sur la plupart des smartphones actuels, c’est-à-dire L’UNIQUE méthode d’authentification basée sur un code plus ou moins long, ce qui a un impact direct sur la complexité du chiffrement du stockage des mots de passe.

(source: slides Elcomsoft)

D’autre part les capacités de calcul des smartphones limitent elles aussi la complexité du chiffrement afin que ceux-ci restent utilisables sans effet collatéral de lag.

Les intervenants ont testé 11 applications (gratuites pour certaines, et d’autres payantes) proposant une soit-disante méthode de chiffrement fiable et leurs conclusions sont alarmantes.

Les problèmes soulevés sont :
– Un chiffrement inexistant contrairement à ce qui est annoncé dans la « publicité » de l’application
– Un stockage en clair des clés de chiffrement sur le téléphone, permettant directement la récupération des mots de passe
– Des chiffrements utilisés faibles et cassables si l’on a une puissance de calcul suffisante, comme par exemple avec une carte graphique avec un GPU puissant

Voici ci-dessous une estimation des vitesses atteignables avec un ordinateur moyen afin de casser le mot de passe des différentes applications testées ayant un algorithme de chiffrement faible (CPU p/s: nombre de mots de passe testés par seconde en CPU, GPU p/s: nombre de mots de passe testés par seconde avec une carte graphique, Len/24h : taille de mot de passe testée en 24h) :

(source: slides Elcomsoft)

Certaines applications utilisent des algorithmes de chiffrement dépassés avec une seule itération, et permettent de tester toutes les combinaisons possibles afin de trouver le mot de passe de l’application très rapidement (exemple : 1 itération de MD5 ou de SHA1).

Nous voyons que les applications payantes ne sont pas forcément plus sécurisées que celles gratuites.

Le résultat de cette recherche est qu’en cas de vol d’un smartphone aucune des applications testées ne fourni une sécurité suffisante afin de protéger l’accès aux mots de passe stockés, il est donc possible de récupérer les fichiers de base de données contenant les mots de passe en contournant la sécurité du téléphone (exemple : jailbreak sur un iPhone 4), pour ensuite casser la clé de chiffrement et déchiffrer l’ensemble des mots de passe contenus dans ces applications.

Pour conclure, les deux intervenants nous rappellent certaines bonnes pratiques de sécurité concernant le stockage de mot de passe :
– Côté utilisateur : toujours utiliser un mot de passe complexe, ce qui ralentira les éventuelles tentatives de cassage par bruteforce, ainsi que d’éviter de connecter son téléphone à n’importe quel ordinateur (qui pourrait voler les fichiers du téléphone)

– Côté développeur : ne pas essayer de réinventer la cryptographie et s’informer sur les bonnes pratiques avant d’essayer de développer une application dite « sécurisée »

 

Remerciements: merci à Andrey Belenko de nous avoir fourni les slides de la conférence.

Jérémy