Vi serve il cloud computing? Iniziate subito

(Micro) segmentazione da un punto di vista pratico

Stiv Kupchik

scritto da

Stiv Kupchik

July 13, 2023

Stiv Kupchik

scritto da

Stiv Kupchik

Stiv Kupchik svolge il ruolo di Security Researcher Team Lead in Akamai. I suoi progetti di ricerca ruotano intorno ai componenti interni dei sistemi operativi, alla ricerca sulle vulnerabilità e all'analisi dei malware. Ha presentato la sua ricerca in occasione di conferenze come Black Hat, Hexacon e 44CON. Oltre ad essere un esperto di cybersicurezza, Stiv ha conseguito anche una laurea in fisica.

(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 i responsabili della sicurezza. Il nostro obiettivo è quello di discutere solo le strategie di segmentazione che sono attuabili e che non influirebbero molto sull'operatività della rete o sull'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 vostra rete. Per evidenziarlo, abbiamo incluso diverse strategie di segmentazione per affrontare le diverse fasi di una violazione della rete. 

Tenete 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 vostro caso.

Sommario

Che cos'è la segmentazione della rete?
Linee guida per la segmentazione della rete
             - Come progettare una policy di segmentazione
Come rompere la kill chain degli attacchi informatici
             - Accesso iniziale
             - Movimento laterale
                          - RDP, VNC, TeamViewer e altri protocolli desktop remoto
                          - SSH
                          - MS-RPC e SMB
                          - PowerShell, WMI, WinRM
                          - SNMP
                          - Telnet e i comandi r di Berkeley
            - Esfiltrazione
 - Workflow di segmentazione generale
            - Isolamento
            - Isolamento delle applicazioni
            - Microsegmentazione
Sinergie di altri livelli di difesa con la segmentazione
            - Rilevamento
            - Risposta
            - Simulazione
- Riepilogo

Che cos'è la segmentazione della rete?

Prima di poter 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 è stato ottenuto utilizzando VLAN e firewall fisici, ma ultimamente osserviamo sempre più approcci basati su software ai firewall e alla segmentazione (Akamai Guardicore Segmentation, ad esempio). 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. (Provate a definire l'intervallo/gruppo IP di tutti i server finanziari. Potrebbe essere fattibile, ma siete 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 poter discutere su come segmentare, dobbiamo esaminare un importante prerequisito per farlo: la visibilità. La microsegmentazione non è un fattore a sé. È impossibile fermare ciò che non si vede. Una buona segmentazione è efficace solo insieme alla visibilità della rete che organizza e riepiloga il traffico. Di solito il traffico è troppo elevato per analizzarlo realisticamente a occhio nudo.

Un confronto affiancato della visualizzazione del traffico di rete. A sinistra: una mappa visiva del traffico e dei collegamenti. A destra: uno screenshot di Wireshark, uno strumento di sniffing della rete, che mostra il riepilogo dei pacchetti non elaborati. Figura 1. Visibilità della rete tramite uno strumento di visibilità o dati non elaborati tramite lo sniffing della rete

Potete vedere nella Figura 1 che c'è molto traffico in corso all'interno di quella rete (e c'è anche una rete fittizia nella figura 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 (ricordate, 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 di 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 sponsorizzati dallo stato, ma le banche, d'altro canto, potrebbero.

Se memorizzate molte informazioni sensibili, la maggiore minaccia potrebbe essere l' esfiltrazione dei dati. Le piccole imprese potrebbero voler concentrarsi maggiormente sul loro perimetro, poiché potrebbero non avere molti computer all'interno della rete per suddividere correttamente i segmenti. Se siete preoccupati degli autori di attacchi che dilagano nella vostra rete, valutate di iniziare con la segmentazione del movimento laterale. Disponete di un'applicazione business-critical che non deve cadere nelle mani sbagliate? Potete iniziare isolandola .

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.

Usate altri meccanismi di difesa in cui la vostra politica deve essere flessibile

Ci sono alcuni computer per i quali le policy devono essere flessibili, poiché il traffico in uscita dal computer è troppo variabile; pertanto, sono necessarie molte eccezioni. 

Considerate, ad esempio, i server jump box: utenti diversi li utilizzano per connettersi a server diversi con protocolli diversi. Non sarete in grado di coprire tutti i casi di utilizzo senza essere troppo permissivi (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 iniziate a segmentare, non significa che dobbiate consentirlo. A volte dovrete modificare le configurazioni esistenti di applicazioni o server, se decidete che il traffico che producono non è necessario. Altre, dovrete anche esaminare le configurazioni esistenti per comprendere 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:

  1. Accesso iniziale alla rete

  2. Fase del movimento laterale 

  3. 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).

La kill chain del ransomware. Inizia con l'accesso iniziale, seguito da movimento laterale, esfiltrazione e crittografia e termina con una richiesta di riscatto e un potenziale profitto (per gli operatori del ransomware). Figura 2. La kill chain del ransomware

Accesso iniziale

In questo caso, la segmentazione è proprio come il firewall tradizionale: bloccate il traffico in entrata dall'esterno della vostra rete che non dovrebbe entrare. Di solito proviene da Internet, ma può anche provenire da reti di terze parti connesse alla vostra. 

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 effetti, è 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 (si consideri, ad esempio, quanti internet scanner sono attivi in un dato momento).

Tabella riepilogativa dei principi guida per una segmentazione volta a impedire l'accesso iniziale. (1) Bloccate il traffico in entrata da Internet che può essere utilizzato per il controllo remoto o l'esecuzione, come RDP, SSH o SMB. (2) Limitate le origini Internet autorizzate ad accedere alla vostra rete con un elenco di elementi consentiti gestibile. (3) Consentite l'accesso a Internet solo ai computer che devono essere esposti a Internet, come i server web.

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 vostra rete a rischi. Molte violazioni iniziano con e-mail o link di phishing o 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; non li descriveremo 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 a esse un'unica strategia generale non è pratico. L'unica cosa che possiamo consigliare è la segmentazione, poiché 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.

Tabella riepilogativa dei principi guida per una segmentazione volta a impedire il movimento laterale. (1) Controllo rigoroso sul traffico tra i computer degli utenti. (2) Controllo rigoroso sull'accesso a Internet.

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 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 desktop remoto

Poiché questi servizi sono interattivi e grafici, il loro utilizzo automatizzato è piuttosto limitato. Pertanto, potete aspettarvi un utilizzo poco frequente di tali protocolli tra i server (la parola chiave è "aspettarvi": se lo individuate, è tempo di 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 al 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).

Tabella riepilogativa dei principi guida per gli RDP (Remote Desktop Protocol). (1) Limitate gli RDP da e verso i computer degli utenti. (2) Limitate gli RDP tra i server. (3) Consentite ai computer IT di utilizzare gli RDP. (4) Utilizzate i server jumpbox per l'accesso amministrativo o il controllo remoto. Consentite agli utenti di accedere ai server jumpbox.

I criminali, a volte, installano server desktop remoti di terze parti come backdoor e li utilizzano come metodo di persistenza. Se rilevate traffico desktop remoto o un software nuovo sulla rete, esaminatelo.

SSH

Sebbene SSH sia simile come concetto ai PSR, la faccenda è più complicata. Poiché SSH è basato su terminale (testo), è molto più semplice utilizzarlo per interagire con il software e ci sono programmi e script che lo utilizzano. Inoltre, SSH viene utilizzato anche per incapsulare protocolli meno sicuri, come SFTP, che è l'incapsulamento SSH del protocollo FTP (File Transfer Protocol).

Per questi motivi, SSH richiede un approccio molto più granulare rispetto ad altri PSR. Senza un'adeguata visibilità del traffico di rete, sarà molto difficile segmentare correttamente SSH senza influire sugli utenti finali o sull'operatività della rete.

Tabella riepilogativa dei principi guida per l'utilizzo dei protocolli SSH. (1) Microsegmentate l'SSH in base al traffico esistente e alle unità logiche. (2) Consentite al personale IT e ai proprietari delle applicazioni di disporre dell'accesso SSH ai server richiesti. (3) Limitate l'accesso SSH dell'utente arbitrario da e verso i server jumpbox.

MS-RPC e SMB

Sia MS-RPC che SMB non consentono immediatamente il movimento laterale, altri protocolli basati su di essi sì (vedere la Figura 4). SMB viene utilizzato per il trasferimento di file e le comunicazioni, mentre RPC viene utilizzato per chiamare funzioni remote da interfacce definite. RPC a volte viene anche trasferito su SMB, quindi sono strettamente collegati. Sono anche notoriamente difficili da segmentare correttamente, poiché sono integrati nel sistema di dominio Windows. 

Ad esempio, l'autenticazione del dominio è implementata in Netlogon, un protocollo basato su 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 SMB.

Il blocco di SMB e RPC è praticamente impossibile senza violare l'intero dominio. Quindi, cosa potete fare? Con SMB, potete creare policy basate su unità logiche: la maggior parte dei server e dei computer non dovrebbe comunicare tra loro tramite SMB, a meno che la destinazione non sia un file server. Pertanto, un'adeguata segmentazione dell'isolamento dovrebbe aiutare a mitigare il rischio di SMB.

Tabella riepilogativa dei principi guida per l'utilizzo dei protocolli SMB. (1) Limitate gli SMB tra i segmenti. (2) Consentite gli SMB ai controller di dominio, ma aumentate la sensibilità degli avvisi su di essi negli altri strumenti di sicurezza.

È possibile applicare un approccio simile a RPC, ma può essere ancora più restrittivo, poiché non è necessario consentire il traffico RPC ai file server, a differenza di SMB. Inoltre, poiché 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 su 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

PsExec              

Comunicazione con il gestore del servizio per eseguire file binari remoti. Solitamente utilizzato dopo aver copiato il binario dannoso in remoto con SMB

MS-SCMR

services. exe

 

Registro di sistema

Modifica del registro in remoto per ottenere la persistenza, eseguire script di accesso o indebolire la sicurezza

MS-RRP

svchost.exe

RemoteRegistry

Utilità di pianificazione

Creazione di attività pianificate in remoto per l'esecuzione dei comandi

MS-TSCH

Pianificazione

DCOM

Un altro livello di astrazione sopra RPC. Può essere utilizzato per interagire in remoto con vari componenti di sistema, come WMI

MS-DCOM

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 a essi per un ulteriore vantaggio in termini di sicurezza.

Tabella riepilogativa dei principi guida per l'utilizzo dei protocolli MS-RPC. (1) Limitate le comunicazioni ai processi o ai servizi che ospitano le interfacce RPC eventualmente utilizzate per il movimento laterale. (2) Consentite il traffico che ha origine dai server utilizzati per il monitoraggio o i watchdog.

PowerShell, WMI, WinRM

Sia PowerShell che WMI sono in grado di interagire con computer remoti e tale interazione è "basata" su Windows Remote Management (WinRM). Poiché l'utilizzo legittimo è in genere la gestione o il monitoraggio remoto (con 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.

Tabella riepilogativa dei principi guida per l'utilizzo dei protocolli Powershell, WinRM e WMI. (1) Limitate l'utilizzo arbitrario da parte degli utenti. (2) Consentite computer IT e server di monitoraggio. (3) Consentite l'utilizzo specifico dell'utente a seconda del caso.

SNMP

SNMP (Simple Network Management Protocol) è una popolare soluzione di monitoraggio, specialmente per computer Linux. SNMP ha anche un plug-in EXTEND, che potrebbe essere abusato per l'esecuzione di 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é 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 accedere ai propri server web).

Telnet e i comandi r di Berkeley

Telent e i comandi r di Berkeley sono molto meno comuni e sono stati ampiamente sostituiti da SSH. Li abbiamo descritti nel nostro post sul movimento laterale di Linux. Ma solo perché sono rari non significa che dovremmo ignorare la loro esistenza. Dopo tutto, gli autori di attacchi si preoccupano della condivisione, useranno qualunque mezzo abbiano a disposizione. 

VI 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 a SSH.

Esfiltrazione

A meno che tu vogliate controllare tutto il traffico in uscita come accadeva nel 1984, non potete realisticamente aspettarvi di impedire l'esfiltrazione di 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 vostra rete. Pertanto, gli autori di attacchi possono facilmente mascherare i propri tentativi di esfiltrazione tra tutto il 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 molta meno variabilità nelle loro destinazioni in uscita.

Tabella riepilogativa dei principi guida per l'utilizzo di protocolli che impediscono l'esfiltrazione. (1) Limitate la destinazione del traffico in uscita dai server nella rete. (2) Applicate severi controlli di accesso su file e cartelle sensibili nei file server interni. (3) Separate e segmentate i database interni in modo che siano accessibili in base alle necessità.

Workflow di segmentazione generale

Il principio generale per l'intera sezione è "solo perché esiste, non significa che debba essere consentito". 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, potete creare policy che consentano i flussi pertinenti e limitino il resto (questo vi offre anche l'opportunità di trovare eventuali configurazioni errate che dovrebbero essere gestite dal proprietario dell'applicazione invece della segmentazione). 

VI consigliamo di non implementare immediatamente una policy di blocco, ma di eseguirla in modalità di solo avviso per un breve periodo di tempo. Dovete passare a una policy di restrizione solo dopo aver ritenuto che la policy viene eseguita come previsto e che la quantità degli avvisi di violazione della policy sia minima o controllata. 

È anche importante differenziare il vostro ambiente esistente (quello che esisteva prima dell'inizio della segmentazione) e il vostro ambiente futuro (quello seguente all'implementazione della vostra 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. Applicate eccezioni e adeguamenti alle policy dove necessario per la normale operatività, ma non ignorate le policy esistenti solo perché state espandendo la rete.

Un diagramma di flusso del workflow di segmentazione generale. È un ciclo composto da quattro parti: analisi del traffico esistente, creazione della policy di segmentazione, monitoraggio delle violazioni della policy e passaggio della policy alla modalità di blocco. Figura 5. Il 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.

Tabella riepilogativa dei principi guida per le misure di isolamento. (1) Consentite le comunicazioni con i server critici di rete, come i controller di dominio o il SIEM. (2) Consentite le comunicazioni con altri server nella rete necessari per la logica aziendale, come un database specifico. (3) Limitate l'accesso utente arbitrario al segmento in base alle necessità. (4) Limitate il traffico in uscita dai server e il traffico Internet in entrata nei server.

Isolamento delle applicazioni

Possiamo fare un ulteriore passo avanti nell'isolamento e applicare policy a 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, poiché in genere dipendono da una sorta di controllo remoto. (Ad esempio, i watchdog remoti interrogano il gestore del servizio, in modo simile alla tecnica di 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 traffico aggiuntivo 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 a posizioni sensibili di cui non necessitano. Se il database gestisce solo applicazioni interne, i motivi per consentire a utenti arbitrari di interrogarlo sono pochi. Il blocco dell'accesso utente arbitrario è a nostro avviso il passaggio di sicurezza più cruciale, poiché molti attacchi iniziano da utenti compromessi.

Tabella riepilogativa dei principi guida per l'isolamento delle applicazioni. (1) Consentite le comunicazioni ai server in base al loro ruolo, come il traffico web verso i server web. (2) Consentite le comunicazioni ai server necessari per il loro funzionamento, come i watchdog, ma limitate le origini consentite solo ai computer di monitoraggio o al relativo segmento. (3) Bloccate l'accesso degli utenti ai server interni che non dovrebbero essere accessibili agli 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.

Qui ci basiamo sul principio che non dovremmo fidarci del traffico proveniente da computer vicini solo perché siamo all'interno dello stesso segmento. Gli autori di attacchi 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. Microsegmentazione significa che applichiamo regole di policy a tutti i tipi di traffico, anche all'interno del segmento di rete e tra 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.

Tabella riepilogativa dei principi guida per la microsegmentazione. (1) Limitate le connessioni arbitrarie all'interno del segmento. (2) Consentite le comunicazioni all'interno del segmento in base alle necessità.

A seconda di come si definiscono i segmenti nella propria rete, i principi per l'isolamento delle applicazioni possono spesso 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 computer utente.) Possiamo considerare ogni tipo di computer come un nuovo segmento e seguire nuovamente le linee guida dell'isolamento o dell'isolamento delle applicazioni.

La Figura 6 riassume le relazioni tra le varie strategie di segmentazione.

Un diagramma che mostra una rete teorica. Presenta un segmento infrastrutturale, un segmento finanziario e un segmento vendite. Il segmento finanziario include computer desktop e un server di database. La segmentazione tra di loro è denominata microsegmentazione. Il segmento delle vendite include computer desktop, un server e un database. La segmentazione tra i computer desktop e i server è denominata microsegmentazione. Il segmento dell'infrastruttura include un controller di dominio, un sottosegmento di monitoraggio e un sottosegmento di server web. La segmentazione tra i server web è la microsegmentazione. La segmentazione tra il sottosegmento di monitoraggio o il controller di dominio nel segmento finanziario può essere considerata un isolamento delle applicazioni, mentre la segmentazione generale tra i tre segmenti è un isolamento generale. Figura 6. Strategie di segmentazione in una rete organizzativa

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 vostro arsenale. Necessitate di un sistema di difesa che includa 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, disponete degli strumenti per rilevarli e risolvere 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).

  1. Aumenta il livello di competenza richiesto per violare la rete e può dissuadere i criminali meno qualificati. Le vulnerabilità zero-day non sono disponibili per la maggior parte dei criminali, quindi, dato il modello di minaccia della vostra rete, una policy di segmentazione della rete efficace potrebbe fungere da deterrente sufficiente contro la maggior parte degli autori di attacchi.

  2. Maggiore è il numero di hop di rete richiesto agli autori di attacchi, maggiori sono le possibilità che vengano rilevati a causa dell'aumento del tempo e dei passaggi necessari per un'intrusione completa.

  3. Potrebbe anche essere possibile indirizzare i criminali verso "punti di strozzatura" in cui sono più facilmente identificabili tramite honeypot, canaries o anche solo un ulteriore sistema di vigilanza. 

Un'infografica che mostra la differenza tra le intrusioni in una rete piatta e una rete segmentata. Entrambe le reti sono costituite da un segmento server, un segmento amministratore di dominio e un controller di dominio. Nella rete piatta, gli autori di attacchi possono propagarsi immediatamente dal proprio computer infetto a tutte le parti della rete. Nella rete segmentata, passano prima al segmento di rete, quindi al segmento amministratore di dominio e infine al controller di dominio. 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, gli autori di attacchi 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 voi avete solo pochi giorni per rilevarli e eliminarli 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.

  1. Vi offre più tempo per rispondere perché gli attacchi ora richiederanno più tempo per essere completati e avranno più punti di attrito per generare avvisi (dove il traffico dell'autore di attacchi si scontra con la vostra policy di segmentazione).

  2. Può essere usata per rispondere. Analogamente al modo in cui create policy e regole di segmentazione per limitare e controllare l'accesso a diverse parti della rete, potete creare regole per mettere in quarantena le risorse, in modo che gli attacchi non possano proseguire. 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 può essere fondamentale per gestire le violazioni della rete.

Simulazione

In teoria, potreste aver creato la migliore rete segmentata e sicura possibile e siete 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 malintenzionato. 

È qui che entra in gioco la simulazione. Un red team può simulare un nemico tentando di violare i vostri sistemi come farebbe un autore di attacchi o potrebbe farlo uno strumento di simulazione automatizzata di violazione della rete (come lo strumento open source di Akamai, Infection Monkeyal suo posto. 

Le simulazioni possono scoprire punti deboli nel vostro sistema di difesa che potrebbero essere sfruttati da utenti malintenzionati. Un controllo regolare e l'adozione di azione in base ai risultati possono aumentare notevolmente la sicurezza della vostra rete.

Riepilogo

La segmentazione della rete è uno strumento utile per aumentare la sicurezza della rete e affrontare le minacce basate sulla rete. È anche uno strumento che può fornire un valore di sicurezza immediato, 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 a varie policordo e strategie di segmentazione per aiutare gli amministratori di rete a fare proprio questo. 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 una moltitudine di argomenti sulla sicurezza. Per aggiornamenti in tempo reale e informazioni sulle ultime ricerche, seguiteci su Twitter!



Stiv Kupchik

scritto da

Stiv Kupchik

July 13, 2023

Stiv Kupchik

scritto da

Stiv Kupchik

Stiv Kupchik svolge il ruolo di Security Researcher Team Lead in Akamai. I suoi progetti di ricerca ruotano intorno ai componenti interni dei sistemi operativi, alla ricerca sulle vulnerabilità e all'analisi dei malware. Ha presentato la sua ricerca in occasione di conferenze come Black Hat, Hexacon e 44CON. Oltre ad essere un esperto di cybersicurezza, Stiv ha conseguito anche una laurea in fisica.