Componenti e architettura di AppLocker

Questo articolo per professionisti IT descrive l'architettura di base di AppLocker e i relativi componenti principali.

AppLocker usa il servizio Application Identity per fornire attributi per un file e per valutare i criteri di AppLocker per il file. I criteri di AppLocker sono voci di controllo di accesso condizionale e i criteri vengono valutati usando le funzioni SeAccessCheckWithSecurityAttributes o AuthzAccessCheck basate su attributi.

AppLocker offre tre modi per intercettare e convalidare se un file può essere eseguito in base ai criteri di AppLocker.

Viene creato un nuovo processo

Quando viene eseguito un file dell'app, viene creato un nuovo processo. In questo caso, AppLocker chiama il componente Application Identity per calcolare gli attributi del file eseguibile principale usato per creare un nuovo processo. Aggiorna quindi il token del nuovo processo con questi attributi e controlla i criteri di AppLocker per verificare che sia consentito l'esecuzione del file eseguibile.

Viene caricata una DLL

Quando viene caricata una DLL, viene inviata una notifica ad AppLocker per verificare che la DLL sia consentita per il caricamento. AppLocker chiama il componente Application Identity per calcolare gli attributi del file. Duplica il token di processo esistente e sostituisce gli attributi dell'identità dell'applicazione nel token duplicato con gli attributi della DLL caricata. AppLocker valuta quindi i criteri per questa DLL e il token duplicato viene eliminato. A seconda del risultato di questo controllo, il sistema continua a caricare la DLL o arresta il processo.

Viene eseguito uno script

Prima dell'esecuzione di un file script, l'host di script , ad esempio PowerShell, chiama AppLocker per verificare lo script. AppLocker chiama il componente Identità applicazione in modalità utente con il nome file o l'handle di file per calcolare le proprietà del file. Il file script viene quindi valutato in base ai criteri di AppLocker per verificare che debba essere eseguito. In ogni caso, le azioni eseguite da AppLocker vengono scritte nel registro eventi.