Criteri di restrizione software

Le impostazioni dei criteri di restrizione software sono state introdotte con il rilascio di Windows XP per proteggere i sistemi da codice sconosciuto e potenzialmente pericoloso. Il provider di risorse fornisce un meccanismo in cui solo il codice attendibile ha accesso senza restrizioni ai privilegi di un utente. Il codice sconosciuto, che potrebbe contenere virus o codice in conflitto con i programmi attualmente installati, può essere eseguito solo in un ambiente vincolato (spesso chiamato sandbox) in cui non è consentito l'accesso a tutti i privilegi utente sensibili alla sicurezza. L'uso corretto di SRP può rendere l'azienda più agile perché fornisce un framework proattivo per prevenire i problemi, anziché un framework reattivo che si basa sull'alternativa costosa al ripristino di un sistema dopo che si è verificato un problema.

Il provider di risorse dipende dall'assegnazione dei livelli di attendibilità al codice che può essere eseguito in un sistema. Attualmente esistono due livelli di attendibilità: Senza restrizioni e Non consentiti. Al codice con livello di attendibilità senza restrizioni viene concesso l'accesso senza restrizioni ai privilegi dell'utente, pertanto questo livello di attendibilità deve essere applicato solo al codice completamente attendibile. Il codice con un livello di attendibilità non consentito non è consentito accedere a tutti i privilegi utente sensibili alla sicurezza e può essere eseguito solo in una sandbox in modo che il codice senza restrizioni non possa caricare il codice non consentito nello spazio indirizzi.

La configurazione SRP delle singole applicazioni COM viene eseguita tramite il valore SRPTrustLevel nella chiave AppID dell'applicazione nel Registro di sistema. Se il livello di attendibilità SRP non viene specificato per un'applicazione COM, viene utilizzato il valore predefinito Disallowed. Un'applicazione COM con un livello di attendibilità senza restrizioni ha accesso illimitato ai privilegi dell'utente, ma può caricare solo i componenti con un livello di attendibilità senza restrizioni, mentre un'applicazione COM non consentita può caricare i componenti con qualsiasi livello di attendibilità, ma non può accedere a privilegi utente sensibili alla sicurezza.

Oltre ai livelli di attendibilità SRP delle singole applicazioni COM, altre due proprietà SRP determinano come viene usato SRP per tutte le applicazioni COM. Se SRPRunningObjectChecks è abilitato, i tentativi di connessione agli oggetti in esecuzione verranno controllati per verificare la presenza di livelli di attendibilità SRP appropriati. L'oggetto in esecuzione non può avere un livello di attendibilità SRP meno rigoroso rispetto all'oggetto client. Ad esempio, l'oggetto in esecuzione non può avere un livello di attendibilità Non consentito se l'oggetto client ha un livello di attendibilità senza restrizioni.

La seconda proprietà determina il modo in cui il provider di risorse gestisce le connessioni activate-as-activator. Se SRPActivateAsActivatorChecks è abilitato, il livello di attendibilità SRP configurato per l'oggetto server viene confrontato con il livello di attendibilità SRP dell'oggetto client e verrà usato il livello di attendibilità più rigoroso per eseguire l'oggetto server. Se SRPActivateAsActivatorChecks non è abilitato, l'oggetto server viene eseguito con il livello di attendibilità SRP dell'oggetto client, indipendentemente dal livello di attendibilità SRP con cui è stato configurato. Per impostazione predefinita, sono abilitati sia SRPRunningObjectChecks che SRPActivateAsActivatorChecks.