10.4. Investigazione di un incidente

L'investigazione della violazione di un computer, è simile ad una investigazione di un crimine. Gli investigatori raccolgono le prove, annotano ogni segno strano, e registrano ogni oggetto perso o danneggiato. L'analisi del computer, può essere effettuata sia durante un attacco oppure post-mortem (dopo l'attacco).

Anche se può essere avventato fidarsi di qualsiasi file di registrazione del sistema su di un sistema precedentemente violato, sono presenti altre utility per aiutarvi nella vostra analisi. Lo scopo e i contenuti di questi strumenti variano, ma essi possono creare generalmente copie bit-image di media, correlare eventi e processi, mostrare un livello basso d'informazione del file system, e recuperare file cancellati quando possibile.

È una buona idea registrare tutte le azioni effettuate durante l'investigazione di un sistema compromesso, quasta fase può essere eseguita usando il comando script, come riportato nel seguente esempio:

script -q <file-name>

Sostituire <nome del file> con il nome del file per laregistrazione di script. Salvate sempre il file di registrazione su di un mezzo diverso dal disco fisso del sistema compromesso — un floppy disk funziona particolarmente bene per questo scopo.

Registrando tutte le vostre azioni, viene a crearsi una traccia di verifica che può risultare molto valida nel caso in cui l'aggressore venga preso.

10.4.1. Raccogliere una immagine di prova

È un requisito, se si effettua un lavoro legale di dati, creare una copia bit-image di media. È consigliato effettuare due copie: una per l'analisi e l'investigazione, e una seconda per essere conservata insieme con l'originale, come prova in caso si possa verificare un procedimento penale.

Potete usare il comando dd, che fa parte del pacchetto coreutils in,Red Hat Enterprise Linux per creare un'immagine monolitica di un sistema violato, e usarla come prova in una investigazione o per confronto con immagini fidate. Supponiamo che vi sia un disco fisso di un sistema dal quale desiderate ottenere una immagine. Collegate quel disco, come slave, al vostro sistema, e poi usate il comando dd per creare il file immagine, in modo simile a quanto segue:

dd if=/dev/hdd bs=1k conv=noerror,sync of=/home/evidence/image1

Questo comando crea un file singolo chiamato image1 usando la misura di 1 blocco. Le opzioni conv=noerror,sync forzano dd a continuare a leggere e scaricare dati, anche se si incontrano settori non buoni sull'unità sospetta. È ora possibile studiare il file immagine, o addirittura recuperare i file cancellati.

10.4.2. Raccolta delle informazioni dopo la violazione

L'argomento dei forentic digitali e delle analisi è molto vasto, gli strumenti hanno un'architettura molto specifica e non possono essere applicati in modo generico. Tuttavia, la risposta ad un incidente, le analisi, e il recupero sono argomenti importanti. Con una conoscenza idonea e una buona esperienza, Red Hat Enterprise Linux può essere una piattaforma eccellente per l'effettuazione di questo tipo di analisi, in quanto vengono incluse diverse utility, per poter eseguire una risposta 'post violazione' e per effettuare un pronto ripristino.

Tabella 10-1 elenca alcuni comandi per la verifica e la gestione di un file. Riporta anche alcuni esempi che possono essere usati per identificare propriamente i file e i loro attributi (come ad esempio permessi, e date di accesso) in modo tale da poter ottenere più prove o oggetti per le analisi. Questi strumenti, quando sono combinati con gli intrusion detection system, con i firewall, con servizi speciali, e altre misure di sicurezza, possono aiutare a ridurre il potenziale danno in caso in cui si verifica un attacco.

NotaNota
 

Per maggiori informazioni per ogni strumento, fate riferimento alle rispettive pagine man.

ComandoFunzioneEsempio
ddCrea una copia bit-image (o disk dump) di file e di partizioni. Combinata con un controllo dell'md5sums di ogni immagine, gli amministratori possono confrontare una immagine prima della violazione di una partizione o di un file, con un sistema precedentemente violato, in modo da controllare la corrispondenza delle somme. dd if=/bin/ls of=ls.dd |md5sum ls.dd >ls-sum.txt
grepTrova informazioni (di testo) utili all'interno di file e directory ed è in grado di rivelare permessi, cambiamenti degli script, attributi di un file e molto altro. Usato maggiormente come comando pipe di altri comandi come ls, ps, o ifconfigps auxw |grep /bin
stringsStampa le stringhe dei caratteri stampabili all'interno di un file. È molto utile per la verifica degli esguibili per le anomalie come i comandi mail per indirizzi sconosciuti oppure effettuare la registrazione su di un file di registrazione non-standard.strings /bin/ps |grep 'mail'
fileDetermina le caratteristiche dei file in base al formato, alla decodifica, alle librerie alle quali si collega (se presenti), al tipo di file (binario, di testo ecc). È utile per determinare se un eseguibile, come ad esempio /bin/ls, è stato modificato usando librerie statiche, ciò rappresenta un segno sicuro che l'eseguibile è stato sostituito da un utente malizioso.file /bin/ls
findEsegue la ricerca delle directory per file particolari. È uno strumento molto utile per la ricerca della struttura della directory tramite una parola chiave, data e ora dell'avvenuto accesso, permessi e altro. Ciò può essere utile per gli amministratori che eseguono verifiche generali di sistema di file e directory particolari. find -atime +12 -name *log* -perm u+rw
statMostra informazioni varie di un file, incluso l'orario dell'ultimo accesso, permessi, impostazioni UID e GID bit, e molto altro. Molto utile da controllare quando un eseguibile di un sistema violato è stato usato per l'ultima volta o modificato.stat /bin/netstat
md5sumCalcola la somma di controllo 128-bit, usando l'algoritmo hash md5. Potete usare questo comando per creare un file di testo capace di elencare tutti gli eseguibili importanti che vengono modificati o sostituiti spesso in un compromesso per la sicurezza. Ridirezionate le somme su di un file per creare un semplice database per le somme di controllo, e poi copiate il file in sola-lettura come un CD-ROM.md5sum /usr/bin/gdm >>md5sum.txt

Tabella 10-1. Strumenti di verifica di un file