La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione alle problematiche di Network Security

Presentazioni simili


Presentazione sul tema: "Introduzione alle problematiche di Network Security"— Transcript della presentazione:

1 Introduzione alle problematiche di Network Security
Angelo Neri ITIS Vinci 16 Maggio 2005 ITIS Vinci - Carpi, 12 Maggio 2005

2 ITIS Vinci - Carpi, 12 Maggio 2005
Agenda Introduzione alle problematiche della sicurezza Analisi del Rischio Il “rischio” Internet Origini delle Vulnerabilità dei sistemi Autenticazione e Autorizzazione, concetti, metodologie e strumenti e vulnerabilità correlate “Laboratorio” Firma digitale e posta elettronica (GPG, S/MIME) Sniffing di protocolli Come difendersi: Firewall, IDS, Aggiornamento Strumenti di verifica e scansione Fonti informative Le “regole d’oro” e qualche suggerimento pratico ITIS Vinci - Carpi, 12 Maggio 2005

3 ITIS Vinci - Carpi, 12 Maggio 2005
Sicurezza La Security e’ la capacità di applicare la “Security Policy” scelta per la propria organizzazione, ovvero le regole che determinano chi e in che modo può accedere alle risorse aziendali, sia in termini di hardware che di informazioni. Confidenzialità delle informazioni Integrità delle informazioni Informazioni riservate Informazioni pubbliche Disponibilità delle risorse Funzionalità dei servizi Risorse di calcolo Network Bandwidth ITIS Vinci - Carpi, 12 Maggio 2005

4 ITIS Vinci - Carpi, 12 Maggio 2005
Analisi del Rischio L’ Analisi del Rischio è l’attività “guida” ogni altra azione in ambito di sicurezza: Consiste nella valutazione sistematica di Il danno derivante da un security incident La reale probabilità che tale evento accada per concentrare gli investimenti dove ve ne e’ veramente bisogno, trovando il giusto equilibrio tra costi e benefici, in termini di riduzione del rischio. per individuare i requisiti di sicurezza dell’ organizzazione E’ evidente che la sicurezza totale non esiste, forse nemmeno con risorse infinite, per poter indirizzare in modo corretto gli investimenti e’ necessario capire quali siano gli ambiti nei quali un “incidente” puo’ causare i danni maggiori all’organizzazione, per concentrare li’ gli investimenti e trovare un giusto equilibrio costi/benefici. L’A.R consiste nella valutazione sistematica del danno derivante da una violazione delle politiche di sicurezza che un’organizzazione si e’ data (in termini di confidenzialità, riservatezza e disponibilità delle informazioni e dei servizi informativi) e della reale probabilitia che un tale evento possa accadere L’analisi del Rischio consenta anche di definire in maggiore dettaglio le policy aziendali in termini di norme di comportamento, linee guida per futuri sviluppi (ad esempio per la tal attività e’ necessario che vengano utilizzate comunicazioni cifrate ) L’Analisi del Rischio e’ riconosciuta come un passo fondamentale in praticamente tutti gli “standard” linee guida che indicano la strada da seguire per costruire un sistema di sicurezza, a partire dalla BS779 e ad esempio nelle “Linee Guida AIPA per il Piano della Sicurezza”, la stessa dpr 318 prevede che le “Venga redatto un documento programmatico sulla sicurezza nel quale i criteri e le procedure per assicurare l’integrità dei dati e per la sicurezza delle trasmissioni dei dati vengono stabiliti sulla base dell’analisi dei rischi. ITIS Vinci - Carpi, 12 Maggio 2005

5 Esempio di Rischio F(MINACCIA,VULNERABILITA’,IMPATTO) RISCHIO =
Il Rischio dipende essenzialmente da tre diversi fattori, MINACCIA, VULNERABILITA, e IMPATTO ITIS Vinci - Carpi, 12 Maggio 2005

6 Analisi del Rischio: alcune definizioni
Minaccia: potenziale causa di un incidente (deliberato o accidentale) che può danneggiare uno o tutti i beni che costituiscono il patrimonio informativo eventi naturali di natura umana di natura tecnologica (avarie, guasti) intenzionali o accidentali Vulnerabilità: è un punto debole nella sicurezza delle informazioni dell’organizzazione Se una vulnerabilità viene sfruttata da un agente di minaccia si verifica un incidente Impatto: danno derivante da un incidente. Rischio di Sicurezza: è la possibilità che una determinata minaccia si avvantaggi delle vulnerabilità per provocare un incidente Una minaccia e’ una potenziale causa di incidente (deliberato o accidentale) che può danneggiare uno o tutti i beni che costituiscono il patrimonio informativo. L’ AR prende in considerazione le minaccie “ a largo raggio”eventi naturali,di natura umana (deliberati o accidentali) ,di natura tecnologica (avarie, guasti) , deliberate/intenzionali. Quindi dall’incendio alluvione,al black out ai guasti agli eleboratori alle minaccie intenzionali da parte di individui. In questo senso il concetto di sicurezza si estende un bel po’ oltre l’immagine comune che identifica la sicurezza come il problema degli hacker o dei virus. Una Vulnerabilità invece e’ un punto debole nei sistemi di gestione che puo’ consentire ad una minaccia di provocare un danno. Una vulnerabilità e’ quindi ad esempio un elaboratore mal configurato ma anche la mancanza di un sistema anti-incendio o di controllo accessi Se una vulnerabilità viene sfruttata da un agente di minaccia si verifica un incidente, che ha come conseguenza una perdita di confidenzialità, integrità o disponibilità delle informazioni (oltre ad eventuali danni materiali all’ hw e alle infrastrutture) Impatto: danno effettivo derivante da un incidente, e’ la parte piu’ critica da valutare, la piu’ difficile ma anche la piu’ importante Rischio di Sicurezza: è la probabilita’ che una determinata minaccia si avvantaggi delle vulnerabilità per provocare un incidente e quindi un danno. E’ evidente che per la valutazione del Rischio vanno prese in considerazione tutti tre i fattori: una minaccia altamente probabile e un sistema di sicurezza insufficiente possono essere al limite tollerati se il danno conseguente non e’ rilevante ITIS Vinci - Carpi, 12 Maggio 2005

7 Classificazione dei rischi
Descrizione rischi Impatto sui beni Probabilità della minaccia/vulnerabilità Misura del Rischio (impatto x probabilità) Classifica dei rischi Minaccia A 5 2 10 Minaccia B 4 8 3 Minaccia C 15 1 Minaccia D Minaccia E Un esempio in cui si mette in risalto la “classifica dei rischi” L’obiettivo è stabilire priorità di intervento sui rischi e valutare in modo consapevole quali rischi accettare e quali, invece, devono essere assolutamente ridotti ITIS Vinci - Carpi, 12 Maggio 2005

8 Rischio Internet: La minaccia
Soggetti determinati a danneggiare l’organizzazione o ad ottenere un profitto per se. Concorrenti Dipendenti o ex-dipendenti insoddisfatti Obiettivo scelto oculatamente Soggetti determinati a utilizzare le risorse dell’ organizzazione Per preparare ulteriori attacchi Per confondere le tracce Per condurre attacchi distribuiti Obiettivo scelto in base alla debolezza del sistema di difesa La “minaccia” puo’ essere di varia natura, a partire dal soggetto determinato a danneggiare l’organizzazione o a ottenere un vantaggio per se’,in questo caso l’obiettivo viene scelto con cura, a coloro interessati a “usarvi” per le vostre risorse, per nascondere le proprie tracce,e in questo caso l’obiettivo viene scelto in base alla debolezza del sistema. Poi vi sono coloro che desiderano semplicemente dimnostrare la propria abilita’ ed infine i worm o virus che si diffondono per scansione dello spazio degli indirizzi ITIS Vinci - Carpi, 12 Maggio 2005

9 Rischio Internet: La minaccia (2)
“script kiddies” Per dimostrare le proprie capacità Semplicemente per divertimento o vandalismo Obiettivo scelto “a caso” o in funzione della visibilità e prestigio dell’organizzazione Robot automatici Virus Worm Obiettivo scelto “a caso” per scansione sequenziale dello spazio di indirizzi. ITIS Vinci - Carpi, 12 Maggio 2005

