Il s’avère que les capteurs au sein de votre smartphone, qui font toutes sortes de choses géniales et magiques comme vous donner des directions, trouver vos amis, permettre à votre conducteur Uber ou Lyft de vous trouver, compter vos pas pendant votre entraînement, vous informer sur la circulation routière, et une quantité d’autres astuces bien pratiques, ont tout de même un léger inconvénient.
Selon des chercheurs de la Nanyang Technological University (NTU) à Singapour, des applications malveillantes sur votre téléphone pourraient utiliser le flux de données en provenance de ces capteurs pour récupérer des informations sur la manière avec laquelle le téléphone est utilisé, et même deviner le code PIN du téléphone !
L’algorithme des chercheurs a été capable de deviner un code PIN avec une précision de 99,5% dès le premier essai en utilisant une liste des 50 codes PIN les plus courants, et ce bien que le taux de réussite soit tombé à 83,7% quand il a essayé de deviner les 10 000 combinaisons de codes PIN à 4 chiffres possibles, après 20 tentatives.
Il n’existe aucun obstacle à la collecte des données, car ces capteurs sont de type “permission zéro”. En effet, une application n’a pas besoin du consentement de l’utilisateur pour accéder aux données qu’ils contiennent.
En apparence, ce type d’accès libre ne semble pas être une menace. Le flux de données collectées par de tels capteurs sont reléguées au rang de “donnée non critiques”, du moins pour des raisons de sécurité. Pourquoi devrions-nous nous inquiéter si une application a accès à un capteur de proximité, au capteur d’un accéléromètre, d’un gyroscope, d’un magnétomètre, d’un baromètre ou d’une lumière ambiante ?
Ces derniers ne stockent pas les mots de passe, les numéros de sécurité sociale, les numéros de carte de crédit ou d’autres informations personnelles identifiables (PII). Ils mesurent juste des paramètres liés à votre mouvement, à votre vitesse, à l’endroit où vous êtes, à votre altitude et évaluent enfin si vous regardez le téléphone ou si vous l’avez près de votre oreille.
Mais il existe un autre exemple de données en provenance de sources apparemment hétérogènes et sans lien, qui après avoir fusionné, peuvent fournir des informations beaucoup plus intrusives et sensibles que vous ne le pensiez au départ. Dans ce cas il est question de deviner votre code PIN et de pénétrer au sein de votre téléphone, qui sans aucun doute, mettra en danger vos données sensibles.
Les chercheurs de la NTU ne sont pas les premiers à en faire la démonstration. En effet, il existe maintenant plusieurs exemples de flux de données que ces capteurs peuvent “offrir”. Il y a quelques semaines, Naked Security a mentionné une équipe de chercheurs de Princeton qui a démontré qu’elle pouvait suivre localisation d’utilisateurs de smartphones, et ce même s’ils avaient leur GPS (“services de localisation”) désactivé.
En avril, des chercheurs de l’Université de Newcastle au Royaume-Uni ont publié un article dans International Journal of Information Security, dans lequel ils décrivaient une “attaque par canal secondaire basée sur JavaScript”, qui leur permettait de deviner les codes PIN d’appareils Android.
Dans cette attaque, après que l’utilisateur ait visité un site web contrôlé par un cybercriminel, le code JavaScript incorporé dans la page web commence alors à écouter les flux de données liés au mouvement et à l’orientation, sans avoir besoin de l’autorisation de l’utilisateur. En analysant ces flux de données, il déduit le code PIN de l’utilisateur en utilisant un réseau neuronal artificiel. Sur la base d’un ensemble de 50 codes PIN à 4 chiffres, PINlogger.js est capable d’identifier correctement les codes confidentiels, dès le premier essai, avec un taux de réussite de 74%, atteignant respectivement 86% et 94% lors de la deuxième et troisième tentative.
Les chercheurs de la NTU ont fait encore mieux (en prenant pour cible des appareils Android), en combinant les fuites de données d’un groupe de capteurs de type “permission zéro” pour reconstruire le code PIN confidentiel d’un utilisateur.
En utilisant la puissance des algorithmes d’apprentissage automatique, nous avons fait la démonstration pratique d’une attaque visant l’intégralité du domaine des codes PIN à quatre chiffres. Capable de classer intégralement les 10 000 combinaisons de codes PIN, les résultats affichent un taux de réussite de 83,7% avec 20 essais dans un environnement utilisateur unique. Le test mené précédemment avait affiché un taux de réussite de 74% avec un périmètre réduit de 50 codes PIN choisis, où nous affichons 99,5% de réussite avec un seul essai, dans un environnement similaire.
Les chercheurs notent également une évidence, à savoir que comme Android détient 81,7% du marché des smartphones, ces résultats représentent une surface d’attaque massive.
Ils reconnaissent que les failles des capteurs à “permission zéro” ont déjà été mentionnées dans au moins une douzaine d’autres publications, mais ils déclarent que le fait de deviner le code PIN est plus compliqué, “parce que les mouvements exploités sont moins prononcés et donc plus difficiles à classer avec précision”.
Mais le succès de leurs recherches, ainsi que les améliorations attendues, sont de mauvaises nouvelles pour la sécurité des smartphones, et ce même pour les utilisateurs qui utilisent des codes PIN à plus de 4 chiffres.
Les algorithmes de classification sont en mesure d’évaluer facilement l’importance de chaque capteur dans la récupération du code PIN, permettant ainsi un taux de récupération élevé. Puisque la méthodologie fonctionne sur un seul chiffre, elle est adaptable aux codes PIN de plus de 4 chiffres.
Des mesures ont été prises pour fermer partiellement cette faille. Bleeping Computer a noté en avril dernier que Mozilla et Apple avaient mis à jour les navigateurs Firefox et Safari début 2016, pour permettre un accès JavaScript aux capteurs de mouvement et d’orientation uniquement aux documents de niveau supérieur et aux iframes d’origines identiques. Malheureusement de telles restrictions ne s‘appliquent pas encore à Google Chrome.
La solution qui sera cruciale, bien évidemment, doit impliquer le système d’exploitation. Il existe suffisamment de recherches pour démontrer qu’il ne devrait plus y avoir de capteurs à “permission zéro”. Comme on le dit régulièrement, si les “good guys” le font, les “bad guys” le feront aussi.
Au minimum, chaque application devrait exiger un consentement affirmatif des utilisateurs. En attendant, le cas présenté ici ainsi que d’autres recherches déjà réalisées doivent servir d’avertissement (si besoin était) concernant les applications obtenues dans d’autres endroits que les “stores” fiables et sécurisés qui les évaluent pour vous. Si vous vous êtes fait avoir par une application malveillante, vous pouvez considérer que vous avez incité les hackers à profiter d’une porte grande ouverte !
Billet inspiré de Sensor data can be used to guess your PIN, unlock your phone, sur Sophos nakedsecurity.