La firme belge GuardSquare a publié un rapport sur une vulnérabilité (CVE-2017-13156) découverte dans Android, surnommée Janus. La vulnérabilité permet aux attaquants de modifier le code de l'application sans affecter la signature.
Lors du développement d’une application Android, des spécialistes doivent signer leur produit . Lors de la mise à jour, le système compare la signature du fichier APK avec la version existante et, s'il y a une correspondance, l'application est compilée dans un fichier DEX à exécuter sur l'appareil. La racine du problème est que la vulnérabilité est liée à la possibilité d'ajouter des octets supplémentaires aux fichiers APK et DEX. Le fichier APK est une archive zip qui vous permet de contenir des octets arbitraires au début avant les entrées zip. Lors de la signature, le JAR ignore tous les octets supplémentaires autres que les entrées zip nécessaires pour vérifier la signature de l'application. À son tour, le fichier DEX contient des octets arbitraires à la fin. Ainsi, Janus combine un fichier APK non modifié avec un exécutable DEX modifié qui n'affecte pas la signature de l'application. Dans ce cas, le système Android vous permettra d'installer puis d'exécuter le code depuis l'en-tête DEX. Dans le même temps, les attaquants ont la possibilité de gérer les autorisations et de remplacer l'application lors de la prochaine mise à jour.
Janus ne pourra endommager que les applications signées à l'aide d'une méthode basée sur JAR (Android 5.0 et supérieur). À partir d'Android 7.0 Nougat, la méthode de signature JAR a été remplacée par APK Signature Scheme v2, qui offre une protection pour les versions ultérieures.
Эллеонора Керри
Niveau 41
GO TO FULL VERSION