Il testo a firma di Alessio Mercuri, Senior Security Engineer di Vectra AI, spiega perché occorre grande profondità di analisi per ogni flusso di dati tracciato e in che modo il Machine learning può aiutare i team di security a comprendere i comportamenti del traffico criptato e rilevare attività di command and control.
Command and control criptati: si possono davvero coprire le proprie tracce?
Oggi la quantità di traffico web criptato è aumentata del 95% rispetto a dieci anni fa e si base in gran parte sulla crittografia TLS per la sicurezza delle comunicazioni client-server. Servizi come Let’s Encrypt hanno reso più accessibile e conveniente l’implementazione di HTTPS, garantendo la nostra privacy online. Tuttavia, questa crittografia pone anche delle sfide, in particolare per i professionisti della sicurezza che lavorano per rilevare i canali criptati di command and control (C2) utilizzati dagli attaccanti informatici.
La prospettiva dell’attaccante
Dal punto di vista dell’attaccante, è importante riuscire a nascondersi anche negli ambienti ibridi. Ovunque arrivi, deve stabilire un canale di command and control per mimetizzarsi e nascondere le proprie comunicazioni. Il framework MITRE ATT&CK descrive molti dei tipi comuni di canali C2, come i canali multistage, i proxy multi-hop e il tunnelling HTTPS. Questi canali sono spesso criptati utilizzando TLS o mascherando il traffico HTTPS per confondersi con il traffico web e per criptare le comunicazioni e rendere più difficile il rilevamento.
Gli attaccanti si avvalgono anche di ulteriori tecniche di offuscamento che rendono ancora più difficile il rilevamento dei canali command and control. Non solo l’uso della crittografia all’interno dei canali di comunicazione per ostacolare l’analisi, ma anche tecniche come il jitter (creazione di tempistiche più casuali per i beacon per evitare di cercarne di regolari) e il padding.
A volte sono presenti anche un ulteriore livello di crittografia all’interno dei canali di comunicazione, per impedire agli analisti della sicurezza di leggere i dati inviati, e variabili temporali come il jitter di sessione, per mascherare il comportamento regolare dei beacon nel tempo.
La prospettiva del team di sicurezza
Individuare i canali command and control nel traffico Internet è fondamentale per gli analisti della sicurezza. Il loro compito è ostacolato non solo dalla crittografia del traffico degli attaccanti, ma anche dal fatto che gran parte di Internet ora funziona su traffico crittografato e utilizza WebSocket e lunghe sessioni aperte che possono assomigliare a un comportamento di command and control. A tal fine, gli analisti devono esaminare non solo il traffico grezzo, ma anche i suoi metadati. Il traffico di flusso può essere utile, ma esaminare le metriche più profonde di questi flussi, come gli intervalli di tempo di trasmissione, può rivelare il traffico che è opera degli attaccanti nelle sessioni crittografate.
Fortunatamente, le capacità di Vectra AI offrono questa profondità di analisi per ogni flusso di dati tracciato, con campionamenti granulari fino a intervalli di mezzo secondo. Questo include metriche come i byte inviati e ricevuti nel tempo, fornendo una visione delle dinamiche di ogni interazione.
Machine learning per rilevare command and control
La strategia di utilizzo efficace dei dati che abbiamo adottato in Vectra AI per rilevare i canali di command and control ha seguito diversi approcci, con una forte attenzione alle tecniche di Machine learning supervisionato. Diversi algoritmi di Machine learning che lavorano in contemporanea offrono una visione sia complessiva sia granulare dei comportamenti degli attaccanti:
- Random forest: composte da più “alberi” decisionali, le random forest eccellono nel fornire una telemetria a grana grossa. Monitorano finestre di serie temporali e tengono traccia di oltre 20 caratteristiche, tra cui il rapporto dati client/server, la coerenza dei dati, la frequenza di interruzione del server e la durata della sessione.
- Recurrent Neural Networks (RNN): le RNN consentono di rappresentare i comportamenti temporali, in cui una sequenza influenza la successiva, rivelando caratteristiche uniche determinate dall’agire dell’uomo. In sostanza, le RNN imitano la memoria umana.
- Long Short-Term Memory (LSTM) Deep Learning Neural Networks: le reti LSTM possono apprendere dipendenze e relazioni temporali a lungo raggio, compresa la capacità di dimenticare. Questo approccio è versatile e applicabile in diversi casi d’uso, inclusa l’elaborazione di linguaggio naturale. Nel campo della sicurezza, consente di tracciare i modelli di attività rilevanti degli attaccanti per periodi prolungati.
Il potere della convergenza
La convergenza di questi metodi di Machine learning, ciascuno meticolosamente sviluppato e perfezionato nel corso degli anni, consente a Vectra AI di comprendere i comportamenti del traffico criptato e generare alert ad alta fedeltà per rilevare attività di command and control. Il successo dipende dall’attenta applicazione di questi metodi e dalla qualità dei dati utilizzati per l’apprendimento.
Rilevare e dare priorità ai canali di command and control criptati con precisione e minimo rumore è una sfida enorme, che va oltre le capacità di un semplice rilevatore di anomalie. Per raggiungere questo livello di sicurezza sono necessari i dati giusti, i metodi di Machine learning più adatti e un team dedicato con esperienza nella costruzione e nella messa a punto dei modelli.
di Alessio Mercuri, Senior Security Engineer di Vectra AI