Il settore della cyber sicurezza è prevedibilmente in fermento dopo il recente incidente di sicurezza di Uber. In questo caso, segnalato per la prima volta il 15 settembre, un attaccante, presumibilmente diciottenne, è stato apparentemente in grado di violare l’infrastruttura IT del gigante del ridesharing e di accedere ai dati degli utenti, oltre a segnalare la vulnerabilità all’account HackerOne di Uber.
È importante notare che non si tratta di una violazione che si sarebbe potuta evitare con una singola soluzione tecnologica. In questo caso, la colpa non è di una sola persona, azienda o fornitore.
Per quanto riguarda l’attacco in sé, sono diversi gli elementi interessanti da cui i professionisti della sicurezza informatica possono imparare. Gran parte dell’analisi si è concentrata sull’elemento umano, analizzando l’ingegneria sociale e la difficoltà dell’autenticazione a più fattori, ma il vero punto di svolta dell’attacco è avvenuto dopo l’accesso iniziale.
L’aggiornamento della sicurezza effettuato da Uber il 19 settembre ha risposto ad alcune domande (e ne ha fatte emergere di nuove) indicando Lapsus$ come un gruppo di potenziali attaccanti di interesse.
“È davvero importante chi fosse l’attaccante o come sia entrato?”, è la domanda che ci si pone. Se i professionisti della sicurezza hanno una mentalità di “supposizione di violazione”, ciò che è accaduto dopo il punto di partenza iniziale rende questo attacco non solo degno di nota, ma anche perseguibile.
Cerchiamo allora di analizzare meglio l’hack di Uber, concentrandoci sulle credenziali hard-coded che sarebbero state utilizzate per ottenere l’accesso amministrativo. Dimostreremo, inoltre, come difese sovrapposte possano lavorare insieme per ostacolare gli attacchi correlati.
Indice degli argomenti
Cosa sappiamo già di questo attacco
Accesso iniziale
Ottenendo l’accesso alle credenziali dell’infrastruttura VPN di Uber, l’attaccante è riuscito a entrare nell’ambiente IT di Uber.
Discovery
Il fornitore il cui account è stato violato probabilmente non aveva diritti di accesso elevati o unici alle risorse critiche, ma aveva accesso a una condivisione di rete, come altri dipendenti di Uber. Questa condivisione era accessibile o mal configurata per consentire un’ampia lettura dell’elenco di controllo degli accessi. L’hacker ha quindi individuato uno script PowerShell con credenziali di accesso privilegiate codificate per la soluzione PAM (Privileged Access Management) di Uber all’interno della condivisione di rete.
Nota a margine: sia il personale IT che gli sviluppatori spesso automatizzano i processi creando script che richiedono qualche tipo di credenziale di autenticazione (ad esempio, il backup manuale o la generazione di report personalizzati estraendo i dati dai database). Queste credenziali possono essere diverse, da token privilegiati e chiavi SSH a token API fino ad altri tipi di password. È tipico degli sviluppatori incorporare (o codificare) queste credenziali nel codice per risparmiare tempo e garantire l’automazione. Questo rende difficile la gestione e la rotazione delle credenziali, perché sono aperte a chiunque abbia accesso al codice.
Le credenziali hard-coded utilizzate nella violazione di Uber consentivano l’accesso amministrativo a un programma di gestione degli accessi privilegiati. Sembra che queste credenziali non fossero state ruotate da tempo, il che le ha rese molto più semplici da sfruttare.
Accesso al sistema PAM ed escalation dei privilegi
L’attaccante è stato in grado di elevare ulteriormente i privilegi rubando le credenziali di amministrazione hard-coded della soluzione di gestione degli accessi privilegiati.
Accesso ai secret del sistema PAM e ai sistemi aziendali critici
L’attaccante ha ottenuto “autorizzazioni elevate per una serie di strumenti”, secondo un aggiornamento di Uber. L’accesso ai secret della soluzione di gestione degli accessi privilegiati ha creato un danno potenzialmente elevato.
Secondo quanto riferito, l’hacker ha ottenuto l’accesso al SSO, alle console e alla console di gestione del cloud che Uber utilizza per archiviare le informazioni finanziarie e riservate dei clienti.
Esfiltrazione di dati
Sebbene Uber stia ancora indagando sull’incidente, l’azienda ha confermato che l’attaccante “ha scaricato alcuni messaggi interni di Slack, nonché ha avuto accesso o scaricato informazioni da uno strumento interno che il nostro team finanziario utilizza per gestire alcune fatture.”
Suggerimenti per proteggere le credenziali integrate
Il primo passo per evitare un attacco simile sarebbe quello di liberarsi di tutte le credenziali incorporate. Consigliamo di interrompere questa pratica oltre a eseguire un inventario dell’ambiente per identificare ed eliminare qualsiasi credenziale hard-coded che possa essere presente nel codice, nelle configurazioni PaaS, negli strumenti DevOps e nelle applicazioni sviluppate internamente. Si tratta di un passaggio più facile a dirsi che a farsi, pertanto, è consigliabile concentrarsi innanzitutto sulle credenziali e sui secret più vitali e potenti dell’organizzazione, prima di estendere queste best practice nel tempo per ridurre gradualmente il rischio.
È poi necessario considerare l’adozione delle seguenti misure aggiuntive per rafforzare le difese dopo aver sviluppato una strategia per gestire le credenziali hard-coded: il rischio maggiore è ancora il furto di credenziali. E, come abbiamo osservato di recente, gli attaccanti stanno diventando sempre più abili nell’aggirare l’MFA utilizzando un’ampia gamma di vettori e metodi. In effetti, il caso di Uber è caratterizzato da più compromissioni dell’MFA. In questo senso, i membri del personale sono i guardiani, quindi vanno addestrati a riconoscere e segnalare il phishing per evitare il furto di identità. Poiché gli attacchi continuano a cambiare, ci si può aspettare attenzione, ma non precisione assoluta.
Inoltre, è importante assicurarsi che dipendenti e fornitori esterni abbiano il minor numero di autorizzazioni necessarie per svolgere le loro responsabilità. Va applicato costantemente il principio del minimo privilegio, a partire dall’endpoint, impostando parallelamente i programmi di gestione degli accessi privilegiati con la massima attenzione. L’accesso agli account privilegiati per gli amministratori deve essere concesso solo quando assolutamente necessario. Tutti gli accessi agli account privilegiati devono essere separati e convalidati.
Il problema dello “zero secret”, con il quale i professionisti della sicurezza hanno lottato a lungo, è stato nuovamente evidenziato da questo attacco: cosa succede se qualcuno riesce a entrare in possesso della chiave che protegge tutte le altre chiavi? Per questo motivo sono essenziali forti controlli di difesa in profondità, sia proattivi che reattivi, che garantiscono la presenza di altri sistemi in grado di rilevare e bloccare le minacce anche in caso di compromissione dell’MFA.
Anche la limitazione dei movimenti laterali può essere di grande aiuto, eliminando l’accesso permanente all’infrastruttura sensibile e alle interfacce online o cloud. L’elevazione dei privilegi just-in-time può ridurre significativamente l’accesso di qualsiasi identità compromessa, riducendo il raggio d’azione di un attaccante, soprattutto se abbinata a una solida autenticazione.
Vale la pena ribadire che non esiste una bacchetta magica per fermare gli attacchi informatici, e certamente non nel caso di Uber, così come non sono da biasimare strumenti e persone di cui dispone.
Nessuno crede più che gli attacchi possano essere fermati in modo assoluto, ma possiamo avere il controllo del loro impatto. Attacchi come quello di Uber possono essere mitigati da difese di sicurezza informatica solide e stratificate, rafforzate da una formazione costante e ripetuta del personale per aiutarlo a riconoscere le potenziali fonti di pericolo.
La presenza di questi aspetti rende più difficile per gli attaccanti prendere piede, muoversi, scoprire e raggiungere i propri obiettivi. Altrettanto importante è che permettano di ridurre al minimo il successo e l’impatto degli attacchi e tornare alle normali operazioni il più rapidamente possibile.
Questo è l’insegnamento significativo che tutti dovrebbero trarre e applicare alle proprie organizzazioni.