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.

Vedi anche

Fonti