Une nouvelle fonction de sécurité Windows 11 est en cours de test. Depuis quelques jours Microsoft a lancé la phase bêta publique de la fonction d’isolation d’application pour les applications Win32. En développement depuis un certain temps, elle est désormais proposée aux développeurs afin qu’ils la testent et l’intègrent dans leurs applications.
L’annonce par Microsoft a eu lieu il y a une dizaine de jours. Malheureusement elle n’a pas reçu beaucoup d’attention. C’est étrange car il s’agit d’une avancée importante qui va améliorer de manière notable la sécurité de Windows. L’isolation des applications Win32 offre une sécurité multicouche contre les manipulations de données et différents scénarios de piratage, le tout sans sacrifier les performances.
L’objectif est de limiter l’impact (dans le cas où les applications sont compromises) en exécutant ces dernières avec de faibles privilèges. Ceci nécessite une attaque en plusieurs étapes pour sortir du conteneur. Redmond ajoute
Les attaquants doivent cibler une capacité ou une vulnérabilité spécifique, par rapport à un accès large et puisque l’attaque doit être dirigée contre une vulnérabilité spécifique, des correctifs d’atténuation peuvent être rapidement appliqués, réduisant ainsi la durée d’action l’attaque.
Son adoption est censée être simple car Microsoft propose différents outils pour mettre à jour des applications. La firme explique qu’il s’agit d’une sécurité en complément de Sandbox et Defender Application Guard. Elle précise
Bien que ces options soient basées sur la sécurité basée sur la virtualisation, l’isolation des applications Win32 repose sur les AppContainers (et plus encore). Les AppContainers sont spécialement conçus pour encapsuler et restreindre l’exécution des processus afin de s’assurer qu’ils fonctionnent avec des privilèges restreints, communément appelés faibles niveaux d’intégrité.
Le fait de pousser les développeurs à sécuriser leurs applications est une solution pour tenter de mettre aux fins à l’exploitation de versions compromises afin d’exploiter les vulnérabilités zero-day.
Un sabotage en règle des performances des applications 32 bits afin
d’imposer la prochaine architecture Intel exclusivement 64 bits qui
ne manquera pas de rappeler le bide Itanium qui a fait la notoriété
de Pat Gelsinger.
Complètement hors-sujet. Win32 c’est juste le nom usuel de la Windows API, qui permet aux applications qui l’utilisent d’accéder aux fonctions fournies par le système d’exploitation. Rien à voir avec l’architecture du processeur ou le bitness des applications. Une application Win32 peut être compilée en 32 ou 64 bits. Et c’est plutôt une bonne chose que Microsoft permette enfin d’isoler les applications Win32 pour réduire la surface d’attaque. Mais pour l’instant c’est à la discrétion du développeur de rempaqueter l’application pour activer l’isolation.
Jusqu’à preuve du contraire l’essentiel des applications reposant sur
l’API historique Win32 notamment professionnelles ont été conçu pour
s’exécuter sur un environnement 32 bits (e.g. Windows 95).
Mis à part quelques rétro-programmeurs passionnés ou étudiants issus
du tiers monde (e.g. Inde), plus personne ne conçoit sérieusement une
application Win32 qui plus est dans un environnement 64 bits.
Par ailleurs, je ne vois pas en quoi l’exécution d’une application
Win32 serait moins sûre que celle d’une application dot NET.
En revanche, je vois très bien pourquoi Microsoft souhaite dégrader
les perfomances des applications Win32 au regard des piètres
performances des applications dot NET. 😉