Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La sicurezza è una considerazione fondamentale quando si sviluppano driver di dispositivo, in particolare i driver che operano in modalità kernel con privilegi elevati. Prima di eseguire qualsiasi azione, il sistema operativo deve assicurarsi che l'azione non viola i criteri di sicurezza del sistema. I driver di dispositivo necessitano di meccanismi per controllare quali processi e utenti possono accedere ai propri dispositivi e quali operazioni sono autorizzate a eseguire.
Windows Security Reference Monitor (SRM) è un componente core in modalità kernel dell'architettura di sicurezza di Windows che applica i criteri di controllo di accesso in tutto il sistema operativo. Convalida ogni richiesta di accesso agli oggetti di sistema e garantisce che solo le entità autorizzate possano eseguire operazioni specifiche.
Funzioni chiave del monitoraggio dei riferimenti alla sicurezza
SRM esegue diverse funzioni per mantenere la sicurezza del sistema:
- Imposizione del controllo di accesso: convalida ogni richiesta per accedere a oggetti di sistema, ad esempio file, chiavi del Registro di sistema e processi.
- Implementazione dei criteri di sicurezza: applica i criteri di sicurezza a livello di sistema e implementa il principio dei privilegi minimi.
- Controllo e registrazione: genera eventi di controllo di sicurezza e tiene traccia delle attività rilevanti per la sicurezza per la conformità e le analisi forensi.
Componenti dell'architettura
SRM funziona con diverse strutture di dati chiave e componenti per applicare i criteri di sicurezza.
Descrittori di sicurezza
I descrittori di sicurezza sono strutture di dati che contengono informazioni di sicurezza per gli oggetti.
Le informazioni in un descrittore di sicurezza vengono archiviate in un elenco di controllo di accesso (ACL). Windows utilizza gli elenchi di controllo di accesso (ACL) per determinare quali permessi di sicurezza siano assegnati a ciascun oggetto.
Routine di monitoraggio dei riferimenti alla sicurezza
SRM fornisce routine per consentire al driver di lavorare con il controllo di accesso. Le routine che forniscono un'interfaccia diretta a SRM sono precedute dalle lettere Se. Le routine SRM comuni includono:
- SeAccessCheck: esegue la convalida dell'accesso su un descrittore di sicurezza.
- SePrivilegeCheck: controlla se un token dispone di privilegi specifici.
- SeSinglePrivilegeCheck: verifica la presenza di un singolo privilegio in un token di accesso nel contesto del thread corrente.
- SeTokenType: determina se un token è un token primario o di rappresentazione.
Le dichiarazioni per le funzioni Se e le entità correlate sono disponibili in varie intestazioni WDK, tra cui ntifs.h e wdm.h.
Scenari di implementazione dei driver
I driver di dispositivo usano in genere SRM in diversi scenari per implementare controlli di accesso appropriati.
Controllo di accesso del dispositivo
I driver possono controllare quali utenti possono accedere a dispositivi hardware specifici:
- Controllare le autorizzazioni utente prima di consentire le operazioni del dispositivo.
- Implementare livelli di accesso diversi per diversi tipi di utenti.
- Limitare le operazioni amministrative agli utenti con privilegi.
Convalida dell'operazione
I driver possono garantire che solo i processi autorizzati possano eseguire operazioni specifiche sui dispositivi:
- Convalidare il contesto di sicurezza prima di elaborare le richieste di I/O.
- Verificare la presenza di privilegi specifici necessari per le operazioni sensibili.
- Implementare criteri di sicurezza personalizzati per funzioni specifiche del dispositivo.
Gestione del contesto di sicurezza
I driver che utilizzano la rappresentazione e i diversi contesti di sicurezza possono:
- Gestire i token di rappresentazione in modo appropriato.
- Passare da un contesto di sicurezza all'altro in base alle esigenze.
- Mantenere i limiti di sicurezza tra sessioni utente diverse.
Principi di sicurezza
SRM implementa principi di sicurezza fondamentali essenziali per mantenere l'integrità del sistema.
Mediazione completa
Ogni tentativo di accesso deve passare attraverso il monitor di riferimento:
- Non esistono eccezioni o meccanismi di bypass.
- Garantisce un'applicazione coerente dei criteri di sicurezza in tutti i componenti di sistema.
- Impedisce l'accesso non autorizzato tramite percorsi di codice alternativi.
Privilegi minimi
Il monitoraggio dei riferimenti consente di implementare il principio dei privilegi minimi:
- Gli utenti e i processi devono avere solo le autorizzazioni minime necessarie.
- Consente di ridurre al minimo i potenziali danni causati dalle violazioni della sicurezza.
- Implementata tramite un'attenta gestione dei privilegi e della configurazione ACL.