Microsoft lance Secured-core PC, un standard de protection contre les attaques du micrologiciel

Secured-core PC est un nouveau standard de sécurité conçu par Microsoft et ses partenaires pour distinguer les ordinateurs qui portent une attention particulière à la protection contre les attaques de leur micrologiciel.

Le nombre de vulnérabilités de sécurité découvertes dans les micrologiciels a explosé, de 7 en 2016 à 414 en 2019.

Or ces vulnérabilités sont les pires : comme le micrologiciel (firmware) est activé avant l’éventuel hyperviseur* et le système d’exploitation (OS), les outils logiciels traditionnels les détectent difficilement, et ne peuvent faire grand-chose pour les corriger.

Elles bénéficient d’un niveau d’accès plus haut que l’hyperviseur et l’OS, et peuvent donc compromettre les autres mesures de sécurité de ces derniers, comme le démarrage sécurisé.

David Weston, directeur de Microsoft en charge des partenaires pour la sécurité des systèmes d’exploitation, explique que le Secured-core PC (PC au noyau sécurisé) est un ordinateur conçu pour non seulement détecter les attaques contre son micrologiciel, mais aussi pour les corriger.

Il combine, une couche supplémentaire de sécurité en dessous du système d’exploitation, composée de protections du micrologiciel, du matériel, de l’identité, de la virtualisation et du système d’exploitation.

La protection contre le micrologiciel est constituée du Windows Defender System Guard (Gardien du système Windows Defender) de Windows 10 Pro, introduite dans sa version 1809. Elle permet de lancer l’ordinateur avec du code dans lequel on n’a pas confiance, puis de lancer peu après le système dans un état de confiance en prenant le contrôle de tous les processeurs et en les forçant dans un chemin de code connu et mesuré.

Ce qui est appelé Dynamic Root of Trust for Measurement (DRTM, source dynamique de confiance pour les mesures), et qui repose sur les nouvelles fonctionnalités des processeurs récents de Intel, AMD et Qualcomm.

DRTM permettrait de lancer le démarrage sécurisé en toute confiance, tout comme de protéger l’intégrité de la sécurité basée sur la virtualisation (VBS, virtualization-based security) implémentée dans l’hyperviseur contre les attaques du micrologiciel.

VBS isole alors les fonctions sensibles du reste de l’OS, afin de les protéger d’un logiciel malveillant qui aurait infecté le reste de l’OS.

VBS est critique parce que c’est un composant de base d’autres protections comme Windows Defender Credential Guard (gardien des informations de sécurité Windows Defender) qui protège contre les exploitations malicieuses d’identifiants de sécurité, et de Hypervisor-protected Code Integrity (HVCI, intégrité du code protégée par hyperviseur) qui impose une stratégie stricte d’intégrité du code et garantit que le code du noyau est signé et vérifié.

Trusted Platform Module 2.0 (TPM, module de plateforme de confiance) est aussi obligatoire pour un Secured-core PC afin de mesurer qu’un appareil a démarré de façon sécurisée, pour aider les entreprises à développer des réseaux zéro confiance (zero-trust network) : on ne s’appuie plus sur l’appartenance d’un appareil à un réseau pour lui attribuer des accès et des permissions, mais sur des questions-réponses du matériel et de l’utilisateur.

Ce qui fonctionne grâce aux attestations du client System Guard (gardien du système), qui tourne dans l’environnement VBS.

Enfin, Microsoft a développé des mesures de protection supplémentaires quand Windows tourne, afin de surveiller et de restreindre les capacités de fonctionnalités potentiellement dangereuses du micrologiciel, disponibles à travers le System Management Mode (SMM, mode de gestion du système).

 

Pour aider les fabricants de PC, Microsoft a lancé Project-Mu, un projet en code source ouvert d’un micrologiciel qui peut être utilisé comme point de départ pour leur micrologiciel sécurisé.

Une liste des premiers ordinateurs Secured-core est disponible en anglais ici.

Vidéo de présentation.

 

* Un hyperviseur est une couche d’abstraction du matériel et de gestion qui permet de faire tourner plusieurs machines virtuelles sur un même système.