Analisi Malware — Architettura PE e ELF
L'unico sistema sicuro è quello spento, sigillato in un bunker e custodito da orsi. — Gene Spafford.
L'analisi dei malware è fondamentale per la sicurezza informatica. Due delle architetture più comuni nei file eseguibili maliciosi sono Portable Executable (PE) e Executable and Linkable Format (ELF). Questo articolo offre una panoramica dettagliata di queste due formattazioni, analizzando i loro componenti chiave e mostrando come identificarli in un contesto operativo.
Contesto e Problema
Nel mondo della sicurezza informatica, è cruciale comprendere le strutture dei file eseguibili per riconoscere e prevenire l'ingresso di malware. I file PE e ELF sono i formati più diffusi nei quali vengono scritti i malware Windows e Linux rispettivamente.
Punti Chiave
1. Struttura del File PE
Il Portable Executable (PE) è il formato utilizzato per i file eseguibili su Windows. La sua struttura è complessa e include diversi header e sezioni.
a. Header ESEGUIBILE
- Signature: MZ, segnala che il file è un'esecutabile.
- PE Signature: PE\0\0, identifica l'inizio del segmento di eseguibile.
- File Header: Contiene informazioni sul file, come la sua versione e le sezioni.
b. Sezioni
Le sezioni contengono il codice e i dati dell'esecutabile. Ogni sezione ha un nome, dimensioni fisiche e virgini, e tipi di compressione.
2. Struttura del File ELF
L'Executable and Linkable Format (ELF) è il formato standard per i file eseguibili su sistemi Linux. Le sue caratteristiche principali sono:
a. Header ELF
- Magic Number: 7f 45 4c 46, segnala che il file è un ELF.
- Class: 32 o 64 bit.
- Data: Endianess (endianness).
- Version: Versione del formato.
b. Sezioni
Le sezioni in ELF includono testo, dati, simboli e altri metadati utili per l'esecuzione.
Esempi Concreti
1. Malware Windows: PE
Un esempio di malware scritto in PE è il TrojanDownloader.Rbot. Questo malware utilizza tecniche come la codifica e l'obfuscation per evadere le soluzioni antivirus. Indicatore chiave:
- IOC: PE\0\0 nel header dell'eseguibile.
2. Malware Linux: ELF
Un esempio di malware scritto in ELF è il Backdoor.Linux.TribalFaucet. Questo backdoor utilizza tecniche come la gestione delle connessioni e l'ingresso nascosto per accedere al sistema. Indicatore chiave:
- IOC: 7f 45 4c 46 nel header del file.
Analisi e Controlli
1. Verifica della Signature
- Utilizzare strumenti come PEiD o objdump per verificare la presenza di signature specifiche.
2. Analisi delle Sezioni
- Estrarre le informazioni dalle sezioni utilizzando strumenti come dumpbin (Windows) o readelf (Linux).
3. Ricerca di Indicatività
- Utilizzare strumenti come ClamAV o Sophos per identificare specifiche sequenze di byte che indicano la presenza di malware.