Questa è la prima puntata della nostra serie sul lockdown, in cui discutiamo dei metodi che potete utilizzare per contenere efficacemente gli eventi di sicurezza e di come Vectra può aiutarvi. Rimanete sintonizzati per il seguito, che metterà in evidenza le funzionalità di lockdown automatico di Vectra e la nostra copertura per Microsoft Azure e AWS! AWS!
Il tempo è fondamentale
Chiunque lavori nell'ambito della risposta agli incidenti (IR) vi dirà che più velocemente si contiene un evento, meno è probabile che diventi un incidente vero e proprio. La convalida di un rilevamento deve essere seguita rapidamente dall'isolamento. In questo modo si guadagna tempo per la raccolta delle prove, l'analisi e infine la bonifica. A seconda del tipo di rilevamento, potremmo avere solo una parte del quadro.
Prendiamo, ad esempio, un rilevamento Port Sweep che prende di mira una serie di host da un'unica fonte. In questo scenario, dobbiamo sapere come si accede al sistema, come l'aggressore ha preso piede, per quanto tempo ha avuto accesso o se c'è stato un movimento laterale riuscito. Per rispondere a tutte queste domande occorre tempo.
Dobbiamo anche considerare il tempo di permanenza dell'attaccante. Più tempo hanno accesso all'ambiente, più si avvicineranno alla realizzazione del loro obiettivo (ad esempio, crittografare i file server e chiedere un riscatto all'azienda o esfiltrare la nuova ricerca a cui l'organizzazione ha lavorato per diversi anni). Ostacolare l'avanzata dell'aggressore e concedere agli addetti alla risposta agli incidenti tempo prezioso per indagare porterà a decisioni più informate durante la bonifica. Una volta ottenuto l'accesso privilegiato, l'aggressore può muoversi più velocemente e più lontano per completare la propria missione.
Considerate l'esempio del ransomware MAZE: gli aggressori hanno creato i propri account e hanno sfruttato gli account privilegiati per diffondersi nella rete. Il contenimento è la risposta per interrompere questa avanzata e impedire ad aggressori come gli operatori di MAZE di utilizzare account privilegiati sulla rete per distribuire il loro ransomware.
Come si fa a far rispettare?
Esistono diversi modi per contenere un attaccante. Possiamo isolare l'attacco in due modi: in primo luogo, attraverso un agente endpoint sull'host; in secondo luogo, sullo stack di rete disabilitando l'account utilizzato per il movimento laterale o modificando il servizio sfruttato. Nella maggior parte dei casi, l'isolamento dell endpoint può interrompere rapidamente ed efficacemente qualsiasi interazione, interrompendo la comunicazione del sistema bersaglio verso o da qualsiasi punto, ad eccezione di un elenco predefinito di sistemi. Ciò consente di raccogliere ulteriori prove in remoto senza dover mettere il sistema offline e rispedirlo al team di risposta agli incidenti, che può eseguire l'indagine in remoto prima di restituire il sistema al team IT locale o all'utente finale.
Se identifichiamo un account che viene abusato per il movimento laterale, possiamo disabilitare l'account in Active Directory. Se si tratta di un account locale, è meno probabile che l'aggressore riesca ad andare molto lontano, poiché gli account locali non hanno privilegi di gruppo applicati e impediscono all'aggressore di muoversi lateralmente.
È possibile ottenere un risultato simile anche sfruttando lo stack di rete per eseguire l'isolamento, sfruttando le ACL (Access Control List) o inserendo il sistema in una VLAN separata per bloccare l'interazione con gli altri sistemi della rete. La creazione di una VLAN per la bonifica è una pratica comune, e questa VLAN consente all'endpoint di parlare con i sistemi di gestione come il server di aggiornamento di Windows Patch Server, Microsoft System Center Configuration Manager (SCCM) o l'endpoint detection and response (EDR) antivirus, ma in nessun altro punto della rete.
Un altro modo per ottenere l'isolamento è sfruttare i GPO (Group Policy Objects) di Microsoft per gestire le regole del firewall endpoint di Windows. Si crea un criterio per bloccare tutti i servizi per impostazione predefinita e poi si inseriscono in una whitelist i servizi critici. Una nota importante è che dovrete assicurarvi che i criteri locali siano ignorati, poiché un utente (o un malware) può modificare le regole del firewall dei sistemi locali per impostazione predefinita.
Per i servizi critici in cui non è possibile isolare semplicemente il sistema senza impattare sull'azienda, si può pensare di limitare l'accesso al servizio in base all'IP di origine o all'account. Su un sistema Linux, potremmo sfruttare le tabelle ip o aggiornare /etc/host.deny. Dovremmo anche considerare l'accesso dal sistema: se si tratta di un relay di posta, forse possiamo limitare esclusivamente il traffico da e verso la porta TCP 25 e verso una destinazione Internet (Exchange) mentre indaghiamo ulteriormente. Non sarà possibile scrivere un libro di giochi per ogni scenario; detto questo, è importante essere consapevoli che possono presentarsi scenari insoliti e che richiederanno competenze di Incident Response.
Seconda parte: portare il tutto nel cloud:
La velocità è un ingrediente fondamentale per il successo del contenimento: accedere a un'altra piattaforma, trovare l'host o il criterio desiderato e applicarlo richiede tempo. Vectra permette ai team di sicurezza di contenere direttamente nella piattaforma, gli utenti possono facilmente vedere e gestire le impostazioni di contenimento da un unico pannello di vetro.
Nella prossima parte di questa serie di blog, esamineremo quali azioni possono essere intraprese per l'infrastruttura nel cloud e come automatizzare le azioni di blocco da Vectra.