Protections des ressources du système de sécurité basée sur la virtualisation
La sécurité basée sur la virtualisation, ou VBS, utilise la virtualisation matérielle et l’hyperviseur Windows pour créer un environnement virtuel isolé qui devient la racine de confiance du système d’exploitation qui suppose que le noyau peut être compromis. Windows utilise cet environnement isolé pour héberger un certain nombre de solutions de sécurité, leur offrant une protection considérablement accrue contre les vulnérabilités dans le système d’exploitation et empêchant l’utilisation d’attaques malveillantes qui tentent de vaincre les protections. VBS applique des restrictions pour protéger les ressources vitales du système et du système d’exploitation, ou pour protéger les ressources de sécurité telles que les informations d’identification d’utilisateur authentifiées.
Pour plus d’informations sur VBS, consultez Sécurité basée sur la virtualisation (VBS).
VBS modifie le modèle d’approbation
Bien que VBS améliore considérablement la sécurité de la plateforme, VBS modifie également les limites d’approbation dans un PC Windows. Avec VBS, l’hyperviseur Windows contrôle de nombreux aspects du matériel sous-jacent qui constituent la base de l’environnement sécurisé VBS. L’hyperviseur doit supposer que le noyau Windows peut être compromis par du code malveillant, et doit donc protéger les ressources système clés contre la manipulation du code s’exécutant en mode noyau d’une manière susceptible de compromettre les ressources de sécurité.
Présentation des fichiers MSR du processeur
L’un des domaines vitaux des ressources système que l’hyperviseur doit protéger contre toute utilisation malveillante est celui des registres spécifiques au modèle de processeur, ou MSR. Les processeurs modernes prennent en charge un grand nombre de RSM, dont la plupart contrôlent les aspects clés du comportement du processeur. Les fichiers MSR peuvent uniquement être lus ou écrits dans du code en mode noyau (c’est-à-dire, CPL0). La modification des paramètres contrôlés par les fichiers MSR peut permettre au code du mode noyau malveillant de modifier le comportement du système et permettre à un attaquant de prendre le contrôle, compromettant ainsi la sécurité. En outre, de nombreux fichiers MSR contiennent des données sur le fonctionnement du système, telles que des données de suivi ou de diagnostic, qui peuvent également être utilisées pour révéler ou calculer des ressources de sécurité. Par conséquent, l’hyperviseur doit identifier et se protéger contre l’utilisation incorrecte de tous les fichiers MSR susceptibles de compromettre la posture de sécurité de VBS.
Les fichiers MSR sont accessibles via un index, qui est un identificateur unique par MSR. Historiquement, de nombreux MSR ont été établis comme architecturaux; C’est-à-dire que leur présence et leur fonction restent cohérentes sur le plan architectural sur plusieurs générations de processeurs. Dans ce cas, un MSR connu avec un index msr documenté et une définition peut être utilisé pour contrôler un ensemble connu et publié de fonctionnalités. Toutefois, il existe également des RSMS qui varient d’un processeur à l’autre, et il existe des cas où les index MSR ont été ré-optimisés au fil du temps, étant re-définis pour faire référence à de nouveaux ensembles de contrôles. Ceux-ci sont très problématiques pour les logiciels au niveau du système, car il est difficile d’encoder et de maintenir la connaissance de ces contrôles dans des logiciels commerciaux largement disponibles.
Protection de l’accès aux fichiers MSR
Pour fournir une plateforme de sécurité robuste, les fichiers MSR doivent être protégés contre toute utilisation incorrecte du code du mode noyau malveillant. Pour appliquer cela, l’hyperviseur surveille et contrôle l’accès à tous les fichiers MSR. L’hyperviseur conserve une liste d’index MSR connus et autorise uniquement le code du mode noyau à accéder aux fichiers MSR ou à des bits spécifiques au sein des fichiers MSR, qui sont connus pour être raisonnables et considérés comme fiables. L’hyperviseur bloque l’accès à tout MSR inconnu de l’hyperviseur, ou à tout MSR connu par sa définition publiée pour représenter un risque de sécurité. Dans certains cas, l’accès partiel peut être autorisé.
Lorsque l’hyperviseur a bloqué l’accès à un MSR, il enregistre un événement dans le journal système Windows dans observateur d'événements, en spécifiant les détails de la tentative d’accès.
Étant donné le grand nombre de fonctions contrôlées par les RSMS, il n’est pas possible de prédire les effets secondaires de l’empêchement de l’accès msr au logiciel qui l’a initié. Les logiciels bien écrits doivent gérer correctement les erreurs et les cas d’échec, mais ce n’est pas toujours le cas.
Examen des événements d’accès MSR
L’hyperviseur ne bloque l’accès à certains fichiers MSR que lorsque VBS est activé et en cours d’exécution. Pour déterminer si l’hyperviseur a bloqué l’accès à un MSR, recherchez dans le journal système Windows l’ID d’événement 12550 à partir de l’hyperviseur Microsoft-Windows-Hyper-V. Les détails de l’entrée du journal des événements contiennent les informations suivantes :
Id : 12550
Description : Hyper-V a détecté l’accès à un MSR restreint
Détails :
- Msr
- IsWrite
- MsrValue
- AccessStatus
- Pc
- ImageBase
- ImageChecksum
- ImageTimestamp
- ImageName
Versions de Windows prises en charge
VBS est pris en charge sur toutes les versions de Windows à partir de Windows 10 et Windows Server 2016.