S'identifier / Créer un compte
  • Actualités
  • Dossiers
  • Tests
  • Commentaires
  • INpactiens
Publicité

Windows RT jailbreaké ? Pas si vite, les limitations sont nombreuses

D'autant qu'il reste la question de l'intérêt réel

Windows RT est souvent comparé à iOS dans la mesure où le système est « fermé » : les applications ne peuvent être installées que via la boutique Windows Store. Pourtant, un hacker a réussi à exécuter du code non-signé sur Windows RT dans la partie Bureau, ouvrant la voie à un véritable jailbreak des tablettes équipées du système. Mais de nombreuses barrières se dressent encore.

Microsoft Surface RT

Une limitation artificielle

Windows RT est considéré comme ferme car la source des applications n’est pas au choix de l’utilisateur. Il ne peut installer d’applications tierces que depuis le Windows Store, donc après une validation par Microsoft de ce qui s’y trouve, selon des règles propres. Il s’agit bien sûr d’un changement important vis-à-vis des autres Windows, mais cette version RT n’est utilisée actuellement que sur des tablettes.

 

Un hacker portant le pseudonyme « clrokr » a cependant réussi à exécuter un code de son choix sans passer par le canal habituel. Dans un billet sur son blog Surfsec, il explique avoir utilisé une faille dans le noyau de Windows 8. Puisque RT en est un portage pour architecture ARM, la faille s'y retrouve également. Pour clrokr, l’affaire est donc entendue : la limitation imposée par Microsoft sur RT est totalement artificielle.

Le code d'intégrité

clrokr explique dans son billet qu’au sein du noyau de Windows, on trouve une zone intégralement chiffrée contenant un paramètre nommé « minimum signing level », protégé contre les modifications par le Secure Boot de l’UEFI. De sa valeur dépend la faculté d’exécuter certaines applications :

  • 0 : toutes les applications peuvent s’exécuter, sans exception
  • 4 : les applications ont besoin d’être signées
  • 8 : les applications doivent être approuvées par Microsoft
  • 12 : seules des applications provenant de Microsoft peuvent s’exécuter

Ce paramètre est appelé code d’intégrité. Il définit pour Microsoft le minimum requis pour une application qui souhaite s’exécuter. En temps normal, y compris pour Windows 8 d’ailleurs, il est fixé à 0. En effet, n’importe quel utilisateur de PC classique peut installer et exécuter l’application qu’il souhaite, si tant est qu’elle soit compatible avec la plateforme bien entendu. Sous Windows RT, le code d’intégrité est à 8, nécessitant l’approbation de Microsoft. Dans le cas présent, il s’agit du Windows Store.

 

La difficulté pour changer cette valeur est qu’il ne s’agit en aucun cas d’un paramètre utilisateur. La valeur est fixe (hardcoded) dans le noyau mais elle peut être trouvée en mémoire. C’est l’opération réalisée par clrokr, qui a pu changer la valeur et exécuter un code tiers sur le Bureau de Windows RT. Même si les conséquences peuvent être très significatives, le processus se heurte actuellement à des limitations conséquentes, tant dans sa réalisation que dans la manière dont les développeurs pourraient en profiter.

Des limitations encore conséquentes

D’une part, le code d’intégrité est protégé par le Secure Boot de l’UEFI. Cela signifie qu’à chaque redémarrage de la machine, il reprend la valeur qu’il est censé avoir, donc 8. Il s’agit en effet d’un « simple » changement en mémoire vive, donc toujours temporaire. Il faut donc remettre en place la solution à chaque nouvelle session utilisateur. Il sera difficile de considérer qu’une tablette Windows RT a réellement été jailbreakée tant qu’une solution simple et permanente n’aura pas été trouvée. Et malheureusement pour le hacker, le Secure Boot est obligatoire sur les tablettes ARM et ne peut être désactivé.

 

D’autre part, et c’est sans doute le plus important, les applications réellement disponibles pour le Bureau de Windows RT seront très peu nombreuses. L’explication est simple : une application Win32 devrait avoir été compilée pour ARM. Or, Microsoft ne fournit aucun compilateur ARM avec Visual Studio autre que celui pour WinRT (les API des applications Modern UI). Il faudrait donc passer par un autre compilateur et surtout recompiler spécifiquement une application. Il est certain qu’aucun éditeur ne se lancerait dans une telle opération puisque la plateforme « Win32 ARM » n’est tout simplement pas censée exister. Cependant, les projets open source pourraient avoir une carte à jouer.

Performances, autonomie, intérêt : les questions sont nombreuses