10 Le origini della Vulnerabilità dei Sistemi
Le vulnerabilità derivano da errori nel progetto, nell’implementazione o nella configurazione dei programmi/servizi: Attacco ai meccanismi di Autenticazione Autenticazione debole Password sniffing,cracking Attacco ai meccanismi di Autorizzazione Input validation Denial of Service Social Engeneering .. spesso combinati tra loro “ a catena “ .. Le vulnerabilità derivano da errori nel progetto, nell’implementazione o nella configurazione dei programmi/servizi, Possono consentire ad un attaccante di impersonare un utente legittimo del sistema (attacco ai meccanismi di autenticazione, password), oppure possono cercare di indurre il sistema a comportarsi in modo anomalo, di fatto consentendo all’ attaccante di ottenere ben più privilegi e possibilità di azione sul sistema di quanto fosse previsto (attacco ai meccanismi di Autorizzazione, i meccanismi che determinano quali operazioni sono consentite ad un utente ormai autenticato) Esistono poi attaccho Denial of Service, mirati a rendere indisponibile i servizi ad esempio sommergendoli di richieste, e infine quelli che sfuttano, come vulnerabilitaà “l’ingenuita’” delle persone, inducendole ad abbassare la guardia. Da notare come una significativa fetta delle vulnerabilità sia legata ad una non corretta gestione dei dati di input che l’utente fornisce al sistema (input validation) e che quindi tali vulnerabilità rendono pericoloso anche ricevere e trattare dati non fidati con programmi vulnerabili. Ad esempio semplicemente avere una casella di posta elettronica significa consentire a chiunque di depositare dati (mail) nella vostra casella, che prima o poi voi leggerete e se il programma per la lettura della posta e’ bacato .. ITIS Vinci - Carpi, 12 Maggio 2005

11 Ciclo di Vita di una Vulnerabilità ( A Bug Life )
Vulnerabilità: Errore di progetto o di implementazione di un programma che consente una violazione delle politiche di sicurezza. Esiste da quando esiste ed e’ diffuso il programma Viene scoperta e comincia a circolare in ambienti di ricerca o “underground” Viene riconosciuta e pubblicata con Annuncio Ufficiale Il produttore pubblica l’aggiornamento che la elimina Viene sfruttata mediante exploit (attacchi o worm) La comunità degli utenti completa l’aggiornamento, non vi sono più sistemi vulnerabili in rete ITIS Vinci - Carpi, 12 Maggio 2005

12 Vunerabilità e Rischio
Vulnerabilità: Errore di progetto o di implementazione di un programma che consente una violazione delle politiche di sicurezza. Esiste da quando esiste ed e’ diffuso il programma Viene scoperta e comincia a circolare in ambienti di ricerca o “underground” Viene riconosciuta e pubblicata con Annuncio Ufficiale Il produttore pubblica l’aggiornamento che la elimina Viene sfruttata mediante exploit (attacchi o worm) La comunità degli utenti completa l’aggiornamento, non vi sono più sistemi vulnerabili in rete Un tentativo di graficare la “curva del rischio”, il rischio e’ basso/nullo sino a che la vulnerabilità non viene scoperta, cresce al momento della scoperta in funzione di chi la scopre (black-hat vs white-hat) e all’appetibilità del target. L’annuncio in qualche misura aumenta il rischio perche’ una larga comunita’ di potenziali hacker ne viene a conoscenza, le patch per i sistemi open-source poi danno una indicazione precisa di dove fosse il problema. Il rischio aumenta considerevolmente nel momento in cui si diffondono exploit che li sfruttano, la vulerabilita’ diventa accessibile anche agli “script kiddies” o worm automatici che setacciano la rete. Crolla quando si installa la patch correttiva. Esce la patch Patch installata Nasce Exploit/worm Scoperta Annuncio ITIS Vinci - Carpi, 12 Maggio 2005

13 Un Esempio: SQLSlammer /MS-SQL Server Worm
Il worm si diffonde il 25 Gennaio 2003, sfrutta diverse vulnerabilità presenti in Microsoft SQL Server già note e fissate da tempo: Microsoft Security Bulletin MS02-039, patch Q July 24, 2002 Microsoft Security Bulletin MS02-061, patch Q Oct 16, 2002 .. Eppure la sua diffusione è stata impressionante .. "This worm required roughly 10 minutes to spread worldwide making it by far the fastest worm to date." "In the early stages [the number of compromised hosts] was doubling in size every 8.5 seconds." "At its peak, achieved approximately 3 minutes after it was released, Sapphire scanned the net at over 55 million IP addresses per second." "It infected at least 75,000 victims and probably considerably more.“ Da Analysis of the Sapphire Worm - A joint effort of CAIDA, ICSI, Silicon Defense, UC Berkeley EECS and UC San Diego CSE, Notare in questo caso specifico , relativo al worm SQLSlammer che ha causato numerosi problemi lo scorso Gennaio, sfrutta una viulnerabilit’ nota e corretta almeno3 mesi prima. Eppure la sua diffusione e’ stata rapidissima, causando significativi problemi a livello globale anche a chi non era vulnerabile .. ITIS Vinci - Carpi, 12 Maggio 2005

14 Un Altro esempio W32/Blaster e MS RPC-DCOM Vulnerability
Il worm si diffonde il attorno al 10 Agosto 2003, per la diffusione sfrutta una vulnerabilità presente nei sistemi operativi Widows2000/XP/NT/2003 già note e fissate da circa un mese: Microsoft Security Bulletin MS patch Q July 16, 2003 Questa volta non è passato molto tempo tra la pubblicazione della vulnerabilità e il suo utilizzo “su larga scala”. Questo virus, a differenza di W32/Sobig, non ha bisogno di alcuna “azione” da parte dell’utente per diffondersi (leggere mail, visitare siti web, aprire attach o altro) e attacca indistintamente workstation e server. ITIS Vinci - Carpi, 12 Maggio 2005

15 ITIS Vinci - Carpi, 12 Maggio 2005
Perche’ preoccuparsi ? Perche’ la perdita di confidenzialità, integrità delle informazioni e della disponibilità delle risorse hardware costituiscono un danno economico o di di immagine Costi diretti di ripristino Costi indiretti per indisponibilità dei servizi Danno di immagine Perchè lo richiede la legge D.lgs. 196/ “Legge sulla Privacy”, per la protezione dei dati personali o sensibili. ITIS Vinci - Carpi, 12 Maggio 2005

16 ITIS Vinci - Carpi, 12 Maggio 2005
D.lgs. 196/2003 .. Solo alcuni stralci Il codice prevede una distinzione tra: Misure “minime” : la cui mancata adozione comporta sanzioni penali Misure “idonee”: decise in autonomia dal titolare (“anche in relazione alle conoscenze acquisite in base al progresso tecnico”), che se non adottate, in caso di ricorso in giudizio, concorrono all’individuazione delle responsabilità e del conseguente risarcimento se il danno è causato a trattamenti di dati non idoneamente protetti. Non identificate analiticamente dalla legge ma identificabili dal Titolare o dal Responsabile del trattamento al fine di "ridurre al minimo i rischi di distruzione o perdita, anche accidentale, dei dati stessi, di accesso non autorizzato o di trattamento non consentito o non conforme alle finalità di raccolta" ITIS Vinci - Carpi, 12 Maggio 2005

17 ITIS Vinci - Carpi, 12 Maggio 2005
D.lgs. 196/2003 Misure minime : copie di sicurezza dei dati (back up) procedure di ripristino della disponibilità dei dati “idonei strumenti elettronici” dal rischio di intrusioni di vandali informatici (firewall) strumenti per proteggersi dal rischio dell’azione di malware (es. programmi antivirus) Anche tramite l’installazione di patch di aggiornamento periodico per la correzione dei bachi ai programmi ITIS Vinci - Carpi, 12 Maggio 2005

18 Autenticazione e Autorizzazione
ITIS Vinci - Carpi, 12 Maggio 2005

