Esostrutture - parte I Corso di sicurezza – A.A. 2006/2007 Elisa Turricchia VIRUS E MINACCE CORRELATE vs ESOSTRUTTURE Prevention, Detection, Reaction Firewall Intrusion Detection System Virus Detection Tassonomia dei programmi dolosi Virus e minacce correlate Programmi Programmi dolosi dolosi Necessitanodi diun un Necessitano programmahost host programma Trapdoor Bombe logiche Bombe a tempo Indipendenti Indipendenti Trojan horse Virus Batteri Autoreplicanti Worm Descrizione dei programmi dolosi Virus e minacce correlate Trapdoor: punto di accesso segreto all’interno di un programma. È un codice che riconosce particolari sequenze di ingresso o si attiva se eseguito da un particolare utente. Bombe Logiche/A Tempo: è un codice associato ad un programma legittimo, che si attiva al verificarsi di determinate condizioni. - Logiche: presenza o assenza di file, avvio di un determinato programma; - A Tempo: giorno della settimana, data, ora; Descrizione dei programmi dolosi Virus e minacce correlate Trojan horse: programmi utili o apparentemente utili al cui interno si nasconde codice che all’avvio del programma può causare danni al sistema ospite. -Usato per accedere ai file di un utente in ambiente condiviso. -Possibile modificato. realizzazione tramite compilatore Virus:blocchi di codice che infettano programmi e/o file dati e in grado di auto-replicarsi. Si diffondo da un pc all’altro scambiando dischi o inviando programmi infetti sulla rete. Descrizione dei programmi dolosi Virus e minacce correlate Batteri:programmi destinati all’auto-replicazione, con lo scopo di saturare le risorse del sistema per renderlo inutilizzabile. Worm: programmi indipendenti auto-replicanti, che sfruttano le vulnerabilità di alcune funzionalità di Internet (posta elettronica, servizi di accesso remoto) per diffondersi nella rete. Descrizione dei programmi dolosi Virus e minacce correlate Esempio: LoveLetter Worm Effetti sul sistema ospite (MS Windows): -sostituzione di file presenti sul sistema locale con copie del codice ostile; -invio di messaggi di posta elettronica non sollecitati; Modalità di attivazione (Social engeneering): Si persuade l’utente a lanciare in esecuzione l’allegato: LOVE_LETTER_FOR_YOU.txt.vbs Modalità di propagazione: Invio di una copia del messaggio a ogni indirizzo di posta elettronica trovato sul sistema I virus: ciclo di vita Virus e minacce correlate Fase latente: il virus si è insediato nel pc della vittima, ma è ancora inattivo. È in attesa di un evento scatenante. Fase di propagazione: il virus colloca una copia identica di se stesso in un altro programma. Fase di innesco: il virus viene avviato da un qualche evento scatenante (una data, l’esecuzione di un programma, un numero prestabilito di repliche…). Fase di esecuzione: il virus agisce secondo le modalità per cui è stato creato. La struttura di un virus Virus e minacce correlate Virus allegato in testa ad un programma eseguibile + Codice virale = Codice virale Programma originale Programma originale Aumento dimensioni La struttura di un virus Virus e minacce correlate Virus che circondano un programma Codice virale 1 Codice virale Programma originale Programma originale Codice virale 2 Utile per evitare che il virus venga elencato insieme agli altri file presenti su disco. La struttura di un virus Virus e minacce correlate Virus integrati e sostituzioni + Programma originale Codice virale = Programma modificato è difficile riconoscere un virus integrato, ma occorre conoscere la struttura del programma originale per poter creare un virus integrato. è facile per l’utente rilevare un anomalia quando il virus si sostituisce completamente al codice originale. La struttura di un virus Virus e minacce correlate Compressione dati e duplicazione 2 virus virus 3 P1’ P2 1. Per ogni file compressione. P1’ P2 non virus 4 1 P1 infettato P2 viene P2’ eseguita 2. Inserimento di una copia del virus in P2 compresso. 3. Decompressione di P1’. 4. Esecuzione di P1 originale. la Tipologie di virus… Virus e minacce correlate Virus parassita: inserisce una copia di se stesso all’interno di file eseguibili (exe, com, sys). Si replica quando il file infetto viene eseguito. Virus residente in memoria: si installa in memoria principale accorpato ad un programma residente. Infetta tutti i programmi eseguiti. Virus del settore di boot: infetta un record di boot principale o di un disco e si diffonde nel momento in cui viene eseguito il caricamento del SO dal disco contenente il virus. …Tipologie di virus Virus e minacce correlate Virus furtivo: creato appositamente per non essere rilevato (es. virus che circondano programma). Virus polimorfo: virus mutante che varia a ogni processo di infezione, rendendo impossibile la sua rilevazione mediante signature. Inserimento di istruzioni superflue Scambio ordine di istruzioni Tecniche di cifratura: mutation engine I virus delle macro-1 Virus e minacce correlate Che cos’è una macro? È un programma eseguibile contenuto in un foglio elettronico o altri tipi di file, usato per automatizzare compiti ripetitivi; Perché i virus delle macro sono efficaci? -Indipendenza dalla piattaforma sottostante. -Infettano documenti e non programmi. -Diffusione rapida (e-mail). -Auto-esecuzione. I virus delle macro-2 Virus e minacce correlate Le macro auto-eseguibili di MS Word: Auto-execute: se una macro denominata AutoExec viene inserita in un formato predefinito di Word, questa viene eseguita ad ogni avvio dell’applicazione. Automacro: viene eseguita al verificarsi di un determinato evento (es. apertura, chiusura documento, creazione di un nuovo documento). Command macro: una macro che porta il nome di un particolare comando Word viene eseguita ad ogni invocazione del comando stesso (es. Salva File). …ancora su MS-Word Virus e minacce correlate I documenti di MS Word sono molto vulnerabili Possono contenere macrovirus (quindi disabilitare le macro) Possono rivelare informazioni personali - Il mio nome - Il percorso di un file - La directory del template usato per creare un file - Mantiene traccia delle modifiche apportate ad un file (uso del salvataggio veloce) …ancora su MS-Word Virus e minacce correlate …ancora su MS-Word Virus e minacce correlate …ancora su MS-Word Virus e minacce correlate !Difesa: -Non utilizzare il salvataggio veloce -Non trasferire file in formato .doc -Utilizzare software alternativo …altre vulnerabilità di Windows Virus e minacce correlate Windows normalmente nasconde le estensioni Alcune estensioni pericolose: bat, chm, cmd, com, cpl, dll, exe, hlp, hta, inf, lnk, ocx, pif, reg,scr, url, vbs… Associare le estensioni pericolose al Blocco note! Le estensioni CLSID di Windows: numero di 128 bit, esadecimale, racchiuso fra parentesi graffe. Excel: {00020820-0000-0000-C000-000000000046} Metodo valido solo nei sistemi più vecchi Visibili con Dos Qualche minaccia innocua Virus e minacce correlate Joke: generalmente scherzi progettati per far sorridere gli utenti o infastidirli. (es. effetti grafici) Hoax: utilizza tecniche di individuazione di persone vulnerabili per tentare di far eseguire agli utenti di computer determinate operazioni (es. e-mail che avvisa di un nuovo virus). Adware: annunci, pubblicità indesiderata spesso associata a programmi utili. Spyware: programmi ingannevoli che eseguono attività non legittimate dall’utente (es. raccolta di informazioni personali e la modifica delle impostazioni di configurazione del browser Internet). Spam: messaggi di posta elettronica non generati per pubblicizzare servizi o prodotti. sollecitati e adesso difendiamoci!!! Esistono svariati metodi per difendere un sistema o una rete da attacchi, la seguente immagine mostra alcuni di questi approcci Prevention Detection Reaction Che cos’è un firewall? Firewall È un sistema interposto fra due o più reti con lo scopo di controllare il traffico scambiato fra queste reti. Rete universitaria Internet Rete aziendale Firewall Rete bancaria Hardware Software Disposizione di rete Firewall dei sistemi operativi (es. Ipchains per Linux) Che cos’è un firewall? Firewall I firewall Personali È un programma applicativo che viene eseguito su una workstation per bloccare il traffico indesiderato, solitamente proveniente da Internet. Nome Prodotto Produttore/Sito Prezzo Norton Personal Firewall Symantec, www.symantec.com/it/it/ind a pagamento ex.jsp McAfee Personal Firewall Plus McAfee, it.mcafee.com a pagamento Zone Alarm Zone Labs, www.zonealarm.com/store/ content/home.jsp Gratuito per uso personale Kerio Personal Firewall Kerio, www.kerio.com Gratuito per uso personale A cosa serve? Firewall Servizi e funzionalità Definisce un singolo punto di entrata che mantiene gli utenti non autorizzati al di fuori della rete protetta; proibisce a servizi potenzialmente vulnerabili di entrare o uscire dalla rete; fornisce protezione a diversi attacchi della rete (es. IP Spoofing). Effettua il monitoraggio di eventi legati alla sicurezza (es. audit). Può costituire la piattaforma per IPSec e può essere impiegato per la realizzione di VPN. A cosa serve? Firewall Tipologie di controlli effettuate Controllo servizi: - indirizzi IP, porte TCP. - proxy che riceve e interpreta ogni richiesta di servizio prima di inoltrarli. Controllo direzione: controllo sulla direzione secondo cui particolari richieste di servizio possono essere avviate. Controllo utente: impostazione regole di accesso ai servizi sulla base dell’utente che ha effettuato la richiesta. Controllo del comportamento: d’impiego di particolari servizi. controllo sulle modalità Firewall: condizioni di efficacia Firewall Unico punto di contatto fra le reti. L’unico traffico che passa attraverso il firewall è quello autorizzato dalla politica di sicurezza locale. Immune alle penetrazioni. Funzionalità ben definite. Tempestività di aggiornamento. Limitazioni Firewall Non protegge da attacchi che riescono ad aggirare un firewall. Non fornisce protezione da minacce interne. Non protegge dal trasferimento di file o applicazioni contenenti virus. “Un firewall è necessario ma non sufficiente” DIFESA IN PROFONDITA’ Packet Filtering Router – I controlli Firewall Le regole di filtraggio si basano sulle informazioni contenute nelle intestazioni IP e di trasporto (es. TCP, UDP): indirizzo IP di provenienza/destinazione. numeri di porta delle applicazioni coinvolte. protocollo usato (TCP, UDP). altri campi dell’header IP e TCP. Packet Filtering Router - Le Regole Firewall Regole di filtraggio/Access Control List (ACL): STATICHE: vengono inserite dall’amministratore e hanno validità illimitata. DINAMICHE: inserite automaticamente connessione in corso. (es. gestione FTP) in base alla La filosofia di base: default=scartare. “Tutto ciò che non è espressamente permesso è proibito” default=inoltrare. “Tutto ciò che non è espressamente proibito è permesso” Packet Filtering Router - Esempio 1 Firewall Esempio1: Impostazione di un set di regole per consentire il traffico relativo al servizio WWW (80/tcp). Direzione Indirizzo src Porta src Indirizzo dst Porta dst Protocollo Azione A Out Locale >1023 Remoto 80 TCP Permetti B In Remoto 80 Locale >1023 TCP Permetti C * * * * * TCP Blocca Limiti: un malintenzionato può avere i permessi per inoltrare pacchetti dalla porta 80, spacciandosi per un servizio ritenuto affidabile per la rete privata e quindi inoltrarsi nella rete protetta. Packet Filtering Router - Esempio 2 Firewall Esempio2 Comunicazione fra X e Y, ma non fra X e la sottorete Y1. No comunicazione fra X e Z, ad eccezione del flusso fra X e Z1. No comunicazione fra X e il resto della rete pubblica. Packet Filtering Router – Indirizzo IP Esempio 2 Indirizzo IP Protocollo Firewall Azione A reteX sottoreteY1 * Blocca B reteX reteY * Permetti C reteX sottoreteZ1 * Permetti D reteX reteZ * Blocca E * * * Blocca Attenzione all’ordine! Indirizzo IP Indirizzo IP Protocollo Azione B reteX reteY * Permetti A reteX sottoreteY1 * Blocca D reteX reteZ * Blocca C reteX sottoreteZ1 * Permetti E * * * Blocca Packet Filtering Router - Attacco e Difesa Firewall IP Spoofing: un malintenzionato potrebbe spacciarsi per un host interno alla rete protetta. Difesa:bloccare i pacchetti provenienti dall’esterno con indirizzo ip sorgente di un host interno. Source Routing: la sorgente potrebbe specificare il percorso che il pacchetto deve fare dentro la rete, per evitare misure di sicurezza. Difesa: scartare i pacchetti che contengono source route nel campo opzioni del datagramma Ip. Tiny Fragment: uso dell’opzione di frammentazione per creare piccoli frammenti per separare le informazioni dell’header TCP, allo scopo di evitare controlli basati proprio sull’header TCP. Difesa:bloccare pacchetti frammentati. Packet Filtering Router - Conclusioni Firewall Pro: costi contenuti trasparenza verso gli utenti finali approccio semplice Contro: più regole più complessità più errori aggiornamento frequente stateless: nessuna informazione sullo stato della connessione (es. difficoltà a gestire porte dinamiche di FTP) Circuit level gateway – I controlli Firewall Regole di filtraggio basate su dell’intestazione a livello di trasporto. tutti i parametri Esempio TCP: numero di sequenza, acknowledgement, flag SYN, flag ACK… SYN, SequenceNum=x ACK+SYN, SequenceNum=Y Acknowledgement=x+1 ACK, Acknowledgment=y+1 Handshake a 3 vie Che controlli ho in più? Es. Per evitare che si inizino connessioni dall’esterno, si bloccano i pacchetti con SYN=1 e ACK=0! Circuit-level gateway - Conclusioni Firewall Stateful: si mantengono informazioni sullo stato della connessione, in una tabella di stato. I pacchetti non sono esaminati in maniera indipendente gli uni dagli altri. Consente una difesa contro gli attacchi DoS: si controlla il volume del traffico destinato al sistema vittima (es. si accetta solo un numero limitato di pacchetti provenienti da ogni host). Consente una gestione efficiente di FTP tramite apertura passiva della connessione dati e regole dinamiche. Non è in grado di svolgere controlli a livello applicativo. Application-level gateway – I controlli Firewall Ispezione a livello applicativo (es. tipi MIME, espressioni regolari nelle URL richieste, orari di connessione…) Paradigma di comunicazione: Client-Proxy-Server Esempio di Proxy: Squid Application-level gateway - Funzionamento Firewall Il client (host interno) contatta il proxy server, indicando il server remoto a cui vuole accedere. Il proxy richiede le credenziali per l’accesso al servizio. Il client invia le credenziali. Il proxy controlla le credenziali e se conformi, apre una connessione con il server remoto e inizia lo scambio dei dati fra il client e il server. Per ogni messaggio di ritorno vengono effettuati tutti i controlli previsti dalla policy di sicurezza, prima di inviarlo alla destinazione finale. Per ogni servizio occorre implementare il corrispondente proxy code. Application-level gateway - Conclusioni Firewall Pro: I controlli sono più accurati: stateful inspection e content inspection Servizi aggiuntivi: auditing, logging, cache file. Nascondere la rete interna: gli host esterni vedono solo l’indirizzo del proxy. Contro: Configurazione complessa. Overhead del sistema. Architettura Firewall Firewall Dual Homed Host Firewall Screened Host Firewall Screened Host Firewall Caratteristiche: Due dispositivi distinti per funzioni di routing e di proxy. Dall’esterno è visibile solo il bastion host, quindi il ruoter deve scartare tutti quei pacchetti con indirizzo dst diverso dal bastion host. Sul bastion host non devono essere memorizzati servizi utilizzati solo dagli host interni (es database con dati gestionali). Screened Subnet Firewall Screened Subnet Firewall Caratteristiche: una rete perimetrale (DMZ Demilitarized Zone) con diversi bastion host (servizi pubblici). Exterior router: posto tra la rete pubblica e DMZ; fa passare solo pacchetti destinati ai bastion host Interior router: posto tra la DMZ e rete interna; fa passare solo pacchetti provenienti dai bastion host. Possibilità di modifiche all’architettura per migliorare le prestazioni: più bastion host o diversi router. Riferimenti Firewall Maurizio Cinotti, Internet Security – 2006 William Stallings, Sicurezza delle reti – Edizione Italiana C. Pfleeger, S. Pleeger, Security in Computing – 2004 Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed Fourth Edition. Network Security Secrets e Solutions – 2003 www.wikipedia.org www.attivissimo.net