L'utilisation de votre appareil Android vous donne accès à une plus grande variété d'applications et à un accès plus profond au système Android. Mais certaines applications, comme Android Pay de Google, ne fonctionneront pas du tout sur un appareil rooté.
Google utilise un outil appelé SafetyNet pour détecter si votre appareil est rooté ou non, et bloque l'accès à ces fonctionnalités. Google n'est pas le seul, non plus - beaucoup d'applications tierces ne fonctionneront pas sur les appareils Android enracinés, bien qu'elles puissent vérifier la présence de root par d'autres moyens.
LIÉS: Fatigué de faire voler votre carte de crédit? Utiliser Apple Pay ou Android Pay
Les appareils Android offrent une «API SafetyNet», qui fait partie de la couche Google Play Services installée sur les appareils Android approuvés par Google. Cette API "fournit un accès aux services Google qui vous aident à évaluer la santé et la sécurité d'un appareil Android", selon Google. Si vous êtes un développeur Android, vous pouvez appeler cette API dans votre application pour vérifier si l'appareil que vous utilisez a été falsifié.
Cette API SafetyNet est conçue pour vérifier si un appareil a été falsifié, Il a été créé par un utilisateur, exécute une ROM personnalisée ou a été infecté par un logiciel malveillant de bas niveau, par exemple.
Les appareils livrés avec Google Play Store et d'autres applications doivent être compatibles avec la «Compatibility Test Suite» de Google. L'enracinement d'un périphérique ou l'installation d'une ROM personnalisée empêche un périphérique d'être compatible avec CTS. C'est ainsi que l'API SafetyNet peut déterminer si elle est ancrée: elle vérifie simplement la compatibilité CTS. De même, si vous obtenez un appareil Android qui n'est jamais venu avec les applications de Google - comme l'une de ces 20 $ expédiés directement d'une usine en Chine - il ne sera pas considéré comme "compatible CTS", même si vous ne l'avez pas .
Pour obtenir ces informations, Google Play Services télécharge un programme nommé "snet" et l'exécute en arrière-plan sur votre appareil. Le programme collecte les données de votre appareil et les envoie régulièrement à Google. Google utilise ces informations à des fins diverses, depuis l'obtention d'une image de l'écosystème Android au sens large jusqu'à la détermination de l'altération ou non du logiciel de votre appareil. Google n'explique pas exactement ce que recherche snet, mais il est probable que snet vérifie si votre partition système a été modifiée depuis l'état d'origine.
Vous pouvez vérifier le statut SafetyNet de votre appareil en téléchargeant une application comme SafetyNet Helper Sample ou SafetyNet Playground. L'application demandera au service SafetyNet de Google sur l'état de votre appareil et vous indiquera la réponse qu'il reçoit du serveur Google.
Pour plus de détails techniques, lisez ce billet écrit par John Kozyrakis, stratège technique chez Cigital, une société de sécurité logicielle. Il a creusé dans SafetyNet et explique plus en détail son fonctionnement.
SafetyNet est facultatif pour les développeurs d'applications, et les développeurs d'applications peuvent choisir de l'utiliser ou non. SafetyNet empêche uniquement le fonctionnement d'une application si le développeur d'une application ne veut pas qu'elle fonctionne sur des appareils enracinés.
La plupart des applications ne vérifient pas du tout l'API SafetyNet. Même une application qui vérifie l'API SafetyNet - comme les applications de test ci-dessus - ne cessera pas de fonctionner si elle reçoit une mauvaise réponse. Le développeur de l'application doit vérifier l'API SafetyNet et empêcher l'application de fonctionner si elle apprend que le logiciel de votre appareil a été modifié. L'application Android Pay de Google en est un bon exemple.
La solution de paiement mobile Android Pay de Google ne fonctionne pas du tout sur les appareils Android rootés. Essayez de le lancer, et vous verrez juste un message disant "Android Pay ne peut pas être utilisé. Google n'est pas en mesure de vérifier que votre appareil ou le logiciel qui l'utilise est compatible avec Android. "
Il ne s'agit pas seulement de l'enracinement, bien sûr, l'exécution d'une ROM personnalisée vous mettrait également dans l'embarras. L'API SafetyNet prétend que ce n'est pas "compatible avec Android" si vous utilisez une ROM personnalisée avec laquelle l'appareil n'est pas fourni.
CONNEXION: L'affaire contre la racine: pourquoi les appareils Android ne sont pas enracinés
Rappelez-vous, cela ne détecte pas seulement l'enracinement. Si votre appareil était infecté par un logiciel malveillant de niveau système avec la possibilité d'espionner Android Pay et d'autres applications, l'API SafetyNet empêcherait également le fonctionnement d'Android Pay, ce qui est une bonne chose.
modèle. Android Pay protège normalement vos données de paiement à l'aide des fonctionnalités de sandboxing d'Android, mais les applications peuvent sortir du sandbox sur un appareil rooté. Google n'a aucun moyen de savoir à quel point Android Pay serait sécurisé sur un appareil particulier s'il est rooté ou s'il exécute une ROM personnalisée inconnue, donc ils le bloquent. Un ingénieur Android Pay a expliqué le problème sur le forum des développeurs XDA si vous êtes curieux d'en savoir plus.
SafetyNet est juste une façon qu'une application peut vérifier si elle fonctionne sur un appareil rooté. Par exemple, les appareils Samsung comprennent un système de sécurité nommé KNOX. Si vous enracinez votre appareil, la sécurité KNOX est déclenchée. Samsung Pay, la propre application de paiement mobile de Samsung, refusera de fonctionner sur les appareils enracinés. Samsung utilise KNOX pour cela, mais il pourrait tout aussi bien utiliser SafetyNet.
De même, de nombreuses applications tierces vous empêcheront de les utiliser, et toutes n'utilisent pas SafetyNet. Ils peuvent simplement vérifier la présence d'applications et de processus racines connus sur un périphérique.
Il est difficile de trouver une liste à jour des applications qui ne fonctionnent pas lorsqu'un périphérique est rooté. Cependant, RootCloak fournit plusieurs listes. Ces listes peuvent être périmées, mais ce sont les meilleures que nous pouvons trouver. Beaucoup sont des applications bancaires et d'autres applications de portefeuille mobile, qui bloquent l'accès sur les téléphones enracinés dans le but de protéger vos informations bancaires d'être capturées par d'autres applications. Les applications pour les services de streaming vidéo peuvent également refuser de fonctionner sur un appareil enraciné comme une sorte de mesure DRM, en essayant de vous empêcher d'enregistrer un flux vidéo protégé.
Google joue un chat-et- jeu de souris avec SafetyNet, constamment mise à jour dans le but de rester en avance sur les gens autour de lui. Par exemple, le développeur Android Chainfire a créé une nouvelle méthode d'enracinement des appareils Android sans modifier la partition système, appelée «root sans système». Au départ, SafetyNet ne détectait pas que de tels appareils étaient falsifiés, et Android Pay a fonctionné, mais SafetyNet a finalement été mis à jour pour détecter cette nouvelle méthode d'enracinement. Cela signifie qu'Android Pay ne fonctionne plus avec la racine sans système.
CONNEXES: Oubliez les ROMs clignotantes: utilisez le Xposed Framework pour modifier votre Android
Selon la façon dont une application vérifie l'accès root, vous pouvez tromper. Par exemple, il existe des méthodes pour rooter certains appareils Samsung sans déclencher la sécurité KNOX, ce qui vous permettrait de continuer à utiliser Samsung Pay.
Dans le cas d'applications qui vérifient simplement les applications racines sur votre système, il existe un cadre Xposed module nommé RootCloak qui vous permet de les tromper dans le travail de toute façon. Cela fonctionne avec des applications comme DirecTV GenieGo, Best Buy CinemaNow, et Movies par Flixster, qui ne fonctionnent normalement pas sur les appareils enracinés. Cependant, si ces applications étaient mises à jour pour utiliser SafetyNet de Google, elles ne seraient pas aussi faciles à tromper de cette manière.
La plupart des applications continueront à fonctionner normalement une fois que vous aurez rooté votre appareil. Les applications de paiement mobiles sont la grande exception, tout comme d'autres applications bancaires et financières. Les services de streaming vidéo payants tentent parfois de vous empêcher de regarder leurs vidéos.
Si une application dont vous avez besoin ne fonctionne pas sur votre appareil root, vous pouvez toujours la déconnecter de votre appareil pour l'utiliser. L'application devrait fonctionner après que vous avez rendu votre appareil à son état d'usine sécurisé.
Crédit d'image: Danny Choo sur Flickr
Générer un code de vérification pour l'authentification Apple Two Factor
J'ai récemment écrit un article sur la façon d'activer la nouvelle fonctionnalité d'authentification à deux facteurs d'Apple pour un compte iCloud, ce qui rendra votre compte beaucoup plus sécurisé. En outre, même si vous avez activé la validation en deux étapes, l'authentification à deux facteurs est encore plus sûre.Normalement
Imprimez depuis l'iPhone / iPad vers n'importe quelle imprimante
Vous avez une imprimante et avez besoin d'imprimer quelque chose depuis votre iPhone ou iPad? Si votre imprimante prend en charge AirPrint, rien ne peut être plus facile. L'imprimante apparaîtra juste dans la liste et vous êtes prêt à partir.Si vous n'avez pas d'imprimante compatible AirPrint, vous n'avez pas vraiment de chance. Heu