19 ITIS Vinci - Carpi, 12 Maggio 2005
Definizione processo di identificazione e verifica dell'autenticità di un soggetto che cerca di accedere a dati critici o risorse. L’autenticazione è basata su: Qualcosa che il soggetto conosce (password, chiave ecc.) Qualcosa che il soggetto possiede (“hw Token” come smart-card, generatori di sequenze ecc.) Sulle caratteristiche biometriche del soggetto (iride, impronta digitale, voce ecc.) L'autenticazione e' da considerarsi uno dei requisiti fondamentali della network security, la cui accuratezza e' strettamente legata al meccanismo prescelto per metterla in atto. Per proteggere delle informazioni o mettere in sicurezza delle aree e' possibile scegliere tra diversi metodi di identificazione che si differenziano per costo, scalabilita' e affidabilita'. Questa parte del corso può essere vista come breve tutorial dei meccanismi di autenticazione piu’ diffusi e conosciuti che spazieranno dal metodo più tradizionale di “user e password” a quelli meno canonici che prendono in considerazione le caratteristiche biometriche di un individuo. ITIS Vinci - Carpi, 12 Maggio 2005

20 ITIS Vinci - Carpi, 12 Maggio 2005
Password Password: il segreto che dimostra l’identità, ma come dimostrare al server la conoscenza del segreto ? Diversi schemi: Trasmissione della password Challenge response Crittografia Asimmetrica Per motivi di sicurezza nei sistemi operativi rilasciati negli ultimi anni le password non vengono mai memorizzate in chiaro nei database ma in forma offuscata e/o crittografata mediante l’utilizzo di appositi algoritmi. Tale tecnica serve a far sì che le password non possano essere immediatamente utilizzabile da eventuali hacker guadagnatosi l’accesso al database. Poiché i meccanismi di cifratura, di complessità variabile, si basano su algoritmi di pubblico dominio la sicurezza va garantita con una scelta attenta della chiave di codifica. Inutile dire che la chiave per la cifraturra va custodita con la stessa accuratezza adottata per il database delle password dato che se l’hacker ottiene l’accesso ad entrambi riesce immediatamente a decifrare tutte le password utente. Per questo motivo in molti sistemi operativi viene memorizzata al posto della codifica della password una sua versione offuscata (shadow password di UNIX, SAM di windows) ottenuta dandola in input ad una funzione hash unidirezionale (one-way), che la converte in una sequenza di byte. Il termine unidirezionale deriva dal fatto che l’algoritmo utilizzato è computazionalmente molto difficile da invertire. Per rendere gli attacchi di tipo dizionario meno efficaci, ogni password, nella lista iniziale, può essere aumentata con una stringa random di s bit chiamata salt prima di applicare la funzione one-way. Sia le password modificate che i bit di salt sono registrati nel file di password. Osservazione: Per proteggere i file delle password, l'uso di una funzione hash unidirezionale è in genere preferito ad una cifratura reversibile; tra le ragioni vi sono le restrizioni all'esportazione degli algoritmi di cifratura e alla necessità di utilizzare chiavi per la codifica. ITIS Vinci - Carpi, 12 Maggio 2005

21 Password trasmessa al server
L’autenticazione avviene secondo il meccanismo seguente: Username, password Db pass L'utente per accedere al sistema fornisce a quest’ultimo come informazioni per l’autenticazione la coppia <userid, password>. Il sistema, ricevuta la coppia, ricerca l'userid nel file delle password e produce, a seconda dei casi, il valore crittografato o offuscato della password pervenutagli provvedendo poi a confrontarlo con quanto ha memorizzato; se i due valori coincidono l'identificazione viene completata con successo, altrimenti all’utente viene negato l’accesso al sistema. Se il sistema utilizza un meccanismo di salting quando l'utente invia la password, cerca il salt da aggiungervi prima di applicarci la funzione one-way alla stringa ottenuta. La difficoltà di una ricerca esaustiva su qualsiasi password di un particolare utente non è modificata dal salting. risposta ITIS Vinci - Carpi, 12 Maggio 2005

22 Password trasmessa al server
Come verifica il server la correttezza della password ? Solitamente per ragioni di sicurezza si evita di conservare le password sul server Sul server, invece viene conservata una Hash della password, a cui viene eventualmente aggiunto un “salt”, conservato anch’esso nel DB Crypted-Passwd=H(Passwd,Salt) Il serve riceve la password “in chiaro”, calcola la Crypted-Password e verifica che siano uguali. ITIS Vinci - Carpi, 12 Maggio 2005

23 Password cifrate sul Server
Su macchina Unix: DES # cat /etc/shadow pippo:NHsgGtr6jizY5::::::: pluto:01Fgst/uLga43:12065:::::: paperino:WsralPshtdwRt:12067:::::: MD5 pippo:$1$FLsgh679kals9MaD5tzOTlkIlmnb.:12041:0:99999:7::: pluto:$1$tdgshw67/jJusgtshcPhsreTrqsGtSa:11857:0:99999:7::: ITIS Vinci - Carpi, 12 Maggio 2005

24 Password cifrate sul Server
Su macchina Unix: DES # cat /etc/shadow pippo:NHsgGtr6jizY5::::::: pluto:01Fgst/uLga43:12065:::::: paperino:WsralPshtdwRt:12067:::::: MD5 pippo:$1$FLsgh679kals9MaD5tzOTlkIlmnb.:12041:0:99999:7::: pluto:$1$tdgshw67/jJusgtshcPhsreTrqsGtSa:11857:0:99999:7::: ITIS Vinci - Carpi, 12 Maggio 2005

25 ITIS Vinci - Carpi, 12 Maggio 2005
challenge-response Nella forma più semplice: Il server invia una stringa casuale all’utente (Challenge o sfida) L’utente calcola una risposta in base al challenge inviato dal server e alla password in suo possesso (chiave) Il server controlla la risposta ricevuta con quanto si aspettava Username Poiché la sfida cambia ad ogni sessione le coppie challenge-response valide catturate da un’intruso risultano inutilizzabili per sferrare degli attacchi successivi. L’attaccante se vuole loggarsi con le stesse credenziali dell’utente deve entrare in possesso del segreto condiviso tra client e server. Sarà più comprensibile quando andremo ad analizzare dei casi in cui tale metodo di autenticazione viene applicato nello specifico Db chiavi challenge risposta ITIS Vinci - Carpi, 12 Maggio 2005

26 ITIS Vinci - Carpi, 12 Maggio 2005
challenge-response Risposta = Crypt (Challenge, Password) Per verificare che la risposta sia corretta, il server ha bisogno di ricalcolarla e quindi di conoscere la Password dell’utente ITIS Vinci - Carpi, 12 Maggio 2005

27 Challenge-Response: Una variante
Per evitare di conservare sul server le password degli utenti in chiaro, si può utilizzare al posto della password, una sua hash, alterata eventualmente da un salt: Risposta = Crypt (Challenge, H(Password,salt)) Risposta = Crypt (Challenge, H(Password)) Comunque ciò che viene conservato sul server è sufficiente per generare la giusta risposta ITIS Vinci - Carpi, 12 Maggio 2005

28 ITIS Vinci - Carpi, 12 Maggio 2005
Scelta della password Una password robusta deve essere: il più lunga possibile (=Max consentito dal sistema) costituita da numeri, caratteri alfanumerici e lettere sia in minuscolo che in maiuscolo Diversa da parole che possono essere contenute in un vocabolario indipendente dalla propria vita privata Le prime tre caratteristiche servono a complicare il lavoro dei programmi che cercano di trovare o indovinare la password, mentre le ultime due costituiscono delle buone regole tese a non vanificare la sicurezza. Nell’operare la scelta della password di accesso ad un sistema è bene che l’utente rammenti che codici corrispondenti a dati personali (nomi di congiunti, date di nascita) o parole facilmente intuibili (es. la squadra del cuore) possono essere facilmente dedotte da persone di propria conoscenza. L'ultima regola elencata serve a mettere in guardia dal lasciare la password a portata di mano di qualsiasi malintenzionato : un simile rischio può derivare dalla scelta di password troppo complesse che, per paura di dimenticare, memorizziamo su qualcosa da consultare ogni volta che dobbiamo accedere alla risorsa che sono preposte a proteggere. ITIS Vinci - Carpi, 12 Maggio 2005

