Merci à AndrewT qui a posté un lien sur le chat d'avoir ce document de recherche comme référence dans l'une de mes réponses . Cette réponse est entièrement basée sur ce document (mai 2015) et souligne les aspects communs compréhensibles par l'utilisateur ( il a beaucoup de sécurité matériel connexe pour les personnes intéressées)
-
Quels sont les avantages et les inconvénients en dehors de ce qui précède ?
-
Si un appareil dispose des deux options - le rooting basé sur les applications et le rooting par les méthodes des développeurs, pour laquelle dois-je opter ?
Réponse : Tout tourne autour de la vulnérabilité des logiciels malveillants. L'utilisation d'exploits racine est un risque de sécurité ÉNORME qui l'emporte sur tous les autres avantages.
Qu'est-ce qu'une racine molle et une racine dure ?
-
Racine molle : Root est obtenu directement en l'exécution d'un logiciel (c'est-à-dire des exploits Root) - soit en l'installant directement sur le dispositif, soit en exigeant adb
shell via une connexion PC
-
Racine dure : La racine est obtenue en flashant le binaire de su de manière externe via un paquet de mise à jour ou une ROM.
Menace des logiciels malveillants - en général
-
Bien que légitimes, de nombreuses méthodes pratiques de Root en un clic fonctionnent en exploitant les vulnérabilités du système Android. Si elles ne sont pas soigneusement contrôlées, ces exploitations peuvent être exploitées par les auteurs de logiciels malveillants pour obtenir des privilèges Root non autorisés.
-
Comme décrit dans le malware Android Projet Génome , 36,7 % (sur 1 260) des échantillons de logiciels malveillants contenaient au moins un programme d'exploitation Root.
-
Ces exploits bien conçus ne sont pas bien protégés, il est extrêmement dangereux qu'ils tombent dans de mauvaises mains.
Qui sont les principaux fournisseurs de Racine et, en gros, comment cela fonctionne-t-il ?
Quels sont les types d'expolits de racines ?
Le document couvre 78 exploits étudiés. En général, l'ordre des impact ( de la du plus haut au plus bas ) :
-
Exploits du noyau : En raison de sa position privilégiée, il est naturel de cibler le noyau Linux pour obtenir le contrôle total d'un appareil Android - exemple : TowelRoot.
-
Exploits de la bibliothèque : les exploits ciblant les bibliothèques utilisées par les processus du système Android, ou les bibliothèques externes utilisées pour supporter différentes applications, par exemple l'exploit ZergRush, libsysutils utilisé par le démon Volume Manager.
-
Application et cadre applicatif Couche applicative Exploits racine : les exploits ciblant les applications ou les services du système, comprennent principalement des logiques vulnérables introduites par setuid
des utilitaires, des applications système ou des services. setuid
utilitaire qui n'est présent que sur les appareils XoomFE qui présente une vulnérabilité d'injection de commande
-
Noyau ou pilotes spécifiques au fournisseur : Les fournisseurs personnalisent le noyau (par exemple, la branche personnalisée du noyau Linux de Qualcomm) ou fournissent des pilotes de périphériques propres à chaque fournisseur pour divers périphériques (par exemple, appareil photo, son). Ce code s'exécute dans l'espace du noyau et sa compromission peut également conduire à un contrôle total du périphérique.
Par numéro les exploits sont comme dans la figure ci-dessous
Est-il difficile de mettre la main sur un exploit (source ou binaire) ?
Très facile. Facilement accessibles à partir d'une recherche Google, les auteurs de logiciels malveillants peuvent facilement tirer parti de ces exploits. En recherchant 73 exploits sur Google, 68 d'entre eux sont disponibles - 46 avec le code source et 22 avec les binaires.
Comment ces exploits fonctionnent-ils ?
Principales exigences pour que les exploits fonctionnent (commandées à partir de du plus difficile au moins difficile ) ( logiciels malveillants a beaucoup de ces instances)
-
Nécessitant des interactions avec l'utilisateur : (6 sur 78 étudiés)
- Demander à l'utilisateur de télécharger une application et interrompre manuellement l'installation.
- Demander à l'utilisateur de démarrer en mode de récupération au moins une fois .
- Demander à l'utilisateur de mettre manuellement l'appareil en "batterie". économie de batterie".
- Demander à l'utilisateur d'ouvrir une application spécifique au fournisseur et d'appuyer sur un bouton.
-
Exigeant adb
par le biais d'une connexion PC : (17 sur 78 étudiés). Pour certains exploits, adb
La connexion shell est nécessaire pour les raisons les plus courantes suivantes :
-
L'exploit peut réussir à modifier un paramètre dans local.prop
qui permet à Root de adb
coquille seulement.
-
L'exploit doit écrire dans un fichier qui appartient au groupe shell et qui peut être écrit par le groupe (et non par le monde entier).
-
L'exploit cible le processus adb daemon qui nécessite que le processus d'attaque soit exécuté avec l'utilisateur shell. Par exemple, le processus Exploitation de Rage Against the Cage cible la vulnérabilité du démon adb qui ne vérifie pas la valeur de retour de la fonction setuid()
-
Redémarrage : (6 sur 78 étudiés) En général, de nombreux exploits Root nécessitent au moins un redémarrage. Par exemple, une attaque par lien symbolique permettrait à un attaquant de supprimer un fichier appartenant au système avec une faible permission, pour établir un lien au même endroit vers un fichier protégé. Après un redémarrage, les scripts init correspondants tentent de modifier l'autorisation du fichier d'origine en écriture universelle, ce qui modifie en réalité l'autorisation du fichier lié.
-
Aucun ou permission : (44 sur 78 étudiés) Les exploits de cette catégorie n'ont pas d'exigences strictes, cependant, certains d'entre eux peuvent nécessiter certaines permissions Android comme READ LOGS
afin que le propriétaire du processus soit placé dans un certain groupe d'utilisateurs.
Ces exploits peuvent-ils être détectés par un antivirus ?
Étant donné que les exploits Root sont très sensibles et peuvent être exploités par divers logiciels malveillants Android, on s'attend à ce que les logiciels antivirus sur la plate-forme Android puissent identifier la plupart d'entre eux, y compris ceux mis en œuvre par les fournisseurs Root. Dans l'ensemble, les résultats montrent que les produits de sécurité de pointe sur la plate-forme Android sont toujours en mesure d'identifier les exploits Root. ne peut traiter efficacement les exploits de Root
4 produits antivirus Android représentatifs ont été utilisés pour tester l'efficacité de la méthode. principal fournisseur (nom non révélé) ayant 167 exploits. Comme les exploits téléchargés à l'origine depuis la base de données des fournisseurs ont emballé le code d'exploitation réel et utilisé un mécanisme de détection d'altération, l'étude a créé 3 versions différentes pour chaque exploit :
-
Exploitation originale récupérée directement sur les serveurs des fournisseurs, avec l'emballage et la détection d'effraction.
-
Exploitation décompressée, qui exposera toute la logique d'exploitation réelle à les produits anti-virus.
-
Exploitation re-packed avec détection de sabotage désactivée.
Les binaires d'exploitation conçus par les grands fournisseurs de racines sont surprenants. "propre" car tous les principaux logiciels antivirus ont du mal à les détecter, comme le montre le tableau ci-dessous.
Conclusion
Simple. Ne vous approchez pas de Méthodes de racine douce à moins que vous soyez capable de faire face aux conséquences