Depuis le renforcement des mesures de sécurité au niveau de l’espace utilisateur d’Android, la firme de Mountain View a noté une orientation des attaques des tiers malveillants vers le noyau Linux. Pour se faire une idée de la réalité décrite par Google, Sami Tolvanen, l’ingénieur logiciel en chef travaillant à la sécurité d’Android chez Google, souligne que pour l’année dernière uniquement un tiers des failles de sécurité détectées sur Android ont été trouvées dans le noyau Linux.
Face à ces problèmes connus, Google a travaillé à protéger le noyau de son système d’exploitation Android dans la version 7 d’Android (Android Nougat) en isolant le noyau des processus de l’espace utilisateur par un mécanisme permettant aux applications de filtrer l’accès aux appels système lors du traitement des entrées non approuvées.
Trouvant ces actions insuffisantes eu égard à l’acharnement des pirates informatiques, Google annonce de nouvelles mesures de protection. Depuis le mois dernier, Google a annoncé officiellement la sortie de la nouvelle version de son système d’exploitation Android 8 baptisé Android Oreo. Et pour cette nouvelle version et les versions ultérieures d’Android, les développeurs du système d’exploitation mobile annoncent le renforcement de la sécurité à travers quatre nouvelles fonctionnalités axées sur l’autoprotection du noyau. Il convient de rappeler que ces mesures de sécurité ont été déjà implémentées dans le noyau Linux et sont maintenant portées à tous les noyaux Android (version actuelle et supérieure) qui supporteront la nouvelle version du système d’exploitation mobile Android 8.
La première mesure de sécurité dédiée à l’autoprotection du noyau d’Android Oreo est l’ajout de mécanisme de vérification des limites des fonctions Usercopy. Ces fonctions sont utilisées par le noyau pour transférer les données depuis l’espace utilisateur vers le noyau et vice-versa. Mais depuis 2014, explique Tolvanen, l’absence ou le mauvais contrôle des limites de ces fonctions a été à la base d’environ 45 % des failles détectées au niveau du noyau des versions d’Android. Avec cette nouvelle fonctionnalité, ce bogue a été corrigé dans le noyau d’Android Oreo. De même, si des failles se glissaient dans le pilote d’un équipement, cette mesure permettra d’empêcher l’exploitation de celles-ci, avance Tolvanen.
La seconde mesure de sécurité annoncée est l’ajout par les fabricants de processeurs des fonctionnalités comme Supervisor Mode Access Prevention (SMAP) dans les architectures x86 et Privileged Access Never (PAN) dans les architectures ARM v8.1. Ces fonctionnalités sont destinées à empêcher que le noyau accède directement à l’espace utilisateur et assurent également que les développeurs passent par les fonctions Usercopy. Cependant, les équipements Android ne sont pas tous équipés de ces fonctionnalités récentes. C’est pourquoi une émulation logicielle pour PAN a été introduite dans la version 4.3 du noyau des systèmes pour les processeurs ARM et la version 4.10 du noyau des systèmes des processeurs ARM64. Ces deux fonctionnalités ont également été portées dans les noyaux Android à partir des versions 3.8 et supérieures.
Le troisième mécanisme de sécurité ajouté au noyau d’Android 8 est KASLR qui permet d’atténuer les vulnérabilités du noyau en randomisant l’emplacement où le code du noyau est chargé à chaque démarrage. De manière pratique, KASLR rend encore plus difficiles les attaques de réutilisation de code. Il a donc été intégré dans les noyaux 4.4 d’Android et les versions supérieures y compris celui d’Android 8.
Enfin, la dernière fonctionnalité d’autoprotection du noyau d’Android qui a été ajoutée est la création d’une région de mémoire marquée en lecture seule après l’initialisation du noyau. Cela permet aux développeurs d’améliorer la protection sur les données qui doivent être écrites pendant l’initialisation, mais ne doivent pas être modifiées après cette phase. Tolvanen précise qu’avoir moins de mémoire inscriptible réduit la surface d’attaque interne du noyau, rendant l’exploitation plus difficile. Pour les développeurs travaillant sur les pilotes du noyau, cette fonctionnalité est extrêmement utile, avance l’ingénieur en chef de Google. Elle a été introduite dans la version 3.18 des noyaux d’Android ainsi que les versions supérieures.
Avec ces nouvelles mesures de sécurité, Google espère réduire le nombre de bogues disponibles dans ces produits et qui sont créés en majeure partie par la négligence des développeurs de pilotes, soutient Tolvanen.
Source : Android Developers Blog
Et vous ?
Quels commentaires faites-vous des nouvelles mesures de sécurité introduites dans Android Oreo ;?
Pensez-vous qu’elles pourront faire baisser le nombre d’attaques ciblant ce système ;?
Voir aussi
Android 8.0 Oreo est officiellement présenté, le déploiement a commencé sur les dispositifs Nexus et Pixel
Google lance la première bêta d’Android O, elle apporte de nombreuses fonctionnalités pour améliorer la sécurité et l’expérience des utilisateurs
Google ajoute 4 fonctionnalités d'autoprotection du noyau dans Android Oreo
En s'inspirant des mesures de sécurité disponibles dans le noyau Linux
Google ajoute 4 fonctionnalités d'autoprotection du noyau dans Android Oreo
En s'inspirant des mesures de sécurité disponibles dans le noyau Linux
Le , par Olivier Famien
Une erreur dans cette actualité ? Signalez-nous-la !