Red Hot Cyber

Sicurezza informatica, cybercrime, hack
news, e altro ancora
  • English

nuvola: il nuovo BloodHound per AWS

nuvola è un progetto open-source sviluppato dal ricercatore dal Cyber Security Researcher italiano Edoardo Rosa (@_notdodo_), nonché Security Engineer in Prima Assicurazioni. Lo strumento è stato rilasciato pubblicamente durante la conferenza RomHack 2022, il 24 Settembre a Roma.

Nuvola è la prova diretta che l’ingegno italiano e la visione di imprese italiane al passo con i tempi sono in grado di alzare l’asticella della sicurezza per tutta la community: nuvola, il cui codice e documentazione sono stati rilasciati in forma aperta, ha lo scopo di aiutare gli tutti gli analisti di sicurezza cloud nel rilevamento della complessa problematica degli attacchi di privilege escalation in ambienti complessi come AWS.

Advertisements

Privilege Escalations

Un attaccante potrebbe iniziare le sue fasi d’attacco da una utenza con pochi privilegi ma, tramite l’abuso di permessi e/o vulnerabilità può farsi strada fino a raggiungere dei livelli di privilegi tali da causare danni irreparabili, ottenere persistenza nei sistemi o fino a prendere il completo controllo dell’account.

Tale attività prende il nome di privilege escalation ed è una delle varie tecniche utilizzate dagli attori malevoli per ottenere accesso ai dati e sistemi più importanti e sensibili delle aziende.

Advertisements

Una ricerca di Forrester ha dichiarato che l’80% dei data breach ha avuto modo grazie ad un furto di credenziali privilegiate che hanno permesso un primo accesso e successivi step di privilege escalation. Molte aziende ad oggi hanno adottato gli ambienti cloud con molto entusiasmo e rapidità con una conseguente riduzione, potenzialmente distruttiva, delle minime misure di sicurezza applicate a tali ecosistemi.

Come le altre tecniche utilizzate dagli attaccanti, le privilege escalation possono non essere rilevate, in particolar modo in ambienti cloud molto vasti e complessi in cui le aziende possono avere difficoltà nella visibilità e governance dei loro utenti interni, identità e operazioni effettuate.

Un gruppo di attori malevolo può analizzare e studiare l’infrastruttura della vittima per settimane o mesi (dwell time) prima di sferrare l’attacco senza che nessuno possa rilevarli. Nel 50% dei casi, infatti, la vittima non ha nemmeno la consapevolezza che un data breach è in atto senza una terza parte che la possa informare.

Nell’ambiente cloud di Amazon, AWS, quando si parla di sicurezza e misconfiguration un posto d’onore va assegnato al servizio di Identity and Access Management (IAM) in quanto permette di definire chi o cosa può fare all’interno dell’account. Ogni misconfiguration sui permessi associati a ruoli od utenti può portare ad un percorso di privilege escalation. L’unica possibilità di ridurre tali percorsi è quella di applicare sempre il principio del least privilege.

Advertisements

Tuttavia, non sempre è possibile applicarlo e comuni misconfiguration o vulnerabilità possono aprire la strada ad attacchi.

Cloud Security Context

Gli ambienti cloud sono in continua evoluzione con nuovi servizi resi disponibili, framework, tecnologie e metodologie di deployment; proprio per questo le aziende cambiano e si adattano a tali cambiamenti anche in ambito cloud security.

Un report da parte di Cloud Security Alliance (Technology and Cloud Security Maturity, 2022)

ha dichiarato che un allarmante 84% delle aziende ha affermato di non aver nessun tipo di automazione, ancor meno automazione riguardante ambiti di sicurezza informatica. In quanto l’Identity and Access Management è un fattore chiave per la messa in sicurezza delle aziende, l’automazione delle detection di possibili vulnerabilità o percorsi d’attacco potrebbe ridurre notevolmente la superficie d’attacco e quindi anche evitare data breach.

Advertisements

Oltre all’aspetto prettamente tecnologico, in un altro compendio da parte di Cloud Security Alliance (The State of Cloud Security Risk, Compliance, and Misconfigurations, 2022), la mancanza di conoscenze e competenze in ambito cloud è un problema costante e bloccante.

Non sorprende quindi che l’assenza di tali requisiti è stata identificata come:

  • la principale barriera per l’assenza di sicurezza cloud nelle aziende (59%)
  • la principale causa di misconfiguration o vulnerabilità (62%)
  • un blocco ad una gestione organica e proattiva dei problemi di sicurezza (59%)
  • l’impossibilità per implementare automazione delle remediation (56%)

