Insegnamento di Informatica – a.a. 2015-16 Macerata, 18 dicembre 2015 Dai virus al malware INSEGNAMENTO DI INFORMATICA – A.A. 2015-16 Francesco Ciclosi Insegnamento di Informatica – a.a. 2015-16 Che cos’è un virus informatico? Generalmente con il termine virus intendiamo nient’altro che un semplice programma, sviluppato in un determinato linguaggio di programmazione, caratterizzato dalla capacità di riprodursi facendo copie di se stesso Come ogni programma, un virus non è in grado di comparire in modo spontaneo sul computer di un utente, ma necessita di essere eseguito Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I virus Esistono due macro tipologie di virus: • quelli cosiddetti ITW (in the wild), ovvero in libera circolazione nell’intera rete telematica mondiale • quelli da laboratorio (zoo virus), che esistono esclusivamente all’interno di laboratori di ricerca in reti isolate e sorvegliate Come qualsiasi altro codice, anche i virus sono soggetti a errori di programmazione che possono inficiarne il corretto funzionamento Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I componenti di un virus (1/2) Generalmente i virus sono costituiti da due componenti principali e da tre componenti opzionali: • • • • • Routine di ricerca (principale) Routine d’infezione (principale) Routine di attivazione (opzionale) Payload (opzionale) Routine antirilevamento (opzionale) Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I componenti di un virus (2/2) Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 La routine di ricerca Si occupa della lettura dei dischi alla ricerca di un determinato obbiettivo • Es.: il boot sector di un floppy • Es.: i file creati con un certo applicativo A questa routine è inoltre demandata l’identificazione dei file precedentemente infettati, al fine di prevenire una contaminazione recidiva dello stesso target da parte del virus Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 La routine d’infezione Entra in azione al termine della routine di ricerca Ha l’obbiettivo d’iniziare il processo d’infezione del target precedentemente identificato La discrezione di tale processo è vitale per la diffusione del virus stesso La sopravvivenza del virus è strettamente legata alla sua capacità di saper rimanere occultato il più a lungo possibile Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 La routine di attivazione Ha il compito d’indicare al virus il momento più idoneo al lancio dell’attacco Eventi di attivazione tipici possono essere costituiti da date o accadimenti significativi • Es.: il livello di occupazione di un hard disk Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Il payload Viene attivato dalla routine d’attivazione e consiste nelle tipiche azioni eseguite dal virus: • • • • • cancellazione di file formattazione di hard disk disattivazione di tasti sulla tastiera visualizzazione di messaggi a video altro Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 La routine antirilevamento Ha il compito d’impedire o rendere più difficoltosa la rilevazione del virus Il suo funzionamento può essere: • molto semplice o Es.: modifica di ora, data e dimensione del file infetto • estremamente complesso Le routine antirilevamento più sofisticate si caricano nella RAM e tentano d’ingannare i software antivirus che si occupano dell’esame del disco Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Virus: metodologie per la trasmissione I virus hanno bisogno di esser caricati e eseguiti Non potendo contare sulla collaborazione volontaria degli utenti, sono dotati di metodologie di auto-caricamento operanti all’insaputa dell’utente Si classificano in tre categorie in base al sistema di propagazione: virus di file, virus di boot e macrovirus Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I virus di boot I virus di boot agiscono sul boot sector di un disco Un virus di boot ha la caratteristica di prendere il controllo ogni qual volta si procede all’avvio del computer da un floppy disk o da un hard disk infetti Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I virus di file I virus di file agiscono solo su file di programma, quali Microsoft Word (winword.exe) o lo stesso Blocco Note (notepad.exe), provvedendo a trasmettersi a ogni esecuzione del programma infetto Di questa categoria fa parte anche un ulteriore specie denominata virus multipartito e in grado d’infettare sia i boot sector che i file Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I macrovirus I macrovirus possono infettare esclusivamente quei file creati con particolari applicativi (Es.: Word o Excel) che utilizzano un linguaggio di programmazione per la creazione di Macro (ovvero componenti software in grado di automatizzare alcune procedure) interne ai documenti La loro diffusione avviene all’apertura di un file infetto Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Tipologie d’infezioni (1/3) I virus possono trasmettere la loro infezione in differenti modi: • Infezione diretta o Viene infettato uno o più file a ogni esecuzione dell’applicazione infetta o Se non si apre un documento infettato o non si carica un programma infettato il virus non può propagarsi • Infezione rapida o Viene infettato qualsiasi file aperto da un programma infetto Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Tipologie d’infezioni (2/3) • Infezione lenta o Il virus cerca di mascherare la sua presenza limitando l’infezione dei file a quelli appena creati o modificati dal programma • Infezione irregolare o Il virus presenta un comportamento prudente come nel caso precedente ma limita ulteriormente la sua aggressività, procedendo pertanto all’infezione casuale e occasionale dei file Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Tipologie d’infezioni (3/3) • Infezione Memory Resident (residente in memoria) o Il virus si auto-carica nella memoria del sistema (RAM) e li resta nascosto in attesa di entrare in funzione ogni qual volta che si esegue un programma o si inserisce un dischetto o È l’unica tipologia d’infezione possibile per i virus di boot Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Non solo virus Al giorno d’oggi le minacce diffuse nelle reti telematiche vanno ben oltre le attività svolte dai classici virus Per questo è stato coniato un nuovo termine: MALWARE Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Il malware (1/2) Si definisce malware un qualsiasi software creato allo scopo di causare danni: • a un computer • ai dati degli utenti del computer • a un sistema informatico su cui viene eseguito Il termine deriva dalla contrazione delle parole inglesi malicious e software e ha dunque il significato letterale di «programma malvagio» In italiano è chiamato anche codice maligno Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Il malware (2/2) Un malware è caratterizzato dall’intento doloso del suo creatore Non rientrano nella definizione data i programmi contenenti (involontariamente) semplici bug Il malware non è un sinonimo di virus che si configura esclusivamente come una sua sottocategoria Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Le categorie di malware In letteratura si distinguono varie categorie di malware Va precisato che alcuni programmi sono composti da più parti che rientrano a tutti gli effetti in più di una categoria Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 1 Virus • Sono parti di codice che si diffondono copiandosi all’interno di altri programmi (o di sezioni del disco fisso) in modo da essere eseguiti ogni volta che il file infetto viene aperto • Si trasmettono da un computer a un altro tramite lo spostamento di file infetti ad opera degli utenti Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 2 Worm • Non hanno bisogno di infettare altri file per diffondersi • Modificano il sistema operativo della macchina ospite in modo da essere eseguiti automaticamente e tentare di replicarsi sfruttando per lo più Internet • Utilizzano tecniche di ingegneria sociale • Sfruttano dei difetti (Bug) di alcuni programmi per diffondersi automaticamente Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 3 Trojan horse • Sono software che hanno delle funzionalità «lecite» per indurre l’utente ad utilizzarli, ma che contengono anche delle istruzioni dannose che vengono eseguite all’insaputa dell’utilizzatore • Non possiedono funzioni di auto-replicazione • Per diffondersi devono essere consapevolmente inviati alla vittima Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 4 Backdoor • Consentono un accesso non autorizzato al sistema su cui sono in esecuzione • Si diffondono spesso in abbinamento a un trojan o a un worm • A volte costituiscono una forma di accesso lecita di emergenza a un sistema Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 5 Spyware • Vengono usati prima per raccogliere informazioni dal sistema su cui sono installati, poi per trasmetterle a un destinatario interessato Dialer • Si occupano di gestire la connessione a Internet tramite la normale linea telefonica • Se usati in modo illecito modificano il numero telefonico chiamato dalla connessione predefinita con uno a tariffazione speciale Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 6 Hijacker • Si appropriano di applicazioni usate per la navigazione in rete (soprattutto browser) causando l’apertura automatica di pagine web indesiderate Scareware • È una classe di software dannosi o comunque di limitata utilità la cui installazione viene suggerita agli utenti attraverso tecniche di marketing scorretto o mediante i metodi tipici dell’ingegneria sociale • A volte spingono a installare altro malware Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 7 Rootkit • Solitamente sono composti da un driver e a volte, da copie modificate di programmi normalmente presenti nel sistema • Non sono dannosi in sé • Hanno la funzione di nascondere (all’utente e agli antivirus) la presenza di particolari file o impostazioni del sistema • Vengono utilizzati per mascherare spyware e trojan Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 8 Rabbit • Sono programmi che esauriscono le risorse del computer creando copie di sé stessi (in memoria o su disco) a grande velocità Adware • Sono programmi che presentano all’utente messaggi pubblicitari durante l’uso • Possono rallentare il pc e compromettere la privacy comunicando le abitudini di navigazione a un server remoto Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 9 Malvertising (malicious advertising) • Sono degli attacchi che originano dalle pubblicità delle pagine web Rogue antispyware • È un malware che si finge un programma per la sicurezza del PC, spingendo gli utenti ad acquistare una licenza del programma Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 10 Keylogger • Sono dei programmi in grado di registrare tutto ciò che un utente digita su una tastiera • Servono a trafugare i dati e le password dell’utente • Tali programmi non causano rallentamento al computer, passando così totalmente inosservati • A volte sono installati sul computer da trojan o worm • Esistono anche i Keylogger Hardware Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 11 Bomba logica • È un tipo di malware che fa sentire i suoi effetti al verificarsi di determinate condizioni (o stati del computer) predeterminate dall’attaccante Zip Bomb (bomba a decompressione) • È un attacco di tipo denial of service • Si tratta di un archivio compresso malevolo, studiato per mandare in crash o rendere inutile il programma o il sistema che lo legge Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Categorie di malware: elencazione - 12 Ransomware • È un tipo di software maligno progettato per bloccare l’accesso a un sistema fintanto che non viene versata una somma di denaro in riscatto Ransomware a criptazione • Particolare variante di ransomware che cripta tutti i dati presenti su un disco con una chiave di cifratura complessa • Per ottenerla e poter decrittare il computer l’utente dovrà pagare un riscatto in bitcoin al cyber criminal Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Il trojan – Beast RAT Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Alcuni esempi di ransomware - 1 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Alcuni esempi di ransomware - 2 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Cryptolocker Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Gli antivirus (1/3) Servono a difendersi (anche prevenendole) dalle azioni compiute dai virus Adempiono alle seguenti funzioni: • bloccano l’esecuzione dei virus, impedendo l’infezione del computer (azione preventiva) • rilevano la presenza di eventuali virus che abbiano già infettato il computer (azione reattiva) • eliminano gli eventuali virus presenti (azione reattiva) Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Gli antivirus (2/3) Sono costituiti da differenti moduli software operanti in congiunzione: • Dispositivi di monitoraggio • Scanner • Dispositivi per il controllo dell’integrità dei file Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Gli antivirus (3/3) Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Dispositivo di monitoraggio dei virus È un modulo software (behavior blocker) che si insedia nella memoria del computer e provvede a monitorizzare le attività di elaborazione alla ricerca di eventuali comportamenti sospetti Si basa sulla capacità di riconoscere le attività tipiche di un virus Tale approccio funziona contro tutti i tipi di virus, sia quelli noti che quelli ancora sconosciuti Può generare molti «falsi positivi» Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Scanner Sono moduli software che si basano sulla capacità di individuare un determinato virus sulla base di un preciso set di istruzioni (firma) che lo caratterizza Sono molto precisi e accurati nelle rilevazioni Si rivelano completamente inutili nel caso in cui le definizioni antivirus non siano adeguatamente aggiornate Possono riconoscere solo i virus per i quali esistono delle specifiche firme Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Controllo dell’integrità dei file (1/2) Basano il loro funzionamento sull’esame di ogni file presente nell’hard disk del computer, per il quale viene calcolato matematicamente un valore (checksum) che lo identifica univocamente Successivamente il modulo si limita a ricalcolare nuovamente il checksum del file stesso e a confrontarlo con quello memorizzato la prima volta La rilevazione di discrepanze tra i due valori ne indica l’avvenuta modifica Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Controllo dell’integrità dei file (2/2) Può identificare anche le tipologie di virus ancora sconosciute, in quanto ricerca le modifiche apportate ai file esistenti Presenta due inconvenienti: • Può essere aggirato - alcuni virus cercano di eliminare il file contenente le checksum generate al fine di rendere nullo il meccanismo di controllo preposto • Comunica spesso falsi allarmi - se non adeguatamente istruito Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I miei contatti linkedin http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/ facebook https://www.facebook.com/francesco.ciclosi twitter @francyciclosi www http://www.francescociclosi.it Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code