211service.com
Rompere il codice della botnet
Le reti di computer compromessi controllati da un server centrale, meglio conosciute come botnet, sono un coltellino svizzero di strumenti per i criminali online. Gli hacker possono utilizzare questi sistemi cooptati per sfornare spam, ospitare codice dannoso, nascondere le proprie tracce su Internet o inondare una rete aziendale per interromperne l'accesso al Web.
Ogni volta che appare una nuova botnet, i ricercatori fanno a gara per decodificare il software che installa sulla macchina della vittima e per decodificare il modo in cui ogni bot comunica con il server di controllo. Poiché queste comunicazioni sono spesso crittografate, tali analisi possono richiedere settimane o mesi. Ora i ricercatori dell'Università della California a Berkeley e della Carnegie Mellon University hanno creato un modo per decodificare automaticamente le comunicazioni tra i computer compromessi e i loro server di controllo.
In un documento che sarà presentato questa settimana all'Association for Computing Machinery's Conferenza sulla sicurezza informatica e delle comunicazioni , i ricercatori mostrano come il reverse engineering automatico può decifrare la struttura e lo scopo delle comunicazioni tra un server di comando e controllo e i suoi bot.
Il protocollo di comunicazione della botnet è il fulcro della botnet, afferma Juan Caballero, uno studente di dottorato affiliato sia all'Università della California a Berkeley che alla Carnegie Mellon University e autore principale dell'articolo. È così che l'attaccante invia i comandi alla botnet.
Quando i ricercatori hanno precedentemente provato ad analizzare automaticamente i protocolli di comunicazione botnet, si sono concentrati sulla decifrazione dei comandi ricevuti dal cliente. Eppure Caballero, insieme all'assistente professore dell'UC Berkeley Dawn Song e ad altri due colleghi, ha sviluppato una tecnica che traduce sia i comandi ricevuti da un cliente che le risposte che invia.
I ricercatori hanno quindi eseguito il codice della botnet su una macchina virtuale e hanno analizzato il movimento delle informazioni da e verso i registri di un computer, componenti di memoria all'interno del processore di una macchina, prima che venissero crittografate. Osservare i cambiamenti nei registri di memoria - i ricercatori chiamano questa decostruzione del buffer - ha permesso loro di derivare la struttura delle comunicazioni botnet e dedurre la funzione dei vari componenti di ciascun comando.
Ciò è rilevante per il malware, perché in genere non disponiamo dell'eseguibile per il server di comando e controllo di una botnet, ha affermato Paolo Milani, ricercatore post-dottorato presso il Secure System Lab del Vienna Institute of Technology e autore di un precedente documento sull'analisi automatizzata del protocollo. Quindi, con le tecniche precedenti, non saremmo stati in grado di decodificare automaticamente il lato client del protocollo.
I ricercatori hanno costruito la tecnica risultante in uno strumento, chiamato Dispatcher, per analizzare le comunicazioni di rete botnet e persino iniettare nuove informazioni nel flusso di comunicazioni. I ricercatori hanno testato l'approccio su una botnet complessa nota come MegaD, che ha fatto notizia all'inizio del 2008 quando le società di sicurezza hanno notato che era responsabile di quasi un terzo del traffico di spam in tutto il mondo.
I ricercatori hanno analizzato 15 messaggi che avevano raccolto monitorando un bot MegaD: sette comandi inviati dai server di controllo e otto risposte dal bot. Lo strumento Dispatcher ha analizzato il bot durante l'esecuzione sulla macchina virtuale e ha rilevato automaticamente il punto in cui il programma ha decrittografato i comandi ma non aveva ancora crittografato le sue risposte.
Gli amministratori di rete possono anche utilizzare lo strumento Dispatcher per infiltrarsi nella botnet. I clienti MegaD in genere controllano se possono inviare e-mail, in modo da diventare un utile ingranaggio in una campagna di spamming. Tuttavia, poiché i ricercatori bloccano tutto il traffico di posta in uscita, il client normalmente invia un messaggio al server di controllo dicendo che il test della posta non è riuscito. Ma i ricercatori hanno modificato il messaggio durante il percorso, rispondendo invece con il codice per un test di spamming riuscito.
Normalmente, avrebbe inviato un messaggio dicendo che non può spam, dice Caballero di UC Berkeley. Abbiamo [invece] effettivamente ottenuto il modello di spam, quindi abbiamo potuto vedere che tipo di spam avrebbe inviato.
Strumenti come Dispatcher potrebbero espandere quello che attualmente è un piccolo numero di ricercatori che decodificano regolarmente le botnet, afferma Joe Stewart, ricercatore senior per la sicurezza per SecureWorks , una società di sicurezza di rete. Risolverebbe un problema che il mondo ha: avere abbastanza persone per analizzare le botnet, dice. Ci sono solo così tante persone che possono eseguire il reverse engineering sulle botnet. Hai un gruppo di entusiasti che potrebbero usare questo per aiutarli.
Stewart aggiunge, tuttavia, che i ricercatori esperti non hanno ancora bisogno di tali strumenti automatizzati per analizzare la maggior parte dei malware. Mentre le botnet più complicate possono richiedere settimane per decodificare, il malware comune riscontrato dalla maggior parte delle aziende e delle organizzazioni non è affatto un problema. Oltre il 90% di tutte le botnet utilizza una crittografia facile da violare per proteggere le proprie comunicazioni, rendendo le tecniche manuali relativamente facili e veloci.
Non tutti i (bot master) necessitano della crittografia di tipo MegaD, afferma Stewart. Semplicemente non penso che valga la pena dedicare loro tempo, non con l'effetto che stiamo avendo su di loro ora, che è minimo.
Tuttavia, le botnet continueranno a evolversi, afferma Song di UC Berkeley. I programmi botnet stanno diventando più complicati, afferma. Stanno usando varie tecniche di offuscamento e così via. Quindi forse l'analisi manuale può funzionare per ora, ma in futuro avremo bisogno di strumenti migliori.