Des chercheurs de l’université de Cambridge ont réalisé une étude sur la sensibilité des données personnelles sous Android après une réinitialisation d’usine. Selon eux, en janvier 2014, sur de plus de 630 millions de terminaux sous Android, la réinitialisation d’usine laissait trainer sur les partitions des données personnelles et confidentielles comme des photos, des messages voire des mots de passe. Une mauvaise nouvelle pour tous ceux qui comptent financer leur nouveau smartphone grâce à la revente de l’ancien.

Lorsqu’on réinitialise un smartphone ou une tablette sous Android, on s’attend à ce que l’ensemble de ses données personnelles et applications soit supprimé. Pourtant, ce n’est pas toujours le cas. En juillet dernier, les équipes de l’antivirus Avast avaient fait une découverte assez fâcheuse puisque la réinitialisation d’usine des terminaux sous Android n’effaçait pas correctement les données personnelles. Lauren Simon et Ross Anderson, des chercheurs de l’Université de Cambridge, enfoncent le clou avec une étude de 10 pages qui vient d’être publiée. Entre les mois de janvier et mai 2014, ils se sont procuré des téléphones Android d’occasion afin d’étudier le comportement de la restauration d’usine. Dans l’immense majorité des cas, les données personnelles et sensibles étaient lisibles après l’opération par l’intermédiaire d’outils pas forcément simples d’usage.

restaurer valeurs usines

 

Le menu d’Android permettant de restaurer les valeurs d’usine (ici sous Android Lollipop).

L’étude est extrêmement intéressante puisque les deux hommes se sont constitué un panel de 26 appareils, sous différentes versions d’Android (Froyo, Gingerbread, Ice Cream Sandwich, Jelly Bean et KitKat). Ils ont donc pu analyser le comportement de chaque version de l’OS, sous différents appareils. C’est bien simple, quasiment aucun appareil ne réagit de la même manière à une restauration d’usine. Pour certains, il faut passer par le Recovery (et non pas les Réglages d’Android) pour effacer une bonne fois pour toutes une partie des données personnelles. Pour d’autres, c’est au contraire les Réglages du téléphone qui viendront à bout des données. Et pour la dernière catégorie (la plus nombreuse), la majorité des données sensibles resteront à jamais dans la mémoire flash.

Android devices insecure deletion

 

Pourcentage des terminaux avec une réinitialisation non sécurisée. Data correspond aux données des applications. Primary SD aux données personnelles. Secondary SD aux données stockées sur une carte SD physique.

Pourtant, depuis Jelly Bean, Google prévoit la possibilité, pour les constructeurs, d’implémenter une restauration d’usine qui efface les données de la partition /data contenant les données des applications. Encore faut-il que le constructeur en tienne compte et intègre les pilotes nécessaires pour envoyer la commande magique ioctl(BLKSECDISCARD) à la mémoire flash. Pour la partition /sdcard, qui stocke les données personnelles, Google ne facilite pas le travail des constructeurs. Ainsi, AOSP ne prévoit pas la possibilité d’envoyer la fameuse commande pour effacer ces données physiquement. Ainsi, par défaut, elles sont seulement supprimées logiquement (Android ne les voit plus) mais sont toujours disponibles physiquement, sur les puces de mémoire flash. À moins que le constructeur utilise une partition /sdcard émulée et stockée physiquement dans la partition /data. Dans ce cas, la partition /sdcard sera formatée de la même manière que la partition /data. Si le constructeur utilise la bonne méthode (formatage physique), alors les deux partitions seront quasiment illisibles pour un éventuel pirate. Cas particulier : Android Froyo supprime parfaitement les données contenues sur la partition /data (comme on peut le voir dans le graphique ci-dessus) grâce à l’utilisation du système de fichier Yaffs2 permettant un accès direct aux puces de mémoire flash contrairement au duo FAT – eMMC utilisé depuis Gingerbread.

Android factory reset implementations

Les méthodes d’effacement selon les versions d’Android

