Selon la page Wikipedia pour l'enracinement Android ,
Le processus d'enracinement varie considérablement selon l'appareil, mais comprend généralement l'exploitation d'une faille de sécurité dans le micrologiciel de l'appareil , puis la copie du
su
binaire vers un emplacement dans le chemin du processus en cours (par exemple/system/xbin/su
) et l'octroi d'autorisations exécutables avec lachmod
commande. Une application de superviseur comme SuperUser ou SuperSU peut réguler et enregistrer des demandes d'autorisation élevées à partir d'autres applications. De nombreux guides, didacticiels et processus automatiques existent pour les appareils Android populaires facilitant un processus d'enracinement rapide et facile.
Maintenant, je voulais savoir quels exploits sont utilisés dans ce processus, alors j'ai commencé à regarder autour de moi. J'ai trouvé quelques références à des exploits Android (notamment RageAgainstTheCode ), mais quelques questions ici ( celle-ci et comment réglemente-t-elle les autorisations des applications? ) Me donnent l'impression qu'aucun exploit réel n'est effectué.
D'après ce que j'ai rassemblé, le processus fonctionne comme tel:
- Déverrouiller le chargeur de démarrage ( efface le périphérique pour des problèmes de sécurité )
- Installer une récupération personnalisée (permettra de flasher des fichiers ZIP arbitraires)
- Fichier zip SuperUser ou SuperSU en récupération personnalisée.
Si je comprends bien, la récupération personnalisée est capable de flasher le fichier ZIP car il existe à un niveau inférieur (pour ainsi dire) à la ROM, et en tant que tel, peut modifier la ROM pour installer l'application su
binaire et SuperUser. Autrement dit, aucun véritable exploit n'est utilisé pour atteindre la racine.
Suis-je vraiment en train de manquer quelque chose ici? Un exploit est-il exécuté implicitement au cours de l'une de ces étapes?
En tant que note, je parle d'un utilisateur rootant un téléphone, pas d'un morceau de code malveillant obtenant un accès root.