Google ajoute l’intégrité du flux de contrôle pour renforcer la sécurité du noyau Android

Google a ajouté une nouvelle fonctionnalité de sécurité aux derniers noyaux Linux pour appareils Android afin de prévenir les attaques par réutilisation de code permettant aux attaquants d’exécuter du code de façon arbitraire en exploitant des vulnérabilités de piratage de flux de contrôle.

Dans les attaques par réutilisation de code, les attaquants exploitent des anomalies de corruption de la mémoire (débordement de tampon, confusion de type ou débordement d’entier) pour prendre en charge les pointeurs de code stockés en mémoire et réutiliser le code existant de manière à diriger le flux de contrôle de leur choix, entraînant une action malveillante.

Étant donné qu’Android dispose de nombreuses mesures pour empêcher l’injection directe de code dans son noyau, cette méthode de réutilisation de code est particulièrement appréciée des pirates informatiques pour obtenir l’exécution de code avec le noyau en raison du grand nombre de pointeurs de fonction qu’il utilise.

Pour tenter d’empêcher cette attaque, Google a désormais ajouté la prise en charge de CFI (Control Flow Integrity) de LLVM au noyau d’Android en tant que mesure permettant de détecter les comportements inhabituels d’attaques tentant d’interférer ou de modifier le flux de contrôle d’un programme.

Fondamentalement, l’intégrité du flux de contrôle (CFI) est une politique de sécurité qui garantit que l’exécution du logiciel au moment de l’exécution doit suivre le chemin d’un graphe de flux de contrôle (CFG) préalablement déterminé par le compilateur au moment de la compilation.
"CFI tente d’atténuer ces attaques en ajoutant des vérifications supplémentaires pour confirmer que le flux de contrôle du noyau reste dans un graphique précalculé", a déclaré Sami Tolvanen, ingénieur logiciel pour le personnel de sécurité Android.

"Cela n’empêche pas un attaquant de modifier un pointeur de fonction si un bogue fournit un accès en écriture à celui-ci, mais cela restreint considérablement les cibles d’appel valides, ce qui rend plus difficile l’exploitation d’un tel bogue dans la pratique."

Les vérifications supplémentaires ajoutées par CFI garantiront que les applications ou programmes présentant un comportement inhabituel seront automatiquement annulés

Intégrité du flux de contrôle ajoutée aux noyaux Android 4.9 et 4.14

Selon Google, Google Pixel 3 lancé plus tôt cette semaine est le premier appareil Android à intégrer le nouveau système de protection du code du noyau.

Toutefois, les versions 4.9 et 4.14 du noyau Android ont maintenant été prises en charge par CFI. Google recommande donc à tous les fournisseurs d’appareils Android d’activer la fonctionnalité du noyau de leurs nouveaux appareils arm64 exécutant Android 9 pour une protection supplémentaire contre les vulnérabilités du noyau.

"CFI de LLVM protège les branches indirectes contre les attaquants qui parviennent à accéder à un pointeur de fonction stocké dans la mémoire du noyau", a conclu M. Tolvanen. "Cela rend plus difficile une méthode commune d’exploitation du noyau."

Google prévoit également de protéger les adresses de retour de fonction contre des attaques similaires en ajoutant LLVM ’.

Dans la même rubrique

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... | 31 |

Actu en image