La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

BOLLETTINO DI SICUREZZA INFORMATICA STATO MAGGIORE DIFESA Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa N°4/2003.

Presentazioni simili


Presentazione sul tema: "BOLLETTINO DI SICUREZZA INFORMATICA STATO MAGGIORE DIFESA Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa N°4/2003."— Transcript della presentazione:

1 BOLLETTINO DI SICUREZZA INFORMATICA STATO MAGGIORE DIFESA Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa N°4/2003

2 PER CONTATTI ED EVENTUALI SUGGERIMENTI : TEL. 06/ –FAX 06/ TEL. 06/ –FAX 06/ SISTEMI OPERATIVI : - IL PROGRAMMA NSLOOKUP Pag. 1 - LIMPORTANZA DEGLI AGGIORNAMENTI Pag. 6 FOCUS ON ….: - CENNI DI CRITTOGRAFIA Pag. 9 SICUREZZA DELLA RETE: - LE VENTI VULNERABILITA PIU CRITICHE PER LA SICUREZZA IN INTERNET (OTTAVA PARTE). Pag. 15

3 Pagina 1 IL PROGRAMMA NSLOOKUP NSLOOKUP è un programma, fornito con le distribuzioni non recenti di Linux, (le ultime release usano in sostituzione i programmi dig - domain information groper e host che svolgono pressochè le stesse funzioni). Nei sistemi operativi della Microsoft, invece il programma trova ampia applicazione. La sua funzione, tra le altre, è quella di effettuare manualmente delle query (domande) al server DNS per la risoluzione dei nomi e dei domini. Detto programma è basato su linee di comando e viene richiamato dalla shell per i sistemi operativi Linux; mentre per quanto riguarda i sistemi Windows il programma deve essere chiesto tramite laccesso preventivo in ambiente DOS. Esistono molte varianti definite a seconda del sistema operativo su cui viene installato ma le funzioni svolte son di massima sempre le stesse. Nellesempio che segue, si riporta una semplice sessione (effettuata su una macchina Windows 2000 Professional con collegamento ADSL): si suppone di operare in modalità DOS (START>PROGRAMMI>ACCESSORI>PROMPT DEI COMANDI) nel caso, invece di macchine Linux si opera dalla shell al prompt dellhost locale. (I numeri delle righe sono stati aggiunti per avere un riferimento e non fanno parte del dialogo). 1.C:\>nslookup 18. dominio= 2.Server predefinito : dns.interbusiness.it 19. MSxfr 3.Address: IXFRversion=1 4. > set all 21. srchlist= 5. Imposta opzioni 6. debug 7. defname 8. search 9. nod2 10. novc 11. noignoretc 12. porta= tipo=A 14. classe=IN 15. timeout=2 16. riprova=1 17. radice=A.ROOT-SERVERS.NET. N.B. (i caratteri battuti dallutente sono in grassetto) Figura 1

4 Pagina 2 La sessione riportata si svolge come segue (figura 1): digitando il comando nslookup si richiama il programma (riga1); nslookup dichiara il nome del name server (server DNS di default) (riga 2) e il relativo indirizzo IP (riga 3). Pertanto dns.interbusiness.it è il name server del dominio e ha come indirizzo Quindi, tutte le query saranno inviate a questo indirizzo per essere successivamente instradate, se la risposta non risiede nella cache. A questo punto il programma si arresta, stampa il suo prompt che è > e resta in attesa di istruzioni (riga 4); si digita il comando set all (riga 4). Il comando set serve in genere a modificare i parametri del dialogo, con lopzione all vengono visualizzati tutti i parametri attuali, che saranno quelli di default dato che siamo allinizio del dialogo; dalla riga 6 alla riga 21 sono listate tutte le opzioni attuali; infine il programma si arresta in attesa di nuove istruzioni. Di seguito sono esplicitate le righe relative ai parametri : -nodebug = non si vogliono visualizzare tutti i particolari del dialogo; in alternativa si può indicare debug per avere ulteriori informazioni; - defname = si usa il nome del dominio che è : dns.interbusiness.it; - search = a ogni nome viene fatto seguire il nome del dominio di default; - recurse = si permette al name server di interrogare ricorsivamente altri server se non ha la risposta (comportamento usuale); - d2 = si attiva il modo di debugging esaustivo (tutti i campi sono visualizzati), di default è disabilitato (per disabilitare impostare no davanti al comando); - vc = si usa un circuito virtuale (vc – ossia TCP) per interrogare il server. Di default è disabilitato e si usa UDP; - ignoretc =ignora i packet truncation error (sono delle segnalazioni di errore dovuti allerrata dimensione dei paccheti in entrata ed in uscita), di default sono visualizzati; - porta=53 = questa è la porta di default su cui è attivo il server; - tipo=A = si richiede un record di tipo Address; - classe=IN = si usa indirizzamento Internet; - timeout=2 se non si riceve risposta dopo 2 secondi si ripete la query; - riprova=1 = si ripete la query per un massimo di 1 volta; - radice=A.ROOT-SERVERS.NET. = indica la radice del sistema DNS; - dominio= = indica il dominio di appartenenza; - MSxfr= indica il tipo di programma per il trasferimento rapido delle query ad altre zone; - IXFRversion=1 = indica la versione del contatore di trasferimento di zona incrementale; - srchlist= = indica la ricerca in una lista indicata.

