Détection du jailbreak et du root

Une vérification faite par l'application à l'ouverture, pour voir si le téléphone a perdu les limites de son fabricant et ne sépare plus les applications.

Également appelé détection de root détection de jailbreak contrôle d'intégrité du téléphone

Définition

Un téléphone modifié est un téléphone dont le propriétaire a retiré les limites posées par le fabricant. Sur un iPhone, on appelle cela le jailbreak. Sur Android, on parle de root. Les deux donnent à une personne le contrôle complet de l'appareil, et les deux sont faits exprès, en général pour installer des logiciels que la boutique officielle refuse.

Ce contrôle complet est justement le problème. Sur un téléphone normal, une application ne peut pas lire les données d'une autre, car le téléphone les tient séparées. Sur un téléphone modifié, ce mur n'existe plus. Un programme caché peut lire ce que votre application bancaire affiche, copier le code reçu par SMS ou enregistrer chaque appui sur l'écran. La détection du jailbreak et du root, c'est simplement l'application qui cherche, au démarrage, les signes qu'elle tourne sur un téléphone de ce type.

Voilà pourquoi les applications de paiement, de santé et de gestion du personnel la font. Une application qui montre la carte d'un restaurant n'a presque rien à perdre. Une application qui déplace de l'argent, ouvre un dossier patient ou garde des salaires a beaucoup à perdre. Selon le risque, elle peut refuser de s'ouvrir, ou laisser lire et bloquer discrètement ce qui compte, comme un virement.

Voici ce que les fournisseurs disent rarement. Cette vérification est une bonne supposition, pas une certitude, et elle se trompe dans les deux sens. Quelqu'un qui s'y connaît peut cacher les modifications, et un téléphone vraiment modifié passe. Pendant ce temps, un client honnête avec un appareil ancien, une version d'Android particulière ou un téléphone professionnel préparé par son employeur se voit refusé, avec un message qui ne lui dit rien. Il appelle le support, qui ne voit rien non plus, et il achète chez un concurrent.

Le réglage compte donc plus que la fonction. Linkysoft livre cette vérification avec un message qui indique quoi essayer ensuite, une trace que le support peut ouvrir pour comprendre le refus, et une règle écrite sur les écrans qui ferment et ceux qui restent ouverts. Tout bloquer au premier doute fait perdre de vrais clients, et cette perte se cache bien, car ces gens arrêtent simplement d'essayer. C'est une des premières décisions que nous prenons dans un projet d'application mobile, à côté du travail de sécurité plus large qui décide de la réaction du serveur quand une connexion paraît étrange. Linkysoft préfère durcir le serveur plutôt que fermer la porte à un client qui paie.

Questions sur Détection du jailbreak et du root

Comment savoir si mon téléphone est jailbreaké ou rooté ?
Si vous l'avez acheté neuf et n'avez rien installé d'inhabituel, ce n'est presque certainement pas le cas. Modifier un téléphone demande des étapes volontaires, cela n'arrive pas par hasard ni par une mise à jour normale.
L'application dit que mon téléphone n'est pas sûr alors qu'il est neuf. Que faire ?
Demandez au support de regarder la raison du refus. Les causes innocentes fréquentes sont une version d'Android propre au fabricant, une option développeur restée active, ou un téléphone géré par l'employeur.
Notre application doit-elle bloquer complètement un téléphone modifié ?
Seulement si elle déplace de l'argent ou garde des données de santé ou des salaires. Pour la plupart des applications, mieux vaut autoriser la lecture et arrêter les actions risquées, pour ne pas renvoyer un client honnête.
Un attaquant déterminé peut-il contourner cette vérification ?
Oui. Des outils cachent les modifications à la plupart des contrôles, considérez-la donc comme une serrure parmi d'autres. Le serveur doit encore surveiller une connexion étrange et un paiement qui ne ressemble pas au client.
Cette vérification ralentit-elle l'application ou consomme-t-elle mes données ?
Elle s'exécute en une fraction de seconde à l'ouverture et n'envoie presque rien. Si une application démarre lentement, la cause est en général les images ou le premier écran, pas ce contrôle.

Vous ne voyez toujours pas comment cela s'applique à votre projet ?

Dites-nous ce que vous construisez et nous vous répondrons simplement.