Windows RT jailbreaké ? Pas si vite, les limitations sont nombreuses
D'autant qu'il reste la question de l'intérêt réel
Le 07 janvier 2013 à 11h44
5 min
Logiciel
Logiciel
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.
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.
Windows RT jailbreaké ? Pas si vite, les limitations sont nombreuses
-
Une limitation artificielle
Commentaires (75)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 07/01/2013 à 11h45
Merci à Charon pour certaines informations " />
Le 07/01/2013 à 12h02
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.
Le 07/01/2013 à 12h13
C’est tout de même excellent pour moi!
Le 07/01/2013 à 12h13
Le 07/01/2013 à 12h21
Le 07/01/2013 à 12h23
Le 07/01/2013 à 12h23
Le 07/01/2013 à 12h24
ça peut aussi servir à installer des applis (metro) sans passer par le store ? L’équivalent du “Autoriser les sources inconnues” d’Android ? Utile pour des applications entreprise par exemple.
Le 07/01/2013 à 12h25
Le 07/01/2013 à 12h26
Le 07/01/2013 à 12h26
Le 07/01/2013 à 12h30
Mais win32 c’est des lib, si elles sont pas portées sur arm rien ne fonctionnera jamais.
Il y a un truc que je comprends pas là, c’est du jailbeak ok, c’est une énorme faille de sécurité sûr, mais je vois pas le rapport avec les applis win32 " />
Le 07/01/2013 à 12h30
Le 07/01/2013 à 12h32
Le 07/01/2013 à 12h32
Le 07/01/2013 à 12h32
Le 07/01/2013 à 12h33
Le 07/01/2013 à 12h33
Le 07/01/2013 à 12h38
Le 07/01/2013 à 12h46
avec toutes ces limitations, comment microsoft peut-il il croire au succès de winRT (et de sa tablette ARM) ?…
Le 07/01/2013 à 12h48
Le 07/01/2013 à 12h50
Le 07/01/2013 à 12h51
Le 07/01/2013 à 12h52
Le 07/01/2013 à 12h53
Le 07/01/2013 à 12h58
Le 07/01/2013 à 13h01
Le 07/01/2013 à 13h03
Le 07/01/2013 à 13h06
quel interet d’acheter un matériel si on ne peut pas faire ce qu’on veut avec ???" />" />
Le 07/01/2013 à 13h08
Le 07/01/2013 à 13h08
Le 07/01/2013 à 18h24
Le 07/01/2013 à 20h01
Le 07/01/2013 à 20h05
Le 07/01/2013 à 20h31
Encore un produit a éviter ! " />
Ben oui system, propriétaire et fermé etc, tout vers le contraire des libertés ! (déjà bien restreintes de nos jours)
Le 07/01/2013 à 20h35
Pour le foutage de gueule c’est peut etre un manque de temps en attendant Blue et les autres et pour toutes les deprecated en effet ca doit etre une incompatibilité avec le futur midori & co … Du coup pas intérêt de l’utilisé pour VLC !!!! " />
" />
Le 07/01/2013 à 21h07
la méthode utilisée (analogie Windows 8/RT) montre en tout cas que les restrictions de WindowsRT sont purement imposées pour des raisons marketing et en aucun cas justifiées par des limitations techniques.
Le secureboot risque de tuer dans l’oeuf le moindre attrait alternatif pour ces tablettes. Ca permettra au moins aux furieux du cyanogen de se concentrer sur des produits plus ouverts. " />
Le 07/01/2013 à 21h28
Le 07/01/2013 à 21h43
Le 07/01/2013 à 22h57
Le 07/01/2013 à 23h12
Le 08/01/2013 à 00h49
MS a réagi, ne considère qu’il n’y a aucun risque de sécurité, et applaudit l’ingéniosité de ceux qui ont trouvé la méthode " />
The scenario outlined is not a security vulnerability and does not pose a threat to Windows RT users. The mechanism described is not something the average user could, or reasonably would, leverage, as it requires local access to a system, local administration rights and a debugger in order to work. In addition, the Windows Store is the only supported method for customers to install applications for Windows RT. There are mechanisms in place to scan for security threats and help ensure apps from the Store are legitimate and can be acquired and used with confidence.
We applaud the ingenuity of the folks who worked this out and the hard work they did to document it. We’ll not guarantee these approaches will be there in future releases.
http://thenextweb.com/microsoft/2013/01/08/microsoft-determines-windows-rt-jailb…
Le 08/01/2013 à 07h48
Le 07/01/2013 à 13h09
Le 07/01/2013 à 13h10
Le 07/01/2013 à 13h12
Évidemment que les applications Win32 tournent sous Windows RT.
WinRT inclus un sous-ensemble Win32 et un ensemble de nouvelles APIs.
Le 07/01/2013 à 13h13
Le 07/01/2013 à 13h14
Le 07/01/2013 à 13h16
Thx " />
Le 07/01/2013 à 13h17
Le 07/01/2013 à 13h18
Le 07/01/2013 à 13h20
Le 07/01/2013 à 13h20
Le 07/01/2013 à 13h20
Le 07/01/2013 à 13h21
Le 07/01/2013 à 13h23
Le 07/01/2013 à 13h28
Le 07/01/2013 à 13h28
Le 07/01/2013 à 13h30
Pour les certificats Win32 sur Windows RT, theverge en a parlé.
Le 07/01/2013 à 13h33
Le 07/01/2013 à 13h33
Le 07/01/2013 à 13h33
Le 07/01/2013 à 13h36
Le 07/01/2013 à 13h37
Le 07/01/2013 à 13h40
Le 07/01/2013 à 13h59
Le 07/01/2013 à 14h07
Le 07/01/2013 à 14h11
Le 07/01/2013 à 14h20
Le 07/01/2013 à 14h54
Exemple de tare de WinRT. " />
http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/af1d42e7-773f-45eb-aec1-3c0b3daecb4d
Question:
constructor in public value struct
Réponse:
You can’t do this in C++/CX
Conclusion:
Ho, they cheated again!!!
Le 07/01/2013 à 15h08
Le 07/01/2013 à 15h09
Le 07/01/2013 à 15h38
Et sinon quelqu’un a essayé de charger les fonctions Win32 dynamiquement sous ARM pour voir si on peut se passer des .lib manquants ? :p
Et encore mieux, de recréer les .lib à partir des .dll avec dumpbin et lib ?
Le 07/01/2013 à 15h49
Le 07/01/2013 à 16h48