Une équipe de chercheurs de l’université de Cambridge (Royaume-Uni) a démontré qu’il est possible de récupérer un code PIN tapé sur un terminal mobile en espionnant le pavé numérique via la caméra frontale et le microphone. En accédant à ces capteurs, l’application PIN Skimmer est même capable de contourner les outils de confinement implantés dans les systèmes d’exploitation mobiles pour sécuriser les applications sensibles. Laurent Simon, un chercheur français qui a participé à cette étude, est entré dans les détails pour Futura-Sciences.


au sommaire


    De plus en plus de chercheurs en sécurité informatique s'emploient à révéler la grande vulnérabilité des capteurscapteurs qui équipent les smartphones. Nous évoquions récemment les démonstrations réalisées aux États-Unis à partir de l'accéléromètre d'un terminal mobile qui peut servir à l'identifier, voire à espionner ce qu'une personne tape sur le clavier d'un ordinateur. Voici que deux chercheurs de l'université britannique de Cambridge, RossRoss Anderson et Laurent Simon, jettent un nouveau pavé dans la mare en démontrant qu'il est techniquement possible de dérober un code PIN à partir du microphone et de la caméra frontale du smartphone.

    Pour cela, ils ont développé une applicationapplication pour AndroidAndroid, PIN Skimmer, qui parvient à retrouver des codes PIN à quatre et huit chiffres avec des taux de réussite pouvant aller jusqu'à 60 % (au bout de dix tentatives). Pour y parvenir, PIN Skimmer enregistre à partir du microphone les sons émis par le pavé numérique lorsque la personne tape son code, et se sert de vidéos prises avec la caméra frontale pour déterminer les zones de l'écran qui sont touchées. Comme ils l'expliquent dans leur publication scientifique, les deux universitaires ont souhaité attirer l'attention sur les risques liés aux attaques dites par canal auxiliaire (en anglais, side-channel attacks) qui s'opèrent en récupérant les données émises par ces capteurs. Leur méthode tend à démontrer que la menace est bien réelle, y compris lorsque les terminaux mobiles sont équipés de systèmes de protection des applications sensibles.

    PIN Skimmer, un redoutable rootkit

    Il existe aujourd'hui des mesures qui permettent de cloisonner l'exécution de certaines applications en utilisant en parallèle deux systèmes d'exploitation. Il y a d'abord l'OS mobile par défaut (type Android, iOS, Windows PhoneWindows Phone, etc.) sur lequel tournent les applications tierces classiques. On l'appelle le Rich Execution Environment (REE), ou encore Insecure OS (l'OS non sécurisé). Il y a ensuite un second OS invisible que l'on appelle un Trusted Execution Environment (TEE), ou environnement de confiance, sur lequel s'exécutent les applications sensibles comme le courrier électronique professionnel, des applications métier, les codes PIN de la carte Sim, ceux des services bancaires ou encore de paiement par NFCNFC. Cette séparationséparation peut se faire avec différentes solutions techniques que sont la virtualisationvirtualisation, les micronoyaux ou encore la technologie TrustZone mise au point par ARMARM. Cette dernière équipe un certain nombre de terminaux mobiles, dont les Galaxy S3 et S4. Mais ces solutions sont encore peu répandues.

    PIN Skimmer utilise le bouton « OK » du pavé numérique comme point de référence, car elle est la dernière touche utilisée et sa position est connue. © Université de Cambridge
    PIN Skimmer utilise le bouton « OK » du pavé numérique comme point de référence, car elle est la dernière touche utilisée et sa position est connue. © Université de Cambridge

    Le problème est que les spécialistes en sécurité ont découvert que même si les environnements REE et TEE sont hermétiquement séparés, ils partagent les ressources matérielles du terminal, et en particulier ses capteurs (microphone, caméra, GPSGPS, accéléromètre, boussole, gyroscopegyroscope). C'est là que se situe un talon d'Achille majeur qui permet de réaliser des attaques par canal auxiliaire. PIN Skimmer agit comme un rootkitrootkit, ce qui lui permet d'accéder de façon totalement furtive aux principales ressources du smartphone, dont les capteurs. Il envoie les données à un serveurserveur distant qui effectue l'analyse. La procédure se fait en quatre étapes :

    • le mode surveillance : le rootkit s'exécute dans l'OS classique, en l'occurrence Android, et surveille tous les capteurs (accéléromètre, gyroscope, GPS, etc.) afin de déterminer le moment propice à la collecte des données. À noter que cette étape n'a pas été utilisée dans les tests, mais les chercheurs indiquent qu'elle servira pour de futurs travaux ;
    • le mode collecte : l'utilisateur se sert d'une application mobile dans laquelle se cache le malwaremalware. À chaque fois que la victime touche l'écran, PIN Skimmer active la caméra frontale et prend une photo. Dès qu'une connexion Wi-FiWi-Fi est disponible, les clichés, qui ne dépassent pas 2,5 Mo, sont envoyés sur un serveur ;
    • le mode d'apprentissage : durant ce mode, le traitement des données s'effectue sur un serveur où un algorithme d'apprentissage va bâtir un modèle prédictif à partir des éléments recueillis ;
    • le mode connexion : dernière étape du processus qui se déclenche lorsque l'utilisateur entre un code PIN sur le clavier numérique à partir d'une application qui s'exécute en mode sécurisé (TEE). PIN Skimmer active la caméra frontale et commence à enregistrer l'image et le son. Étant donné que le malware n'a pas accès aux informations relatives à l'activité tactile, il capte le retour d'effet haptiquehaptique que produit chaque touche du clavier. C'est le son de ces vibrationsvibrations qui est enregistré par le microphone. La vidéo sera ensuite transférée au serveur à la prochaine connexion Wi-Fi. Le modèle prédictif entre alors en scène pour déterminer le code PIN en corrélant toutes ces données.

    Pas encore d’exploitation active de la faille des capteurs

    Le malware exécute les tâches les plus gourmandes en ressources sur le serveur pour ne pas affecter l'autonomieautonomie de la batterie, ce qui éveillerait les soupçons. Il pourrait également intervenir sur les pilotes d'Android afin de contrôler les sons émis par l'obturateurobturateur de la caméra lorsqu'elle se déclenche, ainsi qu'un éventuel témoin lumineux d'enregistrement. L'usage de la connexion Wi-Fi pour transférer les données récoltées vise à ne pas entamer la consommation de données via le réseau cellulaire.

    La majorité des smartphones actuels sont équipés d’une version d’Android, le système d’exploitation développé par Google. Une cible de choix pour les attaques de toutes sortes… © Google, Wikimedia Commons, cc by sa 3.0
    La majorité des smartphones actuels sont équipés d’une version d’Android, le système d’exploitation développé par Google. Une cible de choix pour les attaques de toutes sortes… © Google, Wikimedia Commons, cc by sa 3.0

    PIN Skimmer a été testé sur deux modèles de smartphones Android, les Samsung Galaxy Nexus S et Galaxy S3. En partant d'un échantillon de 50 codes PIN à quatre chiffres, l'application atteint un taux de réussite de 30 % au bout de deux tentatives, et elle dépasse les 50 % après cinq tentatives. Le même test réalisé à partir d'un échantillon de 200 codes PIN à huit chiffres a donné 45 % de réussite après cinq essais et 60 % après dix essais. Laurent Simon, l'un des deux chercheurs à l'origine de cette étude, indique à Futura-Sciences qu'il ne pense pas que les cybercriminels aient déjà recours à ce type d'attaque par canal auxiliaire. « Bien que les smartphones actuels aient un OS de confiance, celui-ci n'est pas utilisé par des applications et donc les assaillants n'ont pas besoin de s'y attaquer. » Mais la faisabilité exposée par PIN Skimmer démontre qu'il y a matièrematière à agir pour anticiper cette menace. « Le problème va prendre de l'ampleur à mesure que les nouveaux terminaux embarqueront de plus en plus de capteurs et réduiront le fossé entre le monde virtuel et réel (NFC, température, rythme cardiaque, etc.) », estime le chercheur français.

    « On peut aussi connecter un smartphone à des équipements sensibles comme des pompes à insulineinsuline pour les personnes diabétiquesdiabétiques ou des pacemakerspacemakers [sur ces sujets, voir la vidéo et l'article cités par Laurent Simont, NDLRNDLR]. Avec de telles choses, les questions de sécurité et de confidentialitéconfidentialité deviendront primordiales. Nous n'en sommes qu'au début. La manière dont nous contrôlons nos données et celle dont les entreprises et les gouvernements en font usage deviennent problématiques. »

    Android n’est pas le seul fautif

    L'étude ayant été réalisée à partir d'Android, on s'interroge évidemment sur la vulnérabilité de cet OS, dont la sécurité est souvent prise en défaut. Laurent Simon cite deux problématiques qui, selon lui, expliquent cet état de fait. « Tout d'abord, les fabricants ajoutent des surcouches personnalisées et des applications au code original d'Android afin de se différencier de la concurrence. Et les opérateurs font de même. De plus, il faut que cela soit fait le plus vite possible, car la technologie évolue rapidement. Cette personnalisation et cette précipitation entraînent des problèmes de sécurité, car l'accent est mis sur les fonctionnalités et l'innovation plutôt que sur la protection. » Notre interlocuteur nous renvoie vers une étude récente réalisée par une équipe de l'université de Caroline du Nord consacrée à l'impact de la personnalisation d'Android sur sa sécurité. Selon ce document, entre 64,7 et 85 % des failles de sécurité identifiées par ces chercheurs provenaient de la personnalisation de l'OS par les fabricants. Ils ont également constaté que ce sont les smartphones Nexus, vendus par GoogleGoogle sans modification d'Android et régulièrement mis à jour, qui sont les moins exposés.

    Le second aspect évoqué par Laurent Simon concerne la lenteur de la diffusiondiffusion des mises à jour. On sait en effet qu'il peut s'écouler plusieurs mois entre la sortie d'une nouvelle version d'Android et son implémentation auprès des utilisateurs. Les fabricants et les opérateurs doivent vérifier la compatibilitécompatibilité des modèles en circulation. Un travail coûteux, qui prend du temps et qui n'est peut-être pas non plus sans arrière-pensées. « Les opérateurs gagnent de l'argentargent en vendant des terminaux et des contrats, donc leur motivation est de ne pas pousser les mises à jour et d'inciter les gens à acheter de nouveaux téléphones. »

    Mais dans ce cas, à qui incombe de renforcer la protection d'Android ? À Google, aux fabricants de smartphones, aux opérateurs de téléphonie ? Dans leur étude, Laurent Simon et son homologue Ross Anderson estiment que le travail de sécurisation doit se faire au niveau de l'OS, tant de la part de Google que des fabricants. Laurent Simon cite notamment la mise à jour Android 4.3 Jelly Bean, sortie en juillet dernier, qui permet de suspendre les autorisations d'accès accordées aux applications tierces. Ce qui est déjà un pas dans la bonne direction. Mais les usagers eux-mêmes doivent aussi faire preuve de prudence en évitant d'installer des applications provenant de sources douteuses. L'affaire de tout le monde, en somme...