Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La sécurité est une considération essentielle lors du développement de pilotes de périphérique, en particulier les pilotes fonctionnant en mode noyau avec des privilèges élevés. Avant de pouvoir effectuer une action, le système d’exploitation doit s’assurer que l’action n’enfreint pas la stratégie de sécurité du système. Les pilotes de périphérique ont besoin de mécanismes pour contrôler les processus et les utilisateurs qui peuvent accéder à leurs appareils et les opérations qu’ils sont autorisés à effectuer.
Le Moniteur de référence de sécurité Windows (SRM) est un composant principal en mode noyau de l’architecture de sécurité Windows qui applique des stratégies de contrôle d’accès dans tout le système d’exploitation. Il valide chaque demande d’accès aux objets système et garantit que seules les entités autorisées peuvent effectuer des opérations spécifiques.
Fonctions clés du moniteur de référence de sécurité
Le SRM exécute plusieurs fonctions pour maintenir la sécurité du système :
- Application du contrôle d’accès : valide chaque demande d’accès aux objets système tels que les fichiers, les clés de Registre et les processus.
- Implémentation de la stratégie de sécurité : applique des stratégies de sécurité à l’échelle du système et implémente le principe du privilège minimum.
- Audit et journalisation : génère des événements d’audit de sécurité et effectue le suivi des activités pertinentes en matière de sécurité pour la conformité et les analyses.
Composants d’architecture
Le SRM fonctionne avec plusieurs structures et composants de données clés pour appliquer des stratégies de sécurité.
Descripteurs de sécurité
Les descripteurs de sécurité sont des structures de données qui contiennent des informations de sécurité pour les objets.
Les informations d’un descripteur de sécurité sont stockées dans une liste de contrôle d’accès (ACL). Windows utilise des listes de contrôle d’accès pour déterminer quels objets ont quelle sécurité.
Routines du moniteur de référence de sécurité
Le SRM fournit des routines pour que votre pilote fonctionne avec le contrôle d’accès. Les routines qui fournissent une interface directe au SRM sont précédées des lettres Se. Les routines SRM courantes sont les suivantes :
- SeAccessCheck : effectue la validation d’accès sur un descripteur de sécurité.
- SePrivilegeCheck : vérifie si un jeton a des privilèges spécifiques.
- SeSinglePrivilegeCheck : recherche un seul privilège dans un jeton d’accès dans le contexte du thread actuel.
- SeTokenType : détermine si un jeton est un jeton principal ou un jeton d’emprunt d’identité.
Les déclarations pour les fonctions Se et les entités associées sont disponibles dans différents en-têtes WDK, notamment ntifs.h et wdm.h.
Scénarios d’implémentation de pilotes
Les pilotes de périphérique utilisent généralement le SRM dans plusieurs scénarios pour implémenter des contrôles d’accès appropriés.
Contrôle d’accès aux appareils
Les pilotes peuvent contrôler quels utilisateurs peuvent accéder à des périphériques matériels spécifiques :
- Vérifiez les autorisations utilisateur avant d’autoriser les opérations d’appareil.
- Implémentez différents niveaux d’accès pour différents types d’utilisateurs.
- Limitez les opérations administratives aux utilisateurs privilégiés.
Validation de l’opération
Les pilotes peuvent s’assurer que seuls les processus autorisés peuvent effectuer des opérations d’appareil spécifiques :
- Validez le contexte de sécurité avant de traiter les demandes d’E/S.
- Vérifiez les privilèges spécifiques requis pour les opérations sensibles.
- Implémentez des stratégies de sécurité personnalisées pour les fonctions spécifiques à l’appareil.
Gestion du contexte de sécurité
Les pilotes travaillant avec l'usurpation d'identité et différents contextes de sécurité peuvent :
- Gérez correctement les jetons d’emprunt d’identité.
- Basculer entre différents contextes de sécurité en fonction des besoins.
- Maintenez les limites de sécurité entre les différentes sessions utilisateur.
Principes de sécurité
Le SRM implémente des principes de sécurité fondamentaux essentiels pour maintenir l’intégrité du système.
Médiation complète
Chaque tentative d’accès doit passer par le moniteur de référence :
- Aucune exception ou mécanisme de contournement n’existe.
- Garantit une mise en œuvre cohérente de la stratégie de sécurité sur tous les composants système.
- Empêche l’accès non autorisé via d’autres chemins de code.
Privilège minimum
Le moniteur de référence permet d’implémenter le principe du privilège minimum :
- Les utilisateurs et les processus doivent disposer uniquement des autorisations minimales nécessaires.
- Permet de réduire les dommages potentiels causés par les violations de sécurité.
- Implémenté par le biais d’une configuration de liste de contrôle d’accès et d’une gestion des privilèges soigneuses.