La crisi dei servizi della Regione Lazio ha riacceso l’attenzione sugli aspetti della sicurezza e dell’impatto che può avere una falla, sempre più spesso legata a comportamenti incauti da parte degli utenti che portano all’ingresso nella rete di un’organizzazione da parte di hacker che lavorano per abbattere quante più barriere possibili una volta entrati prima di detonare uno o più ransomware per massimizzare i danni nella speranza di ricevere i soldi per il riscatto.
All’attacco volto a crittografare i dati per renderli inusabili in assenza delle chiavi crittografiche si associa sempre più frequentemente l’esfiltrazione dei dati con la minaccia della loro pubblicazione sul Web, leva molto efficace ai tempi del GDPR che impone la segnalazione dei data leak.
Nei giorni successivi al blocco dei sistemi della Regione Lazio nei social i commenti sui backup cancellati e sul ripristino hanno alimentato dibattiti sulle best-practices relativi alla gestione della cybersecurity, menzionando tecniche come la two-factor authentication (2FA) o le Zero Trust Architecture.
In molti si limitano a tradurre “Zero Trust” in “nessuna fiducia” ma l’architettura di sicurezza implicata dai suoi principi vanno ben oltre semplici aggiustamenti o misure puntuali e impongono una completa revisione di un’architettura esistente; questo processo non può essere condotto se non gradualmente, adattando i propri sistemi a uno schema molto lontano da reti aziendali organizzate secondo i vecchi concetti di DMZ e bastion host (solo per citarne alcuni).
Cerchiamo quindi di capire in cosa consista la Zero Trust Architecture (ZTA), quantomeno secondo il National Institute of Standard and Technology americano, per poi cercare di capire quali direzioni intraprendere per far evolvere i propri sistemi verso questa architettura che è largamente accettata come successore della precedente basata sul concetto di Trust e di reti i cui host sono fidati.
Indice degli argomenti
Cos’è la Zero Trust Architecture
La Zero Trust Architecture è in primis un’architettura di rete poiché gli attacchi arrivano e si consumano attraverso la rete, ma ormai è necessario avere un approccio olistico che non si può limitare a una sola delle componenti che costituiscono un sistema.
Un datacenter è ormai un sistema unico, in larga parte autonomo, in cui i server interconnessi svolgono funzioni coordinate al fine di erogare i servizi, e l’abbandono di architetture software monolitiche in favore di sistemi aggregati basati su micro-servizi non fanno altro che rendere sempre più interdipendenti i servizi all’interno del datacenter, rendendo difficile identificare quali porzioni dello stesso erogano quali servizi.
La Zero Trust Architecture parte dall’assunto che l’accesso alle risorse informatiche di un’organizzazione debba sempre essere mediato da Policy Enforcement Point (PEP) responsabili per applicare le politiche definite dai Policy Definition Point (PDP).
In un certo senso la Zero Trust Architecture è interamente condensata in questa semplice affermazione: nessun accesso da sistemi sconosciuti deve essere possibile senza attraversare un sistema che decide se autorizzare l’accesso ad una particolare risorsa o meno.
In un certo senso lo schema ricorda molto l’architettura tradizionale dove la zona di fiducia “implicita” coincide con l’intera rete dell’organizzazione. La Zero Trust Architecture, però, si spinge oltre e idealmente richiede che vi sia un PEP a proteggere ciascuna risorsa dell’organizzazione e, per non perdere il controllo delle politiche, la politica globale del sistema sarà coordinata dal piano di controllo responsabile per la definizione delle politiche di sicurezza.
Il documento del NIST individua sette principi fondamentali da seguire per la realizzazione di un’architettura ZTA:
- tutte le sorgenti dati e i servizi di calcolo sono considerate risorse;
- tutte le comunicazioni sono sicure indipendentemente dalla posizione in rete;
- l’accesso alle risorse dell’organizzazione è assicurato su base di ogni sessione;
- la politica di accesso alle risorse è determinata dinamicamente basandosi sullo stato del cliente, l’identità, l’applicazione, e altri attributi comportamentali;
- l’organizzazione effettua monitoraggio e misura l’integrità e il livello di sicurezza di tutte le proprie risorse;
- l’autenticazione e l’autorizzazione di accesso a tutte le risorse è dinamica e verificata prima di concedere l’accesso;
- si colleziona la maggior quantità di informazione possibile sullo stato delle risorse, dell’infrastruttura di rete al fine di valutare lo stato di sicurezza e come migliorarlo.
L’architettura di rete, per supportare un’architettura ZTA, deve di conseguenza supportare alcune assunzioni di base che il NIST riassume in sei punti:
- l’intera rete privata dell’organizzazione non è considerata una zona implicitamente fidata;
- i dispositivi in rete possono non essere di proprietà dell’organizzazione, e di conseguenza da essa configurati;
- nessuna risorsa è implicitamente fidata;
- non tutte le risorse dell’organizzazione sono in esecuzione su infrastruttura di proprietà della stessa;
- i soggetti dell’organizzazione che accedono da remoto non possono considerare fidata la propria rete locale;
- le risorse e i flussi operativi che passano tra l’infrastruttura dell’organizzazione e un’infrastruttura terza devono essere governati da una politica di sicurezza consistente.
Il documento del NIST propone quindi una serie di soluzioni tecniche per l’attuazione di questo modello, tutte legate all’introduzione di qualche elemento tecnologico che svolga la funzione di PEP.
Un aspetto saliente della Zero Trust Architecture è l’applicazione di un algoritmo che non si limiti a considerare informazioni statiche quali username/password, indirizzi IP o MAC fidati per consentire l’accesso ad una particolare risorsa, ma che faccia uso di quante più informazioni di contesto possibili per prendere la decisione per ogni accesso.
Per molti anni embrioni di questo approccio sono stati applicati da sistemi che usavano stime di indici di rischio per decidere se consentire l’accesso a particolari risorse dell’organizzazione. Quando un utente esibiva un comportamento sospetto il sistema alzava il rischio ad esso associato e questo poteva interdire risorse più critiche.
Il merito della Zero Trust Architecture è quella di introdurre un framework concettuale all’interno del quale ritagliare la propria declinazione dell’architettura.
Implementare la Zero Trust Architecture
È facile entusiasmarsi nel leggere i dettagli di questa architettura, ma poi quando si guardano i propri sistemi è facile sentire un senso di inadeguatezza senza sapere da dove cominciare per creare i propri PDP/PEP.
Dopo vent’anni di indirizzi IP privati messi in liste ACL di firewall di livello 3[1] sembra impossibile uscire dall’architettura in cui la rete privata coincide con tutta la rete dell’organizzazione e l’unico PEP è il firewall di frontiera responsabile di assicurare tutta la sicurezza alla rete.
È necessario essere pragmatici e ricordarsi sempre che la sicurezza dipende sempre dall’anello più debole della catena. Si deve individuare un percorso capace di mitigare le principali vulnerabilità e effettuare continuamente valutazioni del rischio cercando di assicurare opportune contromisure per i vari scenari a cui ci si prepara.
Gli attacchi effettuati da hacker, come nel caso della Regione Lazio, che sfruttano un cliente remoto che ha accesso alla rete aziendale prevedono movimenti laterali perché siano efficaci: ovverosia sfruttando vulnerabilità note dei sistemi si cerca sistematicamente di elevare i propri privilegi per poter riconfigurare i sistemi prima di sferrare l’attacco vero e proprio.
Se il sistema di monitoraggio, come spesso accade, non è adeguato ed opportunamente tarato, gli intrusi possono operare per giorni, o addirittura settimane prima di sferrare l’attacco vero e proprio, disseminando di backdoor i sistemi e compromettendo anche i backup (in effetti in presenza di un evento significativo può rendersi necessario reinstallare ex-novo il sistema usando i backup solo per il recupero dei dati).
Uno dei pregi della Zero Trust Architecture in questo genere di attacchi è proprio quello di rendere più difficili i cosiddetti movimenti laterali all’interno della rete, e offrire un monitoraggio più efficace usando i PEP come sensori distribuiti per il controllo degli accessi.
Micro-segmentazione, proxy, firewall trasparenti
Approcci efficaci per effettuare una transizione da un’architettura basata su poche reti private considerate fidate alla Zero Trust Architecture consistono nel rivedere l’architettura di rete e dei propri servizi. La micro-segmentazione è una tecnica molto popolare nei sistemi virtualizzati, che consente di ridurre i domini di broadcast ed introdurre dei punti di controllo che siano presidiati da proxy o da firewall che mediano l’accesso alle risorse della rete.
I cosiddetti firewall NextGen o di livello 7, ovverosia firewall che sono capaci di ricostruire l’intero traffico TCP/IP per analizzarlo e potenzialmente prendere decisioni sul contenuto delle comunicazioni e non solo sui loro estremi, possono essere introdotti in modalità trasparente, operando come sonde di sicurezza che svolgono il ruolo dei PEP. Anche i proxy possono svolgere una funzione analoga, nascondendo i servizi veri e propri e offrendo superfici di attacco ridotte e aggiungendo, se necessario, ulteriori controlli per decidere se consentire o meno l’accesso ad una risorsa.
Tutti questi strumenti consentono di difendere sistemi legacy, magari obsoleti, che svolgono ancora funzioni rilevanti per l’organizzazione. La loro introduzione prevede anche l’introduzione di un sistema di coordinamento automatico capace di monitorare e applicare politiche in modo distribuito.
I costi dell’implementazione della ZTA
Per qualche tempo, troppo breve purtroppo, le ferite aperte dai recenti attacchi consentiranno l’investimento di più risorse per migliorare il livello di sicurezza delle varie organizzazioni nazionali. Va tenuto però conto del fatto che la sicurezza ha ormai come natura principale quella di un costo operativo (OPEX) e non di semplice investimento (CAPEX), è quindi necessario che i bilanci sostengano nel tempo le azioni.
Il budget sarà il primo problema da affrontare poiché la sicurezza non è solo fatta da algoritmi e apparati, ma sempre più importanza hanno i database e i sistemi di intelligenza artificiale che condensano al loro interno l’esperienza legata a milioni di attacchi.
Sarà quindi necessario nel tempo acquisire prodotti specialistici essendo però consapevoli che non possono bastare da soli a mettere in sicurezza i propri sistemi.
Va poi detto che molti operatori, soprattutto quelli che sviluppano firewall NextGen, non hanno adeguato i propri listini per consentire l’implementazione di architetture di sicurezza fortemente distribuite, e se i bilanci cresceranno non consentiranno comunque il ricorso in grandi numeri a queste tecnologie anche se la situazione sta lentamente migliorando.
Conclusioni
La Zero Trust Architecture è un’architettura che richiede tempo ed energie per essere applicata in modo pervasivo da parte di un’organizzazione.
Quando si eseguono decine di migliaia di macchine virtuali accumulate nell’arco di un ventennio non è così semplice rivedere l’infrastruttura su cui sono in esecuzione senza interruzioni di servizio.
Un percorso sostenibile è quello di segmentare la rete utilizzando firewall o altri apparati di rete che svolgano la funzione di PEP, magari trattando un gruppo di risorse omogenee come se fossero una risorsa singola, intervenendo sui punti più deboli dei propri sistemi.
È però importante cominciare subito a disegnare i nuovi sistemi secondo la Zero Trust Architecture, per evitare la creazione di ulteriore legacy, e questo richiede la formazione del personale IT in modo che abbandoni il mantra del “si è sempre fatto così” e cominci a sperimentare e trasformare le architetture dei sistemi di un’organizzazione.
Va infine ricordato che l’unica sicurezza che funziona è quella “frictionless”, invisibile, quella che non chiede troppo agli utenti, perché una volta passata la paura gli utenti ricominciano a chiedere di poter svolgere i propri compiti senza troppo sovraccarico per poterli effettuare in modo efficace.
E se i CISO non sono capaci di capire la prospettiva dell’utente, quest’ultimo sarà la più grande vulnerabilità del sistema stesso.
NOTE
Per firewall di livello 3 si intendono firewall che decidono se consentire una connessione usando solo le informazioni di indirizzo IP e porta TCP/UDP del mittente e del destinatario. ↑