Impiega principi di progettazione sicura che includono il concetto di privilegio minimo

Impiega principi di progettazione sicura che includono il concetto di privilegio minimo

Il principio del minimo privilegio stabilisce che a un soggetto devono essere concessi solo i privilegi necessari per portare a termine il suo compito.

A un soggetto che richiede l'accesso a una risorsa devono essere assegnati solo i diritti minimi necessari e devono essere in vigore per la durata più breve possibile (ricordarsi di rimuovere i privilegi garantiti a fine operazione). La concessione di permessi a un utente al di là dell'ambito dei diritti necessari per un'azione può consentire a quell'utente di ottenere o modificare informazioni in modi indesiderati. Pertanto, un'attenta delega dei diritti di accesso può limitare la possibilità di danneggiare un sistema.

Ogni programma e ogni utente del sistema dovrebbe operare utilizzando il minor numero di privilegi necessari per completare il loro lavoro. Questo principio limita innanzitutto i danni che possono derivare da un incidente o da un errore. Inoltre, riduce il numero di potenziali interazioni tra i programmi privilegiati al minimo necessario per un funzionamento corretto, in modo che sia meno probabile che si verifichino usi non intenzionali, indesiderati o impropri dei privilegi. In questo modo, se sorge una domanda relativa all'uso improprio di un privilegio, il numero di programmi che devono essere controllati è ridotto al minimo.



Se un soggetto non ha bisogno di un diritto di accesso, non deve averlo. Inoltre, la funzione del soggetto (piuttosto che la sua identità) dovrebbe controllare l'assegnazione dei diritti. Se un'azione specifica richiede che i diritti di accesso di un soggetto vengano aumentati, tali diritti aggiuntivi devono essere ceduti immediatamente dopo il completamento dell'azione.Se il soggetto non ha bisogno di accedere a un oggetto per svolgere il suo compito, non dovrebbe avere il diritto di accedere a quell'oggetto. Più precisamente, se un soggetto ha bisogno di aggiungere informazioni a un oggetto, ma non di modificare le informazioni già contenute nell'oggetto, dovrebbe avere diritti di aggiunta e non di scrittura.