5 Pagina 3 Inoltre il programma può agire in due modalità: Interactive – Non-interactive. Interactive: permette di effettuare più query e visualizza i singoli risultati. Viene abilitato in modo automatico quando il comando non è seguito da argomenti, oppure se il primo argomento è un trattino (-) seguito dal secondo argomento che corrisponde allhost name o allIP del name server. Non-interactive: permette di effettuare una sola query e ovviamente visualizza il risultato della singola query. Abilitato ogni qualvolta si specifica lhost-to-find. Il DNS configurato di default nei sistemi operativi Linux a cui si effettuano le query si trova nel percorso : /etc/resolv.conf. Comandi principali del programma ? = richiama lhelp; host [server] = lookup dellhost eseguendo una query al DNS di default oppure al server specificato; server nomeserver = modifica il DNS di default per la sessione corrente class= valore – modifica la query class Valori consentiti : IN = Internet class; CHAOS = chaos class; HESIOD = MIT Athena Hesiod class; ANY = wildcard, cioè tutte le classi. Passiamo ora ad analizzare le impostazioni definibili con il comando set il quale modifica il tipo di informazioni da richiedere al DNS. Il comando set type corrisponde a set querytype. set q[uerytype]= valore Impostazione predefinita = A (address) PARAMETRI (TYPE): = A - Indirizzo IP del computer; = ANY - Tutti i tipi di dati; = CNAME - (Canonical Name) Nome canonico di un alias (Un host può avere più di un nome. In tal caso uno di questi nomi è quello ufficiale ed è detto Canonical Name (CNAME), mentre gli altri sono detti alias. Gli alias sono riconosciuti come tali dal DNS.

6 Pagina 4 =GID – Identificatore di un nome di gruppo; =HINFO – Tipo di CPU e di sistema operativo del computer; =MB – Nome della cassetta postale del dominio; =MG – Membro del gruppo posta; =MINFO – Informazioni relative alla cassetta postale o allelenco di posta; =MR – Nome di dominio per rinominare una cassetta postale esistente; =MX – Mail exchanger; =NS – Server dei nomi DNS relativo alla zona specificata; =PTR – Nome del computer se la richiesta è un indirizzo IP. In caso contrario verranno fornite altre informazioni; =SOA – Record di origine di autorità del dominio DNS; =TXT – Informazioni di testo; =UID – Identificatore utente; =UINFO – Informazioni sullutente; =WKS – Descrizione di servizi conosciuti. figura 2 In ambiente DOS è possibile consultare tramite il comando help (figura 2) tutte le potenzialità di tale programma; in ambiente Linux potrebbe succedere che digitando man nslookup il sistema operativo risponda con un segnale di errore (No manual entry for lookup) che indica che il programma non è presente. Si suggerisce quindi, di consultare il man dig per vedere come funziona il programma che sostituisce nslookup nelle ultime versioni delle distribuzioni Linux.

7 Pagina 5 Generalmente il programa viene usato da : System Administrator : per configurare e controllare il funzionamento di un server DNS; per individuare e risolvere i problemi relativi alla risoluzione dei nomi degli host; per lottimizzazione e configurazione dei firewall. Hackers : Per quanto riguarda invece, il mondo hacker, bisogna sottolineare limportanza del comando nslookup, che viene usato in fase preparatoria prima dellattacco vero e proprio. Questo per venire a conoscenza di quante più informazioni possibili riguardanti la vittima; inoltre detto comando risulta basilare per linvio di Fake Mail via Telnet. Come Antispam : Nella lotta antispam viene usato, in quanto luso di questo comando consente una attenta lettura degli headers delle che, nella maggior parte dei casi, porta allidentità dello spammer.

8 Pagina 6 LIMPORTANZA DEGLI AGGIORNAMENTI Nel campo della Sicurezza Informatica e per la tutela dei propri dati personali, luso di antivirus e personal firewall riveste un ruolo fondamentale nella lotta contro coloro che cercano continuamente di scoprire nuovi modi per poter entrare nei computer. Questi individui conosciuti come hacker cercano di catturare più informazioni sui PC, sfruttando vulnerabilità conosciute o non ancora diffuse. Generalmente, si è portati a pensare che una volta installati i software dedicati alla sicurezza dei sistemi non sia necessario aggiornargli, determinando cos la perdita di efficacia. Il CERT.Difesa ha sperimentato questo, effettuando un test per dimostrare come dei programmi di sicurezza, non aggiornati, possano essere facilmente aggirabili, utilizzando un programma denominato Firewar, un exploit di sicurezza che permette di disabilitare la protezione del firewall attivo sui computer senza essere riconosciuto dagli antivirus. Il programma Firewar è disponibile in due versioni : - la prima si può scaricare e installare localmente (nostro caso); - la seconda versione è inglobata in un controllo Active X, che incluso in una pagina Web disabilita da remoto il personal firewall appena viene aperta la pagina del sito. Questa seconda versione è la più pericolosa, in quanto un sito Web costruito appositamente permetterebbe ad un hacker di utilizzare questa debolezza per far si, che una volta connessi al sito, il firewall venga disabilitato e questo possa agire indisturbato nella ricerca di informazioni sul computer vittima. Il test è stato svolto su una macchina con Windows 98 come sistema operativo. I programmi usati sono stati i seguenti : - Firewar 1.0; - Zone Alarm (ver – ver – ver ) Personal Firewall; - Norton Antivirus ed – Norton Antivirus ° Fase Sulla macchina sono stati installati: - Personal firewall : Zone Alarm ver (non aggiornato); - Antivirus : Norton Antivirus 2002 (aggiornato al ) con il live update disabilitato. Una volta installati questi programmi è stato mandato in esecuzione il programma firewar.exe. Questo disabilitava totalmente il personal firewall, abbassando tutti i settaggi su off; inoltre lesecuzione di Firewar non veniva rilevata dal programma antivirus;

9 Pagina 7 2° Fase Sono stati installati: - Personal firewall : Zone Alarm ver (non aggiornato); -Antivirus : Norton Antivirus 2003 (aggiornato al ) con il live update disabilitato. Nonostante la versione 2003 del programma antivirus, i risultati sono stati i medesimi. 3° Fase Sono stati installati: - Personal firewall : Zone Alarm ver (non aggiornato) - Antivirus : Norton Antivirus 2003 (aggiornato al ) con il live update disabilitato. Anche in questa occasione, in presenza di un personal firewall abbastanza recente (agosto 2002), il programma firewar è stato capace di bloccare il funzionamento di Zone Alarm, senza essere riconosciuto da Norton Antivirus. 4° Fase Sono stati installati : - Personal firewall : Zone Alarm ver Antivirus : Norton Antivirus 2003 (con lultimo aggiornamento disponibile) In questultima fase la prova è stata divisa in due parti lasciando in un primo momento il programma antivirus disattivato. Lesecuzione del programma firewar è risultato trasparente al personal firewall, infatti i settaggi sono rimasti quelli impostati dallutente continuando così a funzionare come previsto. In un secondo momento, dopo la riattivazione del programma antivirus, lesecuzione del programma firewar è stato riconosciuto dal Norton Antivirus 2003 come un trojan bloccando il suo threat, è consigliando di metterlo in quarantena.

10 Pagina 8 E, quindi, necessario aggiornare costantemente il software antivirus mediante lupdate automatico o in manuale, ogni qualvolta la casa produttrice del programma antivirus ne offre la possibilità. Considerato che, in sistemi basati su reti locali o su geografiche aumenta il pericolo di diffusione dei virus, ove possibile, il sistema antivirus deve essere centralizzato (server). E altresì corretto considerare cha anche gli altri programmi, che in paticolare qualli relativi alla sicurezza informatica, devono essere constantemente aggiornati: questo processo garantisce da eventuali vulnerabilità man mano verificate nelle versioni obsolete, disponibili in commercio.

11 Pagina 9 Il procedimento di crittografia consiste nel rendere illeggibile un testo in chiaro mediante luso di un determinato algoritmo e di una lista chiave con cui il testo è stato cifrato. E opportuno sottolineare il fatto che questi algoritmi sono tranquillamente resi pubblici in quanto non viene trattato il Segreto di Stato, perché la confidenzialità del messaggio è legata sopratutto alla lista chiave (key). La figura 1 mostra come il messaggio in chiaro (plaintext) originato dal mittente si trasforma in un testo cifrato (ciphertext) mediante la cifratura; il messaggio raggiunto il destinatario viene decifrato per ritornare testo in chiaro. Ad esempio, nel Codice di Cesare, lalgoritmo consisteva nel translare le lettere del plaintext di un numero di posizioni pari a n (chiave di cifratura). In un famoso film di Kubrik, veniva denominato un super-computer HAL, che altro non era che lutilizzo del codice di Cesare alla parola IBM con n=1. Da questo esempio risulta : - che la conoscenza delllalgoritmo di cifratura, non abilita la decifra del messaggio, se non in possesso della chiave di cifratura; - che la chiave deve essere scelta tra un vastissimo numero di combinazioni, per risultare efficace. Esistono due tipologie di algoritmi per crittografare: - algoritmi a chiave segreta (o simmetrici), in cui la chiave per cifrare è la stessa utilizzata per decifrare; - algoritmi a chiave pubblica (o asimmetrici), in cui ogni utente interessato alla comunicazione possiede 2 chiavi : una chiave privata, che conosce solo il possessore, e una chiave pubblica, che viene resa nota. Mittente Plaintext Cifratura Ciphertext Decifratura Destinatario Figura 1

12 Pagina 10 La crittografia a chiave segreta (CCS) La crittografia a chiave segreta (CCS) è una tecnica che modifica l'informazione in chiaro, in una cifrata, basandosi su un parametro, appunto chiamato chiave di cifratura, utilizzando la stessa sia per la cifratura che per decifratura (figura 2),(chiave simmetrica). Essendo la funzione invertibile, il destinatario dovrà soltanto elaborare nuovamente il crittogramma richiamando l'inversa della funzione di cifratura avente come parametro la stessa chiave utilizzata dal mittente. VANTAGGI: - dal punto di vista tecnico le fasi di codifica e di decodifica possono essere svolte anche da un computer non particolarmente potenti, in tempi decisamente brevi; SVANTAGGI: 1. Il limite di questa tecnica consiste nel fatto che costringe gli interessati a scambiarsi in qualche modo la chiave, con il pericolo che questa possa venire cadere nelle mani sbagliate; questo svantaggio è molto più evidente nel momento in cui la distribuzione è rivolta a più utenti. Possibile soluzione : - scambio della lista chiave attraverso un corriere abilitato; - scambio della lista chiave via cifrandola con un sistema a chiave pubblica. 2. Altro svantaggio consiste nel fatto che, considerata la difficoltà di scambiare le chiavi, queste hanno una durata abbastanza lunga, che potrebbe facilitare il lavoro di un esperto crittografo nella scoperta della lista chiave. Possibile soluzione : Per evitare questa vulnerabilità, si consiglia di aggiornare la lista chiave con frequenze più ravvicinate, variando continuamente i periodi di aggiornamento della stessa. File cifrato Sdsdfsdfsdaiwe nlsdluionsdinsù +à+à+eàd+èe dèeèe ALFA OMEGA STESSA CHIAVE Figura 2

13 Pagina 11 Alcuni degli algoritimi più utilizzati nella crittografia simmetrica includono: RC4, DES, Triple-DES. Questi si differenziano per lunghezza, espressa in bit, elemento base per garantire la robustezza dellalgoritmo. Infatti la robustezza dellalgoritmo deriva dalla lunghezza della chiave, in quanto più è lunga, più tempo è necessario per violare il sistema. Crittografia a chiave pubblica (CCP) Al fine di superare i problemi derivanti dalla cifratura simmetrica relativi allo scambio in sicurezza della lista chiave, vennero condotti studi approfonditi e nel Maggio del 1976, negli Stati Uniti un articolo scritto da Whitfield Diffie e Martin Hellman, pubblicato sulle "IEEE Transactions on Information Theory" del Novembre '76, annunciava un nuovo sistema che prevedeva lutilizzo di chiavi pubbliche. Siamo all'inizio di una rivoluzione nella crittografia, titolava il "New Directions in Cryptography, prevedendo linizio di una nuova era per la crittografia moderna. Questo tipo di sistema crittografico consiste in due chiavi messe in relazione matematicamente, in cui quella privata viene tenuta segreta dal proprietario e quella pubblica viene distribuita oppure allocata su server, predisposti alla loro conservazione, consultabili da tutti gli utenti on-line. Le due chiavi vengono costruite con un meccanismo esponenziale di numeri primi, con modulo molto elevato, che le rende praticamente impossibili da ricostruire a partire dalla conoscenza di una sola delle due. Inoltre dato che la chiave pubblica, è resa disponibile al pubblico, la creazione e lo scambio iniziale della chiave di cifratura condivisa è più semplice rispetto a quella simmetrica. Lapplicazione del metodo di cifratura a chiave pubblica trova il suo impiego ogni volta sia necessario garantire confidenzialità, autenticazione, integrità e non ripudio. La confidenzialità si ottiene tramite linvio di messaggi cifrati; gli algoritimi a chiave pubblica prevedono che il mittente cifri con la chiave pubblica del destinatario e questultimo decifri con la propria chiave privata (figura 3). File in chiaro, cifrato con la chiave pubblica di Omega File decifrato con la chiave privata di Omega File cifrato Sdsdfsdfsdaiwe nlsdluionsdinsù +à+à+eàd+èe dèeèe ALFA OMEGA Figura 3 Dato che le due chiavi, sono legate matematicamente, il testo cifrato con la chiave pubblica potrà essere decifrato solo da chi è in possesso della rispettiva chiave privata.

14 Pagina 12 Il bisogno dellautenticazione parte dal presupposto che le chiavi pubbliche non sono segrete ma note e comunque distribuibili in rete. Potrebbe succedere che con un attacco del tipo man in the middle un terza persona potrebbe inviare messaggi cifrati facendosi passare per alfa. Risulta, quindi, indispensabile utilizzare meccanismi che garantiscano lidentità del mittente. Per garantire che il messaggio provenga proprio da alfa, questo potrà firmare il documento con la propria chiave privata (firma digitale) il documento, utilizzando degli algoritmi denominati : Algoritmi di Hash. Algoritimi di Hash: Gli algoritmi di Hash sono funzioni che ricavano una stringa di lunghezza fissa (128 o 160 bit) (impronta digitale), detta digest o hash, dal messaggio in chiaro, indipendentemente dalla sua lunghezza (figura 4). TESTO IN CHIARO HASHING DIGEST Figura 4 Si tratta di funzioni molto usate e non invertibili, cioè non è possibile risalire al testo a partire dalla conoscenza del digest. Lutilità di queste funzioni si manifesta quando queste vengono usate congiuntamente ad algoritimi simmetrici e soprattutto asimmetrici per realizzare i servizi di autenticazione, integrità e non ripudio. I più noti algoritmi di Hash sono : MD4, MD5, SHA-1 e CBC-DES-MAC che variano in base alla lunghezza del valore del digest generato. Queste funzioni dette one-way hash svolgono due funzioni molto importanti nella crittografia: - verifica dell'integrità: se il valore di hash di un certo messaggio è uguale prima e dopo la trasmissione, allora vi è una discreta certezza che il messaggio ricevuto sia rimasto invariato; - Concisione: nei calcoli matematici risulta più facile usare un'impronta a 128 bit che un testo normale a lunghezza variabile. Le funzioni di hash possono essere usate per la creazione di firme digitali. Molti crittosistemi richiedono calcoli molto lunghi e complessi per apporre la propria firma digitale su un file di grosse dimensioni mentre, grazie a queste funzioni, si può semplicemente calcolare e firmare il valore di hash del file, sicuramente di dimensioni molto ridotte.

15 Pagina 13 FIRMA DIGITALE: La prima applicazione pratica della firma digitale, basata sulle tecniche di crittografia a doppia chiave fu sviluppata nel 1978 da tre professori americani: Ronald Rivest, Adi Shamir e Leonard Adleman, lalgoritmo RSA" (dalle iniziali dei suoi inventori) e la sua implementazione. Tale processo si sviluppa nelle seguenti fasi (figura 5): 1. il messaggio da firmare viene sottoposto alla funzione di hash (hashing) che, in base ad una formula matematica, genera una stringa di caratteri detta digest di lunghezza fissa. Anche cambiando un solo carattere del messaggio la stringa risulterà diversa; 2. il digest viene cifrato con la chiave privata del PC Alfa; 3. il messaggio ed il digest, vengono trasmessi al PC Omega. Il destinatario PC Omega, procederà ad effettuare un controllo con le seguenti operazioni: 1. sottopone nuovamente alla funzione di hash (hashing), il messaggio, generando un nuovo digest; 2. decifra il digest cifrato ricevuto utilizzando la chiave pubblica del PC Alfa; 3. confronta i due digest. Messaggio in chiaro HASHING DIGEST in chiaro Chiave privata di Alfa Messaggio in chiaro DIGEST Cifrato Messaggio in chiaro HASHING DIGEST in chiaro DIGEST Cifrato Chiave pubblica di Alfa DIGEST in chiaro Se risultano uguali il msg risulta autenticato Se non risultano uguali il msg non risulta autenticato Figura 5

16 Pagina 14 Se i due digest sono uguali la firma risulta autentica. Differentemente possono essere accadute due cose : - chi ha mandato il messaggio non è il possessore della chiave privata (autenticazione); - il messaggio è stato modificato durante la trasmissione (integrità); - infine questo meccanismo non consente al trasmittente di ripudiare tutto quello scritto nel messaggio. Nelluso comune però, anche se lutilizzo della cifratura a chiave pubblica risulta più sicura, la sua elaborazione è molto più pesante, mentre gli algoritmi a cifratura simmetrica risultano molto più veloci. Per ovviare a tutto ciò in pratica si usa cifrare il messaggio con la chiave simmetrica (processo elaborato in tempi brevi), quest ultima invece, viene spedita al destinatario cifrata con la sua chiave pubblica (figura 6). In ricezione Omega decifrerà la chiave simmetrica, con la sua chiave privata, in un secondo momento ottenuta la chiave simmetrica potrà in tempi brevi decifrare il messaggio. In rete è possibile trovare programmi per la cifra e decifra con chiavi asimmetriche e simmetriche. Il più famoso è PGP (Pretty Good Privacy) (www.pgp.com) il quale funziona sia su sistemi operativi Microsoft che Unix like. La GNU interessata a PGP ha sviluppato un sistema analogo ``The GNU Privacy Guard'', cioè GPG, che opera solo su piattaforme Unix like. Informazioni e codice sono disponibili all'URL:www.pgp.com Messaggio in chiaro Cifratura con chiave simmetrica Chiave simmetrica Chiave simmetrica cifrata con la chiave pubblica di OMEGA Chiave simmetrica cifrata Messaggio cifrato ALFA OMEGA Figura 6

17 Pagina 15 LE VENTI VULNERABILITA PIU CRITICHE PER LA SICUREZZA IN INTERNET (OTTAVA PARTE) W6 Autenticazione LAN Manager -- Hashing LM debole W6.1 Descrizione: Per quanto la maggior parte degli ambienti Windows attuali non necessitino del supporto LAN Manager (LM), Microsoft memorizza per default in locale gli hash delle password legati al LM (noti anche come hash LANMAN) nei sistemi Windows NT, 2000 e XP. Siccome LAN Manager usa uno schema di codifica molto più debole di quelli, più aggiornati, attualmente utilizzati da Microsoft (NTLM and NTLMv2), le password del LAN Manager possono essere violate in brevissimo tempo. Anche le password che in un altro ambiente sarebbero considerate "forti" possono essere violate con sistemi "brute-force" in meno di una settimana. La debolezza degli hash del Lan Manager deriva dal fatto che: le password sono troncate a 14 caratteri; le password utilizzano lo spazio come carattere di riempimento per raggiungere i 14 caratteri; i caratteri usati nelle password vengono convertiti tutti in caratteri maiuscoli; le password vengono divise in due blocchi di sette caratteri. Questo processo di hashing comporta che, per ottenere un accesso autenticato al sistema, un eventuale aggressore ha bisogno solo di determinare due semplici password da sette caratteri, che per di più contengono solo caratteri maiuscoli. Siccome la difficoltà nel violare gli hash aumenta con progressione geometrica in proporzione alla lunghezza dellhash, ciascuna stringa di sette caratteri è almeno di un ordine di grandezza più semplice da attaccare con sistemi "brute-force" rispetto a una stringa di quattordici caratteri. Dal momento che le stringhe sono tutte esattamente di sette caratteri (spazi inclusi) e tutte in caratteri maiuscoli, anche un attacco da dizionario risulta molto semplificato. Il metodo di hashing del Lan Manager rende quindi inefficace qualsiasi buona policy sulluso delle password. In aggiunta al rischio dettato dal fatto di avere gli hash collegati a LM memorizzati nel SAM, il processo di autenticazione del LAN Manager è spesso abilitato per default sui client e accettato dai server. La conseguenza è che macchine Windows, in grado di utilizzare hash più robusti, inviano hash LM deboli attraverso la rete, rendendo lautenticazione di Windows vulnerabile allintercettazione attraverso packet sniffing e facilitando il compito degli aggressori di recuperare e violare le password degli utenti

18 Pagina 16 W6.2 Sistemi operativi interessati Tutti i sistemi operativi Microsoft Windows. W6.3 Riferimenti CVE Non disponibili. W6.4 Come determinare se siete vulnerabili Se utilizzate un'installazione predefinita di NT, 2000 o XP, siete vulnerabili, perché limpostazione predefinita prevede il salvataggio in locale degli hash del LAN Manager. Se nel vostro ambiente avete sistemi operativi che richiedono lautenticazione LM per comunicare con in server, allora siete vulnerabili perché tali macchine inviano gli hash del Lan Manager attraverso la rete, e questi corrono il rischio di essere intercettati. I più sofisticati strumenti per la determinazione delle password in ambiente Windows come LC4 (l0phtcrack versione 4, disponibile allindirizzo vi mostreranno tutti gli hash trovati nel database SAM (LM, NTLM o NTLMv2), e metteranno in evidenza la possibilità di violare ciascun hash. ATTENZIONE: Non utilizzate mai un password scanner, neanche sui sistemi per i quali avete un accesso da amministratore. W6.5 Come proteggersi 1. Disabilitare lautenticazione LM attraverso la rete. Il modo migliore per sostituire lautenticazione LAN Manager in Windows è quello di utilizzare NT Lan Manager versione 2 (NTLMv2). I metodi di verifica/risposta di NTLMv2 eliminano la maggior parte dei difetti del Lan Manager utilizzando crittografia più avanzata e meccanismi di autenticazione e per la sicurezza delle sessioni decisamente migliori. La chiave del registro che controlla questa proprietà per Windows NT e 2000 è: Hive: HKEY_LOCAL_MACHINE Key: System\CurrentControlSet\Control\LSA Value: LMCompatibilityLevel Value Type: REG_DWORD - Number Valid Range: 0-5 Default: 0

19 Pagina 17 Descrizione: questi parametri specificano il tipo di autenticazione che sarà utilizzato. 0 - Spedisce le risposte LM e le risposte NTLM; non usa mai il meccanismo di sicurezza delle sessioni NTLMv2 1 - Usa meccanismo di sicurezza delle sessioni NTLMv2 se richiesto 2 - Invia solo l'autenticazione NTLM 3 - Invia solo l'autenticazione NTLMv2 4 - DC rifiuta l'autenticazione LM 5 - DC rifiuta l'autenticazione LM e NTLM (accetta solo NTLMv2) Se tutti i vostri sistemi sono Windows NT SP4 o successivi, potete impostare il valore a 3 su tutti i client e a 5 su tutti i controller di dominio, in modo da evitare qualsiasi trasmissione di hash LM in rete. I sistemi di vecchio tipo (come Windows 95/98) non usano NTLMv2 con il Client di rete Microsoft predefinito. Per implementare le funzionalità NTLMv2, installate il Directory Services Client. Una volta installato, la chiave del registro corrispondente è "LMCompatibility," e i valori consentiti sono 0 o 3. Se non potete obbligare i vostri client più vecchi ad usare NTLMv2, potete ottenere comunque un certo miglioramento nel sistema di hashing LM forzando NTLM (NT Lan Manager, versione 1) sul controller di dominio (impostate "LMCompatibilityLevel" a 4). Ma lopzione più sicura riguardo a questi sistemi è quella di passare a sistemi più recenti, dal momento che i sistemi operativi più vecchi non permettono neanche questo minimo livello di sicurezza. 2. Evitare la memorizzazione degli Hash LM. Un altro problema che si presenta anche qualora si eviti che gli hash LM vengano inviati attraverso la rete è che gli hash vengono comunque creati e memorizzati nella SAM o Active Directory. Microsoft rende disponibile un meccanismo per evitare la creazione degli hash LM, ma solo in Windows 2000 e XP. Sui sistemi Windows 2000, la funzione è controllata da questa chiave del registro: Hive: HKEY_LOCAL_MACHINE Key: System\CurentControlSet\Control\LSA\NoLMHash Se questa chiave viene creata in un Controller di Dominio di Windows 2000, gli hash LanMan non saranno più creati e memorizzati nella Active Directory. Su Windows XP, la stessa funzionalità può essere implementata impostando questo valore del registro: Hive: HKEY_LOCAL_MACHINE Key: System\CurrentControlSet\Control\Lsa Value: NoLMHash Type: REG_DWORD - Number Data: 1

20 Pagina 18 Dopo aver effettuato queste modifiche al registro, è necessario riavviare il sistema in modo che le nuove impostazioni abbiano effetto. NOTA IMPORTANTE: Questa operazione evita solo che vengano generati nuovi hash LM. Gli hash LM esistenti vengono rimossi singolarmente solo quando lutente modifica la propria password. I seguenti articoli di Microsoft forniscono alcune utili indicazioni: How to Disable LM Authentication on Windows NT [Q147706] specifica le modifiche al registro richieste per Windows 9x e Windows NT/2000.How to Disable LM Authentication on Windows NT [Q147706] LMCompatibilityLevel and Its Effects [Q175641] spiega i problemi di interoperabilità relativi a questo parametro.LMCompatibilityLevel and Its Effects [Q175641] How to Enable NTLMv2 Authentication for Windows 95/98/2000/NT [Q239869] illustra come utilizzare il Directory Services Client di Windows 2000 in Windows 95/98 per superare i limiti di compatibilità con NTLMv2.How to Enable NTLMv2 Authentication for Windows 95/98/2000/NT [Q239869] New Registry Key to Remove LM Hashes from Active Directory and Security Account ManagerNew Registry Key to Remove LM Hashes from Active Directory and Security Account Manager


Scaricare ppt "BOLLETTINO DI SICUREZZA INFORMATICA STATO MAGGIORE DIFESA Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa N°4/2003."

Presentazioni simili


Annunci Google