Una delle misure più efficaci per garantire di mantenere un elevato livello di cyber security aziendale, il principio di privilegio minimo offre diversi benefici. Ecco cosa è bene sapere


Il principio di privilegio minimo (POLP, Principle of Least Privilege) è semplice: gli utenti e i programmi dovrebbero avere solo i privilegi necessari per completare i loro compiti. Lo spiega così il Computer Security Resource Center del National Institute of Standards and Technology (NIST). Non può essere più chiaro.

Eppure non è così conosciuto o applicato. Le conseguenze della non applicazione di questo principio possono essere molto pesanti. Basterebbe chiederlo alla Target, l’ottavo rivenditore più grande degli Stati Uniti. Nel 2014 ha annunciato di aver subito un cyber attacco a causa del quale gli aggressori hanno ottenuto l’accesso a 70 milioni di account dei clienti di Target attraverso un appaltatore HVAC che aveva il permesso di caricare gli eseguibili. Non avendo seguito il principio del minimo privilegio, Target aveva creato una base di attacco molto ampia.

Decisamente più famoso è il nome di Edward Snowden, reo di aver fatto trapelare milioni di file della NSA – National Security Agency, organismo del Dipartimento della difesa USA che, insieme alla CIA e all’FBI, si occupa della sicurezza nazionale. Come c’è riuscito? Semplice: aveva i privilegi di amministratore, anche se il suo compito di più alto livello era la creazione di backup del database. Dopo la fuga di notizie di Snowden, la NSA ha impiegato il principio del minimo privilegio per revocare i poteri di livello superiore al 90% dei suoi dipendenti.

Quando nasce il POLP? Chi l’ha concepito e oggi che importanza ha e come va implementato? Andiamo di seguito a fornire le risposte.

Cos’è il principio di least privilege

Il principio di privilegio minimo è nato negli anni Sessanta del XX secolo da un’idea di Jerome Saltzer, allora docente del Dipartimento di Ingegneria Elettrica e Informatica del Massachussets Institute of Technology di Boston e coordinatore del gruppo di ricerca sui sistemi informatici del Laboratory for Computer Science dello stesso MIT. La sua formulazione originale di Least Privilege era che ogni programma e ogni utente privilegiato del sistema dovesse operare utilizzando la minor quantità di privilegi necessari per completare il lavoro.

Il Dipartimento della Difesa degli Stati Uniti e il NIST hanno avanzato il principio del minimo privilegio nei decenni successivi. Oggi, è considerato essenziale per proteggere le informazioni, tanto nelle agenzie federali, che sono tenute a impiegarlo per assegnare i permessi di accesso quanto alle aziende private.

Abbiamo accennato all’inizio a cosa sia questo principio. Diamo ora una definizione più ampia, estrapolandola dalla Cybersecurity & Infrastructure Security Agency (CISA) degli Stati Uniti. Ogni programma e ogni utente del sistema dovrebbe operare utilizzando il minor numero di privilegi necessari per completare il lavoro: questo principio limita il danno che può derivare da un incidente o da un errore. Riduce anche il numero di potenziali interazioni tra i programmi con privilegi al minimo per il funzionamento corretto, in modo che usi non intenzionali, indesiderati o impropri di privilegi siano meno probabili. Così, se sorge una domanda relativa all’uso improprio di un privilegio, il numero di programmi che devono essere controllati è ridotto al minimo. Detto in altro modo, se un meccanismo può costituire un “firewall”, il principio del minimo privilegio fornisce una logica per spiegare dove installarlo.

CISA, insieme all’FBI sono tornati sulla necessità di adottare il POLP sugli account di amministrazione delle risorse di rete chiave tra i consigli essenziali offerti a Managed Service Provider e ai loro clienti colpiti o a rischio di esserlo dall’attacco ransomware alla società software Kaseya, sfruttando una vulnerabilità del software di monitoraggio remoto VSA.

Privilege bracketing e privilege creep

POLP può anche limitare i diritti di accesso per applicazioni, sistemi e processi solo a coloro che sono autorizzati. A seconda del sistema, alcuni privilegi possono essere basati su attributi che dipendono dal ruolo dell’utente all’interno dell’organizzazione. Quest’ultima può specificare quali utenti possono accedere a cosa nel sistema, e il sistema può essere configurato in modo che i controlli di accesso riconoscano solo il ruolo e i parametri degli amministratori.

