Introduzione all'analisi forense1. Introduzione all'Analisi forense
Introduzione all'analisi forense
nell'informatica
Alessandro Tanasi
alessandro@tanasi.it
http://www.tanasi.it
LinuxDay 2006 - Trieste
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 2. Premessa
Chi deve conoscere (anche solo superficialmente)
l'analisi forense?
● Persone che devono utilizzare prove digitali in
ambito legale
● Avvocati, giudici
● Forze dell'ordine
● Persone che devono amministrare e gestire
reti di elaboratori
● Sistemisti, amministratori di rete
● Manager
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 3. Analisi Forense
Applicazione di metodologie scientifiche di analisi su
un sistema informatico con lo scopo di individuare,
estrarre, analizzare, conservare e documentare
le prove relative a un determinato atto intrapreso
sul sistema stesso.
L'analisi forense informatica si occupa di strumenti
digitali:
● Computer e periferiche
● Apparati di rete (switch, router)
● Apparati di telefonia (cellulari, centralini)
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 4. Osservazione: Illusioni..
La percezione di files e
●
directory è un'illusione che
il software astrae per noi
Il computer conosce solo
●
sequenze di bit, che
possono essere dati o
metadati
Quello che vediamo è
●
un'immagine della realtà
che può essere alterata
"The Betrayal of Images" di René Magritte, 1898-1967
“Nulla di quello che appare potrebbe essere
la realtà” Citazione delle 4.00 di mattina
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 5. Utilizzi dell'analisi forense
Le tecniche dell'informatica forense sono utili per
investigazioni digitali volte a:
● Svolgere indagini
● Individuare colpevoli di attivita' non autorizzate
● Capire se e come e' avvenuta una
compromissione
● Comprendere come uno strumento digitale e'
stato usato (ad esempio a fini illeciti)
ma anche per..
● Disaster e incident recovery
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 6. Finalità dell'analisi
Obbiettivi diversi richiedono modalita' di analisi
diverse:
● Indagine - Trovare le prove digitali di un crimine
● Ricostruzione - Capire come un sistema e'
stato violato
● Accertamento - Comprendere come e'
avvenuto un disastro (perdita o cancellazione
dolosa di dati)
● Recovery - Recupero di dati
● .. fun :)
Lo sforzo impiegato nell'analisi deve
essere proporzionale all'obbiettivo
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 7. Metodologia di analisi
L'analisi deve essere eseguita con metodo
scientifico:
● Osservanza di procedure chiare e ben definite
● Aggiornamento tecnologico costante di mezzi
e procedure
● Produzione di documentazione su ogni passo
svolto
● L'analisi deve essere il più possibile ricostruibile
in ogni momento
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 8. Fasi dell'analisi
1) Individuazione e isolamento delle prove
2) Acquisizione dei dati
3) Analisi
4) Ricostruzione degli eventi
5) Raccolta e conservazione delle fonti di prova
Virtually all professional examiners will agree on some
overriding principles, ... that evidence should not be
altered, examination results should be accurate, and
that examination results are verifiable and repeatable.
Mark Pollitt (FBI)
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 9. Ricostruzione dei fatti
Prove digitali (affidabili?) possono essere raccolte
ovunque:
● Memorie di vario tipo
● Log di host e apparati di rete
● Traffico dati (accounting, sniffer)
La correlazione di dati proveniente da più fonti ci
permette di ricostruire i fatti con ragionevole
certezza.
Le strade da percorrere possono essere noiose e
inconcludenti se non sono quelle giuste.
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 10. Parte Tecnica :)
L'analisi forense presuppone una conoscenza
profonda di:
● Hardware
● Sistemi operativi e loro internals
● File systems
● Networking
● Eventuali applicativi
● Qualche linguaggio di programmazione (Perl, C)
● Tecniche di reverse engeneering
● Legislazione e etica
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 11. Procediamo...
Analisi live: se possibile a macchina ancora accesa e
funzionante.
● Data e ora di sistema
● Connessioni di rete, porte aperte, routing
● Programmi in esecuzione e loro comportamento
● Utenti correnti
● Files, moduli kernel e devices in uso
Analisi post-mortem: a macchina spenta sui dati
ancora persistenti.
● Versioni e patch installate
● Analisi dei files e dei registri di log
● Analisi del file system
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 12. Analisi Live
I dati in RAM possono essere le uniche prove
●
dell'incidente
Possibilita' di monitorare il sistema e l'attaccante
●
Per l'analisi deve essere usato software fidato allo
scopo di salvare:
● Lo stato del sistema (processi, connessioni)
● Lo stato delle tabelle di cache (arp, routing)
● Il contenuto delle memorie volatili
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 13. Clonazione
Copiare i dati in modo non lavorare sugli originali:
● Copia della memoria RAM
● Clonazione degli hard disk
● Copia di eventuali altre memorie
Utilizzando:
● Tool software
● Sistemi hardware
● Certificazione (md5, sha)
dd if=/dev/sda of=/mnt/usbdevice/file.img
dd if=/dev/sda | nc 10.0.0.1 1234
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 14. Macchine a tempo
Il problema del tempo: ricostruzione del a timeline degli
l
eventi
● MAC time (ora di modifica, accesso e creazione) dei
file
● Ricerca di MAC times su swap e file cancellati
● Ricostruzione delle tempistiche da DNS, log di
apparati di rete e server
Tutte le macchine sono sincronizzate con un
server NTP, vero?
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 15. File System
Un file cancellato puo' persistere per mesi o anni.
Analisi delle immagini dei dischi
●
Analisi dei file e loro MAC times visibili
●
Ricerca di file nascosti
●
Ricerca di file o parti di file cancellate
●
Ricostruzione della coerenza del file system
●
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 16. Rootkit
Un rootkit e' un insieme di software che permette di
ottenere in maniera nascosta il controllo di un
computer.
● Command level rootkit
● Library level rootkit
● Kernel level rootkit
Controllo di:
● Integrità dei files
● Librerie e loro funzioni
● Modifiche al kernel e a /proc/ e /dev/kmem
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 17. Network
Analisi del traffico di rete per ricostruire i fatti e
comprendere i comportamenti di host compromessi
e software maligno:
● Log di apparati di rete
● Accounting
● Monitoraggio di flussi
● Sniffer
● Intrusion Detection Systems / Honeypots
Avere una buona infrastruttura di monitoraggio di
rete permette di avere dati per investigare.
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 18. Analisi del malware
Abbiamo trovato un programma ma non sappiamo
cosa fa.
Creazione di un ambiete di test e reverse
engineering per analisi statica e dinamica:
● Debugger e profiler
● Disassemblatori
● Chroot()
● Sandbox
● Macchine virtuali
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 19. Anti Forensics
Tecniche atte a impedire una probabile futura
analisi forense:
● Nascondere i dati
● Cancellazione sicura: wiping
● Uso di tecniche steganografiche e crittografiche
● Rootkit benigni
● Trappole logiche
● Hardware dedicato ($$$)
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 20. Live CD
Live CD specializzati per l'analisi forense con tools di
analisi e strumenti di sicurezza informatica:
BackTrack
●
[http://www.remote-exploit.org/index.php/BackTrack]
Helix [http://www.e-fense.com/helix/]
●
IRItaly Project [http://www.iritaly.org/]
●
FIRE [http://fire.dmzs.com/]
●
KnoppixSTD [http://s-t-d.org/]
●
Snarl [http://snarl.eecue.com/]
●
Sleuth Kit [http://www.linux-forensics.com/]
●
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 21. Riferimenti
Jones, Rose, Real Digital Forensics, Addison-Wesley
●
Carrier B., File system forensic analysis, Addison-Wesley,
●
2005
Anastasi J., The new forensics , Wiley, 2003
●
Casey E, Handbook of Computer Crime Investigation,
●
Academic Press, 2002
Electronic crime scene investigation: a guide for first
●
responders, NIJ Guide, Department of Justice, 2001
Farmer D. e W. Venema, Forensics discovery , Addison-Wesley,
●
2005
Federal Guidelines for Searching and Seizing Computer,
●
US Department of Justice, 1995
Kruse W. G. e J.G. Heiser, Computer Forensics, Incident
●
Response Essentials, Addison-Wesley, 2002
Marcella A. J. e R. Greenfield, Cyber Forensics, Auerbach, 2002
●
http://www.forensicswiki.org
●
http://www.e-evidence.info
●
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 22. Conclusioni
L'analisi forense informatica permette di
●
recuperare dati e ricostruire eventi
Deve fare i conti con l'evolversi della tecnologia
●
e delle procedure
Può essere utile ma può anche essere usata
●
contro di noi (vendete hard disk su ebay?)
Avere un'infrastuttura di monitoraggio e auditing
●
aiuta quando accade un incidente
Prima o poi un incidente informatico
●
capita, meglio farsi trovare preparati.
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 23. Domande
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste 24. Licenza d'uso
di questo documento
Quest'opera è stata rilasciata sotto la licenza
Creative Commons Attribuzione-Condividi allo stesso
modo 2.5.
Per leggere una copia della licenza visita il sito web
http://creativecommons.org/licenses/publicdomain/ o
spedisci una lettera a Creative Commons, 559
Nathan Abbott Way, Stanford, California 94305, USA.
© 2006 – Alessandro Tanasi
alessandro@tanasi.it
Università degli Studi di Trieste
http://www.tanasi.it
Sabato 28 ottobre 2006
LUG Trieste