(Micro)segmentazione da un punto di vista pratico
Introduzione
La segmentazione della rete è difficile da implementare. No, mi correggo. La segmentazione della rete è facile da implementare; segmentare la rete in un modo che non influisca sull'utente finale o sull'operatività della rete, rendendola sicura è quasi impossibile.
Noi (i ricercatori dell'Akamai Security Intelligence Group) menzioniamo spesso la segmentazione della rete come strategia di mitigazione per il movimento laterale e le varie altre minacce che segnaliamo: sia nei nostri avvisi della Patch Tuesday, nei nostri rapporti sul malware, avvisi di vulnerabilità che in altri articoli di ricerca.
In questo post, forniremo strategie di segmentazione pratiche e concrete e best practice realistiche per gli addetti alla sicurezza. Il nostro obiettivo è quello di discutere solo delle strategie di segmentazione che sono attuabili e che non influirebbero molto sull'operatività della rete o sulle experience dell'utente finale, pur avendo un significativo vantaggio in termini di sicurezza.
Sebbene una corretta segmentazione sia impegnativa, offre alcuni vantaggi rapidi per la protezione della rete. Per evidenziare questo aspetto, abbiamo incluso diverse strategie di segmentazione per affrontare le diverse fasi di una violazione della rete.
Tieni presente che le reti del mondo reale differiscono l'una dall'altra; pur cercando di fornire raccomandazioni generali, le strategie potrebbero richiedere degli adattamenti per essere applicabili al tuo caso.
Sommario
Che cos'è la segmentazione della rete?
Prima di passare alle best practice e alle strategie, dobbiamo definire il nostro campo d'azione. La segmentazione della rete comporta la "suddivisione" della rete in parti (segmenti) e la definizione di chi può accedere a cosa e in che modo (ad esempio, è possibile accedere ai server web solo tramite HTTP/S).
Tradizionalmente, questo obiettivo è stato ottenuto utilizzando VLAN e firewall fisici, ma ultimamente osserviamo sempre più approcci basati su software ai firewall e alla segmentazione (ad esempio, Akamai Guardicore Segmentation). Non raccomandiamo un modo o l'altro: entrambi gli approcci presentano i propri vantaggi e svantaggi. Le nostre policy e strategie consigliate sono indipendenti dal fornitore e possono essere applicate ovunque.
Quando si passa dal controllo del traffico tramite VLAN, elenchi di controllo degli accessi (ACL) e intervalli IP all'utilizzo di etichette personalizzate indipendenti dal fornitore, si entra nel regno della microsegmentazione. Tutte le nostre strategie riportate in questo blog presuppongono l'utilizzo della microsegmentazione.
Dovrebbe essere possibile adattare le strategie e le linee guida per non richiedere la segmentazione, ma il processo per definire VLAN, ACL e gli elenchi IP e quindi gestirli è probabilmente impraticabile o comporterà l'esaurimento immediato di tutti gli amministratori e tecnici di rete (prova a definire l'intervallo/gruppo IP di tutti i server finanziari: potrebbe essere fattibile, ma sei in grado di mantenere tale elenco a lungo in modo accurato?; inoltre, questo è solo un gruppo di server; una rete aziendale ne comprende molti di più: utenti finali, controller di dominio, amministratori di dominio, stampanti, ecc.).
Linee guida per la segmentazione della rete
Prima di discutere su come segmentare, dobbiamo esaminare un importante prerequisito per farlo: la visibilità. La microsegmentazione non è un fattore a sé. È impossibile proteggersi da ciò che non si vede, Una buona segmentazione è efficace solo insieme alla visibilità sulla rete che organizza e riepiloga il traffico. Di solito, il traffico presenta una quantità di dati troppo elevata per analizzarlo realisticamente a occhio nudo.
Nella Figura 1, si può vedere che c'è molto traffico in corso all'interno della rete (e c'è anche una rete fittizia a scopo illustrativo). Creare policy che che si applichino a ogni singola sezione di traffico che si sposta nella rete è realisticamente impossibile.
Invece, possiamo concentrarci su mini-progetti di segmentazione su piccola scala che migliorano la sicurezza poco a poco (ricordiamo che parliamo di microsegmentazione, non di macrosegmentazione). Sebbene avere un obiettivo generale sia positivo, probabilmente è meglio concentrarsi sull'aumento graduale della sicurezza, in base al modello di minaccia della rete.
Che cos'è la modellazione delle minacce? È un modo per definire il tipo di minacce e attacchi informatici che ci si aspetta di affrontare, definendo le priorità di conseguenza. Ad esempio, è improbabile che le piccole e medie imprese si imbattano in criminali sostenuti dai governi nazionali, come, invece, potrebbe succedere alle banche.
Se si memorizzano molte informazioni sensibili, la maggiore minaccia potrebbe essere l'esfiltrazione dei dati. Le piccole imprese potrebbero volersi concentrare maggiormente sul loro perimetro poiché la quantità di computer contenuta all'interno delle loro reti potrebbe non consentire di suddividere correttamente i segmenti. Se ti preoccupa il dilagare dei criminali nella tua rete, considera la possibilità di iniziare con la segmentazione del movimento laterale. Disponi di un'applicazione business-critical che non deve cadere nelle mani sbagliate? Allora, puoi iniziare con l'isolamento delle applicazioni.
Come progettare una policy di segmentazione
Prima di passare alle vere e proprie strategie di segmentazione, vorremmo esaminare alcune linee guida, o principi, che riteniamo fondamentali per una buona segmentazione.
Maggiore è l'accessibilità, minore dovrebbe essere l'output consentito
In generale, i server con molto traffico in entrata si occupano principalmente della gestione delle richieste, come i server web o i file server (anche i controller di dominio rientrano in questa categoria). Pertanto, il relativo traffico in uscita non dovrebbe essere elevato o, almeno, dovrebbe essere rigorosamente definito.
Inoltre, impostare restrizioni minime sia sull'output che sull'input comporta il rischio che il server venga utilizzato come perno dagli autori di attacchi poiché i server sono più accessibili per i criminali e possono essere utilizzati per accedere a una parte più ampia della rete.
Usa altri meccanismi di difesa nelle aree in cui la tua policy deve essere flessibile
Ci sono alcuni computer per i quali le policy devono essere flessibili perché il traffico in uscita dal computer è troppo variabile; pertanto, sono necessarie molte eccezioni.
Prendiamo, ad esempio, i server jump box: utenti diversi li utilizzano per connettersi a server diversi con protocolli diversi. Non riuscirai a coprire tutti i casi di utilizzo senza essere troppo permissivo (vanificando così l'intero scopo della segmentazione).
In tali casi, riteniamo che sia meglio impiegare invece altri meccanismi di difesa e renderli più rigorosi (come l'utilizzo di un controllo degli accessi degli utenti più potente per l'esempio del jump box o soglie di avviso inferiori per i servizi di monitoraggio).
La microsegmentazione non è un fattore a sé
Solo perché una parte del traffico esiste già quando si avvia la segmentazione, non significa che bisogna accettarlo per forza. A volte, si devono modificare le configurazioni esistenti di applicazioni o server se si stabilisce che il traffico generato non è necessario oppure, magari, bisogna esaminare le configurazioni esistenti per capire innanzitutto perché esiste un determinato traffico.
Come rompere la kill chain degli attacchi informatici
In generale, possiamo suddividere la kill chain degli attacchi informatici in tre parti:
Accesso iniziale alla rete
Fase del movimento laterale
Operazioni di post-violazione del computer
Le operazioni di post-violazione vengono, solitamente, eseguite dai criminali su ogni computer della rete che hanno violato e cambiano in base alla campagna di attacco. Ad esempio, nelle campagne di cryptojacking vengono installati ed eseguiti i cryptominer, mentre le campagne di ransomware esfiltrano i dati sensibili per poi crittografarli.
Ora, descriveremo come la segmentazione può aiutare a proteggere da alcune parti della kill chain
(Figura 2).
Figura 2. La kill chain del ransomware
Accesso iniziale
In questo caso, la segmentazione è proprio come il firewall tradizionale: blocca il traffico proveniente dall'esterno che non deve entrare nella tua rete. Di solito, il traffico proviene da Internet, ma può anche provenire da reti di terze parti connesse alla tua rete.
Quindi, è consigliabile bloccare le porte SSH (Secure Shell) o RDP (Remote Desktop Protocol) che risultano vulnerabili (o praticamente qualsiasi porta che si trova nella parte del movimento laterale). In realtà, è meglio utilizzare un elenco di elementi consentiti anziché un elenco di elementi bloccati per il traffico che proviene dall'esterno della tua rete, soprattutto da Internet (considera, ad esempio, quanti strumenti di scansione della rete sono attivi in un dato momento).
Ovviamente, come con qualsiasi altro strumento di sicurezza, le pratiche (o policy) di segmentazione non sono in grado di rilevare tutte le minacce. In questo caso, la segmentazione non può coprire tutti i vettori di accesso iniziale e fare affidamento solo sulla segmentazione espone la rete ai rischi correlati. Molte violazioni iniziano con e-mail o link di phishing o con altre forme di social engineering.
Alcune violazioni iniziano anche con vulnerabilità nei protocolli che dovrebbero essere consentiti o con credenziali deboli per servizi legittimamente esposti a Internet, come il server VPN. Per questo motivo, consigliamo di non fare affidamento solo sulla segmentazione per impedire l'accesso iniziale e di utilizzare soluzioni di sicurezza per la protezione di host ed e-mail oltre alla segmentazione.
Movimento laterale
Ci sono molti modi per eseguire il movimento laterale, pertanto, non possiamo descriverli tutti. In particolare, ci concentreremo sulla prevenzione del movimento laterale che può avvenire tramite processi legittimi già esistenti sul computer, utilizzando protocolli come RDP o SSH, servizi basati su RPC come il gestore del servizio o l'utilità di pianificazione, strumenti di gestione come PowerShell o WMI o alcuni dei protocolli e degli strumenti disponibili in Linux che abbiamo descritto in un post separato.
Non esamineremo le vulnerabilità di un giorno o zero-day perché possono trovarsi in qualsiasi prodotto e con implementazioni diverse, quindi applicare ad esse un'unica strategia generale non è pratico. L'unica cosa che possiamo consigliare è la segmentazione perché se qualcosa è inaccessibile è molto più difficile da sfruttare.
Prima di addentrarci in diverse considerazioni approfondite per ciascuno dei diversi protocolli, ci sono due principi validi per ciascuno di essi.
Gli utenti non hanno realmente bisogno di accedere ai computer di altri utenti, soprattutto non tramite la rete. A meno che non si tratti di un addetto all'IT, non vi sono molte giustificazioni per connettersi in remoto al computer di un altro utente. Pertanto, limitare il traffico tra i computer degli utenti senza compromettere eccessivamente l'operatività della rete, dovrebbe essere abbastanza fattibile.
Inoltre, poiché i protocolli descritti in questa sezione possono essere utilizzati per il controllo o l'esecuzione in remoto, possono anche fungere da vettori di accesso iniziale. Ecco perché ribadiamo la necessità di limitare l'accesso arbitrario a Internet su questi protocolli.
Strumento/protocollo |
Porta(e) |
|---|---|
RDP |
3389 |
VNC |
5900+ |
Sistema Window X |
6000+ |
TeamViewer |
5938, 80, 443 |
AnyDesk |
6568, 80, 443 |
SSH |
22 |
MS-RPC |
135, 49152+ |
SMB |
445, 139 |
WinRM |
5985, 5986 |
SNMP |
161 |
rexec |
512 |
rlogin |
513 |
rsh |
514 |
Figura 3. Strumenti/protocolli comuni (e relative porte) che possono essere utilizzati per il movimento laterale
RDP, VNC, TeamViewer e altri protocolli di desktop remoto
Poiché questi servizi sono interattivi e grafici, il loro utilizzo automatizzato è piuttosto limitato. Pertanto, puoi aspettarti un utilizzo poco frequente di tali protocolli tra i server (la parola chiave è "aspettarti": quando lo individui, è il momento giusto per indagarne il motivo).
Lo stesso ragionamento si applica ai computer degli utenti: gli utenti non dovrebbero aver bisogno di connettersi tra loro. Eccezioni a questi presupposti potrebbero essere jumpbox e server terminal che consentono agli utenti di saltare gli ambienti o accedere ai server, connessioni del personale IT ai computer degli utenti o proprietari di applicazioni che si connettono ai server delle applicazioni.
La gestione di tali eccezioni dovrebbe essere eseguita creando policy adeguate utilizzando la segmentazione, ma tali sforzi dovrebbero essere integrati anche con adeguate soluzioni di gestione degli accessi e delle identità (IAM).
I criminali, a volte, installano server desktop remoti di terze parti come backdoor e li utilizzano come metodo di persistenza. Se si rileva un traffico desktop remoto o un nuovo software installato nella rete, bisogna esaminarlo.
SSH
Sebbene il protocollo SSH sia simile come concetto ai RDP, la faccenda è più complicata. Poiché l'SSH è basato su terminale (testo), è molto più semplice utilizzarlo per interagire con il software e ci sono programmi e script che lo utilizzano. Inoltre, l'SSH viene utilizzato anche per incapsulare protocolli meno sicuri, come l'SFTP, che è l'incapsulamento SSH del protocollo FTP (File Transfer Protocol).
Per questi motivi, l'SSH richiede un approccio molto più granulare rispetto ad altri RDP. Senza un'adeguata visibilità del traffico di rete, sarà molto difficile segmentare correttamente l'SSH senza influire sugli utenti finali o sull'operatività della rete.
MS-RPC e SMB
Sia il protocollo MS-RPC che l'SMB non consentono immediatamente il movimento laterale, come, invece, fanno altri protocolli basati su di essi (vedere la Figura 4). L'SMB viene utilizzato per il trasferimento di file e le comunicazioni, mentre l'RPC viene utilizzato per chiamare funzioni remote da interfacce definite. A volte, l'RPC viene anche trasferito tramite l'SMB, quindi i due protocolli sono strettamente collegati. Sono anche notoriamente difficili da segmentare correttamente perché sono integrati nel sistema di dominio di Windows.
Ad esempio, l'autenticazione del dominio è implementata in Netlogon, un protocollo basato sull'RPC. Le policy di gruppo del dominio e gli script di accesso vengono archiviati in una cartella condivisa nel controller di dominio denominato SYSVOL e i computer aggiunti al dominio vi accedono tramite l'SMB.
Il blocco dei protocolli SMB e RPC è praticamente impossibile senza violare l'intero dominio. Quindi, cosa puoi fare? Con l'SMB, puoi creare policy basate su unità logiche: la maggior parte dei server e dei computer non dovrebbe comunicare tra loro tramite l'SMB, a meno che la destinazione non sia un file server. Pertanto, un'adeguata segmentazione dell'isolamento dovrebbe aiutare a mitigare il rischio legato all'SMB.
È possibile applicare un approccio simile all'RPC, ma può essere ancora più restrittivo, poiché non è necessario consentire il traffico RPC ai file server, a differenza dell'SMB. Inoltre, poiché l'RPC viene gestito in modalità utente, è possibile creare policy di segmentazione basate sul servizio o processo di destinazione, quindi è necessario gestire solo le interfacce RPC che possono essere utilizzate in modo improprio per il movimento laterale (e solo se si dispone di un agente di segmentazione in grado di gestire regole basate sul processo o servizio).
La tabella seguente mostra le interfacce RPC che devono essere gestite per impedire il movimento laterale.
Tecnica |
Utilizzo |
Interfaccia RPC |
Processo di destinazione |
Servizio |
|---|---|---|---|---|
Comunicazione con il gestore del servizio per eseguire file binari remoti. Solitamente utilizzato dopo aver copiato il file binario dannoso in remoto con l'SMB |
services. exe |
|||
Modifica del Registro di sistema in remoto per raggiungere la persistenza, eseguire gli script di accesso o indebolire il sistema di sicurezza |
svchost.exe |
RemoteRegistry |
||
Creazione di attività pianificate in remoto per l'esecuzione dei comandi |
Pianificazione |
|||
Un altro livello di astrazione superiore all'RPC. Può essere utilizzato per interagire in remoto con vari componenti di sistema, come il protocollo WMI |
DcomLaunch |
Figura 4. Interfacce RPC che possono essere utilizzate per il movimento laterale
Poiché non tutte le operazioni su tali interfacce RPC sono dannose (ad esempio, alcune soluzioni di monitoraggio e watchdog interagiscono con il gestore del servizio in remoto per verificare l'integrità del servizio), si consiglia di esaminare le comunicazioni RPC esistenti. Se, normalmente, non è possibile accedervi da remoto (o se è possibile restringere l'elenco delle origini), si consiglia di creare policy di segmentazione attorno ad essi per un ulteriore vantaggio in termini di sicurezza.
PowerShell, WMI, WinRM
Sia PowerShell che WMI sono in grado di interagire con computer remoti e tale interazione è basata su WinRM (Windows Remote Management). Poiché l'utilizzo legittimo è, in genere, la gestione o il monitoraggio remoto (con il WMI), nella rete dovrebbero esserci pochi casi di utilizzo. Dovrebbe essere possibile creare policy di segmentazione che limitino l'utilizzo arbitrario e lo consentano solo dal monitoraggio di server o computer IT.
Naturalmente, sono possibili valori anomali e abbiamo osservato alcuni casi in cui PowerShell remoto è stato ampiamente utilizzato dagli sviluppatori per comodità; probabilmente sarebbe necessaria una decisione caso per caso.
SNMP
L'SNMP (Simple Network Management Protocol) è una popolare soluzione di monitoraggio, specialmente per i computer Linux. L'SNMP ha anche un plug-in EXTEND, che potrebbe essere violato per eseguire script remoti, come abbiamo menzionato nel nostro post sul movimento laterale di Linux (e implementato in Infection Monkey). Sebbene il plug-in EXTEND non sia più abilitato per impostazione predefinita per i comandi remoti nelle versioni più recenti dell'agente SNMP, è ancora possibile compilare un agente SNMP con il plug-in abilitato. Abbiamo anche osservato computer che eseguono una versione senza patch con il plug-in EXTEND abilitato.
Poiché l'SNMP viene utilizzato per il monitoraggio, si consiglia di consentire solo il traffico SNMP originato dai server di monitoraggio e di limitare quello proveniente dal resto della rete. Si consiglia, inoltre, di prestare maggiore attenzione agli avvisi EDR provenienti dai server di monitoraggio per impedire che vengano utilizzati come proxy per il resto della rete da parte degli autori di attacchi.
Quando sono presenti più server di monitoraggio utilizzati da prodotti diversi, è necessario valutare anche la separazione per segmentazione di diverse unità logiche (ad esempio, se si dispone di una soluzione di monitoraggio per i propri server finanziari, e solo per essi, non consentirle l'accesso ai propri server web).
I comandi in R di Telnet e Berkeley
I comandi in R di Telnet e Berkeley sono molto meno comuni e sono stati ampiamente sostituiti dall'SSH. Li abbiamo descritti nel nostro post sul movimento laterale di Linux. Tuttavia, solo perché sono rari non significa che possiamo ignorarne l'esistenza. Dopo tutto, i criminali si preoccupano della condivisione, quindi useranno qualunque mezzo a loro disposizione.
Consigliamo di sostituire questi protocolli con protocolli più sicuri, come SSH, o almeno di incapsulare il loro traffico in un canale sicuro. Dove non è possibile, si applicano le stesse pratiche di sicurezza relative all'SSH.
Esfiltrazione
A meno che tu non voglia controllare tutto il traffico in uscita come accadeva nel 1984, non puoi realisticamente aspettarti di impedire l'esfiltrazione dei dati durante gli attacchi utilizzando solo la segmentazione. Internet è grande e vasto, non è realistico valutare in modo accurato ogni sito e server a cui gli utenti si connettono dalla tua rete. Pertanto, i criminali possono facilmente mascherare i propri tentativi di esfiltrazione nel resto del traffico in uscita.
Invece di cercare di controllare il traffico in uscita, è più fattibile controllare gli accessi ai dati sensibili. L'unico posto in cui potrebbe essere possibile limitare il traffico in uscita è sui server nella rete; a differenza dei computer degli utenti, dovrebbe esserci una variabilità molto inferiore nelle loro destinazioni in uscita.
Workflow di segmentazione generale
Il principio generale per l'intera sezione è "solo perché qualcosa esiste già, non significa che gli debba essere consentito l'accesso". Quando si segmenta una parte della rete, che si tratti di un'applicazione business-critical (come SWIFT), un'unità operativa (come il controller di dominio) o un ambiente (come i server di produzione), il primo obiettivo aziendale è quello di esaminare il traffico esistente (Figura 5).
Dopo aver analizzato il traffico esistente, puoi creare apposite policy in grado di consentire i flussi pertinenti e limitare il resto (in tal modo, puoi anche trovare eventuali configurazioni errate che devono essere gestite dal proprietario dell'applicazione e non dalla segmentazione).
Ti consigliamo di non implementare immediatamente una policy di blocco, ma di eseguirla in modalità di solo avviso per un breve perioso di tempo. È consigliabile passare ad una policy di restrizione solo se si ritiene che la policy venga eseguita come previsto e che la quantità degli avvisi di violazione della policy sia minima o controllata.
È anche importante differenziare l'ambiente esistente (prima dell'inizio della segmentazione) e l'ambiente futuro (successivo all'implementazione della policy di segmentazione). Quando si implementa la segmentazione per la prima volta, è necessario prestare attenzione e conoscere la rete per evitare di causare danni.
Per le aggiunte più recenti, tuttavia, si dovrebbe considerare la policy di segmentazione esistente. Applica eccezioni e adeguamenti alle policy dove necessario per garantire la normale operatività, ma non ignorare le policy esistenti solo perché la rete è in fase di espansione.
Figura 5. Workflow di segmentazione generale
Isolamento
Con l'isolamento, siamo principalmente interessati alle interfacce del segmento con il resto della rete e con il mondo. Vogliamo controllare il traffico in entrata e in in uscita dalla parte della rete che desideriamo segmentare senza considerare cosa sta succedendo all'interno del segmento.
Isolamento delle applicazioni
Possiamo fare un ulteriore passo avanti nell'isolamento e applicare apposite policy ai singoli computer in base al relativo scopo. Quindi, ad esempio, se un server funziona solo come database, bisognerebbe concedergli l'accesso solo tramite le porte del database; un server web, tramite porte web.
Certo, non è così semplice. Di solito, ci sono più servizi che richiedono l'accesso a quei server, come watchdog, servizi di monitoraggio delle performance o IT. Di solito, anche tali porte di accesso sembrano molto simili alle tecniche di movimento laterale perché, in genere, dipendono da una sorta di controllo remoto (ad esempio, i watchdog remoti interrogano il gestore del servizio, in modo simile alla tecnica del movimento laterale PsExec; l'unico modo per distinguere tra le chiamate è l'ispezione approfondita dei pacchetti, che, di solito, non è disponibile).
Per superare questo problema, ovunque sia necessario consentire ulteriore traffico oltre a quello che dovrebbe già accedere al servizio, si consiglia di limitare le origini consentite al segmento che dovrebbe eseguire il monitoraggio.
Inoltre, possiamo limitare l'accesso degli utenti alle posizioni sensibili di cui non hanno bisogno. Se il database gestisce solo le applicazioni interne, i motivi per consentire ad utenti arbitrari di interrogarlo sono pochi. Il blocco dell'accesso agli utenti arbitrari è, a nostro avviso, il passaggio di sicurezza più cruciale perché molti attacchi iniziano dalle violazioni degli utenti.
Microsegmentazione
Con la microsegmentazione, stiamo applicando un altro livello di granularità alla nostra policy di segmentazione: separiamo i computer nel segmento in base al relativo ruolo o sensibilità. Possiamo considerarla come un ibrido tra l'isolamento delle applicazioni e l'isolamento generale. La principale differenza rispetto all'isolamento è che ora controlliamo anche il traffico all'interno del segmento e non ci fidiamo automaticamente dei vicini.
Ci basiamo, quindi, sul principio secondo cui non dovremmo fidarci del traffico proveniente dai computer vicini solo perché si trovano all'interno del nostro stesso segmento. I criminali utilizzeranno qualsiasi connessione possibile per propagarsi in tutta la rete, indipendentemente dai segmenti.
Quindi, anche se nel segmento abbiamo lo stesso tipo di server delle applicazioni, non c'è motivo per cui siano in grado di comunicare tra loro su ogni porta e protocollo. Adottare la microsegmentazione significa applicare le regole delle policy a tutti i tipi di traffico, anche all'interno del segmento di rete e tra vari computer con lo stesso ruolo.
Naturalmente, i computer all'interno dello stesso segmento sono, in genere, più strettamente associati, quindi è più difficile aggiungere policy senza essere eccessivamente permissivi.
A seconda di come si definiscono i segmenti nella propria rete, i principi per l'isolamento delle applicazioni, spesso, possono essere applicati anche come principi di microsegmentazione. Ad esempio, se suddividiamo la nostra rete in un segmento di utenti, un segmento di database e un segmento di server web, i principi definiti nell'isolamento delle applicazioni sono adatti anche per la microsegmentazione. L'unica aggiunta richiesta è l'applicazione degli stessi principi all'interno di ogni segmento applicativo, tra computer diversi.
Tuttavia, se la nostra rete è suddivisa in un segmento finanziario, un segmento di vendita e un segmento IT e ogni segmento è dotato di una combinazione di server e computer utente, allora dobbiamo essere più creativi. Dopo aver applicato ai segmenti le strategie generali di isolamento, dobbiamo successivamente passare alla creazione di policy tra i segmenti e al loro interno. Possiamo considerare ogni segmento una mini-rete; quindi, possiamo suddividere ciascuno di essi nelle diverse applicazioni e tipi di computer che lo compongono (ad esempio, un segmento di vendita potrebbe includere un file server, un database e un computer utente). Possiamo considerare ogni tipo di computer come un nuovo segmento e seguire nuovamente le linee guida dell'isolamento generale o dell'isolamento delle applicazioni.
La Figura 6 riassume le relazioni tra le varie strategie di segmentazione.
Figura 6. Strategie di segmentazione nella rete di un'organizzazione
Sinergie di altri livelli di difesa con la segmentazione
Sebbene una corretta segmentazione della rete aumenti notevolmente gli ostacoli da superare affinché gli autori di attacchi riescano a violare la rete, non dovrebbe comunque essere l'unico livello di difesa nel tuo arsenale. Ti serve, infatti, un sistema di difesa basato su attività di rilevamento, risposta e simulazione.
Rilevamento
Un criminale abbastanza dedicato e di talento sarà probabilmente in grado di arrivare ovunque voglia, poiché nessun sistema o rete è infallibile al 100% ed esistono sempre vulnerabilità zero-day. Non è necessariamente uno scenario realistico (poiché lo sviluppo della vulnerabilità zero-day è costoso e non può essere improvvisato), ma crediamo che sia meglio prepararsi al peggio che mettere la testa sotto la sabbia.
Con questo approccio, riteniamo che la segmentazione vada di pari passo con il rilevamento. Anche se i criminali riescono a trovare punti d'appoggio nella rete e a spostarsi lateralmente, potrai disporre degli strumenti necessari per rilevarli e mitigare la minaccia Potrebbe trattarsi di EDR per il rilevamento delle minacce dell'host, strumenti di monitoraggio dell'accesso web o normali attività di rilevamento delle minacce. Tra gli aspetti importanti, ricordiamo il rilevamento e la segnalazione dell'attività sospetta e la possibilità di disporre di un team dedicato per indagare su tali avvisi.
Oltre al rilevamento, una rete segmentata offre tre ulteriori vantaggi rispetto a una rete piatta (Figura 7):
Aumenta il livello di competenze richiesto per violare la rete e può dissuadere i criminali meno esperti. Le vulnerabilità zero-day non sono disponibili per la maggior parte dei criminali, quindi, considerando il modello di minaccia della tua rete, una policy di segmentazione della rete efficace potrebbe fungere da deterrente sufficiente contro la maggior parte dei criminali.
Maggiore è il numero di hop di rete richiesto ai criminali, maggiori sono le possibilità che vengano rilevati a causa della maggiore quantità di tempo e passaggi necessari per un'intrusione completa.
Potrebbe anche essere possibile indirizzare i criminali verso "punti di strozzatura" in cui sono più facilmente identificabili tramite honeypot o canary oppure anche solo un ulteriore sistema di vigilanza.
Figura 7. Intrusione di rete piatta o segmentata. Nella rete piatta, ogni sua parte è raggiungibile contemporaneamente e gli intrusi possono raggiungere rapidamente il proprio obiettivo. In una rete segmentata, i criminali devono agire in modo procedurale.
Risposta
Il semplice rilevamento delle minacce non è sufficiente: è necessario anche rispondere rapidamente agli avvisi e alle violazioni. Secondo i rapporti sugli attacchi ransomware, la violazione della crittografia richiede solo pochi giorni. Ciò significa che anche le aziende hanno solo pochi giorni per rilevarli ed allontanarli dalla rete. Certo, come abbiamo detto prima, una corretta segmentazione rallenterà l'attacco, ma gli attacchi necessitano comunque di una risposta tempestiva.
La segmentazione agisce in sinergia con la risposta in due modi:
Offre più tempo per rispondere perché gli attacchi ora richiederanno più tempo per essere completati e avranno più punti di attrito per generare avvisi (nell'area in cui il traffico del criminale si scontra con la policy di segmentazione della rete).
Può essere usata per rispondere. Analogamente al modo in cui hai creato policy e regole di segmentazione per limitare e controllare l'accesso alle diverse parti della rete, puoi creare apposite regole per mettere in quarantena le risorse in modo da bloccare gli attacchi. Integrare la segmentazione nei piani di risposta agli incidenti e nel workflow e disporre di strumenti per implementare rapidamente le regole di quarantena in caso di emergenza possono essere operazioni fondamentali per gestire le violazioni della rete.
Simulazione
In teoria, potresti aver creato la migliore rete segmentata e sicura possibile ed essere in grado di rilevare qualsiasi attacco in arrivo. Ma nessun piano sopravvive al primo contatto con il nemico: è meglio che quel nemico non sia un criminale.
È qui che entra in gioco la simulazione. Un red team può simulare un nemico tentando di violare i tuoi sistemi come farebbe un criminale o uno strumento di simulazione automatizzata di violazione della rete (come Infection Monkey, lo strumento open source di Akamai).
Le simulazioni possono scoprire i punti deboli del tuo sistema di difesa che potrebbero essere sfruttati dai criminali. Un controllo regolare e l'adozione di azioni in base ai risultati possono aumentare notevolmente la sicurezza della rete.
Riepilogo
La segmentazione della rete è uno strumento utile per aumentare la sicurezza e affrontare le minacce basate sulla rete. È anche uno strumento che può fornire una sicurezza immediata, in quanto non è necessario iniziare con progetti di segmentazione lunghi o ardui e consente, invece, di suddividere il lavoro in più sotto-progetti, ognuno dei quali migliora la strategia di sicurezza della rete un passo alla volta.
Abbiamo fornito linee guida per varie policy e strategie di segmentazione allo scopo di aiutare gli amministratori di rete a raggiungere questi obiettivi. Ci auguriamo che le nostre raccomandazioni siano pratiche e contribuiscano a mantenere le organizzazioni più sicure.
L'Akamai SIG (Akamai Security Intelligence Group) continuerà a monitorare, studiare e pubblicare ricerche su tanti argomenti relativi alla sicurezza. Per aggiornamenti in tempo reale e ulteriori ricerche sulla sicurezza, seguici su Twitter!