Un’organizzazione può, anzi deve, decidere un controllo degli accessi, decidendo varie gerarchie. Per esempio, può decidere di garantire privilegi illimitati a determinati utenti, potendo avere piena autorità di lettura, scrittura ed esecuzione e apportare modifiche. Di solito questo livello di accesso viene garantito agli amministratori di sistema. Ci sono poi gli utenti meno privilegiati, che hanno l’accesso più limitato e spesso il livello più basso di autorità all’interno dell’azienda.

C’è poi la possibilità per l’azienda o ente di attuare il privilege bracketing, legato al principio del minimo privilegio. Si definisce così la pratica di limitare i livelli di autorizzazione temporaneamente aumentati al più breve periodo di tempo possibile. Quando qualche compito richiede maggiori privilegi per un utente (o qualche altra entità, come un programma o un processo), i controlli assicurano che i livelli di autorizzazione non vengano aumentati fino all’ultimo momento possibile e che ritornino al livello precedente non appena la necessità è passata. Le parentesi di privilegio possono essere controllate dal software o imposte da politiche. In un contesto informatico personale, si potrebbe accedere ad un account amministrativo quando necessario per qualche compito e tornare immediatamente ad un account di livello inferiore non appena quel compito è completato.

Un’altra strategia attuabile da un’organizzazione pubblica o privata è il privilege creep ovvero l’accumulo graduale di diritti di accesso da parte di individui oltre a quelli richiesti dal loro lavoro. Il privilege creep è un evento comune tra le aziende IT, ma è una fonte di rischio per la cyber security. Forrester stima che l’80% delle violazioni della sicurezza coinvolgono credenziali privilegiate predefinite, perse, rubate o compromesse.

I vantaggi del principio di least privilege

Da quanto detto a proposito del privilege creep e privilege bracketing è chiaro che puntare all’applicazione del POLP è un’efficace strategia per garantire la maggior cyber sicurezza aziendale. Uno dei vantaggi del principio di privilegio minimo è che previene la diffusione di malware. Sono un problema considerevole: Clusit ha rilevato nel rapporto 2022 che tra le tendenze più rilevanti in termini di cybersecurity del 2021 per l’Italia, malware e botnet sono in continua crescita.

Imponendo restrizioni POLP ai sistemi informatici, gli attacchi malware non possono usare account con privilegi superiori o di amministratore per installare codici maligni o danneggiare il sistema. Non solo: applicando il principio di privilegio minimo diminuiscono le possibilità di un attacco informatico e migliora la produttività degli utenti. Dare agli utenti solo l’accesso necessario per completare i loro compiti significa, infatti, una maggiore produttività e minori problemi.

POLP aiuta anche nella classificazione dei dati. I concetti alla base del principio di least privilege permettono alle aziende di tenere traccia di chi ha accesso a quali dati in caso di accesso non autorizzato.

Ulteriore beneficio è quello della migliore stabilità: oltre alla sicurezza, il principio del privilegio minimo rafforza anche la stabilità del sistema, limitando gli effetti dei cambiamenti alla zona in cui vengono fatti. Non solo: la portata di un audit può essere ridotta drasticamente quando il sistema sottoposto a valutazione è costruito sul POLP. Inoltre, molti regolamenti comuni richiedono la sua implementazione come requisito di conformità.

Come implementare il principio del privilegio minimo

Ci sono diversi aspetti da considerare per implementare il Principle Of Least Privilege.

  • Condurre un controllo dei privilegi. Controllare tutti gli account, i processi e i programmi esistenti per assicurarsi che abbiano solo i permessi necessari per fare il lavoro ed evitare privilege creep.
  • Impostare tutti gli account con il minimo privilegio. L’impostazione predefinita per tutti i nuovi privilegi dell’account dovrebbe essere la più bassa possibile. È consigliabile aggiungere poteri specifici di livello superiore solo se necessario per eseguire il lavoro.
  • Applicare la separazione dei privilegi. È bene separare gli account di amministratore dagli account standard, e le funzioni di sistema di livello superiore da quelle inferiori.
  • Adottare privilegi una tantum. Dove possibile, limitare i privilegi aumentati solo nel momento in cui sono davvero necessari, facendo attenzione a verificare i privilegi in scadenza e fornire credenziali monouso.
  • Tracciare le azioni individuali. User ID, password monouso, monitoraggio e revisione automatica possono rendere più facile tracciare e limitare i danni.