Passer au contenu

Le chiffrement sur Android, épinglé pour son manque de sécurité

Un chercheur en sécurité a montré que l’architecture cryptographique des smartphones Android sur chipset Qualcomm est bien moins sécurisée que celle des iPhone. Et il l’a prouvé en programmant une attaque.  

Sur les smartphones d’aujourd’hui, toutes les données sont automatiquement chiffrées à partir du moment où l’on définit un code PIN. Mais ce chiffrement, est-il vraiment béton? L’affaire Apple-FBI a montré la relative efficacité de l’architecture de l’iPhone. La clé utilisée pour chiffrer les données est dérivée du code PIN de l’utilisateur et d’une clé matérielle unique créée à la fabrication de l’iPhone et baptisée UID.

Extraire cette dernière est techniquement très difficile, voire impossible, si on en croit Apple. Les forces de l’ordre sont donc contraints d’effectuer leur attaque par force brute sur l’appareil même, avec tous les obstacles que cela implique (nombre de tentatives limité, durée croissante entre chaque tentative, effacement automatique au bout d’un certain nombre de tentatives, etc.).

Du côté d’Android

Le chercheur en sécurité Gal Beniamini s’est, du coup, penché sur les smartphones Android et, plus particulièrement, ceux équipés d’un des chipsets Qualcomm (parmi les plus répandus).

Son analyse révèle que le système cryptographique sous-jacent n’est pas du tout pareil à celui des iDevices. La clé utilisée pour chiffrer les données est dérivée du code PIN de l’utilisateur et d’une clé-maître logicielle, stockée dans une zone de mémoire particulière du système appelée TrustZone. Selon le chercheur, cette solution est forcément moins sécurisée.

Il suffirait qu’un pirate découvre une faille logicielle dans la TrustZone pour récupérer la clé-maître. Il peut ensuite extraire une copie du disque chiffré et tranquillement faire son attaque par force brute sur un supercalculateur ou, à défaut, sur une série de serveurs Amazon.

Des patchs disponibles, mais pas forcément diffusés

C’est d’ailleurs exactement ce que Gal Beniamini a fait. Il s’est appuyé sur deux récentes failles dans la TrustZone pour extraire la clé-maître. Il a ensuite créé un script en Python pour réaliser l’attaque par force brute et l’a testé avec succès sur son propre Nexus 6.

Les codes sources de l’attaque sont disponibles sur GitHub. Certes, les deux failles utilisées ont depuis été patchées par Google et Qualcomm. Le problème, c’est que dans le monde Android, les patchs mettent toujours un certain temps à arriver. Interrogé par Ars Technica, la société Duo Security estime que 37 % des téléphones Android sont toujours vulnérables à cette attaque.

Bref, si le chiffrement des données sur votre smartphone est vraiment important pour vous, mieux vaut choisir un iPhone. Et si ce n’est pas possible, on peut aussi remplacer le code PIN par un vrai mot de passe qui, s’il est long et compliqué, permet de se protéger efficacement contre les attaques par force brute. Mais cette solution n’est envisageable qu’en association avec un lecteur d’empreintes digitales : être obligé d’entrer un long mot de passe à chaque déverrouillage n’est pas humainement supportable.

Sources :
Note de blog
Ars Technica

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Gilbert KALLENBORN