Uno dei principi di base della sicurezza delle informazioni è quello del privilegio minimo o, in inglese, principle of least privilege (POLP), secondo cui ogni utente, programma o processo in esecuzione in un sistema (ma il principio vale anche per i dispositivi connessi) dovrebbe avere solo i privilegi minimi necessari per eseguire le proprie mansioni o la sua funzione.
Ad esempio, un account utente creato per estrarre record da un database non ha bisogno di diritti di amministrazione.
Il principio del privilegio minimo è dunque una best practice di sicurezza informatica che bisogna adottare per proteggere gli accessi privilegiati a dati e risorse di massima criticità all’interno delle reti e delle infrastrutture aziendali.
Indice degli argomenti
Sistemi di least privilege e attacchi ransomware
Negli ultimi mesi si è tornato spesso a citare il principio del privilegio minimo dopo che lo scorso 2 luglio 2021 più di 1.500 aziende in 17 paesi sono state attaccate dall’APT russa REvil grazie alla compromissione di Kaseya, società che fornisce sistemi di monitoraggio della rete.
Diverse vulnerabilità zero-day nel software VSA dell’azienda americana hanno infatti permesso ai criminali distribuire ransomware e richiedere un riscatto di 70 milioni di dollari in Bitcoin per pubblicare un decryptor universale in grado di sbloccare tutti i sistemi.
Questo attacco informatico ha quindi risollevato l’interesse per la corretta implementazione dei privilegi nella propria infrastruttura IT poiché è proprio sfruttando questi ultimi che l’attacco ha avuto un impatto così serio a livello mondiale.
Gli attacchi di privilege escalation
Per privilegi si intendono tutte le autorizzazioni che riguardano l’accesso a tutti i livelli di un sistema informatico e si applicano agli utenti finali, ai processi, alle reti, agli strumenti di monitoraggio, ai database, alle applicazioni e via dicendo.
Secondo un’analisi del 2019 di SpiderLabs, il 4,7% dei malware utilizzati negli attacchi contro le aziende industriali sarebbe riconducibile a un software malevolo concepito ad hoc per effettuare movimenti laterali nelle infrastrutture IT per attacchi di privilege escalation.
Gli attacchi di escalation dei privilegi sfruttano le vulnerabilità di un sistema informatico con l’obiettivo di attaccarlo e di accedere ai sistemi che sono critici per il business come il mail server o il domain controller.
L’escalation dei privilegi è un vettore di attacco che causa l’eliminazione dei livelli di autorizzazione interni e si verifica quando un’organizzazione criminale ottiene l’accesso all’account di un dipendente e a informazioni e dati correlati.
Durante questi attacchi, in genere avvengono un’esfiltrazione di dati e un’interruzione delle funzioni aziendali causati o da un ransomware o dalla creazione di backdoor specifiche. Tutte queste azioni possono avere un impatto importante sulla continuità aziendale e dovrebbero essere prese in considerazione quando si elabora una strategia di difesa.
Esistono due tipi di attacchi di escalation dei privilegi:
- Attacchi Verticali. Gli attacchi verticali si verificano quando un utente malintenzionato ottiene l’accesso direttamente ad un account con l’intento di eseguire azioni come tale utente. L’obiettivo è di accedere ad un account che dispone di autorizzazioni, ad esempio tramite phishing o credential stuffing, per diffondere ulteriormente l’attacco. In questo caso i diversi controlli di sicurezza non sono sufficienti per impedire un’escalation dei privilegi e diventa fondamentale il modo in cui si risponde.
- Escalation dei privilegi orizzontali. Non tutti gli attacchi mirati forniscono ai criminali informatici il pieno accesso al sistema desiderato per l’attacco. Nascono così le escalation orizzontali dei privilegi che richiedono una profonda comprensione di determinati sistemi operativi o l’utilizzo di strumenti sofisticati per l’hackeraggio. Quando si tratta di “elevare” le autorizzazioni il criminal hacker ha due opzioni tra cui scegliere: la prima è sfruttare le vulnerabilità nel sistema operativo per ottenere l’accesso a livello di sistema o amministrativo; la seconda è l’utilizzo di script che rendono l’attacco automatizzato. Un esempio è Mimikatz, il famosissimo script creato dal ricercatore francese Benjamin Delpy nel 2011, che è stato utilizzato in diversi ransomware per rendere molto più infettivo l’attacco. La sua componente di “lateral movement” permette, una volta entrato in azienda, di diffondersi anche tra le macchine già patchate. Inoltre, riesce a rubare le credenziali delle macchine dai file di configurazione oppure recuperarle dalla RAM per un’escalation dei privilegi e, raggiungendo strumenti amministrativi come PsExec (per l’esecuzione Powershell in remoto su altre macchine) e WMIC (l’interfaccia del sistema operativo per le estensioni di Windows), provocare enormi danni all’infrastruttura delle aziende colpite.
Sistemi di least privilege: le buone regole
Per difendersi da queste tipologie di attacchi diventa dunque fondamentale adottare una strategia di least privilege. Il privilegio minimo, come dicevamo, ha lo scopo di impedire la superficiale assegnazione di accessi verso utenti, applicazioni e servizi, con l’obiettivo di ridurre il rischio di sfruttamento da parte dei criminali informatici.
Bisogna innanzitutto porsi alcune domande:
- A cosa ha l’accesso un utente standard in azienda?
- In che modo i servizi che utilizza sono influenzati dai privilegi?
- Quali altre attività possono essere eseguite su questo account durante un attacco?
Esistono fondamentalmente due tipi di account in azienda:
- account utente: rappresenta in genere un’identità umana, ad esempio un account utente di Active Directory, e dispone di una password associata per proteggere le informazioni e impedire a chiunque altro di accedere senza autorizzazione. Di solito c’è una singola password dell’account per utente che deve essere memorizzata da una persona.
- account amministratore: gli account privilegiati forniscono livelli amministrativi o specializzati di accesso ai sistemi aziendali e ai dati sensibili, in base a livelli più elevati di autorizzazioni. Un account privilegiato può essere associato a un essere fisico o ad un sistema IT o una macchina.
Gli account privilegiati che necessitano di autorizzazioni elevate includono:
- account di rete che danno accesso a firewall, router e switch;
- account che gestiscono piattaforme Linux o Unix;
- account di amministrazione locale o di dominio che gestiscono i server;
- account domain admin che in genere controllano gli utenti di Active Directory;
- account che eseguono e gestiscono applicazioni, servizi e database.
Gli account amministratore esistono in qualsiasi ambiente IT per poter risolvere problemi avanzati a livello di sistema e vengono spesso concessi per una questione di comodità a diversi utenti per poter accelerare la risoluzione di problemi tecnici. In media, infatti, le organizzazioni hanno da due a tre volte più account privilegiati rispetto a quelli user account.
Tali account vengono, non a caso, definiti le chiavi del regno dell’infrastruttura IT, poiché possono essere utilizzati per accedere a un server critico, regolare le autorizzazioni, creare account backdoor o modificare o eliminare dati sensibili.
Per preservare l’infrastruttura, è stato introdotto il modello di Zero Trust, che si basa sul concetto che, una volta verificato un utente, l’accesso è limitato solo a ciò che è necessario per completare un’attività o un lavoro specifico.
Per ottenere l’accesso autorizzato, la fiducia deve essere guadagnata dal potenziale utente tramite una verifica come, ad esempio, l’autenticazione a due fattori. In questo caso, un utente fornisce una password, ma deve eseguire un ulteriore passaggio tramite un SMS o un’applicazione.
Quando nuovi dispositivi vengono introdotti sulla rete, prima di ottenere l’accesso a qualsiasi tipo di risorsa, devono prima identificarsi in base a vari controlli di sicurezza.
Quanto più sensibili sono le risorse a cui accedere, tanto più stringenti saranno i controlli di sicurezza che gli utenti dovranno soddisfare. Una volta stabilita la verifica dell’identità, gli utenti possono essere classificati in base all’accesso di cui hanno bisogno per svolgere il proprio lavoro.
L’esempio più lampante è quando un utente ha il diritto di eseguire il proprio backup ma ogni altro privilegio, come quello di installare programmi esterni, non gli è concesso: la limitazione dei privilegi di tale utente, in questo caso, permette la non perseguibilità per le azioni compiute sul suo dispositivo, malevole o involontarie che siano.
Sistemi di least privilege per difendersi dai data breach
Secondo il Data Breach Report 2021 di Verizon, il 19% dei data breach proverrebbero da un insider, ovvero da qualcuno all’interno dell’azienda: è quindi fondamentale applicare regole di segregation of duty, che consistono in una separazione dei compiti e in una segmentazione di tutti i processi per il personale ritenuto idoneo all’accesso di dati sensibili.
Il primo step da effettuare è uno screening degli account amministrativi tramite la registrazione e l’analisi dei log provenienti da login per tracciare quali e quanti sono gli account più sensibili che bisogna proteggere.
La gestione degli accessi privilegiati include non solo controlli a livello di password degli account e delle credenziali e l’applicazione dei privilegi minimi, ma anche una governance efficace per il monitoraggio e la registrazione delle sessioni privilegiate.
Implementare una strategia difensiva
L’implementazione di una strategia di least privilege per lo sviluppo e la valutazione delle autorizzazioni in azienda è un processo lungo e complicato, ma necessario: assicura infatti che i dati sensibili siano protetti e accessibili a persone ritenute idonee per minimizzare i problemi di privacy e di sicurezza informatica.
Le best practice per poter cominciare a gestire in modo sicuro i privilegi consistono principalmente nel:
- definire policy e standard per l’identificazione e il controllo degli accessi;
- limitare i privilegi degli utenti e il numero e l’utilizzo di account privilegiati;
- limitare l’accesso ai log e monitorare continuamente l’attività di ciascun utente;
- educare gli utenti grazie a corsi di awareness e gestire in modo corretto il deprovisioning delle utenze