Enfin, même si une solution permanente était trouvée avec applications à la clef, il resterait encore plusieurs difficultés. À commencer par les performances : une puce ARM n’est pas un Core i5 par exemple. Les applications Microsoft intégrées à Windows RT, dont Office 2013, ont été largement modifiées pour correspondre aux contraintes particulières de puissance disponible et de consommation d’énergie. Pas question d'installer n’importe quel jeu : les performances d’une Surface RT ou d’une tablette équivalente sont limitées. En outre, on resterait dans le cadre d’une application de Bureau exécutée sur un écran tactile : si le développeur ne prenait pas soin de prévoir un tel usage, l’interface ne serait donc que très peu adaptée aux doigts.

 

Évidemment, il s’agit là dans tous les cas d’une toute première étape vers une éventuelle exécution plus généralisée des applications Win32 sur Windows RT. Notez cependant qu’avec une telle porte ouverte, les applications .NET offriront une facilité supplémentaire, leur code n’était pas spécifique à une plateforme en particulier. Les intéressés pourront d’ailleurs lire le sujet consacré à ce thème dans les forums de XDA Developers.

Source : Surfsec
Vincent Hermann

Rédacteur/journaliste spécialisé dans le logiciel et en particulier les systèmes d'exploitation. Ne se déplace jamais sans son épée.

Google+

Publiée le 07/01/2013 à 12:44

Soutenez l'indépendance de Next INpact en devenant Premium

  • Tout le contenu de Next INpact sans pub
  • Et bien plus encore...

Il y a 75 commentaires

Avatar de Vincent_H Equipe
Vincent_H Le lundi 7 janvier 2013 à 12:45:29
Inscrit le jeudi 30 janvier 03 - 15579 commentaires
Merci à Charon pour certaines informations
Avatar de zogG INpactien
zogG Le lundi 7 janvier 2013 à 13:02:32
Inscrit le lundi 15 juin 09 - 2471 commentaires
J´ai pas tout compris, mais ça permet aussi de lancer du code nom signé WinRT ? donc des apps " Modern UI" faites avec Visual Studio comme si on allait làpublier sur le store ?

non ?

La faille ne concerne que le bureau ? étrange ? ou alors c'est que ces différents niveau de sécurité n'existent pas dutout pour Modern UI, et qu'il n'y a donc pour le moment pas de faille ?

(désolé pour le mode boulet, mais c'est pour bien comprendre)

La solution serait donc de créer un framwork alternatif pour "copier" modern UI, pour faire des app en mode bureau qui seraient comme des apps Modern UI.
Avatar de jb INpactien
jb Le lundi 7 janvier 2013 à 13:13:07
Inscrit le samedi 13 mai 06 - 3755 commentaires
C'est tout de même excellent pour moi!
Avatar de charon.G INpactien
charon.G Le lundi 7 janvier 2013 à 13:13:57
Inscrit le vendredi 29 avril 05 - 7571 commentaires
J´ai pas tout compris, mais ça permet aussi de lancer du code nom signé WinRT ? donc des apps " Modern UI" faites avec Visual Studio comme si on allait làpublier sur le store ?

non ?

La faille ne concerne que le bureau ? étrange ? ou alors c'est que ces différents niveau de sécurité n'existent pas dutout pour Modern UI, et qu'il n'y a donc pour le moment pas de faille ?

(désolé pour le mode boulet, mais c'est pour bien comprendre)

La solution serait donc de créer un framwork alternatif pour "copier" modern UI, pour faire des app en mode bureau qui seraient comme des apps Modern UI.

Windows RT autorise uniquement l'exécution des nouvelles applications WinRT.
Pour Win32 seules des applications ayant un certificat Microsoft(donc que Microsoft) peuvent se lancer.
En utilisant une faille clrokr va changer une variable en mémoire qui autorise l'exécution d'applications Win32 ARM signés numériquement autre que Microsoft.
Par contre ce n'est pas persistant au redémarrage à cause de secure boot.
Avatar de charon.G INpactien
charon.G Le lundi 7 janvier 2013 à 13:21:15
Inscrit le vendredi 29 avril 05 - 7571 commentaires
C'est tout de même excellent pour moi!

L'usage reste trop limité pour être utilisable. Si Microsoft a fait ça à la base c'est pour tout passer sur un nouvel os a terme. Ce n'est pas une solution pérenne pour les développeurs. Win32 va surement disparaître ultérieurement sur Windows RT.

Soit tu arrives à porter VLC avec WinRT.
Soit tu attends comme moi (moi je n'ai carrément pas le choix) une vraie solution pour le desktop et tablette (Midori très certainement)

Edité par charon.G le lundi 7 janvier 2013 à 13:23

Il y a 75 commentaires

;