Il existe, bien entendu, des méthodes pour réussir à extraire les informations de puces de mémoire flash qui auraient été correctement formatées sous Android, mais elles requièrent des compétences et du matériel spécial. En revanche, avec un formatage bâclé (ou plutôt uniquement logique), il est bien plus facile de récupérer les données personnelles (contenues dans la partition /sdcard) et les données sensibles (de la partition /data) comme les mot de passe Wi-Fi voire même les tokens de connexion au compte Google. Les chercheurs ont en effet réussi à récupérer leur propre token sur un terminal, à le réinitialiser, puis à réinjecter le token pour récupérer l’accès au compte Google, sans utiliser le moindre mot de passe.

Android factory reset

 

Exemple des données récupérables

Comment effacer proprement ses données ?

Les chercheurs donnent alors quelques pistes pour les utilisateurs afin d’effacer leurs données personnelles avant de se séparer de leur terminal. C’est par exemple le cas des applications qui écrivent des données aléatoires sur la partition /sdcard après une restauration d’usine afin de rendre illisibles les anciennes données qui pourraient toujours être présentes physiquement sur les cellules de mémoire flash. Mais cette solution n’est pas fiable puisqu’elle n’est pas susceptible de fonctionner sur tous les terminaux de la même manière (à cause de l’utilisation de différents systèmes de fichiers et de leurs spécificités) et ne concerne pas la partition /sdcard. Il est alors possible de remplir toutes les partitions avec des données aléatoires, mais il faut alors disposer d’un accès root et de réaliser la manipulation depuis un ordinateur relié en USB avec les commandes ADB. Une méthode qui a ses limites lorsque le contrôleur de la mémoire eMMC a fait usage de l’overprovisioning et que des données sensibles se trouvent donc sur une cellule de mémoire flash qui n’est plus liée avec le système de fichier. L’overprovisioning permet d’utiliser une partie de la mémoire flash lorsque certaines cellules sont trop usées. En revanche, les données restent sur les cellules usées et ne sont pas effacées.

A lire sur le sujet : Comment réellement supprimer ses données confidentielles sous Android ? | Le chiffrement par défaut de Lollipop abandonné discrètement

Le chiffrement du téléphone : une option sûre ?

Enfin, la dernière solution est de chiffrer son téléphone avant de réaliser la remise à zéro. Les chercheurs préconisent d’activer le chiffrement dès le début de l’utilisation de son téléphone. Dans le cas contraire, des données en claires pourraient être présentes dans les cellules de mémoire flash suite à l’overprovisionning. De plus, certains téléphones ne supportent pas le chiffrement de la partition /data bien qu’AOSP prévoit cette possibilité depuis Jelly Bean. Pour en rajouter une couche, les auteurs précisent que la clef de chiffrement est stockée dans les 16 derniers ko de la partition /data. Dommage puisque la fin de la partition /data est celle qui a le moins de chance d’être proprement formatée puisqu’aucune donnée n’est susceptible d’être réécrit par dessus.

Du pain sur la planche pour Google et les constructeurs

L’étude termine donc avec 8 recommandations à destination des constructeurs afin de garantir une protection maximale des données sensibles. Cela passe donc par l’utilisation des recommandations de Google présentes dans le code source d’AOSP ainsi que certaines astuces comme par exemple le fait d’envoyer un message aux applications avant la restauration pour leur demander de révoquer leurs autorisations ou encore de stocker la clef de chiffrement au début de la partition afin d’augmenter les chances de le supprimer de manière physique lors d’une restauration.

On espère alors que les constructeurs tiendront compte de cette étude et que Google renforcera les recommandations et les possibilités offertes par AOSP pour l’effacement physique des données. Il serait également intéressant de réaliser la même étude avec des téléphones plus récents et sous Android 5.x Lollipop. Pour les plus curieux, l’étude de 10 pages (en anglais) est disponible au téléchargement au format PDF. Pratique pour ceux qui veulent en savoir plus sur les détails techniques de l’affaire.