Android KitKat intègre SELinux et dm-verity
La sécurité d'Android est régulièrement mise en cause et freine son développement particulièrement sur les marchés professionnels. Les menaces augmentent en quantité et sont de plus en plus diversifiées.
À chaque nouvelle version d'Android, Google ajoute des fonctions de sécurité pour renforcer son système d'exploitation. Deux d'entre d'elles, intégrées à Android 4.4, sont particulièrement importantes : les règles de sécurité (SELinux ou Security-enhanced Linux) sont désormais opérationnelles dans KitKat, ainsi que dm-verity (device-mapper). Elles renforcent la confiance de l'utilisateur dans l'intégrité du système d'exploitation Android.
Elles s'ajoutent aux améliorations déjà apportées dans Android contre les attaques, telles que le cryptage total du disque (dm-crypt) introduit dans Android 3.x, ainsi que ADLR (Address Space Layout Randomization) et DEP (Data Execution Protection) apparues dans Android 4.1.
Déjà testées dans la version Jelly Bean (4.x), les SELinux sont en standard dans KitKat. Des règles, par exemple, limitent l'accès d'un programme aux fichiers, aux privilèges, aux ressources et aux interactions avec les autres applications. Prenons le cas d'un « exploit » qui introduit un code malveillant dans un système Android et qui a pour but de détourner les données d'un utilisateur pour les envoyer, via Internet, vers le prédateur. Si l'accès à Internet n'est pas configuré selon la règle SELinux, cet « exploit » s'exécute localement, mais ne servira à rien sans l'accès à Internet.
Une chaîne d'éléments de vérification
Outil important, le Dm-verity vérifie l'intégrité du système d'exploitation Android. Il s'agit d'une chaîne d'éléments de vérification concaténée et qui démarre avec le logiciel d'amorçage (bootloader). Celui-ci est sécurisé sous forme de clé publique gravée dans une ROM (Read Only Memery) intégrée dans l'appareil par l'OEM. Cette clé compare la signature numérique du logiciel d'amorçage du noyau Android avec le clé publique ROM pour vérifier que des changements ou des mises à jour n'ont pas été effectués illicitement. Dans l'étape suivante, le système de fichiers racine est chargé et son intégrité vérifiée par le processus dm-verity via un jeu de hachage (hashes). Au lieu de les vérifier globalement, chaque système de fichiers est examiné individuellement avec un incrément de 4K pour améliorer la performance. Si aucune anomalie n'est détectée, l'amorçage d'Android est déclaré sain.
Ce processus n'a rien de magique et dépend des conditions d'intégration. En particulier, une entreprise doit vérifier que les méthodes d'implémentation de l'OEM soient irréprochables. Le mois dernier Andrian Luswing, le responsable sécurité pour Android, a révélé que sur 1,5 milliard d'applications téléchargées les malwares ont causé des dégâts dans moins de 0,001% des cas. Acceptable pour un particulier mais dangereux pour une entreprise. KitKat peut alors être la solution.
L'adoption de cette technologie ne fait pas de Google un pionnier. Des millions d'ordinateurs en sont équipés ont montré que cela était efficace. Toutefois, là où Google se distingue, c'est en l'intégrant à grande échelle dans des mobiles.