Sempre dallo stesso report è possibile anche distillare che per il 68% la presenza di misconfiguration o l’esposizione ad incidenti di sicurezza è dovuta ad una mancanza di visibilità.

Una visione globale dell’infrastruttura e dei processi è vitale sia per un attaccante che per le aziende in quanto permette di effettuare un’analisi attua a trovare i percorsi d’attacco sfruttabili per ottenere accesso abusivo ai sistemi.

Advertisements

Una comprensione ad alto livello dell’ambiente permette alle aziende anche di definire meglio quali sono le priorità di azione e rispettare al meglio i requisiti di sicurezza.

Nonostante la parte di sicurezza IAM sia molto importante non bisogna tralasciare anche la parte di configurazione dei servizi e risorse che possono essere esposti (Alteryx, Twilio); per questo anche avviare dei processi di Cloud Security Posture Management (CSPM) può abilitare le aziende a mettere in sicurezza i proprio asset secondo predefiniti standard di sicurezza (CIS, PCI, NIST, SOC2) o regole di compliance custom per evitare falsi positivi o aumentare il proprio livello di detection dei problemi di sicurezza.

Alcuni tool che supportano analisi di sicurezza su AWS sono estremamente utili e ben organizzati ma, la maggior parte, pecca di una visione d’insieme dell’infrastruttura e, solitamente, è sempre necessaria una revisione manuale per eliminare i falsi positivi o contestualizzarli ad alto livello.

Entering nuvola

nuvola è uno strumento open-source creato con lo scopo di effettuare analisi di sicurezza automatiche e manuali su servizi e configurazioni AWS utilizzando un database a grafo e una semplice sintassi Yaml. L’idea di base del progetto è quella di creare un digital twin di una infrastruttura cloud. Ad esempio, nuvola riprende i concetti e tratti di BloodHound; famoso strumento utilizzato per effettuare analisi di sicurezza in ambienti Active Directory.

Advertisements

L’utilizzo di un database a grafo come modello del digital twin, permette di aumentare le possibilità di trovare diversi percorsi d’attacco, in modo offline e centralizzato. Proprio come BloodHound, nuvola sfrutta i principi ed i vantaggi della teoria matematica dei grafi (resi trasparenti dal database Neo4j) per scoprire e rivelare le relazioni tra le varie entità del sistema cloud permettendo quindi analisi e test.

Figure 1. Un percorso di privilege escalation di esempio rilevato da nuvola

Il tool è stato reso open-source da Prima Assicurazioni ed è stato pensato community-centric in quanto è possibile creare nuove o specifiche regole di analisi per proteggere i nostri ambienti cloud, nonché aggiungere nuove funzionalità allo strumento. Proprio il supporto alla definizione di regole nel formato Yaml può aiutare anche i non esperti a contribuire al progetto.

Ad esempio tramite nuvola è possibile creare un file Yaml per ricercare tutte le istanze EC2 senza IMDSv2 (una classica misconfiguration in ambito AWS). La sintassi per tale ricerca è notevolmente più semplice, rispetto a quella offerta dal linguaggio Cypher, e permette di avere gli stessi risultati. Tale insieme di regole può essere usato come Cloud Security Posture Management.

Advertisements

Figure 2. Esempio di output di una ricerca di istanze EC2 vulnerabili

Il maggior vantaggio nell’utilizzo di grafi è la possibilità di ottenere dei percorsi: da un oggetto ad un altro.

È possibile, quindi, utilizzando una sintassi Yaml, che possa ricercare tutti i percorsi da un utente o ruolo AWS a determinati target; per esempio tutti i percorsi di privilege escalation sfruttando determinati permessi per raggiungere i massimi privilegi.

Figure 3. Esempio di output per la ricerca di tutti ruoli od utenti che possono, usando CloudFormation e PassRole, raggiungere i privilegi di amministratore

Advertisements

L’immagine precedente identifica l’output di nuvola nella ricerca di ruoli che possono effettuare privilege escalation fino a raggiungere i massimi permessi (AdministratorAccess): in particolare i ruoli cloudformation-deployer e temp-backend-api-role-runner possono essere sfruttati per tale scopo.

Il codice sorgente di nuvola è disponibile su GitHub assieme alla wiki con i dettagli tecnici e alle slide presentate durante la conferenza RomHack 2022.