Pourquoi les applications de root ne fonctionnent-elles plus?


10

Il y a quelques années, il était facile de rooter n'importe quel appareil: installez KingRoot, KingoRoot ou une application similaire, appuyez sur le gros bouton ROOT et laissez-le faire le reste. Après environ 5 minutes, un "Root Succeeded!" Vert apparaîtra, et nous pouvons choisir de conserver l'application racine, ou de la désinstaller et d'installer une application de gestionnaire racine propre comme SuperSU / Superuser.

Comment travaillent-ils? Pourquoi ne travaillent-ils plus? Et s'ils fonctionnent, dois-je les utiliser ou non?


2
Cela pourrait être utile, en particulier la VERIFIED / SECURE BOOTsection: forum.xda-developers.com/android/general/…
Irfan Latif

Réponses:


16

J'ai eu cette question il y a quelques mois, et j'ai trouvé cette réponse grâce à des recherches, alors j'ai pensé partager mes recherches sur ce site en répondant à ma question, compte tenu des fausses informations en ligne. (Par exemple, le site officiel de KingoRoot dit qu'il peut rooter Android Oreo, ce qui est une information complètement fausse)

Comment fonctionnent les applications d'enracinement?

Il existe de nombreuses applications d'enracinement, KingRoot, KingoRoot, Z4Root, Root Genius, Universal Androot pour ne nommer que quelques-unes des applications populaires / utilisées. Tous utilisent des exploits / vulnérabilités / failles dans le système d'exploitation Android pour se donner des privilèges réservés aux applications système ou même au système d'exploitation Android lui-même. Et puis ils montent en lecture / écriture le répertoire nommé /systemqui abrite les processus requis pour faire fonctionner le système et les applications système, et placent un binaire nommé suà la place du répertoire, à savoir /system/bin/su. Si une application nécessite root, l'application exécute ce binaire et vous voyez une invite pour autoriser ou refuser l'accès root.

Les exploits / vulnérabilités découverts reçoivent un CVEID, puis sont détaillés dans le site Web de CVE et corrigés dans les bulletins de sécurité Android . Un exemple est la fameuse vulnérabilité DirtyC0W qui a reçu le CVEID CVE-2016-5195, qui tourmente et continue de tourmenter les noyaux Linux plus anciens. Presque toutes les applications mentionnées ci-dessus exploitent cette vulnérabilité.

Pourquoi les applications de root ne fonctionnent-elles plus?

Comme indiqué dans les bulletins ci-dessus, Google corrige chaque mois une série de problèmes dans Android. La portée des vulnérabilités diminue donc fortement. Toutes les vulnérabilités utilisées par les applications d'enracinement à ce jour ont été corrigées dans les correctifs de sécurité vers janvier 2018 .

Mais il peut y avoir des problèmes que certains fabricants ont oublié de corriger! Et eux?

Sur Android 6.0.0 ou plus récent, cela entraînera simplement le redémarrage de l'appareil. Pour comprendre la raison de cela, nous devons examiner un concept nommé Chain of Trust .

Chain of Trust , abrégé CoT, est un mécanisme de sécurité qui a été introduit pour protéger le système d'exploitation Android contre les virus et les modifications non autorisées. Il fonctionne comme une chaîne de matériel et de logiciels, où chaque pièce vérifie la pièce suivante. Pas à pas:

  1. Lorsque vous allumez l'appareil, une fonction matérielle (parfois appelée ROM de démarrage) démarre. La ROM de démarrage est gravée dans le matériel et ne peut pas être modifiée.
  2. La ROM de démarrage vérifie le premier logiciel du CoT, le chargeur de démarrage qui est un blob binaire brut, parfois appelé le préchargeur. (De plus, la ROM de démarrage se charge et utilise parfois des partitions / binaires personnalisés spéciaux selon le fournisseur) Si le chargeur de démarrage ne passe pas les vérifications, le périphérique s'arrête. S'il réussit, la ROM de démarrage exécute le chargeur de démarrage.
  3. Le chargeur de démarrage vérifie les options qui lui sont transmises par la ROM de démarrage et sélectionne le mode de démarrage approprié. Les modes de démarrage habituels qui existent sur presque tous les appareils sont le démarrage Android normal, la récupération et le démarrage / téléchargement rapide.

