Quasi tutte le organizzazioni di medie e grandi dimensioni soffrono di un’espansione incontrollata degli account. La distinzione fra account “utente” e “di servizio” è essenziale perché la proliferazione non gestita causa un aumento della superficie di attacco sia delle utenze “standard” che di quelle legate ad account privilegiati.
In generale, la gestione delle identità secondo buone prassi è necessaria in tutti gli ambienti e sistemi: AWS e G-Suite, ma in Active Directory questo problema è critico perché si assiste a “foreste” di account cresciute a un livello tale che gli account non possono più essere gestiti manualmente.
Per gli esperti di sicurezza informatica, gli account di servizio possono essere equiparati a una “bomba a orologeria” a causa dei maggiori privilegi di accesso ad essi associati, tuttavia, anche la mancata gestione delle evoluzioni degli account utente costituisce un concreto rischio di security. Il monitoraggio dell’account e i controlli di gestione prevengono attività non autorizzate che possono portare alla perdita dei dati coperti.
Se implementati correttamente, questi controlli consentono ai proprietari e agli amministratori delle risorse di analizzare con precisione chi ha accesso ai dati coperti e di rilevare l’eventuale accesso inappropriato prima che si verifichino eventi di perdita di dati.
Indice degli argomenti
Introduzione alla gestione degli account utente con Active Directory
Il sistema di Active Directory (AD) è presente in molte organizzazioni in tutto il mondo per fornire servizi di rete in modo che utenti e computer possano autenticarsi facilmente ed essere autorizzati ad accedere alle risorse di rete o ad accedere ai sistemi Windows. AD consente, inoltre, agli amministratori di sistema e ai team dell’infrastruttura di gestire le reti di computer aziendali. AD, infatti, abilita l’accesso di utenti e di computer a diverse risorse di rete: cassette postali, stampanti, file condivisi, risorse in cloud tramite Single Sign-On.
Active Directory si presenta come una gerarchia chiamata in genere albero (se il dominio è singolo) o foresta (in caso di domini multipli) che memorizza informazioni chiamate oggetti. Nel dominio sono presenti uno o più controller di dominio (DC) che sovrintendono ai servizi di autenticazione e autorizzazione. I controller di dominio, inoltre, consentono agli amministratori di dominio di gestire tutti gli oggetti all’interno, come gli account utente e le risorse di rete.
I domini vengono in genere utilizzati per raggruppare e gestire gli oggetti all’interno dell’organizzazione, ad esempio applicando regole e criteri su come devono essere utilizzati gli oggetti e aggiungendo la possibilità di ruoli e regole di ambito su chi ha accesso a cosa o chi può apportare modifiche o aggiornamenti all’Active Directory. Come accennato in precedenza, i domini possono anche essere raggruppati in un albero con sottodomini che condividono lo stesso spazio dei nomi del genitore; sono indicati come domini figlio.
È importante considerare la sicurezza degli account privilegiati ed in generale della gestione degli account come una priorità. Se un utente malintenzionato ottiene l’accesso ad account di tipo privilegiato, si garantisce un immenso potere sul sistema compromesso. Per ottenere l’accesso alle vittime, gli aggressori utilizzano una varietà di tecniche di hacking che sfruttano una cattiva gestione degli accessi, configurazioni errate e sistemi senza patch.
Errori di gestione e challenge di sicurezza
La gestione utenze e dei gruppi di utenze se non fatta correttamente può provocare danni di sicurezza ed aprire la porta ad attacchi che principalmente sfruttano l’“escalation of priviledge” ovvero la compromissione di account progressivamente più ricchi di privilegi di accesso, che consentono agli attaccanti di operare sul sistema compromesso in modo equivalente ad un amministratore di sistema.
Gli aggressori possono scoprire e sfruttare account utente non più necessari per scopi aziendali (utenti usciti dall’organizzazione) che non sono stati propriamente cancellati e che sono ancora validi nei sistemi e da qui avviare la ricerca e compromissione di account con privilegi maggiori.
Alessio Lo Turco, Strategic Systems Consultant di Quest spiega che: “i maggiori problemi correlati alla gestione delle utenze sono causati principalmente da errori di configurazione, da scarsa esperienza o consapevolezza dei rischi, ma anche da reparti IT che agiscono in modo non adeguato a causa del pochissimo tempo a disposizione per mantenere standard di sicurezza adeguati. A volte si riscontra la mancanza di una visione di insieme della sicurezza anche se si introducono singole prassi di security. Gli amministratori di dominio che hanno privilegi di accesso completi possono fare praticamente tutto. Fra i maggiori problemi, quindi, la scarsa adozione della prassi del “least priviledge” che limiterebbe molto i danni. Si tratta tuttavia di una prassi difficile da realizzare perché non tutte le applicazioni funzionano a privilegi minimi, soprattutto le applicazioni legacy, tanto pericolose per la sicurezza quanto spesso essenziali per il business. Microsoft stessa in questo senso presenta delle complessità. Il sistema di Active directory è adottato da molto tempo nelle aziende e questa sua “anzianità di servizio” concorre a mantenere in queste aziende configurazioni fatte in tempi diversi da persone diverse, senza un periodico riassetto ottimizzato. Nel day by day gli amministratori di dominio sono spesso occupati con richieste ordinarie che non consentono di affrontare i temi più importanti di ottimizzazione o di riesame proattivo della “foresta di utenze”. Gli errori di gestione deteriorata e di configurazione finiscono per favorire quegli attacchi sofisticati che hanno maggiori possibilità di successo nella compromissione dei sistemi”.
“L’uso del group nesting (letteralmente annidamento dei gruppi n.d.r.)” continua Alessio Lo Turco, che, tra le altre cose, viene spesso utilizzato per “fondere” velocemente Active Directory di due aziende diverse, “favorisce la propagazione degli errori. Le group policy, che consentirebbero una gestione sicura, attenta e granulare di AD, non sono usate in modo generalizzato ed esteso bensì in modo scarso e per attività marginali; l’errore più grande è non considerarle come un rischio. Infatti, avendo come ruolo lecito la distribuzione di software, possono e sono spesso usate in modo distorto per diffondere malware”.
Negli attacchi di tipo “living off the land” si sfruttano applicazioni lecite per farle operare in modo illecito e nelle compromissioni che sfruttano le policy di gruppo, l’attacco passa per la ricerca e la conquista di Domain controller al fine di modificare le group policy e distribuire malware in tutta l’infrastruttura. Se un attaccante sfrutta le potenzialità delle group policy può arrivare dovunque nell’infrastruttura e installare malware, come ad esempio i ransomware che progressivamente si attivano e criptano le macchine fino a bloccare completamente l’azienda.
Si ricorda in questo senso l’attacco che colpì la Maersk qualche anno fa. Ma in generale esistono diversi percorsi di attacco in Active Directory.
Si tenga conto che gli ambienti di test e collaudo di Active Directory sono rarissimi e che le modifiche ad AD sono spesso implementate direttamente nell’ambiente di produzione con conseguenze critiche in caso di attacco. Infine, è utile tenere conto del fatto che lo strumento nativo di Microsoft per la gestione delle Group Policy, l’Advanced Group Policy Management (AGPM), è in End Of Support (EOS) dal 2018 ed è attualmente gestito come un supporto esteso ma senza sviluppi fino al 2026. Nessun soggetto dovrebbe investire su una risorsa End Of Life. Ed anche questa situazione si trasforma in un vantaggio per i malintenzionati digitali.
Buone prassi e strumenti per la risoluzione
Fra le buone prassi di mitigazione si ricordano le tecniche o best practices elencate dal MITRE in tema di User Account Management ma in generale si consiglia di:
- Impiegare un processo per registrare e monitorare le modifiche significative agli account utente e ai gruppi di sistema coperti per garantire che l’accesso non sia concesso al di fuori del processo di approvazione formale.
- Bloccare l’account per un periodo di tempo standard dopo un determinato numero di tentativi di accesso non riusciti.
- Assicurare requisiti di complessità delle password per gli account utente standard e requisiti di autenticazione forte per gli account amministrativi.
- Implementare processi di revisione periodica (trimestrale) degli account assegnati sia agli utenti che alle applicazioni/servizi.
- Esaminare gli aggiornamenti di account e privilegi, con particolare attenzione agli aggiornamenti dei privilegi amministrativi, per attività sospette che potrebbero segnalare account compromessi.
Le soluzioni di sicurezza secondo Quest
Alessio Lo Turco sottolinea, inoltre, l’importanza di concentrarsi su quelle modifiche essenziali che impediscono ad un attaccante di ottenere il controllo di un account privilegiato o crearne uno. In questo senso, una soluzione come BloodHound Enterprise (BHE) consente di enumerare automaticamente tutti i possibili percorsi di attacco sia in Active Directory che in Azure AD, stabilirne automaticamente importanza e priorità ed effettuare la conseguente remediation.
Per impedire a un attaccante di sfruttare questi percorsi di attacco al fine di scalare privilegi e prendere possesso dell’infrastruttura, è importante analizzare grazie a BHE tutte le relazioni tra tutti gli oggetti di Active Directory e Azure AD, inclusi server e client, visualizzare tutti i possibili percorsi di attacco agli oggetti critici ed evidenziare i punti di snodo di questi “cammini”, punti di snodo sui quali intervenire con massima priorità.
In questo modo, si smette di rincorre l’attaccante e si inizia ad anticipare le sue mosse concentrandosi esclusivamente sulle attività effettivamente utili a impedire l’accesso non autorizzato agli oggetti critici e agli utenti privilegiati.
Bisogna poi tenere a mente, continua ancora Lo Turco, che in un’infrastruttura Active Directory le Group Policy (GPO) sono i vettori di attacco più utilizzati.
È quindi essenziale gestirle usando un prodotto specifico per la gestione di Group Policy e policy Intune come GPOADmin, in maniera da mitigare i rischi legati a un loro utilizzo come vettore di attacco: mantenendone il versioning, controllandone l’integrità e sottoponendo ogni modifica a workflow approvativo per evitare modifiche non autorizzate.
Infine, è sempre necessario effettuare audit dettagliato di ogni modifica in AD o Azure AD in quanto potrebbe potenzialmente creare nuovi percorsi di attacco. Allo stesso tempo, è necessario impedire modifiche non autorizzate a oggetti e account critici, anche in questo caso grazie alla soluzione Quest per l’audit delle infrastrutture Microsoft, On Demand Audit.
In conclusione, in ambito user account management, la creazione di una buona strategia di sicurezza basata su una solida valutazione del rischio aziendale e l’implementazione di misure di resilienza informatica aziendale rappresentano accorgimenti non più rimandabili.
Contributo editoriale sviluppato in collaborazione con Quest