Come identificare i bot dannosi per la tua rete in 5 passaggi
Non รจ un segreto che i bot dannosi svolgano un ruolo cruciale nelle violazioni di sicurezza sulle reti aziendali. I bot vengono spesso usati dai malware per propagarsi in una rete aziendale, tuttavia, l’identificazione e la rimozione di elementi dannosi รจ complicata dal fatto che molti processi di routine in un ambiente operativo, come gli aggiornamenti software, sfruttano la medesima tecnologia.
Fino a poco tempo fa non c’era un modo efficace per i team di sicurezza di distinguere tra bot “cattivi” e “buoni”. I feed open source e le regole delle community che pretendono di identificare i bot sono di scarso aiuto: contengono troppi falsi positivi. Alla fine, gli analisti della sicurezza finiscono per dover combattere contro logoranti avvisi legati all’analisi e a dover inseguire tutti gli alert di sicurezza irrilevanti attivati dai bot โbuoniโ.
In Cato abbiamo affrontato un problema simile nella protezione delle reti dei nostri clienti. Per risolverlo, abbiamo sviluppato un nuovo approccio. Si tratta di una metodologia multidimensionale implementata nella nostra strategia di sicurezza come servizio, che identifica il 72% in piรน di eventi dannosi rispetto a quanto sarebbe stato possibile utilizzando solo feed open source o regole della community.
La parte migliore รจ che puoi implementare una strategia simile sulla tua rete. I tuoi strumenti saranno lo โstock-and-tradeโ di qualsiasi ingegnere di rete: accesso alla rete, un metodo per gestire il traffico, sensore tipo al tocco e spazio su disco sufficiente per archiviare i pacchetti di una settimana. Ecco come analizzare queste acquisizioni di pacchetti per proteggere la rete al meglio.
I cinque vettori per identificare il traffico di bot dannosi
Come ho detto, usiamo un approccio multidimensionale. Sebbene nessuna variabile sia in grado di identificare con precisione i bot dannosi, le informazioni aggregate derivanti dalla valutazione di piรน vettori ci aiuterร a farlo. L’idea รจ di restringere gradualmente il campo dalle sessioni generate dalle persone a ciรฒ che potrebbe indicare un rischio per la rete.
Il nostro processo รจ semplice:
- discriminare i bot dalle persone,
- distinguere tra browser e altri client,
- individuare i bot all’interno dei browser,
- analizzare il carico utile,
- determinare il rischio di un target.
Approfondiamo ciascuno di questi passaggi.
Discriminare i bot dalle persone misurando la frequenza di comunicazione
I bot di tutti i tipi tendono a comunicare continuamente con i loro obiettivi. Ciรฒ succede perchรฉ devono ricevere comandi, inviare segnali โkeep-aliveโ o esfiltrare dati. Un primo passo per distinguere tra bot e persone รจ identificare le macchine che comunicano ripetutamente con un target,
perchรฉ รจ ciรฒ che vuoi scoprire: gli host che comunicano con molti target periodicamente e continuamente. Nella nostra esperienza, una settimana di traffico รจ sufficiente per determinare la natura delle comunicazioni client-target. Statisticamente, piรน uniformi saranno queste comunicazioni, maggiore รจ la possibilitร che siano generate da un bot (vedi Figura 1).
Unisciti alla nostra Masterclass sulla sicurezza informatica, che spazia dalla disinformazione ai deepfake
Distinguere tra browser e altri client
Sapere semplicemente che un bot esiste solo su una macchina non aiuterร molto: come abbiamo detto, la maggior parte dei dispositivi genera traffico bot. Per questo, รจ necessario esaminare il tipo di client che comunica sulla rete. In genere, i bot “buoni” esistono all’interno dei browser mentre i “cattivi” operano al di fuori di essi.
I sistemi operativi hanno diversi tipi di client e librerie che generano traffico. Ad esempio, “Chrome”, “WinInet” e “Java Runtime Environment” sono tutti tipi di client diversi. All’inizio, il traffico che generano puรฒ sembrare lo stesso, ma ci sono alcuni modi per distinguere tra i client e arricchire il nostro contesto.
Inizia esaminando le intestazioni a livello di applicazione. Dato che la maggior parte delle configurazioni dei firewall consente di usare HTTP e TLS in qualsiasi indirizzo, molti bot sfruttano questi protocolli per comunicare con i loro target. ร possibile identificare i bot che operano all’esterno dei browser identificando gruppi di funzionalitร HTTP e TLS configurate dal client.
Ogni sessione HTTP ha un set di intestazioni di richiesta che la definiscono e stabiliscono il modo in cui il server deve gestirla. Queste intestazioni, il loro ordine e i relativi valori vengono impostati durante la composizione della richiesta HTTP (vedi Figura 2). Allo stesso modo, gli attributi di sessione TLS, come suite di crittografia, elenco delle estensioni, ALPN (Application-Layer Protocol Negotiation) e curve ellittiche, sono stabiliti nel pacchetto TLS iniziale, detto “client hello”, che non รจ crittografato. Il clustering delle diverse sequenze di attributi HTTP e TLS indicherร probabilmente bot diversi.
In questo modo, ad esempio, ti consentirร di individuare il traffico TLS con diverse suite di crittografia. ร un buon indicatore che il traffico si genera al di fuori del browser – un approccio davvero diverso da quello umano e, quindi, un buon indicatore del traffico bot.
Individuare i bot all’interno dei browser
Un altro metodo per identificare i bot dannosi consiste nell’esaminare informazioni specifiche contenute nelle intestazioni HTTP. I browser Internet di solito hanno un’immagine di intestazione chiara e standard. In una normale sessione di navigazione, cliccando su un collegamento all’interno di un browser si genererร un’intestazione “referrer” che verrร inclusa nella successiva richiesta per quell’URL. Il traffico bot di solito non ha un’intestazione “referrer” o, peggio, รจ falsificato. Identificare i bot che hanno lo stesso aspetto in ogni flusso di traffico probabilmente รจ un indice della relativa dannositร .
โUser-agentโ รจ la stringa piรน nota, che rappresenta il programma che avvia una richiesta. Varie fonti, ad esempio, fingerbank.org, corrispondono ai valori agente utente con le versioni note del programma. L’utilizzo di queste informazioni puรฒ aiutare a identificare bot anomali. Ad esempio, i browser piรน recenti utilizzano la stringa “Mozilla 5.0” nel campo โuser-agentโ. Trovare una versione precedente di Mozilla o la sua completa assenza indica una stringa agente utente bot anomala. Nessun browser affidabile creerร traffico senza un valore โuser-agentโ.
Analizzare il carico utile
Detto questo, non vogliamo limitare la nostra ricerca dei bot solo ai protocolli HTTP e TLS. Questo si puรฒ fare guardando oltre a detti protocolli. Ad esempio il protocollo IRC, in cui i bot IRC hanno avuto un ruolo nell’attivitร delle botnet dannose. Abbiamo anche osservato campioni di malware noti che utilizzano protocolli sconosciuti proprietari su porte note, che si potrebbero contrassegnare utilizzando l’identificazione dell’applicazione.
Inoltre, la direzione del traffico (in entrata o in uscita) ha un valore significativo in questo caso.
I dispositivi connessi direttamente a Internet sono costantemente esposti alle attivitร di scansione e, pertanto, si potrebbe individuare questi bot tra gli scanner in entrata. D’altra parte, l’attivitร di scansione in uscita indica un dispositivo infettato da un bot con funzioni di scansione. Ciรฒ potrebbe essere dannoso per la destinazione sottoposta a scansione e mettere a rischio la reputazione dell’indirizzo IP dell’organizzazione. Il grafico sottostante mostra i picchi dei flussi di traffico in un breve lasso di tempo. Ciรฒ potrebbe indicare l’attivitร di bot con funzioni di scansione. Si puรฒ analizzare questo comportamento sfruttando il calcolo flussi/secondo.
Analisi del target: Conosci le tue destinazioni
Fino ad ora abbiamo cercato indicatori sui bot usando la frequenza delle comunicazioni client-server e nel tipo di client. Ora, proviamo un’altra dimensione: la destinazione o l’obiettivo. Per determinare i target dannosi, si possono considerare due fattori: reputazione e popolaritร .
La reputazione del target calcola la probabilitร che un dominio sia dannoso in base all’esperienza raccolta da molti flussi. La reputazione รจ determinata da servizi di terze parti o attraverso un calcolo eseguito in autonomia, che tiene nota di ogni volta che gli utenti segnalano un obiettivo come dannoso.
Molto spesso, tuttavia, le fonti piรน semplici necessarie a determinare la reputazione dei target, come i feed di reputazione URL, da sole non sono sufficienti. Ogni mese vengono registrati milioni di nuovi domini. Con cosรฌ tanti nuovi domini, i meccanismi basati sulla relativa reputazione mancano di un contesto sufficiente per classificarli correttamente, offrendo un alto tasso di falsi positivi.
Facciamo una sintesi
Mettiamo insieme tutto ciรฒ che abbiamo imparato per identificare le sessioni come segue:
- elementi creati da una macchina piuttosto che da una persona
- elementi generati al di fuori del browser o che generano traffico del browser con metadati anomali
- elementi che comunicano con obiettivi a bassa popolaritร , in particolare, se non sono classificati o contrassegnati come dannosi, di conseguenza, si dovranno considerare come sospetti. I tuoi bot legittimi e โbuoniโ non dovrebbero comunicare con obiettivi a bassa popolaritร .
Esercizio: sotto lo scudo di rete del malware Andromeda
ร possibile utilizzare una combinazione di questi metodi per individuare vari tipi di minacce sulla rete. Diamo un’occhiata a un esempio: come rilevare il bot Andromeda. Andromeda รจ un downloader molto comune per altri tipi di malware. Identifichiamo Andromeda analizzando i dati seguendo quattro dei cinque approcci che abbiamo discusso.
Reputazione dei target
Abbiamo notato la comunicazione con “disorderstatus[.]ru” che รจ un dominio identificato come dannoso da diversi servizi di reputazione. Le categorie legate al sito tratte da varie fonti sembrano essere: “fonte di infezione nota; reti di bot”. Tuttavia, come abbiamo notato, questo fattore da solo non รจ sufficiente in quanto non indica se l’host specifico รจ stato infettato da Andromeda; un utente potrebbe aver navigato su quel sito. Inoltre, come detto, il tuo URL verrร classificato come “sconosciuto” o “non dannoso”.
Popolaritร dei target
Su diecimila utenti, solo la macchina di un utente comunica con questo target: รจ molto insolito. Ciรฒ conferisce al target un punteggio di popolaritร basso.
Frequenza di comunicazione
Nell’arco di una settimana abbiamo visto un traffico continuo per tre giorni tra il client e il target. La comunicazione ripetitiva รจ di nuovo un altro indicatore di un bot.
Analisi dell’intestazione
Lo user-agent richiedente รจ “Mozilla/4.0”, un browser attuale, ma non valido, che indica che si tratta probabilmente di un bot.
Sintesi
Il rilevamento dei bot su reti IP non รจ un compito facile, ma sta diventando una parte fondamentale delle pratiche di sicurezza di rete e della caccia ai malware in particolare. Combinando le cinque tecniche che abbiamo presentato qui, si possono rilevare i bot dannosi in modo piรน efficiente.
Segui i link per saperne di piรน sui nostri servizi di sicurezza, sul servizio Cato Managed Threat Detection and Response e sulla piattaforma SASE.