Toutes les applications logicielles, y compris les systèmes d’exploitation, contiennent des vulnérabilités. Les corriger grâce à des mises à jour régulières est essentiel à la cybersécurité. Les chercheurs qui ont inventé l’attaque Windows Downdate ont ciblé ce même mécanisme de mise à jour, afin de restaurer furtivement un système Windows entièrement à jour vers une ancienne version contenant des fichiers et services vulnérables. Le système se retrouve exposé aux exploits bien connus et aux compromissions en profondeur, y compris l’hyperviseur et le noyau sécurisé. Pire encore, les mises à jour standards et les vérifications de l’état du système indiqueront que tout est à jour et que tout va bien.
Mécanisme de l’attaque
Les chercheurs ont en fait trouvé deux défauts distincts avec des mécanismes de fonctionnement légèrement différents. L’une des vulnérabilités, identifiée CVE-2024-21302 et intitulée Downdate, est liée à un défaut dans le processus d’installation de la mise à jour : les modules téléchargés de la mise à jour sont contrôlés, protégés contre la modification et signés numériquement, mais à une des étapes intermédiaires de l’installation (entre les redémarrages), la procédure de mise à jour crée puis utilise un fichier contenant une liste des actions planifiées (pending.xml). Si les pirates informatiques peuvent créer leur propre version de ce fichier, puis ajouter des informations à ce sujet dans le registre, le service Windows Modules Installer (TrustedInstaller) exécutera les instructions qu’il contient au redémarrage.
En pratique, le contenu du fichier pending.xml est vérifié, mais lors des étapes précédentes de l’installation, et TrustedInstaller ne le revérifie pas. Bien sûr, il est impossible d’écrire ce que vous voulez dans le fichier et d’installer des fichiers arbitraires de cette façon puisqu’ils doivent être signés par Microsoft, mais le remplacement des fichiers système par des fichiers plus anciens développés par Microsoft est tout à fait possible. Cela peut exposer de nouveau le système à des vulnérabilités, parfois graves, dont les correctifs sont appliqués de longue date. L’ajout dans le registre des clés nécessaires liées à suspend.xml nécessite des privilèges d’administrateur, après quoi un redémarrage du système doit être lancé. Cependant, ce sont les seules véritables limitations. Cette attaque ne requiert pas de privilèges élevés (pour laquelle Windows obscurcit l’écran et demande à l’administrateur une autorisation supplémentaire) et la plupart des outils de sécurité ne marqueront pas comme suspectes les actions exécutées pendant l’attaque.
La deuxième vulnérabilité, CVE-2024-38202, permet à un acteur de manipuler le dossier Windows.old, où le système de mise à jour stocke l’installation précédente de Windows. Bien que la modification des fichiers de ce dossier nécessite des privilèges spécifiques, un pirate avec des droits d’utilisateur standards peut renommer le dossier, créer un autre fichier Windows.old, et y placer des versions dépassées et vulnérables des fichiers système Windows. Lancer une restauration du système rétablit alors Windows sur l’installation vulnérable. Certains privilèges sont requis pour la restauration du système, mais il ne s’agit pas de privilèges d’administrateur et ils sont parfois accordés à des utilisateurs ordinaires.
Contournement du VBS et vol de mot de passe
Depuis 2015, l’architecture de Windows a été repensée pour éviter qu’une compromission du noyau Windows ne puisse entraîner celle de l’ensemble du système. Cela implique une série de mesures collectivement appelées sécurité basée sur la virtualisation (VBS). L’hyperviseur système sert entre autres à isoler les modules du système d’exploitation et à créer un noyau sécurisé pour l’exécution des opérations les plus sensibles, le stockage des mots de passe, etc.
Pour empêcher les pirates de désactiver le VBS, Windows peut être configuré de manière à rendre cela impossible, même avec des privilèges d’administrateur. Le seul moyen de désactiver cette protection est de redémarrer l’ordinateur dans un mode spécifique et de saisir une commande clavier. Cette fonctionnalité s’appelle verrou UEFI (Unified Extensible Firmware Interface, ou interface micrologicielle extensible unifiée). L’attaque Windows Downdate contourne également cette restriction en remplaçant les fichiers par des versions modifiées, obsolètes et vulnérables. Le VBS ne vérifie pas que les fichiers système sont à jour. Ceux-ci peuvent donc être remplacés par d’anciennes versions vulnérables sans trace ni message d’erreur détectable. Techniquement, le VBS n’est pas désactivé, mais la fonctionnalité n’exécute plus sa fonction de sécurité.
Cette attaque permet de remplacer les fichiers du noyau sécurisé et de l’hyperviseur par des versions vieilles de deux ans et contenant de multiples vulnérabilités, dont l’exploitation entraîne une escalade de privilèges. Par conséquent, les pirates peuvent obtenir les privilèges système maximaux, l’accès complet aux processus de l’hyperviseur et de protection de la mémoire, ainsi que la possibilité de lire facilement les identifiants, les mots de passe hachés et les hachages NTLM de la mémoire (qui peuvent être utilisés pour étendre l’attaque réseau).
Protection contre Downdate
Microsoft a été informé des vulnérabilités Downdate en février 2024, mais ce n’est qu’en août que les détails ont été publiés lors de la sortie mensuelle des correctifs. La correction des bugs s’est avérée ardue et lourde d’effets secondaires, y compris le plantage de certains systèmes Windows. Par conséquent, au lieu de se précipiter pour publier un autre correctif, Microsoft a simplement publié quelques conseils pour atténuer les risques. Les voici :
- Vérifiez les utilisateurs autorisés à effectuer les opérations de restauration et de mise à jour du système, minimisez leur nombre et révoquez les autorisations dans la mesure du possible.
- Mettez en œuvre des listes de contrôle d’accès (ACL/DACL) pour restreindre l’accès et la modification des fichiers de mise à jour.
- Configurez la surveillance d’événements durant lesquels des privilèges élevés sont utilisés pour modifier ou remplacer les fichiers de mise à jour, qui peuvent être un indicateur d’une exploitation des vulnérabilités.
- Surveillez de la même façon la modification et le remplacement des fichiers au sein du sous-système VBS et des sauvegardes des fichiers système.
Surveiller ces événements à l’aide du SIEM et de l'[EDR placeholder]EDR[/placeholder] est relativement simple. Cependant, il faut s’attendre à de faux positifs. Par conséquent, c’est à l’équipe de sécurité de distinguer l’activité légitime de l’administrateur système de celle des pirates informatiques.
Tout ce qui précède s’applique non seulement aux machines Windows physiques, mais également virtuelles dans les environnements cloud. Pour les machines virtuelles dans Azure, nous vous conseillons également de surveiller les tentatives inhabituelles de connexion avec des identifiants d’administrateur. Activez l’authentification à plusieurs facteurs et modifiez les identifiants si une telle tentative est détectée.
Un autre conseil, plus drastique, est de révoquer les privilèges d’administrateur des employés qui n’en ont pas besoin, et d’exiger que les véritables administrateurs (i) effectuent uniquement des actions administratives sous leur compte respectif et (ii) utilisent un compte séparé pour d’autres tâches.
Solutions risquées
Pour ceux qui recherchent plus de sécurité, Microsoft propose la mise à jour KB5042562, qui atténue la gravité de la vulnérabilité CVE-2024-21302. Une fois celui-ci installé, les versions obsolètes des fichiers système VBS sont ajoutées à la liste des fichiers révoqués et ne peuvent plus être exécutées sur un ordinateur mis à jour. Cette stratégie (SkuSiPolicy.p7b) est appliquée au niveau UEFI. Par conséquent, lors de son utilisation, vous devez non seulement mettre à jour le système d’exploitation, mais également sauvegarder le support de démarrage amovible. Il faut aussi savoir que la restauration des anciennes installations de Windows ne sera plus possible. De plus, la mise à jour active de force la fonctionnalité d’intégrité du code en mode utilisateur (UMCI ), qui elle-même peut entraîner des problèmes de compatibilité et de performances.
En général, il est conseillé aux administrateurs de considérer attentivement les risques et d’étudier minutieusement la procédure et ses effets secondaires potentiels. À l’avenir, Microsoft s’engage à publier des correctifs et des mesures de sécurité supplémentaires pour toutes les versions pertinentes de Windows, jusqu’à Windows 10, version 1507 et Windows Server 2016.