Symposium sur la sécurité des technologies de l'information et des communications

Conférence francophone sur le thème de la sécurité de l'information.
Elle a eu lieu à Rennes du 6 au 8 juin 2012.

WinRTKévin Szkudlapski, Sébastien Renaud


Date : 06 June 2012 à 14:45 — 30 min.

Le nouveau système d'exploitation Windows 8 de Microsoft vient avec de nombreux de changement par rapport à Windows 7, non seulement avec la nouvelle interface nommée Métro, la possibilité d'exécution sur ARM, mais aussi de nouvelles fonctionnalités du point de vue de la sécurité.

Une des principales caractéristiques de cette nouvelle version de Windows est le Windows RunTime, nom de code "WinRT".

En premier lieu, nous expliquerons ce qu'est WinRT, à partir d'un point de vue haut niveau, et quelle sont ses fonctionnalités en matière de sécurité. Ensuite, nous regarderons WinRT du point de vue d'un programmeur: Quelle sont les langages supportés, comment sont compilés les langages natifs, quelles sont les protections apportées par l'O.S, etc.

Ensuite nous nous concentrerons sur le nouveau modèle d'application. Toutes les applications destinées à ce runtime seront vérifiées, signées et finalement distribuées par Microsoft grâce à son Windows Store. Microsoft fournit un outil afin qu'un programmeur puisse pré-tester sa propre application avant de la soumettre au Store. Nous montrerons comment il est possible de contourner tous les contrôles interdisant l'utilisation de l'API natives de Windows pour les applications ciblant WinRT et comment, par exemple, il serait possible intégrer un malware dans une application valide.

Ensuite nous irons au cœur de WinRT d'un point de vue "user-land". nous montrerons comment le registre Windows est toujours là et au cœur de la technologie WinRT. Nous montrerons également comment les différentes parties de WinRT interagissent entre elles, quel est le cycle de vie d'une application et ce qui s'y passe.

En dernier lieu, nous regarderons à la sandbox de WinRT, en la comparant à celle de Chrome. Nous introduirons ici ce que nous nommons le modèle LowBox, terme que nous utilisons pour nommer la mise en œuvre du bac à sable utilisé dans le cadre de WinRT. Nous expliquerons ici ce que sont et ce que font les fonctions utilisées par le noyau du système pour créer la sandbox WinRT.