Une vulnérabilité présente depuis 4 ans dans Android permet à des pirates de modifier n'importe quelle application légitime et signée numériquement pour la transformer en cheval de Troie avant de l'utiliser pour voler des données ou prendre le contrôle de l'OS. Ce sont des chercheurs de Bluebox Security, une startup spécialisée dans la sécurité mobile et située à San Francisco, qui ont découvert la faille. Ils ont prévu de donner plus de détails sur le mécanisme lors de la conférence sur la sécurité Black Hat USA 2013 qui doit se tenir du 27 juillet au 1er août prochain à Las Vegas.

Le problème est lié à la façon dont les applications Android sont vérifiées cryptographiquement. Une faille dans la procédure permet en effet à un attaquant de modifier les fichiers Android Application Package (APK) sans casser leurs signatures cryptographiques. « Quand elle s'installe, l'application Android crée aussi une sandbox. C'est à ce moment-là que le système enregistre la signature numérique de l'application », a expliqué le CTO de Bluebox, Jeff Forristal. « Ensuite, lors des mises à jour, le système vérifie que la signature des packages provient bien de l'auteur de l'application concernée », a-t-il ajouté.

Une protection habilement contournée


Ce fonctionnement est important pour le modèle de sécurité d'Android, car il garantit que les données sensibles stockées par une application dans son bac à sable ne sont accessibles que par les nouvelles versions de cette application, signées avec la clé de l'auteur original. Or, la vulnérabilité identifiée par les chercheurs de Bluebox permet aux attaquants d'ajouter un code malveillant aux APK déjà signés sans transformer leurs signatures. La vulnérabilité existe depuis au moins Android 1.6, nom de code Donut, ce qui signifie qu'elle affecte potentiellement n'importe quel appareil Android mis sur le marché au cours des quatre dernières années, comme l'ont déclaré les chercheurs de Bluebox hier dans un blog. « En fonction du type d'application, un pirate peut exploiter cette vulnérabilité aussi bien pour voler des données que pour créer un botnet mobile », ont-ils affirmé.

La vulnérabilité peut également être exploitée pour se procurer un accès complet au système dans le cas où l'attaquant a modifié et distribué une application développée à l'origine par le fabricant de l'appareil, signée avec une clef de la plate-forme, celle que les fabricants utilisent pour signer le firmware de l'appareil. « Normalement, on ne peut mettre à jour les composants du système que si la mise à jour a la même signature que la plateforme », a déclaré Jeff Forristal. Le code malveillant permet alors d'accéder à tout ce qui se trouve sur le terminal, à savoir les applications, les données, les comptes, les mots de passe et les réseaux. « En un mot, il prend le contrôle de la totalité de l'appareil », a-t-il ajouté. Les pirates ont l'embarras du choix pour distribuer ces applications Chevaux de Troie : les envoyer par mail, les charger sur un App Store de tierce partie moins regardant, les héberger sur un site Web, ou les faire charger par le terminal via un périphérique USB ou autre.

Les apps sur Google Play toujours sécurisées


La mise à disposition de ces applications dans des App Store tiers est déjà très courante pour distribuer ces logiciels malveillants Android. Mais « il n'est pas possible d'utiliser Google Play pour distribuer des applications modifiées qui exploitent cette faille depuis que Google a mis à jour son processus de validation des applications », a précisé le chercheur. Selon des informations communiquées à Bluebox par Google, « aucune application présente sur son App Store n'est concernée », a-t-il déclaré. Cependant, si un attaquant trompe un utilisateur en l'incitant à installer manuellement une mise à jour malveillante pour une application normalement accessible via Google Play, alors la bonne application sera remplacée et la nouvelle version ne pourra plus interagir avec l'App Store de Google. « C'est le cas de toutes les applications ou nouvelles versions d'applications, malveillantes ou non, qui ne sont pas installées via Google Play », a déclaré Jeff Forristal.

 « Google a été informé de l'existence de cette vulnérabilité au mois de février et a transmis cette information à ses partenaires, les membres de l'Open Handset Alliance notamment, début de mars », a déclaré le chercheur. « Il appartient maintenant à ces partenaires de décider comment ils feront leurs prochaines mises à jour », a-t-il ajouté. Jeff Forristal a confirmé qu'un terminal, le Samsung Galaxy S4, intégrait déjà une parade, ce qui indique que certains fabricants ont commencé à livrer des correctifs. « Google n'a pas encore livré de correctifs pour ses mobiles Nexus, mais l'entreprise y travaille », a dit le chercheur de Bluebox. De son côté, Google a refusé de commenter, de même que l'Open Handset Alliance. La mise à disponibilité des patchs pour corriger les firmwares sera fonction des modèles de mobile, des fabricants et des opérateurs de téléphonie mobile.