Toutes les applications Android portent une signature qui est conçue pour assurer l'intégrité du package APK. Pendant l'installation, le système d'exploitation va utiliser la signature pour valider le contenu du package, et une alerte sera émise si une manipulation incongrue est détectée. La firme américaine en sécurité Bluebox, qui a été fondée en mi-2012, affirme avoir découvert un bug qui permet d'injecter du code arbitraire dans les fichiers APK sans invalider la signature.
La société a prévue de publier d'autres détails du bug 8219321, qui a été signalé à Google en Février 2013, lors de la conférence de sécurité Black Hat 1er Août 2013. La société a envoyée un tweet en Mars disant qu'elle donnerait plus d'informations sur ce bug 8219321 d'ici 90 jours.
Ce bug existe apparemment depuis la version Android 1.6 (Donut), qui est sortie il y a environ quatre ans. Selon l'Australian CIO qui a parlé avec Jeff Forristal, CTO de Bluebox, seul Samsung a jusqu'ici fourni une mise à jour pour corriger cette faille dans son Galaxy S4. Google prévoit de la corriger sur son Nexus et plus généralement sur Android dans un proche avenir, a dit le CTO de Bluebox. Rassurez-vous, les applications dans le Play Store de Google ne sont pas affectées par cette faille. Google a (d'après Forristal) mis en place des contrôles sur les applications étant autorisées à pénétrer dans le Play Store et a vérifié toutes les applications actuellement en ligne.
Bluebox dit que cette faille est particulièrement dangereuse pour les constructeurs mettant en place leur propre applications sur les smartphones car ce type d'applications bénéficie souvent de niveaux de privilèges plus élevés que la normale. Toutefois, les pirates doivent avoir accès à ces fichiers. Le screenshot ci-dessus est un POC montrant que la version de bande de base a été changée avec l'ajout de "Bluebox".
Il est actuellement difficile de savoir si cette faille affecte les applications installées et si les pirates peuvent injecter une mise à jour bidon avec une signature qui semble correcte ou si le problème ne se pose que lorsque le programme est installé la première fois.
Il est également intéressant de noter que Google a bloqué les mises à jour silencieuses sur son Play Store en Avril de cette année : "An app downloaded from Google Play may not modify, replace or update its own APK binary code using any method other than Google Play's update mechanism.". Petit workaround donc en attendant un vrai patch...