Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste Introduzione all'Analisi forense Introduzione all'analisi forense nell'informatica Alessandro Tanasi LinuxDay Trieste
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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)
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste Osservazione: Illusioni.. "The Betrayal of Images" di René Magritte, 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 Nulla di quello che appare potrebbe essere la realtà Citazione delle 4.00 di mattina
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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)
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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.
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste Macchine a tempo Il problema del tempo: ricostruzione della timeline degli 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?
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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.
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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 ($$$)
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste Live CD Live CD specializzati per l'analisi forense con tools di analisi e strumenti di sicurezza informatica: BackTrack [ Helix [ IRItaly Project [ FIRE [ KnoppixSTD [ Snarl [ Sleuth Kit [
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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,
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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.
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste Domande
Università degli Studi di Trieste Sabato 28 ottobre 2006 © 2006 – Alessandro Tanasi LUG Trieste 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 o spedisci una lettera a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.