Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi VULNERABILITA’ DEI SISTEMI DI CALCOLO Minacce alla sicurezza ed alla integrità dei dati e delle risorse di un sistema di calcolo: • Distruzione delle informazioni • Alterazione delle informazioni • Acquisizione illecita di informazioni riservate • Saturazione delle risorse fisiche • (Violazione dei copyright) I VIRUS DEI COMPUTER (1/8) … rappresentano una delle maggiori minacce alla sicurezza ed alla integrità dei sistemi informatici. • Il virus, implementato mediante tecniche di elaborazione di stringhe, è un programma in grado di “infettare” altri programmi, modificandoli in modo che includano una copia di se stesso. • Ogni programma infettato agisce, a sua volta come un virus ed è in questo modo che il contagio si diffonde all'interno del sistema o in una rete di elaboratori. • Il virus può causare perdita o alterazione di dati e programmi, o comprometterne la riservatezza. • Le tecniche di difesa da un attacco virale non si dovrebbero limitare alla riduzione della probabilità di contagio, ma dovrebbero essere in grado di agire tempestivamente, una volta contratta l'infezione, al fine di ridurre e bloccare quanto prima i potenziali danni al sistema. Le azioni dannose provocate dai virus sono distruttive e pericolose, fino ad arrivare alla messa fuori uso dell'intero sistema. I VIRUS DEI COMPUTER (2/8) Le azioni più comuni riguardano: • la distruzione della F.A.T. (File Allocation Table); • il cambiamento dell'assegnamento del disco, in modo che le informazioni vengano scritte su un disco errato; • la cancellazione di specifici programmi eseguibili; • l'alterazione di dati nei file di dati; • l'impedimento dell'esecuzione di alcuni programmi residenti nella RAM; • diminuzione dello spazio disponibile su disco; • la scrittura di una etichetta di volume su disco che non ne possiede alcuna; • la formattazione di tracce di disco o dell'intero disco. I VIRUS DEI COMPUTER (3/8) Un virus si compone generalmente: di una parte di codice che svolge la funzione di duplicazione, in cui si riconoscono le sezioni per l'installazione del virus nella memoria e per la copiatura del virus sul disco, o per l'agganciamento ad un file o a qualunque altro codice eseguibile che possa essere infettato; di una parte causante danneggiamento (eventuale) che è composta da una sezione di verifica di una particolare condizione (il virus è in stato di attesa di un evento) e da una sezione che implementa le azioni per cui è stato creato. I VIRUS DEI COMPUTER (4/8) Sono stati sviluppati altri programmi di tipo "virale", che in ugual modo costituiscono una minaccia per l'integrità dei sistemi, quali ad esempio: Batterio Cavallo di Troia Rabbit Bomba logica Worm BATTERIO E' un programma che, eseguito, invia copie di se stesso ad altri sistemi o ad altri utenti. Si differenzia dal virus poiché non infetta altri programmi. I VIRUS DEI COMPUTER (5/8) CAVALLO DI TROIA E' un programma che apparentemente esegue compiti inoffensivi (es. listare i file di un direttorio), dietro ai quali si celano intenti dannosi per l'integrità e la segretezza delle informazioni del sistema (ad esempio registrazioni di password d'utente all’atto del LOGIN, per successive utilizzazioni fraudolente). RABBIT Questo tipo di programma ha lo scopo di replicare ripetutamente se stesso, con l'obiettivo di saturare rapidamente le risorse del sistema, come le memorie o la capacità di processo della CPU. Non si riproduce nei programmi ed è specificamente diretto all'intasamento degli organi di macchina a differenza del batterio, che, pur inviando copie di se stesso, non mira specificamente alla saturazione delle risorse del sistema. I VIRUS DEI COMPUTER (6/8) BOMBA LOGICA E' un programma le cui istruzioni producono un certo effetto solo al momento in cui si verificano determinate condizioni (es. una certa data). WORM E' un programma che è in grado di diffondere sue copie in altri sistemi connessi in rete, con lo scopo di saturare le reti di trasmissione e le risorse, con una quantità enorme di messaggi (che crescono con legge esponenziale). Esistono programmi virus che svolgono funzioni utili al sistema e sono abitualmente trascurate dall'utente (es. compressione dei file): questo tipo di virus agisce solo su richiesta dell'utente, svolgendo una funzione benefica. I VIRUS DEI COMPUTER (7/8) I virus hanno tre caratteristiche di funzionamento: A. di compressione, il quale copia se stesso in un file ancora sano producendo la compressione del codice del file; ad infezione avvenuta, il virus decomprime il codice del programma iniziale, in cui era contenuto, per consentire la sua normale esecuzione; B. semplice, che è in grado di infettare altri programmi eseguibili e, al verificarsi di una condizione d'attesa, di eseguire le azioni dannose per cui è stato creato; C. evolutivo, cioè un virus che modifica alcune righe del proprio codice casualmente, ogni volta che viene invocato. I VIRUS DEI COMPUTER (8/8) Le contromisure da adottare per la difesa da attacchi di tipo virale, sono raggruppabili in tre categorie: * tecniche di prevenzione, tese a impedire l'ingresso di un virus nel sistema; * tecniche di rilevazione e diagnostica, in grado di rilevare e/o identificare il virus, una volta che si è inserito nel sistema; * tecniche di eliminazione, per rimuovere il virus ed i suoi effetti dal sistema. TECNICHE DI PREVENZIONE (1/2) Per evitare il contagio da virus, le principali “regole” di comportamento preventivo sono: • esecuzione dell’avviamento (bootstrap) del sistema sola da supporti originali (contenuti nei pacchetti originali del fornitore), protetti in scrittura; • se il sistema ha un disco rigido, non effettuare l’avviamento (bootstrap) da supporti esterni, tranne in casi di disinfestazione del sistema; • in un ambiente con più sistemi è consigliabile disporre, per ogni sistema, del relativo supporto di avviamento, univocamente identificabile; • qualora si operi in ambiente distribuito, è consigliabile non utilizzare come normale stazione di lavoro il nodo di file-server; • è buona norma l’utilizzo di un elaboratore dedicato per la gestione della posta elettronica; • esecuzione di salvataggi (backup) del disco rigido e/o degli altri supporti, con regolarità, ed anche in più copie; TECNICHE DI PREVENZIONE (2/2) Nel caso di un’organizzazione è necessaria l’imposizione di una precisa normativa per gli utenti, che regoli le modalità di interazione con il sistema, sia interne che esterne. In particolare, si dovrebbe: - adottare un’efficace politica di controllo degli accessi al sistema, che, essendo in grado di risalire all’autore dell’accesso (es. tecniche di identificazione mediante password) ed anche di limitare il numero di accessi, costituisce una barriera ai tentativi con intenti virali; - adottare una politica “aperta”, in modo da non favorire il reperimento del software per vie alternative (potenzialmente pericolose); - proibire le interazioni dei dischetti interni con l’esterno (es. lavoro a casa, videogiochi, etc.); - intraprendere un’azione educativa ed informativa per gli utenti del sistema, sull’anatomia, i sintomi ed i possibili effetti di un virus, nonché sulle principali azioni da attuare, qualora l’infezione sia già contratta; - vietare l’utilizzo di software generico, di cui non sia nota la sorgente e/o che non provenga dai fornitori ufficiali (tale norma dovrebbe, comunque, essere seguita anche dal singolo utente di un PC). TECNICHE DI DIAGNOSTICA E DI RILEVAZIONE (1/2) Si possono considerare tecniche di diagnostica di carattere organizzativo, un insieme di indicatori significativi sul funzionamento del sistema, che periodicamente dovrebbero essere controllati. Una loro variazione potrebbe indicare la presenza di un virus: • il numero dei file su disco è aumentato, magari con file sconosciuti e dai nomi sospetti; • comparsa del messaggio “1 File(s) copied", anche senza aver invocato il comando copy. Se non esistono programmi che creano file, oppure se non si è utilizzato un file .BAT che richiami il comando COPY, allora è molto probabile che la causa del messaggio comparso sia un virus; • riduzione dello spazio RAM disponibile, che si dovrebbe controllare periodicamente, attraverso CHKDSK (o analoghe utilities); • cambiamento di date di file; • aumento della dimensione di un file eseguibile; TECNICHE DI DIAGNOSTICA E DI RILEVAZIONE (2/2) • comparsa di settori “bad” sul disco, tenendo presente che per i dischi rigidi esistono dei settori “bad” già sul disco nuovo (di cui si possono conoscere le locazioni attraverso programmi come BADSECT), mentre sui dischetti formattati non dovrebbero mai essere presenti; • non caricamento, contrariamente al solito, di un programma per insufficienza di spazio RAM; • aumento dei tempi di caricamento e di esecuzione dei programmi; • sensibile aumento dei tempi di accesso al disco rigido; • accensione della luce di un drive, senza che siano state richieste, durante la corrente operazione, lettura o scrittura del corrispondente disco; • un programma TSR (Terminate and Stay Resident) non opera correttamente, contrariamente al solito. TECNICHE DI ELIMINAZIONE (1/3) In generale, le norme da seguire per effettuare l'eliminazione del virus dipendono dal tipo di virus stesso. Per i virus che infettano solo il settore di boot dei dischi, occorre: • spegnere il sistema colpito; • eseguire il caricamento del S.O. direttamente dai supporti originali (protetti in scrittura se magnetici); • eseguire il comando SYS (per il trasferimento dei file di sistema IO.SYS e MSDOS.SYS o IBMBIO.COM e IBMDOS.COM) su tutti i dischi infetti, in modo da disattivare i settori originariamente allocati dal virus. TECNICHE DI ELIMINAZIONE (2/3) Se il virus è un Parasitic Virus allora occorre determinare se è stato infettato il disco fisso (HD); in caso affermativo è necessario: • spegnere il sistema; • effettuare l'operazione di caricamento del S.O. da CD-ROM originale, o altri supporti magnetici protetti in scrittura; • effettuare il salvataggio di tutti i file non-eseguibili e di tutte le directory su nuovi supporti riformattati, non utilizzando la prestazione di BACKUP del disco fisso, ma quella del dischetto originale; • listare il contenuto dei file batch del disco infetto e controllare che non vi siano righe sospette elo insolite; per i file di cui si è certi, eseguire il salvataggio; • eseguire la formattazione del disco fisso e ripristinare la configurazione iniziale; TECNICHE DI ELIMINAZIONE (3/3) • eseguire il comando SYS per il disco fisso; • ristrutturare le directory del sistema; • copiare o re-installare tutti i programmi eseguibili dai supporti originali; • ripristinare tutti i file di cui è stato effettuato precedentemente il salvataggio o backup; • individuare tutti i supporti che potrebbero essere infettati (sarebbe bene risalire fino a due anni addietro per avere una buona probabilità di eliminare le possibili cause di re-infezione); • eseguire il salvataggio di tutti i file non eseguibili su supporti nuovamente formattati; • formattare di nuovo i supporti sospetti.