Pourquoi la plateforme Android utilise-t-elle le mot « root » et iOS le mot « jailbreaking » ? Cela ne produit-il pas le même résultat ou s’agit-il d’une toute autre chose ?


Le jailbreaking, une forme d'escalade de privilèges [1], est en fait antérieur à iOS. Vous pouvez trouver des références antérieures à "jailbreak" assez facilement ([2] et [3]). Comme son nom l'indique, il s'agit d'un type de techniques permettant de briser une "prison" logicielle conçue pour empêcher toute altération ou tout accès non désiré à certaines parties d'un système. Un exemple typique (et ancien) de prison est la fonction "chroot" qui existe sur presque toutes les variantes d'UNIX, y compris BSD sur lequel iOS est basé. La "prison" d'iOS est plus qu'un environnement "chroot" pour les applications, et comprend une mise en œuvre complète de la chaîne de confiance [4] : de la ROM de démarrage jusqu'aux applications. La chaîne de confiance est essentielle pour construire un système sécurisé et contrôlé. Cependant, les maillons de la chaîne n'ont pas été complètement sécurisés, laissant place à des techniques de jailbreaking. En fonction de la technique de jailbreak spécifique, le jailbreak peut vous permettre de briser certaines limitations mais ne vous donne guère accès à tout. Par exemple, avec un jailbreak chroot traditionnel, vous obtenez un plus grand accès au système de fichiers, mais vous êtes toujours limité par le système de permission du système de fichiers qui dicte si vous pouvez lire ou modifier un fichier.


En ce qui concerne Android, je ne suis pas sûr qu'Android ait une chaîne de confiance implémentée, mais "root" dans Android fait simplement référence à l'utilisateur spécial "root" qui existe dans presque toutes les variantes UNIX, y compris Linux, qui est le noyau utilisé dans Android. Comme sur n'importe quel système Linux typique, avoir accès à l'utilisateur root sur Android est suffisant pour effectuer pratiquement tout. Si vous pouvez rooter un tel système, sa sécurisation devient soudainement beaucoup beaucoup plus difficile.


[1] http://en.wikipedia.org/wiki/Privilege_escalation#Jailbreaking
[2] http://www.bpfh.net/simes/computing/chroot-break.html
[3] http://unix.derkeiler.com/Newsgroups/comp.unix.solaris/2006-02/msg01384.html
[4] http://en.wikipedia.org/wiki/Chain_of_trust

.