Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Reverse engineering per colpire il cuore delle botnet
Scritto da Cristina Rovetti il 13-11-2009 ore 10:32
Nell’ambito della programmazione informatica il reverse engineering è il processo che permette di risalire al codice scritto da uno sviluppatore, partendo dall'applicazione; ma nell’accezione più ampia permette anche di comprendere con accuratezza la struttura interna di un protocollo di comunicazione. Alla sedicesima conferenza ACM sulla sicurezza informatica e delle comunicazioni, un team di specialisti della Carnegie Mellon University e della California University ha presentato un sistema per carpire i segreti del protocollo di comunicazione di una rete botnet.

Queste reti virtuali sono spesso realizzate per finalità illecite e fraudolente, dallo spamming al phishing, fino agli attacchi DDoS, utilizzano protocolli di comunicazione di tipo command-and-control. Partendo dal presupposto che è possibile avere a disposizione sempre e solo un end-point nel network della botnet — tipicamente un PC compromesso all’insaputa dell’utente, il cosiddetto botil sistema ne intercetta i messaggi in uscita verso il server, applicando poi la tecnica del reverse engineering.

Questa permette l’estrazione del message format, cioè la struttura della sequenza dei campi di bit che costituiscono un messaggio e ne comprende automaticamente la semantica, cioè la tipologia di dati e il significato che caratterizza ogni singolo campo. Il message format così individuato costituisce la base del protocollo di comunicazione prima sconosciuto.

Il sistema, definito Dispatcher, agisce sui registri di memoria, intercettando i messaggi in uscita dal buffer e scomponendoli in campi tramite un algoritmo ricorsivo. I campi sono rappresentati in una struttura ad albero, definito message field tree, che costituisce la rappresentazione della loro struttura gerarchica; ogni foglia dell’albero rappresenta uno specifico campo, in stretta relazione con quelli gerarchicamente adiacenti.

Per ovviare al problema delle comunicazioni criptate, i ricercatori hanno pensato di agire sul buffer prima del processo di criptazione. Questo approccio è tipico delle tecniche di reverse engineering, che agiscono direttamente sull’applicazione che processa i dati e non su quelli che circolano in rete; in quest’ultimo caso le comunicazioni sarebbero già criptate e si aggiungerebbe un ulteriore ostacolo al processo. Infine un insieme di funzioni appositamente realizzate, che si basano su protocolli di comunicazione già conosciuti, si occupa di individuare i significati dei singoli campi (semantica).

Il sistema è stato testato su Mega-D, una rete botnet spesso impiegata per attività di spamming, dotata di un protocollo di comunicazione criptato. I risultati ottenuti nei test sono stati sorprendenti, visto che per la prima volta è stato possibile documentare il protocollo impiegato da Mega-D; tra l’altro, con le conoscenze acquisite, i ricercatori potrebbero inserirsi nel cuore della botnet, interagendo direttamente con il botmaster, a sua totale insaputa.
Precedente: Guida ai cavi e connettori: connettori VGA (2/2)
Successiva: Imparare ASP.NET 3.5
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.732 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.