29 ITIS Vinci - Carpi, 12 Maggio 2005
Scelta della password la password deve essere facile da ricordare per l’utente la password deve essere preferibilmente composta da una sequenza di lettere, numeri e caratteri speciali (es. di caratteri speciali: ? % $) Esempi: V1vs,vuvcqdf Voglio una vita spericolata, voglio una vita come quelle dei films 1!te3m&a una-not-te-tre-m-end-a IwuGbadq I will use Google before asking dumb questions ITIS Vinci - Carpi, 12 Maggio 2005

30 Crittografia Asimmetrica
L’algoritmo (o chiave) per cifrare un messaggio è diverso da quello per decifrarlo: Testo cifrato = C ( E, “testo in chiaro”) Testo in chiaro = C ( D, “testo cifrato”) (E = chiave di encription, D = chiave di decription, C algoritmo di cifratura) E’ troppo difficile ricavare D da E Esistono algoritmi (RSA, DSA) con queste caratteristiche che si basano sulle proprietà dei numeri ITIS Vinci - Carpi, 12 Maggio 2005

31 Crittografia Asimmetrica: applicazione
La chiave di decifratura viene resa pubblica (chiave pubblica), l’altra rimane segreta (chiave privata) Per dimostrare la conoscenza della chiave privata è sufficiente uno scambio challenge response in l’autenticatore invia un testo a sua scelta e attende in risposta il testo cifrato con la chiave privata. Può verificarne l’esattezza decifrando la risposta con la chiave pubblica Notare che il “server” (l’autenticatore) non riceve mail la chiave privata ne la deve conservare, la chiave privata non ha mai bisogno di “uscire” dal sistema client (può stare su una smart card) ITIS Vinci - Carpi, 12 Maggio 2005

32 Crittografia Asimmetrica: applicazioni
Confidenzialità: Per inviare un messaggio confidenziale è sufficiente cifrarlo con la chiave pubblica del ricevente Firma digitale: Per dimostrare l’autenticità di un testo e la sua integrità (non alterazione) è sufficiente cifrarlo con la chiave privata del mittente: il pubblico può verificarlo con la rispettiva chiave pubblica. Negoziazione di chiavi di cifratura Per stabilire un canale di comunicazione sicuro su un mezzo insicuro. ITIS Vinci - Carpi, 12 Maggio 2005

33 Crittografia asimmetrica: limiti
Le chiavi sono molto lunghe ( caratteri) e non possono essere scelte in modo mnemonico, devono quindi essere conservate su un media eventualmente cifrate con chiavi “tradizionali” (passfrase) L’algoritmo di cifratura asimmetrico è computazionalmente pesante, per cui spesso viene utilizzato per negoziare in modo sicuro una chiave simmetrica di sessione con la quale proseguire la transazione Resta il problema della distribuzioni delle chiavi pubbliche, della loro associazione con l’identità della persona, della revoca in caso di smarrimento furto, ITIS Vinci - Carpi, 12 Maggio 2005