Si le chargeur de démarrage est verrouillé, il vérifie si la prochaine partie de CoT à exécuter est intacte, et si c'est le cas, le chargeur de démarrage l'exécute. Si ce n'est pas le cas, il peut s'arrêter, redémarrer ou se bloquer dans un mode de chargeur de démarrage spécial selon le modèle de l'appareil.

Si le chargeur de démarrage est déverrouillé, il ne vérifie pas la partie suivante de CoT mais le charge directement.

  1. La partie suivante est appelée la partition de démarrage . Il gère la façon de démarrer le système lui-même. Dans les versions Android sur / plus récentes que 6.0.0 (Lollipop), il vérifie également si le système est intact et s'il est modifié, il s'arrête.

Comme mentionné précédemment, ces applications racine exploitent les vulnérabilités à modifier /system, ce qui est vérifié par la partition de démarrage comme mentionné à l' étape 4 ci-dessus. Ainsi, toute modification entraînera le non démarrage de l'appareil. Cet état est communément appelé «brique molle», qui ne peut être corrigé que par un re-flash.

Ainsi, les nouveaux appareils nécessitent que le chargeur de démarrage soit déverrouillé si vous souhaitez rooter votre appareil. Ces appareils sont enracinés en flashant une récupération avec plus d'options que la récupération normale (comme TWRP, ClockWorkMod), généralement appelée récupération personnalisée, et en l'utilisant pour modifier la partition de démarrage (et désactiver la vérification du système). Il est également possible de modifier directement la partition de démarrage sans récupération personnalisée.

Certains fabricants proposent un moyen de déverrouiller le chargeur de démarrage, et d'autres non. Les appareils populaires avec des chargements de démarrage verrouillés (par exemple, des appareils Samsung S verrouillés par un opérateur américain) ont tendance à être exploités par la communauté de modding Android.

Mon appareil est toujours Android 5.1.1 ou plus ancien! Dois-je les utiliser pour rooter?

La plupart de ces appareils plus anciens peuvent être rootés par les applications de root. Donc tu pourrais. Devrais-tu? Cela dépend de vos préférences. L'accès root accorde le pouvoir sur tout dans le système d'exploitation, et avec un accès root, il ne prend généralement pas même une microseconde pour s'assurer que votre appareil ne redémarrera plus jamais. Il est très probable que les applications d'enracinement ne le feront jamais, mais elles le pourraient. En outre, avec root, une application peut accéder à tout ce que fait votre appareil et à tout ce qu'il contient, y compris les informations de votre carte de crédit, vos mots de passe, etc. Si cela vous semble une grave menace pour la vie privée, n'utilisez peut-être pas les applications root. Si cela vous est égal, vous pouvez les essayer.

Si vous êtes assez averti, il existe les sources de presque tous les exploits utilisés par ces applications racine. Vous pouvez essayer de les rechercher par CVEID, les rechercher dans Git, les compiler et les exécuter et essayer d'obtenir un shell racine, et vous pourrez installer lesu binaire et les autres dépendances vous-même.

En outre, KingoRoot est connu pour envoyer des données hautement sensibles comme IMEI et le numéro de série à leurs serveurs. Il est probable qu'ils ne les utiliseront jamais, mais c'est votre décision à la fin. Et KingRoot est connu pour installer une porte dérobée dans son SDK qui a permis à certaines applications d'obtenir un accès root non autorisé par l'utilisateur.

Conclusion

L'ère des applications d'enracinement est révolue depuis longtemps. Les applications d'enracinement ne fonctionnent plus et si vous les utilisez sur des versions Android plus récentes, vous risquez de bricker votre appareil et probablement de perdre toutes vos données. Si vous les utilisez sur les versions Android prises en charge, elles fonctionneraient la plupart du temps, mais vous devez prendre en compte les problèmes de confidentialité et de sécurité avant de continuer.

J'espère que mes recherches aideront quelqu'un à l'avenir qui aura le même problème que moi. :)


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.