Computer Forensic vs eMule

Con questo promemoria voglio condurre i lettori di questo stupendo spazio nel mondo del “peer to peer”.

Non ho sicuramente la presunzione di illuminarvi nel P2P ma almeno di condividere con voi (visto che siamo in tema) quelle poche informazioni che ho acquisito, dalla mia attività lavorativa.

Non vi voglio spiegare configurazione e utilizzo dei vari programmi di “file sharing” ma, quel poco che so in materia di analisi di files di configurazione del cosiddetto Mulo e successivamente, se piace quanto scrivo, l’analisi di una sessione di traffico emule ed i sistemi di identificazione di un utente in eMule.

Cercherò quindi di dare delle informazioni sul programma di P2P eMule e quindi del protocollo eDonkey.

È banale dirlo ma il P2P serve per condividere risorse all’interno di una precisa rete.

In una rete P2P ciascun nodo ha funzionalità sia di client che di server e può essere parzialmente o completamente autonomo nel senso che non dipende da alcuna autorità centrale. Una buona rete P2P si misura su come tutto il sistema riesce a contribuire a rendere efficiente l’algoritmo di routing. Questo algoritmo deve instradare, in fase di ricerca, i messaggi dei vari users nella direzione più opportuna, coprendo il percorso più breve possibile, ed evitando la duplicazione dei messaggi.

Esistono vari tipi di reti P2P: Classica, Peer to Peer e Ibrida.

La figura centrale mostra una rete Ibrida, ovvero un sistema che si compone sia di una rete Classica che di una Peer to Peer.

Il cerchio rosso rappresenta una rete Classica come quella sulla sinistra della rete Ibrida, mentre il cerchio blu è la porzione di rete Peer to Peer presente nel sistema Ibrido.

Perché mi sono soffermato maggiormente sulla rete Ibrida?

Perché la rete del protocollo eDonkey di eMule è una rete Ibrida.

I sistemi Ibridi sono le architetture più diffuse. In queste reti esistono decine di server centrali ai quali si collegano anche migliaia di client. I server si occupano dell’aggiornamento delle fonti (cioè dei client che detengono effettivamente la risorsa che deve essere condivisa), delle liste del materiale digitale, di mettere in comunicazione i client tra loro ecc…

I vantaggi di un sistema di questo tipo sono la distribuzione del carico di lavoro tra client e server, l’utilizzo di protocolli più efficienti per l’aggiornamento e lo scambio del materiale digitale, maggiore scalabilità e la migliore resistenza del network anche se il supporto di alcuni server viene a mancare.

Gli svantaggi di un sistema di questo tipo sono rappresentati dalla parte della rete classica che avvicina troppo la rete Ibrida ad un sistema centralizzato.

La rete eDonkey può essere definita come un network IBRIDO, di SECONDA GENERAZIONE ovvero una rete ove i files viaggiano spesso compressi, ma è quasi sempre possibile individuare con certezza il client che detiene, condivide, cede, o pubblicizza il proprio materiale.

In rete esistono molti programmi che utilizzano il protocollo eDonkey. Il più famoso è eMule. Il sorgente di eMule è libero, e quindi esistono molti “modificazioni” di eMule che sono detti Mods.

Questa primo articolo vuole parlare solo dell’aspetto cosiddetto forense e quindi vorrei descrivere quelle che sono le informazioni che si posso ricavare dalla lettura dei files presenti nel programma eMule.

Una volta installato qualsiasi programma di eMule vengono creati vari files e cartelle all’interno di c:\programmi\[nome del programma eMule].

Nella cartella “Config” sono presenti tutti i files di interesse investigativo. L’analisi di questi files è possibile con il semplice WordPad o addirittura con WinHex, ed i files di interesse dai quali è possibile trarre informazioni utili sono:

AC_SearchStrings.dat che memorizza la cronologia delle ricerche, ed è molto utile per la funzione di completamento automatico.

Addresses.dat che contiene una lista di siti dai quali è possibile scaricare la lista aggiornata dei server

Shareddir che memorizza la lista delle cartelle condivise;

Fileinfo.ini, memorizza i commenti dell’utente per ogni file;

Preferences.ini memorizza la configurazione principale del client. Da questo file si può anche ricavare il Nick che usa l’utente e la cartella di condivisione creata, aggiuntiva a quella di default del programma che è sempre “Incoming”

Emfriends.met contiene la lista degli amici attuali.

Known.met memorizza gli hash e il nome dei files attualmente in condivisione.

In questa prima parte ho descritto, molto velocemente, quali files posso andare ad analizzare per trarre immediatamente informazioni utili da un’attività di computer forensic su un PC ove è installato un programma eMule.

Se me ne sarà data la possibilità è mia intenzione proseguire con la descrizione di quali sono le informazioni utili per riconoscere l’identità di un utente che utilizza il cliente eMule e successivamente riuscire a parlare dell’analisi del protocollo eDonkey.

Grazie a tutti ed al prossimo appuntameto.

Giuseppe Di Ieva