34 ITIS Vinci - Carpi, 12 Maggio 2005
Certificato digitale Documento digitale che: Contiene la chiave pubblica e le informazioni sull’identità dell’intestatario È firmato digitalmente (chiave privata) da una “Certification Authority (CA)” che certifica previa verifica l’effettiva validità dell’ identità Può contenere più livelli di certificazione (CA di livello superiore) La chiave pubblica della o delle “root CA” deve essere “pubblicamente nota” (es: le principali sono installate di default nei principali browser) Un Certificato Digitale è formato da: - Una Chiave pubblica - Informazioni del certificato (Identità dell'proprietario, indirizzo di , foto ecc.). - Una o più firme digitali che autenticano il certificato Analogamente a quello che succede per la Carta di identità cartacea, per fare un Certificato Digitale una Certification Authority (che equivale al Comune) dà fiducia a delle Certification Authority di secondo livello, che a loro volta certificano l'identità degli utenti e gli firmano il loro certificato. Controllare la validità di un certificato significa quindi risalire la sua catena di autorizzazioni fino a raggiungere quella di una Certification Authority di cui il soggetto si fida. I browser in circolazione sono preconfigurati per dare fiducia ad un certo numero di Certification Authority ben note (es.VeriSign) ITIS Vinci - Carpi, 12 Maggio 2005

35 Certificato: utilizzo
Ovunque è richiesta la chiave pubblica dell’intestatario Accesso a sistemi una autorizzazione accertabile dal certificato L’autenticatore il certificato: Controlla l’integrità del certificato, usando la chiave pubblica della CA Controlla la validità del certificato (data di scadenza) Controlla che l’intetatario del certificato sia quello atteso. Usa la chiave pubblica che trova nel certificato per controllare l’integrità di quanto riceve dall’intestatario del certificato ITIS Vinci - Carpi, 12 Maggio 2005

36 Certificato Digitale e Carta d’ Identità
Le analogie tra certificato digitale e Carta d’Identità: La Chiave pubblica è la foto La chiave privata è la capacità di andare in giro con una faccia che somigli alla foto Nome, Cognome, indirizzo etc: l’identità dell’intestatario Firma dell’autorità che la rilascia (Comune di ..) Data di scadenza Il procedimento di verifica .. ITIS Vinci - Carpi, 12 Maggio 2005

37 Chi rilascia i Certificati Digitali ?
Una Certification Authority (CA) “trusted” al livello globale A pagamento .. Generalmente riconosciuti in Internet Utile quando si deve dimostrare la propria identità a qualcuno che non “si conosce a priori” Una Certification Authority “privata” Non costano nulla Sono riconosciuti solo localmente da chi “si fida” della CA Vanno benissimo in ambiti locali Analogia con i “tesserini aziendali” ITIS Vinci - Carpi, 12 Maggio 2005

38 Soluzioni “Tunnelled”
L’impiego della crittografia asimmetrica consente alle parti che devono comunicare in modo sicuro di scambiarsi una chiave di sessione (simmetrica) per stabilire un canale di comunicazione sicuro Il canale può essere a vari livelli : trasporto (SSL,TLS) o rete (tunnel VPN, IPsec) Una volta stabilito il canale di comunicazione (tunnel) è possibile su di esso continuare a “parlare” protocolli non sicuri, quali ad esempio autenticazione “con trasmissione della password”. Importante comunque almeno “l’autenticazione del server” nello stabilire il canale, di solito fatta tramite certificati digitali, per evitare “man-in-the middle” Molti servizi sono stati resi sicuri in questo modo (web browsing/https, , accesso interattivo/ssh, etc) ITIS Vinci - Carpi, 12 Maggio 2005

39 Sistemi di Autenticazioni in Uso
Web browsing: diversi tipi di autenticazioni negoziabili tra client e server in modo “trasparente”: Basic (password trasmessa al server) Digest, NTLM, Kerberos (challenge response) In pratica il metodo di gran lunga più diffuso è il Basic, di per sè insicuro. Con il protocollo HTTP inoltre tutti i dati inseriti (web form) passano in chiaro. La soluzione è utilizzare HTTPS, ovvero HTTP tunnellato su SSL, ma attenzione a autenticare il server (occhio al certificato !!) ITIS Vinci - Carpi, 12 Maggio 2005

40 Sistemi di Autenticazioni in Uso
Servizi Microsoft (File sharing, Terminal Services): autenticazione “sostanzialmente” di tipo challenge-response (NTLM, Kerberos) almeno nei sistemi recenti (win2K,WinXP). Trasferimento dati: in chiaro. Remote DeskTop: sessione cifrata, ma senza autenticazione del server (vulnerabile a Man-in-the-Middle) Sessioni Interattiva: telnet, in chiaro. SSH, stelnet criptate File Transfer :FTP: in chiaro; SFTP, SCP sessione cifrata ITIS Vinci - Carpi, 12 Maggio 2005

41 Sistemi di Autenticazioni in Uso
Spedizione: SMTP. Il testo viaggia in chiaro sulla rete, alcuni mail server possono esser impostati per richiedere l’autenticazione per accettare l’invio (relay) viene spesso usato un metodo basic con trasmissione della password. Soluzione: quando disponibile usare SMTP over SSL. Per la protezione del contenuto usare PGP/GPG o S/MIME (vedi LAB.) Ricezione: POP3 o IMAP: usano autenticazione con trasmissione della password, utilizzare la versione “tunnellata” su SSL quando disponibile (IMAPS, POP3S) ITIS Vinci - Carpi, 12 Maggio 2005

42 ITIS Vinci - Carpi, 12 Maggio 2005
Man in the Middle ITIS Vinci - Carpi, 12 Maggio 2005

43 ITIS Vinci - Carpi, 12 Maggio 2005
mitm: definizione Attacco che consente ad un intruso di vedere ed eventualmente modificare, a proprio vantaggio, il traffico tra due o più host. Sfrutta le debolezze dei protocolli e delle tecnologie di comnicazione Costituisce un attacco alla riservatezza, all’integrità e all’autenticità dei dati Comunicazione logica In un attacco di tipo man in the middle il traffico generato da una comunicazione tra due host viene dirottato verso un terzo host che farà da tramite. Un attacco di questo tipo ha spesso successo, in quanto capace di sfruttare le debolezze sia delle tecnologie di autenticazione che di alcuni protocolli progettati senza tenere conto di problematiche di sicurezza. Nella maggior parte dei casi un host, non essendo in grado di sapere se chi sta fornendo ad esso i dati per l'autenticazione sia effettivamente il titolare di diritto, valida l'accesso ad una risorsa tenendo presente solo le informazioni contenute nel suo Database. Lo scopo che gli hacker vogliono raggiungere con un simile attacco e' quello di impersonare una persona e/o un host autorizzato, senza che la vittima se ne accorga. Operando in questo modo, il nodo bersaglio continua a credere di essere connesso all'host legittimo, mentre in realta' sta inviando dati sensibili ad un impostore. Per evitare che l'host destinatario effettivo dei dati sospetti che ci sia in corso un attacco, l'hacker continua a mantenere attiva una comunicazione con questi impersonando la vittima. Una volta stabilito l'attacco, oltre a catturare dati sensibili, l'attaccante ha la possibilità, ad esempio, di inviare comandi ad un server, simulandone contemporaneamente le risposte, inserire del codice malizioso all'interno di pagine web o mail, modificare al volo i binari scaricati, sostituire i parametri che il server e il client si scambiano all'inizio della connessione per modificare il comportamento di entrambi o inibire l'utilizzo dell' IPSEC. Il Man in the Middle e' un attacco alla riservatezza, integrità e autenticità dei dati. hacker ITIS Vinci - Carpi, 12 Maggio 2005

44 ITIS Vinci - Carpi, 12 Maggio 2005
Mitm: vantaggi 1/2 Sniffing Si possono compromettere tutti i protocolli plain text Injecting Possibilità di aggiungere pacchetti alla connessione Filtering Possibilità di modificare il payload dei pacchetti tramite filtri creati “on the fly” command injection Inserimento di comandi da e verso il server allo scopo di ricavare delle informazioni altrimenti non ottenibili: Utile quando l’autenticazione non è riproducibile ITIS Vinci - Carpi, 12 Maggio 2005

45 Mitm: dns & arp poisoning attack
Compromettendo un Name Server è possibile associare ad un nome (FQDN) un differente IP address Sulla rete locale, attacco che sfrutta il comportamento stateless del protocollo arp, per sostituire i MAC address dei due host vittima con quello della macchina attaccante Anche se le comunicazioni su Internet coinvolgono gli indirizzi IP, una volta raggiunta una LAN devono tenere conto del mezzo fisico con cui questa e' realizzata. Le LAN piu' diffuse sono realizzate con tecnologie Ethernet e utilizzano pertanto un indirizzo hardware associato alla scheda di rete degli host, conosciuto come Media Access Controller (MAC) Address. La traduzione da indirizzo IP a indirizzo MAC e viceversa puo' essere fatta tramite l'utilizzo, rispettivamente, dei protocolli ARP e RARP. Un host A, per conoscere il MAC Address di un host C con cui desidera comunicare, invia sulla LAN un ARP Request nella speranza di ottenere da C un ARP Reply contenente l'informazione cercata. Per limitare il traffico di rete appena descritto, gli host memorizzano temporaneamente in apposite cache le risposte a tutte le richieste ARP effettuate. Dato che il protocollo e' stateless, cioe' senza memoria, un' ARP Reply non richiesta e inviata maliziosamente ad un host ha l'effetto di sovrascrivere l'eventuale entry presente nella cache. ITIS Vinci - Carpi, 12 Maggio 2005

46 Attacchi ai meccanismi di autenticazione
ITIS Vinci - Carpi, 12 Maggio 2005

47 Attacchi ai meccanismi di autenticazione: le password
Sniffing Da un “man-in-the middle”, tutte le volte in cui la password viene trasmessa in chiaro Dal server, se riceve la password in chiaro Dal client SEMPRE Password cracking Ripetendo tentativi di autenticazione Raccogliendo “materiale” per poter “indovinare” la password off-line (password crittate, challenge response, chiave pubblica) shoulder surfing, dumpster diving Sfruttando debolezze nelle procedure di conservazione delle password shoulder surfing In alcuni casi, può succedere che l’hacker riesca a spiare gli impiegati mentre digitano dati sensibili, come username e password dumpster diving Vi sono dei casi in cui l’aggressore, spacciandosi per un addetto alle pulizie oppure allo smaltimento dei rifiuti, riesce a recuperare password di accesso a dei sistemi critici frugando tra i rifiuti. ITIS Vinci - Carpi, 12 Maggio 2005

48 Ingegneria sociale: definizione
Tutte le volte in cui si attacca la componente “umana” del sistema di sicurezza Inducendo qualcuno ad “abbassare la guardia”: Fornire dati riservati Eseguire dei malware (virus) Sfruttando l’ingenuità o scarsa consapevolezza di sistemisti o utenti L’ingegneria sociale (social engineering), il meno tecnico dei metodi di attacco, consiste nell’acquisizione di informazioni importanti e riservate mediante tecniche di persuasione psicologica come, ad esempio, lo sfruttamento della tendenza delle persone a rispondere a domande dirette che non si aspettano o del desiderio di aiutare qualcuno che sembra essere in difficoltà. Tecniche di questo tipo si rivelano particolarmente utili agli hacker per raccogliere informazioni nelle fasi iniziali di un tentativo di hacking. Per eseguire un attacco di social engineering, poiche' non ci sono delle regole prestabilite da seguire, basta semplicemente essere credibili. In molti casi, mediante informazioni reperite con tecniche di footprinting, l'hacker cerca di spacciarsi per una persona autorizzata e degna di fiducia al fine di ottenere da sistemisti e webmaster notizie, riguardanti la rete o il sito da essi gestiti, altrimenti non ottenibili. I canali tramite cui l’ingegneria sociale agisce sono solitamente il telefono e la posta elettronica, facendo si' che le vittime prescelte siano spesso gli help desk di assistenza clienti. In rari casi, puo' succedere che un hacker riesca ad accedere fisicamente all’interno dell’azienda o dell’organizzazione da colpire, spacciandosi per un tecnico del telefono o della manutenzione. In casi fortunati come questi l’aggressore potrà allo stesso tempo collocare all’interno della rete un dispositivo pirata sul quale far girare uno sniffer software da ritirare dopo qualche giorno, e spiare gli impiegati mentre digitano dati sensibili, come username e password ( tecnica detta “shoulder surfing”). Nel caso invece in cui l’aggressore riesca a spacciarsi per un addetto alle pulizie oppure allo smaltimento dei rifiuti e' possibile, mediante una tecnica conosciuta come dumpster diving, raccogliere delle informazioni utili. Il dumpster diving consiste nell’analisi dei rifiuti alla ricerca di archivi cartacei, appunti, rubriche, manuali di policy, dati sensibili, codice, corrispondenza, dischetti, nastri registrati e quant’altro possa servire allo scopo. ITIS Vinci - Carpi, 12 Maggio 2005

49 Ingegneria sociale: contromisure
Alcune semplici regole possono limitare i danni: FORMAZIONE: fornirne ai propri utenti un minimo di nozioni di sicurezza e di policy da seguire. Anche se non sono informatici ma solo utilizzatori dello strumento informatico devono avere consapevolezza dei tranelli in cui possono cadere – Security Awareness PRIVILEGI MINIMI: fornire a ciascun utente i privilegi minimi sul sistema che gli sono indispensabili per lavorare. In tale modo sono comunque limitati i danni di ogni azione “sbagliata” (intenzionale o non) che l’ utente possa fare. Ad es: Non utilizzare utenti privilegiati per operazioni che non lo richiedono ITIS Vinci - Carpi, 12 Maggio 2005

50 ITIS Vinci - Carpi, 12 Maggio 2005
DOS e DDOS attack ITIS Vinci - Carpi, 12 Maggio 2005

51 ITIS Vinci - Carpi, 12 Maggio 2005
DoS: definizione Lo scopo dello hacker non è penetrare all’interno di una rete o un sistema ma quello di negare agli utenti leggittimi l’uso totale o parziale di una o più componenti di un sistema informatico Che gusto c’e’ ? Danneggiare un avversario/ concorrente anche compromettendone l’immagine Dimostrare le proprie capacità Disattivare un meccanismo di difesa (ad esempio un IDS) Adesso tratteremo una tipologia di attacco che generalmente ha sulle aziende vittima un notevole impatto economico. Infatti, a volte, e' necessario molto tempo e denaro sia per identificare e annullare un attacco di questo tipo che per ripristinare i danni da questo provocati. Gli attacchi in questione, chiamati Denial of Service (DoS), hanno l'obiettivo di impedire l'erogazione di servizi di rete, portando spesso la rete o i server coinvolti al limite delle prestazioni. I DoS sono messi a punto studiando attentamente il funzionamento dei protocolli di comunicazione, il software che li utilizza e soprattutto le loro implementazioni sui vari sistemi operativi. L'attenzione su quest'ultimo punto assume molta rilevanza sugli effetti che l'hacker desidera ottenere sull'host attaccato, poiche' lo sfruttamento di un baco di un protocollo puo' implicare, a seconda del sistema operativo , l'irraggiungibilita' momentanea di un servizio, o il crash della macchina. Facciamo notare, inoltre, che la vulnerabilita' ai DoS di un software e/o protocollo dipende fortemente dal sistema operativo. Malgrado la definizione di questo tipo di attacchi sia di per se molto generica, e permetta di classificare una miriade di azioni illegali compiute dagli hacker, e‘ possibile inquadrare questi ultimi in una delle seguenti due tipologie : logic attack : capaci di causare il crash o il calo di prestazioni di un server, mediante lo sfruttamento dei bug di software, protocolli o sistemi operativi flooding attack : capaci di saturare le risorse dell'host e della rete vittima mediante l'invio di false richieste apparentemente lecite Leggendo la classificazione si evince come riesca particolarmente difficile difendersi da un flooding, mentre e' facile, in alcuni casi, proteggersi dai logic attack effettuando degli upgrade software o filtrando particolari sequenze di pacchetti. Poiche' non e' possibile descrivere tutti i possibili attacchi DoS, faremo una breve trattazione di quelli piu' diffusi facenti parte in molti casi della prima categoria, per poi passare all'analisi di attacchi del secondo tipo, molto piu' ingegnosi e pericolosi, chiamati DoS distribuiti e riflessivi. Un esempio di lista di attacchi Dos: ITIS Vinci - Carpi, 12 Maggio 2005

52 ITIS Vinci - Carpi, 12 Maggio 2005
DoS: tipologie Si possono notare le seguenti tipologie: flooding attack Saturazione di banda Resource starvation in generale si tenta di mettere in difficoltà il sistema esaurendo una qualche risorsa critica, anche semplicemente utlizzandone un servizio in modo del tutto legittimo (es: netstrike) logic attack Bug software Attacchi basati sul routing Attacchi basati sul dns ITIS Vinci - Carpi, 12 Maggio 2005

53 DoS: saturazione di banda
Questa tipologia di Dos genera una quantità di traffico tale da consumare tutta la banda a disposizione di un sito tecnica: facile se l’hacker ha a disposizione una banda maggiore di quella a disposizione dell’attaccato complessa, poichè richiede metodi di amplificazione, se la banda dell’attaccante è insufficiente a saturare quella della vittima ITIS Vinci - Carpi, 12 Maggio 2005

54 ITIS Vinci - Carpi, 12 Maggio 2005
Resourse starvation L’attacco in questo caso non mira a saturare la banda ma alcune risorse di sistema come: Tempo di cpu, Memoria Spazio disco Handle di file Ecc. Lo scopo dell’attacco è quello di provocare il crash del sistema o di renderlo quantomeno inutilizzabile ITIS Vinci - Carpi, 12 Maggio 2005

55 DOS e DDOS: considerazioni
I Dos sono relativamente facili da condurre e difficili da trattare perché Un baco software in un sw che fornisce un servizio di rete può facilmente portare ad un Dos In caso di crash del processo, interruzione totale del servizio in caso di server “single threaded” Consumo di risorse nel caso di server “multi thread” (creazione nuovo thread, scrittura del core file, log etc E’ più facile sfruttare il baco per ottenere il DOS piuttosto che per “penetrare” il sistema E’ più facile causare un DOS quando una richiesta “leggera” implica una risposta “pesante” (ad esempio nei motori di ricerca) Il caso di “flood” di richieste legittime, non è facile distinguere le richieste legittime da quelle che non lo sono Spesso è facile effettuare Dos con (molti) indirizzi falsificati: molto complesso tracciarne l’origine Bloccarli richiede un intervento di filtro tempestivo e coordinato, molto difficile da automatizzare ITIS Vinci - Carpi, 12 Maggio 2005

56 Attacco ai meccanismi di Autorizzazione
Autorizzazione: stabilisce cosa un utilizzatore può fare in base alla sua identità, viene normalmente assicurata dal S.O. o dal software applicativo Indurre i programma a comportarsi in modo diverso da quanto progettato, sfruttandone bachi Inserirsi in sessioni autenticate (es: terminal hijacking) Una parte importante degli attacchi di questo tipo coinvolge la validazione dei dati in ingresso: l’ hacker fornendo dati “malevoli” ad un programma riesce a costringerlo a comportarsi in modo diverso da quanto progettato ITIS Vinci - Carpi, 12 Maggio 2005

57 Buffer OverFlow: definizione
Il BOF si presenta quando una stringa in input di dimensioni maggiori del buffer dove dovrà essere immagazzinata comporta la sovrascrittura di parti di memoria circostanti il buffer E’ spesso possibile sovrascrivere sullo stack il “return address” di una chiamata a subroutine con un valore a proprio piacimento, alterando il normale flusso di esecuzione del codice Il return address viene fatto puntare ad una posizione entro il buffer in cui e’ stato inserito codice macchina opportuno, mandandolo cosi’ in esecuzione ITIS Vinci - Carpi, 12 Maggio 2005

58 Buffer Overflow Username: angelo
Password: abcdefgxxxxyyyyzzzzzxxxxxxxxxxxxxxx1234 Password User buffer1 sfp ret abcdefgxxxxyyyyzzzzzxxxxxxxxxxxxxxx1234 5678 ITIS Vinci - Carpi, 12 Maggio 2005

59 CGI Security – code injection
Un altro esempio di vulnerabilità legata ad una mancata validazione dell’ input occorre tutte le volte in cui all’interno di un programma (ad es un cgi-bin) viene eseguita una sub-shell per interpretare un comando che contiene una stringa passata dall’utente Ad esempio supponiamo che un form di registrazione on-line riceva in input l’indirizzo di mail del sottoscrittore e che venga inviato un messaggio di conferma utilizzando il costrutto Perl: system("/usr/bin/sendmail $mailto_address < /var/www/messages/$LANG"); In questo caso la funzione system lancia una sub shell per interpretare ed eseguire il comando, se però la variabile “$mailto_address“ contiene caratteri speciali per la shell questi vengono interpretati: in shell il carattere “;” serve per separare diversi comandi cosicchè se “$mailto_address = ls –l” il comando “ls –l” viene eseguito con i privilegi del processo che esegue i cgi-bin Un qualunque comando può venire eseguito in questo modo ITIS Vinci - Carpi, 12 Maggio 2005

60 CGI Security – code injection (2)
Altri costrutti perl invocano una subshell e sono quindi “pericolosi”: system() exec() ` back quotes ` open(HANDLE, "shell_command|") or open(HANDLE,"|shell_command") File I/O: quando si legge o scrive un file il cui nome dipende da una variabile fornita dall’utente bisogna stare attenti che questa non contenga caratteri del tipo “..” o “/” che possono essere utilizzati per “attraversare” l’albero del file system. Nell’esempio precedente se $LANG viene presa da una variabile “hidden” del form, ed è quindi sotto il controllo dell’utente, può essere impostata dall’ hacker ad esempio a “../../../etc/passwd” per farsi spedire il file delle password ITIS Vinci - Carpi, 12 Maggio 2005

61 Input Validation: quali programmi a rischio ?
Quelli che trattano dati potenzialmente malevoli, quindi tutti quelli che comunicano con “l’ esterno” Lato “server” Network daemon (spesso in ascolto con privilegi elevati) Web based application (critiche perché spesso scritte “in casa”) Processi locali che utilizzano privilegi elevati (ad es: suid bit programs in Unix, System services in Windows) Lato client Qualunque cosa tratti dati esterni, quindi ad esempio Web browser, mail reader , image rendering. In sostanza in un ambiente che comunica con “l’esterno” è difficile individuare programmi “non pericolosi” anche se il livello di rischio è differente .. ITIS Vinci - Carpi, 12 Maggio 2005

62 BOF e IV: problemi antichi ma irrisolti ..
Solo per fare un esempio , gli Advisory Debian di Gennaio 2005 (da Recent Advisories [19 Jan 2005] DSA-648 xpdf buffer overflow [19 Jan 2005] DSA-647 mysql insecure temporary files [19 Jan 2005] DSA-646 imagemagick buffer overflow [19 Jan 2005] DSA-645 cupsys buffer overflow [18 Jan 2005] DSA-644 chbg buffer overflow [18 Jan 2005] DSA-643 queue buffer overflows [17 Jan 2005] DSA-642 gallery several vulnerabilities [17 Jan 2005] DSA-641 playmidi buffer overflow [17 Jan 2005] DSA-640 gatos buffer overflow [14 Jan 2005] DSA-639 mc several vulnerabilities [13 Jan 2005] DSA-638 gopher several vulnerabilities [13 Jan 2005] DSA-637 exim-tls buffer overflow [12 Jan 2005] DSA-636 glibc insecure temporary files [12 Jan 2005] DSA-635 exim buffer overflow [11 Jan 2005] DSA-634 hylafax weak hostname and username validation [11 Jan 2005] DSA-633 bmv insecure temporary file [10 Jan 2005] DSA-632 linpopup buffer overflow [10 Jan 2005] DSA-631 kdelibs unsanitised input [10 Jan 2005] DSA-630 lintian insecure temporary directory [07 Jan 2005] DSA-629 krb5 buffer overflow [06 Jan 2005] DSA-628 imlib2 integer overflows [06 Jan 2005] DSA-627 namazu2 unsanitised input [06 Jan 2005] DSA-626 tiff unsanitised input [05 Jan 2005] DSA-625 pcal buffer overflows [05 Jan 2005] DSA-624 zip buffer overflow [04 Jan 2005] DSA-623 nasm buffer overflow [03 Jan 2005] DSA-622 htmlheadline insecure temporary files ITIS Vinci - Carpi, 12 Maggio 2005

63 ITIS Vinci - Carpi, 12 Maggio 2005
VIRUS I virus sfruttano vulnerabilità descritte in modo automatico: Hanno la capacità di riprodursi, infettando altri host Data la scarsa separazione dei privilegi su molti dei sistemi vittima possono impadronirsi completamente di un sistema per: modificare delle entry nei registri di sistema distruggere o nascondere certi tipi di file distruggere il boot record inviare delle informazioni riservate presenti sul disco permettere ad altri l’accesso alla macchina mediante l’installazione di backdoor Lanciare attacchi di tipo DoS eseguire degli scan o degli sniffer …… Sono sempre più “furbi” nell’ ingannare l’utente ignaro .. Il virus e' un pezzo di codice in grado di riprodursi e propagarsi nel sistema sia inglobandosi nei programmi esistenti che infettando archivi, file o documenti. Ne sono stati individuati già decine di migliaia e, pertanto, ci sono buone probabilita' che prima o poi anche il vostro computer, se non opportunamente protetto, venga infettato da uno o piu' di essi. A causa della peculiarita' dei virus informatici di replicarsi infettando quanti piu' file e sistemi e' possibile, ogni volta che da una macchina infetta si salvano dei documenti su un floppy, con altissima probabilita' si infetta quest'ultimo facendolo diventare veicolo d'infezione per tutti i sistemi in cui verra' inserito. In generale, il virus cerca di attuare il fine per cui e' stato scritto solo dopo aver messo in atto dei meccanismi rivolti alla propria replicazione. Il fine puo' consistere, ad esempio, nel distruggere dati e/o programmi o anche semplicemente nel far apparire dei messaggi sul video. ITIS Vinci - Carpi, 12 Maggio 2005

64 Quali sono le macchine a rischio ?
Server: ogni macchina che fornisce servizi o informazioni ad una comunità più o meno ampia di individui: Conserva le informazioni “sensibili” Implementa meccanismi di autenticazione e autorizzazione ed e’ perciò esposto ai relativi attacchi L’insieme dei potenziali utilizzatori (e quindi intruder) e’ ampio Ma .. Solitamente gestito da un sistemista professionista E’ utilizzato prevalentemente o esclusivamente per fornire servizi aziendali Implementa diversi livelli di autorizzazione Può beneficiare di difese perimetrali Sono generalmente pochi e perciò meglio difendibili I server, ovvero le macchine che gestiscono i dati sono certamente tra i sistemi piu’ a rischio, perche’ sono i custodi dei tesori informativi dell’ organizzazione ma non sono i soli ITIS Vinci - Carpi, 12 Maggio 2005

65 Quali sono le macchine a rischio ? (2)
Stazione di Lavoro individuale Insieme di utenti limitato, solitamente e’ necessario accesso fisico alla macchina Ma .. Spesso e’ lasciato in gestione a non professionisti In azienda sono tanti .. E’ utilizzato per attività molto diverse tra loro (accesso alla rete aziendale ma anche per uso personale, hobby, divertimento) Spesso non vengono utilizzati adeguatamente i diversi livelli di autorizzazione disponibili Nel caso di sistemi portatili puo’ operare in diversi ambienti Viene utilizzato dar l’accesso ai sistemi informativi aziendali e entra in possesso delle credenziali dell’utente Ogni volta che inserite un’ informazione sensibile sulla tastiera di un computer o la leggete sul suo schermo riponete completa fiducia nel sistema che state utilizzando. Si tratta praticamente sempre di stazioni di lavoro individuali Le stazioni di lavoro individuali sono altrettanto importante perché non dobbiamo dimenticare che ogni volta che inserite un’ informazione sensibile sulla tastiera di un computer o la leggete sul suo schermo riponete completa fiducia nel sistema che state utilizzando. Si tratta praticamente sempre di stazioni di lavoro individuali ITIS Vinci - Carpi, 12 Maggio 2005

66 ITIS Vinci - Carpi, 12 Maggio 2005
Firewall ITIS Vinci - Carpi, 12 Maggio 2005

67 Firewall: definizione
Il firewall è l'insieme delle difese perimetrali, siano esse realizzate in hardware od in software, con uno o piu' dispositivi. Si distinguono essenzialmente per la “profondità” di ispezione Packet filter Stateful multilayer firewalls Application level firewall (proxy) Personal firewall ITIS Vinci - Carpi, 12 Maggio 2005

68 ITIS Vinci - Carpi, 12 Maggio 2005
Firewall: i vantaggi Consentono di implementare più facilmente il principio dei “minimi permessi” Costituiscono un punto in cui imporre limiti di accesso in modo centralizzato (facilità di gestione -> sicurezza) Spesso sono implementati su macchine dedicate o con software sepcifico (semplicità -> sicurezza) ITIS Vinci - Carpi, 12 Maggio 2005

69 Intrusion Detection System (IDS)
Sistemi hardware/software che analizzano gli eventi che occorrono sulla rete o sui sistemi in cerca di “segni” di intrusione o tentativi di intrusione Host Based o Network Based Complementari all’uso dei firewalls per: Documentare i tentativi di attacco Verificare la funzionalità dei firewall Individuare le attività di preparazione di un attacco In grado di controllare diversi punti della rete tramite “agenti” distribuiti Strategie di Analisi: Ricerca di “pattern” di attività riconducibili ad attacchi noti (signatures) Es: Antivirus Pochi falsi allarmi, si individuano solo attacchi noti (prevengono l’exploit non la vulnerabilità) Ricerca di “comportamenti anomali” Attarverso analisi statistiche o soglie di utilizzo File Integrity Checkers Maggiore probabilità di falsi allarmi, capacità di individuare anche attacchi non noti ITIS Vinci - Carpi, 12 Maggio 2005

70 Centralizzare o Distribuire ?
.. Firewall, Antivirus, VPN .. Distribuito + Protegge più da vicino, non “si fida” di nessuno - Maggiore difficoltà di gestione + Indispensabile per utenti “mobili” Centralizzato + Più facile da gestire, amministrato da professionisti Lascia scoperte delle zone, non copre sempre gli utenti mobili ITIS Vinci - Carpi, 12 Maggio 2005

71 Vunerabilità e Rischio
Esce la patch Patch installata Nasce Annuncio Exploit Scoperta I classici elementi di difesa contribuiscono ad abbattere il rischio: il firewall puo’ farlo in modo preventivo, ancor prima che la vulnerabilita’ sia nota (e in tal senso e’ estremamente utile), limitando i servizi interni che non debbono essere visibili all’esterno. Viene pero’ configurato sulla base dei servizi da offrire e normalmente poco o nulla sa sulle vulnerabilità: se questa si manifesta in un servizio che “deve passare” (ad esempio sul web server o sul mail server) e’ poco probabile che il firewall possa bloccarlo perche non è in grado di distinguere tra un uso leggittimo ed un tentativo di intrusione. Questo e’ invece il mestiere dell’ IDS o AV, che sono tanto piu’ efficaci quanto piu’ sono in grado di bloccare il tentativo di intrusione (come gli AV). Per fare questo debbono necessariamente essere molto selettivi e bloccare solo attività che sono quasi certamenti attacchi, per non diventare essis stessi una fonte di problemi. Spesso percio’ tendono riconoscere uno specifico metodo per sfruttare la vulnerabilità o un particolare worm/virus,entrano in gioco solo dopo che l’exploit/virus e’ comparso “in the wild” e che e’ stato riconosciuto ed analizzati Sono molto efficaci per la protezione rispetto ad un particolare virus/exploit ma non sempre danno una protezione nei confronti della vulnerabilità, se non si risolve questa questa una variante del virus potrebbe comunque avere successo. IDS e antivirus vanno poi aggiornati di frequente, cosa che e’ vero si fa in modo automatico via rete, ma l’aggiornamento segue gli stessi canali attraverso i quali si diffonde il virus e partendo in ritardo (il worm deve essere riconosciuto e analizzato) non e’ detto che arrivi in tempo, pensando alla rapidità. di diffusione di SQLSLamer. In mezzo c’e’ la gestione/manutenzione che consente di restringere la finestra del rischio, di fatto azzerandolo proprio nella fase in cui e’ potenzialmente piu’ alto. Un corretto processo di gestione e manutenzione e’ quindi importante per la sicurezza al pari dei sistemi Firewall, Antivirus, Intrusion Detection. E’ anche importante capire per ogni potenziale vulnerabilità del proprio sistema in quale punto della curva di rischio ci si trova Firewall Gestione, manutenzione IDS, antivirus ITIS Vinci - Carpi, 12 Maggio 2005

72 ITIS Vinci - Carpi, 12 Maggio 2005
La ricetta …. (!?!) Tutto sommato si tratta di applicare poche semplici “regole”: Installare e configurare gli elaboratori in modo corretto e con solo il software necessario Mantenere aggiornato il software Installare e mantenere sistemi di difesa perimetrale che consentano il minimo accesso indispensabile utilizzare comunicazioni cifrate La ricetta potrebbe sembrare semplice . ITIS Vinci - Carpi, 12 Maggio 2005

73 ITIS Vinci - Carpi, 12 Maggio 2005
La ricetta … (cont.) .. ma va applicata in modo omogeneo nello spazio e nel tempo Perché il sistema non è più robusto del suo anello più debole Perché gli investimenti in sicurezza perdono rapidamente valore se non adeguatamente mantenuti .. Il problema non è quindi solo tecnolgico ma anche organizzativo .. Sistemi che hanno vincolo di fiducia reciproca (anche perche’ condividono la stessa rete) devono essere protetti allo stesso livello Un singolo incidente e quindi una singola vulnerabilità non valutata puo’ vanificare gli investimenti fatti ITIS Vinci - Carpi, 12 Maggio 2005

74 ITIS Vinci - Carpi, 12 Maggio 2005
Le regole principali Individuare ambiti di sicurezza distinti e tenerli separati il più possibile (firewall) Usare comunicazioni cifrate, con mutua autenticazione e il più possibile “End-to-End” Mantenere aggiornato il software Strumenti Informazioni sulle vulnerabilità Principio dei privilegi minimi Principio delle configurazioni minime Utilizzare buone password e cambiarle con regolarità Verifiche periodiche possibilmente di terze parti Antivirus, Backup Formazione, consapevolezza .. ITIS Vinci - Carpi, 12 Maggio 2005

75 Separazione domini di sicurezza
A livello di progetto della rete e della infrastruttura IT Utilizzare (V)LAN separate e tra loro connesse tramite Firewall Porre particolari attenzioni ai punti di contatto tra i vari domini e alle dipendenze A livello “utente” Utilizzare password diverse per diversi domini Se una macchina fa parte di un dominio ad elevato livello di sicurezza, limitarne il più possibile l’utilizzo in contesti differenti ITIS Vinci - Carpi, 12 Maggio 2005

76 Mantenere Aggiornato il Software
Tanto più impegnativo quanto più la macchina è critica, complessa (molto sw installato) e “non pacchettizato” Esistono strumenti messi a disposizione dei vendor che “analizzano” il sw installato e propongono aggiornamenti Windows Update, Office Update Microsoft Baseline Security Analyzer Linux RH “up2date”, altri sistemi su altre distribuzioni ITIS Vinci - Carpi, 12 Maggio 2005

77 ITIS Vinci - Carpi, 12 Maggio 2005
Rimanere Aggiornati Diverse fonti informative e mailing list CERT – BugTraq NT-BugTraq Vendor-specific: ITIS Vinci - Carpi, 12 Maggio 2005

78 Privilegi Minimi – Configurazioni Minime
Utilizzare normalmente account non privilegiati Limitare i servizi che la macchina fornisce all’esterno Configurazione .. File and Printer Sharing Firewall Personal Frewall es: Microsoft Firewall ITIS Vinci - Carpi, 12 Maggio 2005

79 ITIS Vinci - Carpi, 12 Maggio 2005
Il “Laboratorio” Client HW: Dell Latitude 840, P4–M 2Ghz, 1Gb Ram, 40 Gb disk SW: Windows XP Pro, Mozilla Firefox, Mozilla Thurderbird, GNU Privacy Guard (GPG), Enigmail Server HW: Microsoft Virtual PC SW: Linux Debian 3.1 “Sarge”, openssl Network /24 Client Server ITIS Vinci - Carpi, 12 Maggio 2005


Scaricare ppt "Introduzione alle problematiche di Network Security"

Presentazioni simili


Annunci Google