Les attaquants peuvent rétrograder les composants du noyau Windows pour contourner les fonctionnalités de sécurité telles que l’application des signatures de pilote et déployer des rootkits sur des systèmes entièrement corrigés.
Cela est possible en prenant le contrôle du processus de mise à jour de Windows pour introduire des composants logiciels obsolètes et vulnérables sur une machine à jour sans que le système d’exploitation ne modifie l’état entièrement corrigé.
Rétrograder Windows
Alon Leviev, chercheur en sécurité chez SafeBreach, a signalé le problème de prise de contrôle de la mise à jour, mais Microsoft l’a rejeté en affirmant qu’il ne franchissait pas une limite de sécurité définie, bien que cela soit possible en obtenant l’exécution du code du noyau en tant qu’administrateur.
Leviev au Chapeau Noir et DÉFCON Les conférences sur la sécurité de cette année ont démontré que l’attaque était réalisable, mais le problème n’est toujours pas résolu, laissant la porte ouverte à des attaques de rétrogradation/annulation de version.
Le chercheur a publié un outil appelé Mise à jour Windowsqui permet de créer des rétrogradations personnalisées et d’exposer un système cible apparemment entièrement mis à jour à des vulnérabilités déjà corrigées via des composants obsolètes, tels que les DLL, les pilotes et le noyau NT.
« J’ai pu rendre une machine Windows entièrement corrigée sensible aux vulnérabilités passées, en rendant les vulnérabilités corrigées non corrigées et en rendant le terme « entièrement corrigé » dénué de sens sur n’importe quelle machine Windows dans le monde » – Alon Leviev
Malgré l’amélioration significative de la sécurité du noyau au fil des années, Leviev a réussi à contourner la fonctionnalité Driver Signature Enforcement (DSE), montrant comment un attaquant pouvait charger des pilotes de noyau non signés pour déployer un malware rootkit qui désactive les contrôles de sécurité et masque l’activité qui pourrait conduire à la détection de la compromission.
« Ces dernières années, des améliorations significatives ont été mises en œuvre pour renforcer la sécurité du noyau, même dans l’hypothèse où il pourrait être compromis avec les privilèges d’administrateur », explique Leviev.
Même si les nouvelles protections rendent plus difficile la compromission du noyau, « la possibilité de rétrograder les composants qui résident dans le noyau rend les choses beaucoup plus simples pour les attaquants », explique le chercheur.
Leviev a nommé sa méthode d’exploitation Contournement DSE « ItsNotASecurityBoundary » car il fait partie du faux défauts d’immuabilité des fichiersune nouvelle classe de vulnérabilité dans Windows décrite dans recherche de Gabriel Landau d’Elastic comme moyen d’exécuter du code arbitraire avec les privilèges du noyau.
Suite au rapport de Landau, Microsoft a corrigé l’élévation des privilèges de l’administrateur vers le noyau ItsNotASecurityBoundary. Cependant, cela protège contre une attaque par rétrogradation.
Cibler le noyau
Dans une nouvelle recherche publiée aujourd’hui, Leviev montre comment un attaquant pourrait exploiter le processus Windows Update pour contourner les protections DSE en rétrogradant un composant corrigé, même sur des systèmes Windows 11 entièrement mis à jour.
L’attaque est possible en remplaçant « ci.dll », un fichier responsable de l’application du DSE, par une version non corrigée qui ignore les signatures des pilotes, ce qui contourne essentiellement les contrôles de protection de Windows.
Ce remplacement est déclenché par Windows Update, exploitant une condition de double lecture dans laquelle la copie vulnérable de ci.dll est chargée en mémoire juste après que Windows commence à vérifier la dernière copie de ci.dll.
Cette « fenêtre de course » permet au ci.dll vulnérable de se charger pendant que Windows pense avoir vérifié le fichier, permettant ainsi le chargement de pilotes non signés sur le noyau.
Dans la vidéo ci-dessous, le chercheur montre comment il a annulé le correctif DSE via une attaque de rétrogradation, puis a exploité le composant sur une machine Windows 11 23H2 entièrement corrigée.
Leviev décrit également des méthodes pour désactiver ou contourner la sécurité basée sur la virtualisation (VBS) de Microsoft qui crée un environnement isolé pour Windows afin de protéger les ressources essentielles et les actifs de sécurité comme le mécanisme sécurisé d’intégrité du code du noyau (skci.dll) et les informations d’identification de l’utilisateur authentifié.
VBS s’appuie généralement sur des protections telles que les verrous UEFI et les configurations de registre pour empêcher les modifications non autorisées, mais il peut être désactivé s’il n’est pas configuré avec une sécurité maximale (indicateur « obligatoire ») en effectuant une modification ciblée de la clé de registre.
Lorsqu’ils sont partiellement activés, les fichiers VBS clés tels que « SecureKernel.exe » peuvent être remplacés par des versions corrompues qui perturbent le fonctionnement de VBS et ouvrent la voie au contournement de « ItsNotASecurityBoundary » et au remplacement de « ci.dll ».
Les travaux de Leviev montrent que les attaques par rétrogradation sont toujours possibles via plusieurs voies, même si elles comportent parfois de forts prérequis en matière de privilèges.
Le chercheur souligne la nécessité d’outils de sécurité des terminaux pour surveiller de près les procédures de rétrogradation, même celles qui ne franchissent pas les limites de sécurité critiques.