Comment le jailbreak Evasi0n fonctionne

Anthony Nelzin-Santos |

Il a fallu attendre longtemps pour qu’iOS 6 soit jailbreaké, si longtemps qu’on ne devrait plus tarder à entendre parler d’iOS 7. Apple a considérablement renforcé la sécurité de son système : des failles sont toujours présentes, mais il faut passer plus de temps à les chercher et il faut souvent en exploiter plusieurs pour parvenir à un jailbreak. Le jailbreak Evasi0n tire ainsi parti d’au moins cinq vulnérabilités différentes.

Evasion

Un jailbreak est une forme de hacking comme une autre : l’idée est de trouver une faille et de l’exploiter de manière à remonter vers le noyau (kernel) et d’ainsi pouvoir exécuter arbitrairement du code. Comme nous l'a expliqué pod2g, Nikias Bassen (pimskeks) découvre souvent des vulnérabilités en travaillant sur libmobiledevice, cette librairie qui permet notamment de synchroniser son iPhone sous GNU/Linux. Le jailbreak Evasi0n commence ainsi par utiliser libmobiledevice et un bogue dans le système de sauvegarde d’iOS pour accéder à un fichier indiquant le fuseau horaire sur lequel est réglé l’appareil : c’est la porte d’entrée.

David Wang (planetbeing) a expliqué à Forbes les étapes successives qui permettent ensuite de remonter vers le noyau. Un lien symbolique est inséré pour sortir de cette zone restreinte et accéder à launchd, le démon qui gère notamment le lancement des applications. Evasi0n installe ensuite une app que l’utilisateur doit lancer : elle passe une commande via launchd pour modifier les permissions du système de fichiers et pouvoir y accéder en écriture. Evasi0n peut alors modifier le fichier de configuration de launchd pour faire en sorte qu’à chaque lancement de launchd, les modifications apportées soient réappliquées : le jailbreak est persistant ou untethered.

Il faut alors accéder au noyau pour contourner le système de signature des applications et ainsi pouvoir installer et utiliser de nouvelles apps. Wang n’explique évidemment pas comment il réussit à tromper l’Apple Mobile File Integrity Daemon dans le détail, mais il s’agit de remplacer la fonction de vérification d’une signature du système par une fonction qui répondra toujours positivement, même si l’application n’est pas signée. L’accès au noyau passe alors par l’exploitation de deux défauts, un dans la distribution aléatoire de l’espace d’adressage et un dans l’interface USB d’iOS.

Le jailbreak est alors effectif : il est persistant et permet d’installer de nouvelles applications.

avatar Nathansatva | 
Compte tenu du nombre de failles exploitées ça risque d'être très facile pour Apple de bloquer à nouveau le jailbreak non ? Je suppose que corriger une seule de ces failles fera tomber toute la chaîne ?
avatar RaZieL54 | 
@Vanton Non, si Apple corrige une de ces failles ca bloquera la procedure actuelle, mais il y a d'autres failles qui ont ete découvertes. De plus ce jailbreak est quasi universel puisqu'a part l'AppleTV3, tous les terminaux iOS l'acceptent... Et comme Apple corrige les failles en faisant des mises a jour d'iOS et pas en appliquant juste un patch, il suffit pour nombre d'utilisateurs de rester sous iOS 6.1. D'autant plus que cette version d'iOS est stable, optimisee et a de vrais avantages, ce qui est de plus en plus rare. N'empeche que la faille exploitee liée au bug de la randomisation de l'espace mémoire est tres problématique pour la sécurité. Enfin, la bonne nouvelle c'est que sur Cydia on trpue assez rapidement les patch pour sécuriser iOS (souvenez vous de la faille PDF que seul Cydia permettait de combler sur toutes les machines...)
avatar PachaColbert | 
De plus en plus difficile effectivement. C'est pourquoi il faut profiter de ce jailbeak en restant sous IOS 6.1. Apple ne va pas tarder à sortir un upgrade de son système pour le rendre inopérant. C'est pourquoi on espère qu'une nouvelle version d'Evasion sortira rapidement gommant les principaux bugs et rendant le jailbeak des plus stables.
avatar RaZieL54 | 
Il ne faut pas confondre jailbreak et intrusion malveillante. Certes si Apple arrivait a se defaire de l'industrie du divertissement, elle pourrait ouvrir ses terminaux, et donc les raisons du jailbreak diminueraient fortement. Ceci dit, il y aura toujours de hackers qui voudront accéder au coeur de l'OS. Et vu qu'iOS, a part l'interface qui diffère, c'est MacOS X dans toute sa splendeur, on a avec un terminal iOS une machine Unix potentiellement aussi puissante qu'un portable sous la main. Cela implique qu'en accédant a la totalité de l'OS comme on le fait avec MacOS X ou Linux, on a strictement les mêmes possibilités... D'un autre cote, comme les 2 OS sont très proche, les techniques de jailbreak de l'un pourront servir pour l'autre le jour ou il sera aussi ferme :(
avatar ithom | 
@Bibuu_ Cela fait des années que je jailbreak et je peux t'assurer que celui-ci est parfaitement stable, aucun problème majeur à part une petite lenteur lors d'un redémarrage, qui semble-t-il sera corrigée par une mise à jour via Cydia. C'est un boulot extraordinaire qui a été fait avec un résultat vraiment top. Chose intéressante, même la batterie semble extrêmement bien tenir le coup, ce qui habituellement peut être un point négatif du jailbreak.
avatar Janus00 | 
J'aurai aime me rendre compte que mon iPhone avait changé d'heure... Pas a 8h20 l'heure d'amener le petit a l'école pensant être 7h20 :D Sinon ravi de revoir ce bon vieux sbsettings mais il me semble qu'il y a encore des bugs a corriger. J'ai lance une fois un respring et j'ai du forcer le reboot... Pas re-testé depuis.
avatar Abudah237 | 
Hmm le jailbreak crée des portes dérobées avec l'accord de l'utilisateur en utilisant des failles de sécurité mineures du système, bien malin celui qui peut affirmer que ça ne crée pas des autoroutes pour des virus.

CONNEXION UTILISATEUR