440 likes | 604 Views
Sicurezza Informatica e Vulnerabilità della rete Prof. Daniele Pulcini Università degli Studi di Roma “La Sapienza”. “LE VENTI VULNERABILITA’ PIU’ CRITICHE PER LA SICUREZZA IN INTERNET”. Genova, 23 Febbraio 2005. METODOLOGIA. 1. Metodologia - Analisi preliminare.
E N D
Sicurezza Informatica e Vulnerabilità della reteProf. Daniele PulciniUniversità degli Studi di Roma “La Sapienza” “LE VENTI VULNERABILITA’ PIU’ CRITICHE PER LA SICUREZZA IN INTERNET” Genova, 23 Febbraio 2005 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
METODOLOGIA 1 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Metodologia - Analisi preliminare Per affrontare in modo corretto i diversi problemi inerenti la Sicurezza e’ necessario preliminarmente effettuare le seguenti analisi: Analisi dei Rischi Definizione dei limiti di rischio Identificazione dei rischi specifici per ogni categoria del rischio Stima dei costi e delle conseguenze derivanti dal verificarsi di un rischio Identificazione delle possibili azioni o aree di azione Analisi di Riduzione dei Rischi Identificazione dei controlli che possono essere effettuati Definizione dei costi di implementazione e gestione dei controlli Definizione dei controlli piu’ appropriati Sottomissione dei risultati dell’analisi alla direzione Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Metodologia - Decisioni e piani d’azione • Decisione Direzionale • Analisi direzionale dei possibili controlli alternativi • Decisione di quali controlli adottare • Assegnazione delle responsabilità di sviluppo e implementazione dei controlli • Sviluppo dei Piani di Azione • Identificazione dei metodi di implementazione dei controlli • Definizione dei momenti di applicazione dei controlli • Definizione delle contromisure • Elaborazione del Risk Management Plan Il documento programmatico della sicurezza con data certa è obbligatorio per tutti coloro che trattano dati sensibili. Diversamente dal Risk Management Plan ha un valore nell’ambito normativo Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Metodologia - Implementazione e verifica Implementazioni Sviluppo dei controlli Installazione e avviamento dei controlli Auditing Verifica della efficacia dei controlli Identificazione delle eventuali modifiche necessarie Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Metodologia - Procedure di revisione • Revisione • Analisi dei Rischi • Analisi di Riduzione dei Rischi • Decisione Direzionale • Sviluppo e/o Modifica dei Piani di Azione • Identificazione dei metodi di (re)implementazione dei controlli • Verifica e (ri)definizione dei momenti di applicazione dei controlli • Implementazione e/o Modifica • Sviluppo dei nuovi controlli • Modifica dei controlli esistenti • (Re)installazione e (ri)avviamento dei controlli “Dinamicità della sicurezza: l’insicurezza e le soluzioni necessarie per affrontarla sono in continua evoluzione. Il ciclo della sicurezza deve essere sempre attivo, dalla fase di analisi sino all’individuazione delle soluzioni, l’aggiornamento e le procedure di feedback” Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
IMPLEMENTARE LA SICUREZZA 2 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Implementazione delle funzionalità tecnologiche per la Sicurezza • Le principali funzionalità tecnologiche da implementare per ottenere un buon livello di sicurezza nei sistemi informativi sono: • Alta affidabilità • Integrità dei dati • Protezioni perimetrali (Firewall) • Validazione • Autenticazione • Mutua autenticazione • Crittografia applicativa (SSL2, SSL3, etc.) • Crittografia di trasporto (IPSec, 3DES, etc.) • Firma Digitale • Le funzionalità devono essere indipendenti dalla tecnologia del Sistema Informativo o dei sistemi operativi adottati e devono coincidere per quanto possibile con soluzioni “metodologiche” Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Strumenti delle tecnologie della Sicurezza - 1 • Gli strumenti fisici e metodologici o logici per ottenere le funzionalità precedentemente definite sono: • Backup dei dati / Disaster Recovery • Alta affidabilita’ dei sistemi e del network • Antivirus • Firewall • Single Sign-On • VPN • Chiavi Asimmetriche (PKI) per Firma Digitale rilasciate da Certification Autority • Chiavi Asimmetriche (PKI) per Crittografia applicativa rilasciate da Certification Autority • Chiavi Asimmetriche (PKI) per Crittografia IPSec (VPN) rilasciate da Certification Autority • Validazione e mutua autenticazione Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Strumenti delle tecnologie della Sicurezza - 2 • Tutte le chiavi private (PKI) citate ed eventuali informazioni sulle impronte digitali o della retina possono essere contenute all’interne di smart card con microchip ed eventuale banda magneto-ottica. • In alternativa alle smart card possono essere utilizzati anche chiavi USB ed o altre soluzioni idonee. • Tutti questi meccanismi di sicurezza dovrebbero essere applicati anche su tecnologia mobile, quali GSM, GPRS, GPS e anche su UMTS che hanno livelli di insicurezza analoghi o superiori alle reti terrestri. • A questi meccanismi si devono aggiungere strumenti di controllo della sicurezza: • Intrusion Detection (per l’identificazione dei tentativi di intrusione) • Penetration Test (test di verifica dei vari sistemi di sicurezza adottati) Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Strumenti fondamentali della sicurezza - 1 Una rete di computer richiede sempre un adeguato livello di protezione. Un IDS (intrusion detection system) assume, nell’ambito della protezione della rete un importante ruolo complementare al firewall. L’IDS controlla il traffico da e per la rete già controllato dalle impostazioni del firewall, per determinare se la rete ha subito un attacco da parte di un computer remoto o dall’interno della rete stessa. Se l’IDS trova traccia di un attacco, allerta di quache tipo, l’amministratore di sistema può, sulla base delle informazioni rilevate, determinare i passi da intraprendere per rispondere in modo adeguato alla minaccia (per esempio implementare le regole della programmazione del firewall). Senza un IDS la rete è suscettibile di sofisticati metodi per la ricerca di informazioni da parte degli hacker e attacchi da parte di questi ultimi, con conseguente aumento della vulnerabilità di accesso alle informazioni all’interno della rete. L’IDS rientra nelle nuove misure minime di cui alla relazione dell’Avvocato Frillici. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Strumenti fondamentali della sicurezza - 2 Un secondo passo per avvicinare la Sicurezza di un Sistema Informativo a livelli adeguati, è quello di considerare attentamente quali sono i servizi ammessi a transitare (in ingresso e in uscita) attraverso il router. Per l’identificazione di questi servizi deve essere possibile creare una linea di condotta per individuare i servizi ammessi e quelli proibiti. Alcuni servizi devono essere completamente bloccati dal router, il loro transito deve essere vietato in entrambe le direzioni. Altri servizi sulla rete protetta non devono essere accessibili dagli “external clients”. In generale l’amministratore di sistema dovrebbe creare filtri su quei servizi e su gli host che hanno particolari permessi, negando l’accesso ad ogni altro dato. L’adozione di questa configurazione da parte dell’amministratore di sistema, implica di non dover ogni volta modificare i servizi permessi/negati sul router. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Esempio di una rete VPN Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
SAN INSTITUTELE VULNERABILITA’ 3 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Il Sans Institute (vulnerabilità per la Sicurezza) - 1 SANS Institute e il National Infrastructure Protection Center (NIPC) pubblicarono poco più di tre anni fa l'elenco delle dieci vulnerabilità più critiche per la sicurezza. Il documento è stato da allora utilizzato da migliaia di organizzazioni come guida per risolvere rapidamente i buchi di sicurezza più pericolosi. Il 1° ottobre 2004 è stato pubblicato un nuovo elenco che ha aggiornato ed ampliato quello esistente. Le vulnerabilità trattate, ad oggi sono stabilmente venti, ed il loro numero è destinato a crescere di anno in anno. Sono state divise in tre categorie: vulnerabilità generali, vulnerabilità di Windows e vulnerabilità di UNIX. E’ intenzione, con questa presentazione illustrare le vulnerabilità ed il metodo con cui sono affrontate, frammentando le schede descrittive in più parti con il fine di fornire adeguate soluzioni. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Il Sans Institute (le vulnerabilità per la Sicurezza) - 2 Il valore del documento del SANS/FBI sulle venti vulnerabilità più critiche (SANS/FBI Top Twenty List) è confermato dal fatto che la maggioranza degli attacchi ai sistemi informatici condotti via Internet andati a buon fine è ricollegabile allo sfruttamento delle vulnerabilità di sicurezza elencate. Ad esempio, la compromissione dei sistemi del Pentagono a seguito dell'episodio di hacking Solar Sunrise e la facile e rapida diffusione dei worm Code Red e NIMDA possono essere collegati allo sfruttamento di alcune vulnerabilità presenti nella lista per le quali non sono state applicate le opportune patch. Questo limitato numero di vulnerabilità software sono alla base della maggior parte degli attacchi andati a buon fine, semplicemente perché coloro che effettuano gli attacchi agiscono in modo opportunistico, ovvero scelgono la strada più semplice e comoda. Essi sfruttano le vulnerabilità di sicurezza più note e impiegano gli strumenti di aggressione più efficaci e diffusi. Contano sul fatto che le organizzazioni non pongono rimedio ai problemi e quindi, spesso, dopo aver effettuato scansioni in Internet per rilevare i sistemi vulnerabili, conducono attacchi indiscriminati. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Aggiornamenti delle vulnerabilità L'elenco SANS/FBI delle venti vulnerabilità più critiche (Top Twenty SANS/FBI) è un documento in continuo aggiornamento. Contiene istruzioni dettagliate e riferimenti a informazioni supplementari utili per correggere i problemi di sicurezza. Quando si scoprono minacce più critiche di quelle elencate o metodi di intrusione più comodi o attuali , l'elenco e le istruzioni vengono aggiornati, e in questo processo il contributo della rete degli amministratori è sempre gradito.Questo documento si basa sul consenso di un'intera comunità - la vostra esperienza nel combattere le intrusioni e nell'eliminare le vulnerabilità può aiutare quelli che verranno dopo di voi. Inviate i vostri suggerimenti a info@sans.org, specificando "Top Twenty Comments" nell'oggetto dell'e-mail. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Numeri della lista CVE Ogni vulnerabilità menzionata è accompagnata dai numeri della catalogazione CVE (Common Vulnerabilities and Exposures). Possono essere presenti anche i numeri CAN, ovvero i numeri candidati ad essere inclusi nella lista CVE, ma non ancora completamente verificati. Per ulteriori informazioni relative al progetto CVE, oggetto di numerosi riconoscimenti ufficiali, fate riferimento a http://cve.mitre.org/. Nella sezione che descrive le vulnerabilità generali per tutti i sistemi, i numeri CVE elencati sono solo esempi di alcune delle vulnerabilità trattate nella lista. Gli elenchi CVE che riporto non intendono , infatti, essere esaustivi. In ogni caso, per quanto riguarda le vulnerabilità di Windows e di UNIX, i numeri CVE indicano le vulnerabilità prioritarie da controllare per ciascun tipo. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Le porte da bloccare al livello di firewall Alla fine del documento troverete una sezione aggiuntiva che presenta l'elenco delle porte utilizzate dai servizi che vengono comunemente esplorati e attaccati. Bloccando il traffico che passa attraverso le porte del firewall o altri dispositivi di protezione del perimetro della rete, potete ottenere un livello di difesa aggiuntivo che vi aiuta a tutelarvi da eventuali errori di configurazione. Tenete comunque presente che anche se utilizzate un firewall per bloccare il traffico di rete diretto a una porta, essa non è protetta da possibili azioni causate da soggetti che si trovano già all'interno del perimetro, nè dall'azione di hacker penetrati utilizzando altri metodi. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
GESTIONE DELLEVULNERABILITA’ 4 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Amministratori e vulnerabilità In passato, gli amministratori di sistema hanno ammesso che non correggevano queste vulnerabilità semplicemente perché non si sapeva quali fossero quelle più pericolose, ed erano troppo occupati per poterle eliminare tutte. Alcuni strumenti per la rilevazione automatica delle vulnerabilità possono ricercare 300, 500 o addirittura 800 tipi di vulnerabilità, diluendo l'impegno dell'amministratore di sistema nell'assicurarsi che i sistemi siano protetti dagli attacchi più comuni. Per aiutare gli amministratori a circoscrivere il problema è stato redatto l'elenco delle venti vulnerabilità principali, frutto dell'esperienza di decine tra i maggiori esperti delle agenzie federali più sensibili alla sicurezza, dei maggiori produttori di software, delle più importanti aziende di consulenza, dei migliori progetti universitari per la sicurezza, del CERT/CC e del SANS Institute. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Procedure automatiche per la rilevazione delle vulnerabilità In questa presentazione sono descritti i metodi manuali utilizzati per rilevare in un sistema le vulnerabilità del nostro elenco. Un approccio più pratico per la ricerca delle vulnerabilità UNIX e Windows - specialmente se applicate la regola aurea di controllare ogni nuovo sistema prima di collegarlo ad Internet e ricontrollate frequentemente tutti i vostri sistemi - è quello di utilizzare uno scanner automatico per la rilevazione delle vulnerabilità. Bob Todd, creatore dello scanner gratuito per Internet SARA, ne ha realizzato una versione speciale progettata per rilevare e segnalare le venti vulnerabilità più critiche dell'elenco SANS/FBI. La classifica dei 20 scanner migliori (Top 20 Scanner) può essere scaricata dal sito web del Center for Internet Security all'indirizzo www.cisecurity.org. Per rilevare queste vulnerabilità si possono anche usare diversi scanner commerciali e l'elenco di quelli che possiedono una funzionalità specifica per il rilevamento delle vulnerabilità più critiche sarà sempre aggiornato dal Sans Institute e sarà a disposizione all'indirizzo http://www.sans.org/. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Indice vulnerabilità ICAT Ogni vulnerabilità CVE è collegata all'elemento corrispondente del servizio ICAT di indicizzazione delle vulnerabilità del National Institute of Standards (http://icat.nist.gov/). Per ciascuna vulnerabilità ICAT fornisce una breve descrizione, un elenco delle caratteristiche (ad esempio ambito dell'attacco e danno potenziale), un elenco dei nomi e delle versioni dei software vulnerabili e i collegamenti ai bollettini sulle vulnerabilità e alle informazioni sulle patch. Riportiamo di seguito le prime vulnerabilità Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
G1 - Installazioni predefinite dei sistemi operativi e delle applicazioni G1.1 Descrizione: La maggior parte dei software, inclusi i sistemi operativi e le applicazioni, contengono script o programmi di installazione. Compito di questi ultimi è rendere l'installazione dei sistemi il più rapida possibile, abilitando le funzioni più importanti e riducendo così al minimo il lavoro per l'amministratore. Per raggiungere questo scopo, gli script generalmente installano più componenti di quelli necessari alla maggior parte degli utenti. I produttori di software preferiscono abilitare funzioni aggiuntive non necessarie piuttosto che lasciare che sia l'utente ad installarle in caso di bisogno. Questo tipo di approccio, sebbene rappresenti una comodità per l'utente, è la causa della creazione di molte delle vulnerabilità più pericolose, per il semplice fatto che gli utenti non aggiornano né applicano le patch di sicurezza alle componenti software che non sono utilizzate. Inoltre molti utenti non hanno la percezione di cosa in realtà venga installato e quindi lasciano nel sistema pericolosi programmi dimostrativi semplicemente perché non ne conoscono l'esistenza. Questi servizi non corretti con patch di sicurezza costituiscono la via attraverso la quale spesso gli intrusi ottengono il controllo dei computer. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
G1 - Installazioni predefinite dei sistemi operativi e delle applicazioni 2 Per quanto riguarda i sistemi operativi, le installazioni predefinite introducono quasi sempre servizi estranei con le corrispondenti porte aperte. Gli aggressori usano queste porte per introdursi nei sistemi. Nella maggior parte dei casi, meno porte rimangono aperte e meno strade un aggressore può utilizzare per danneggiare la vostra rete. Per quanto riguarda le applicazioni, le installazioni predefinite di solito contengono programmi o script dimostrativi non necessari. Una delle vulnerabilità più gravi per i server web è rappresentata dagli script dimostrativi, che vengono utilizzati dagli aggressori per compromettere il sistema o per ottenere informazioni su di esso. Nella maggioranza dei casi, l'amministratore dei sistemi compromessi non era conscio che tali script dimostrativi fossero installati. Gli script dimostrativi costituiscono un problema perché, di solito, non sono sottoposti alle stesse procedure di controllo di qualità adottate per gli altri software. In molti casi infatti la qualità del codice è incredibilmente scadente. Il controllo degli errori viene spesso tralasciato e così gli script sono terreno fertile per gli attacchi di tipo "buffer overflow". Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
G2.1 - Account senza password o con password "deboli" G2.1 Descrizione: La maggior parte dei sistemi è configurata per utilizzare le password come prima ed unica linea di difesa. Gli user ID sono abbastanza facili da ottenere e la maggioranza delle aziende è dotata di un accesso dial-up che scavalca il firewall. Quindi, se un aggressore riesce a determinare il nome di un account e la sua password, potrà tranquillamente connettersi alla rete. Se un grosso problema è rappresentato dalle password facili da indovinare e da quelle predefinite, un problema ancora maggiore è dato dagli account del tutto privi di password. In pratica, tutti gli account che utilizzano password deboli, password predefinite oppure che non utilizzano alcuna password, dovranno essere rimossi dal sistema. Inoltre, molti sistemi sono dotati di account incorporati o predefiniti. Di solito gli account di questo tipo usano le stesse password per tutte le installazioni di software. Gli aggressori vanno di solito alla ricerca di queste password, ben note nella comunità degli hacker. Per questo motivo anche gli account predefiniti o incorporati devono essere identificati e rimossi dal sistema. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
G2.2 e G2.3 - Sistemi interessati e CVE G2.2 Sistemi interessati: Tutti i sistemi operativi o le applicazioni dove gli utenti effettuano l'autenticazione con user ID e password. G2.3 Lista CVE: (Nota: la lista sottostante non è una lista completa o esaustiva. Contiene solo esempi di alcune delle vulnerabilità appartenenti alla categoria in questione). CVE-1999-0291, CAN-1999-0501, CAN-1999-0502, CAN-1999-0503, CAN-1999-0505,CAN-1999-0506, CAN-1999-0507, CAN-1999-0508, CAN-1999-0516, CAN-1999-0517,CAN-1999-0518, CAN-1999-0519 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
G2.4 - Determinazione delle vulnerabilità • G2.4 Come determinare se siete vulnerabili: • Per determinare se siete vulnerabili dovete conoscere gli account presenti nel vostro sistema. Quelle che seguono sono le operazioni che dovete compiere: • Verificate gli account presenti sui vostri sistemi e create un elenco principale. Non dimenticate di controllare le password su sistemi come router e stampanti digitali connesse a Internet, controller delle stampanti e delle copiatrici. • Sviluppate procedure per l'aggiunta di account autorizzati all'elenco e per la rimozione degli account non più in uso. • Controllate regolarmente l'elenco per accertarvi che non siano stati aggiunti nuovi account e che gli account inutilizzati siano stati rimossi. • Utilizzate uno strumento di password cracking per individuare gli account con password deboli o senza password. (Assicuratevi di avere un permesso ufficiale scritto prima di utilizzare lo strumento password cracking). • LC3 - Microsoft Windows NT e Microsoft Windows 2000, http://www.atstake.com/ • Microsoft Personal Security Advisor, -- Microsoft Windows NT e Microsoft Windows 2000, www.microsoft.com/security/mpsa • John the Ripper - Unix, http://www.openwall.com/john • Pandora - Novell, http://www.nmrc.org/pandora • Impiegate procedure rigorose per la rimozione degli account di dipendenti o collaboratori che non lavorano più per l'organizzazione, o nel caso gli account non siano più necessari. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
G2.5 come proteggersi - 1 Per eliminare questi problemi di password è necessario applicare una procedura in due fasi. Nella prima fase è necessario che gli account senza password siano rimossi, o che sia loro assegnata una password, e che le password "deboli" siano irrobustite. Purtroppo accade spesso che gli utenti ai quali viene richiesto di modificare la propria password per renderla più robusta ne scelgano un'altra ugualmente facile da indovinare. Questo ci porta alla seconda fase della procedura, nella quale le password devono essere approvate dopo la modifica da parte dell'utente. Esistono programmi che controllano le password modificate e le rifiutano se non sono conformi ai requisiti stabiliti dalla vostra policy di sicurezza. I più diffusi sono descritti agli indirizzi elencati di seguito: 1a. Per UNIX: Npasswd (SunOS 4/5, Digital Unix, HP/UX e AIX) http://www.utexas.edu/cc/unix/software/npasswd1b. Per UNIX: "Cracklib" e i relativi moduli PAM (Linux)2. Per Windows NT: Passfilt: http://support.microsoft.com/support/kb/articles/Q161/9/90.asp Questi programmi garantiscono che le password modificate rispettino i criteri di composizione e di lunghezza necessari a renderle difficili da indovinare e da determinare. Molti produttori di sistemi Unix includono un supporto interno per l'irrobustimento delle password e sono comunque utilizzabili diversi pacchetti software dalle funzionalità simili. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
G2.5 come proteggersi - 2 Molte organizzazioni integrano i programmi per il controllo delle password con ulteriori controlli che ne garantiscono la modifica a intervalli regolari e l'impossibilità di riutilizzare le vecchie password. Se alle password viene applicata una scadenza, fate in modo che l'utente riceva un avviso e abbia la possibilità di modificare la password prima della scadenza. Quando si trovano davanti a un messaggio del tipo "la vostra password è scaduta e deve essere modificata" gli utenti tendono a scegliere una cattiva password. Microsoft Windows 2000, nei Criteri di gruppo, offre opzioni per vincolare la scelta delle password. L'amministratore può configurare la rete affinché le password degli utenti rispettino una lunghezza minima, una durata minima e massima e altri tipi di vincoli. È importante impostare la durata minima di una password. Senza di essa, infatti, l'utente cambia la password dopo aver ricevuto l'avviso di scadenza che ne richiede la modifica, ma tende poi a modificarla nuovamente reimpostando quella preesistente. L'impostazione della durata minima fa in modo che gli utenti siano più propensi a ricordare la nuova password, e li scoraggia dal sostituirla con quella precedente. Un'altra integrazione importante è costituita dai corsi di orientamento per aiutare gli utenti a capire perché sia necessario scegliere password "robuste" e insegnare loro come farlo. Il consiglio più comune per ottenere password efficaci è quello di scegliere un verso di una canzone che contenga un numero e poi costruire la password utilizzando la prima o seconda lettera di ogni parola che non rappresenti un numero e la cifra per i numeri. Per rendere la password ancora più difficile da determinare includete un segno di interpunzione. Un'altro modo per proteggersi dalla mancanza di password o dalle password deboli è quello di utilizzare forme diverse di autenticazione, come ad esempio l'autenticazione con password generate da schede personali variabili o l'autenticazione biometrica. Quindi, se le password deboli vi causano problemi, utilizzate metodi alternativi per l'autenticazione degli utenti. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Password policy - 1 La “password policy” consiste nell’impostazione di una serie di una password idonee a resistere ai vari tentativi di intrusione da parte di client indesiderati, oppure da parte di sniffer che esistono in commercio, i quali hanno la facoltà di “cracckare” una password in tempi limitatamente brevi, se la password scelta è una parola sotto i 6 caratteri, oppure una parola di senso compiuto. Ogni amministratore di sistema per eliminare questa vulnerabilità deve assicurarsi che le password scelte, devono essere comunque un insieme di lettere numeri e segni speciali. Se si scelgono password “complicate” sarà probabilmente difficile ricordarle puntualmente quando vengono richieste, ma comunque implicano una maggiore sicurezza, e rendono difficile gli attacchi da parte dei tools in commercio. SECAN, ente della NATO che valuta i sistemi suggerisce, che la policy sia impostata secondo la seguente tabella: - Tempo massimo di vita della password : 90 giorni - Tempo minimo di vita della password : 1 giorno - Lunghezza minima della password : 12 caratteri - Lunghezza massima della password : 24 caratteri Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
Password policy - 2 • Di seguito si riportano alcune politiche generali relative alle password, da applicare per l’uso di Internet : • le password e l’identificazione (ID) dell’utente nella domanda di collegamento, dovranno essere uniche per ciascun utente autorizzato; • le password dovranno essere composte da un minimo di 12 caratteri alfanumerici (nessuna frase o nome comune). Dovrebbero esserci elenchi controllati dal computer di norme relative alle password bandite e si dovrebbe effettuare un controllo periodico (tramite i tools in commercio) per identificare qualsiasi debolezza della password; • le password dovranno essere mantenute private, cioè, non condivise, codificate in programmi o annotate; • le password dovranno essere cambiate almeno ogni 90 giorni. La maggior parte dei sistemi può far rispettare il cambio di password con una scadenza automatica, impedendo la ripetizione o il reimpiego di password già usate in precedenza; • l’accesso dell’utente dovrà essere bloccato dopo 3 tentativi falliti di collegamento. Tutte le entrate errate di password dovranno essere registrate in una lista di verifica per una successiva ispezione ed azione secondo le esigenze; • - le sessioni dovranno essere sospese entro 15 minuti di inattività e si dovrà reintrodurre la password per la riconnessione. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W7 - Autenticazione generica di windows - 1 W7 Autenticazione generica di Windows - Account senza password o con password deboli W7.1 Descrizione: In quasi tutte le interazioni tra gli utenti e i sistemi informativi vengono utilizzate password, frasi identificative o codici di sicurezza. La maggior parte delle forme di autenticazione, come la maggior parte delle protezioni per file e dati, si basa su password fornite dall’utente. Dal momento che gli accessi correttamente autenticati spesso non vengono registrati, o anche se vengono registrati non lo sono in modo da fornire alcun segnale di allarme, una password compromessa rappresenta un’opportunità di esplorare un sistema dall’interno potenzialmente senza essere identificati. Un aggressore avrebbe accesso completo a qualsiasi risorsa disponibile per quell’utente e sarebbe molto vicino ad essere in grado di accedere ad altri account, a macchine vicine e forse anche ad ottenere privilegi di amministrazione. Nonostante questi pericoli, gli account con password deboli o addirittura senza password rimangono estremamente diffusi e le società con una buona policy sull’utilizzo delle password ancora troppo rare. Le più comuni vulnerabilità delle password sono dovute (a) ad account senza password o con password deboli, (b) al fatto che, a prescindere dalla robustezza delle password, spesso gli utenti non le proteggono, (c) al fatto che il sistema operativo o il software applicativo creano account di amministrazione con password deboli o privi di password (d) al fatto che gli algoritmi di hashing delle password sono noti e spesso gli hash vengono memorizzati in modo da essere accessibili a chiunque. La difesa migliore e la più corretta contro queste vulnerabilità è una solida policy che includa le istruzioni per creare delle buone password e che riassuma i comportamenti corretti per conservarne la riservatezza, unita a una verifica proattiva dell’integrità delle password. W7.2 Sistemi operativi interessati Qualsiasi sistema operativo e applicazione per accedere alla quale gli utenti si autentichino tramite user ID e password. W7.3 Riferimenti CVE CAN-1999-0506, CAN-1999-0504, CVE-2000-0222, CAN-1999-0505 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W7 - Autenticazione generica di windows - 2 • W7.4 Come determinare se siete vulnerabili • Per quanto vi siano alcuni sintomi osservabili di una generale debolezza delle password, come la presenza di account attivi appartenenti a utenti che non operano più all’interno dell’organizzazione o a servizi non più attivi, l’unico modo per accertarsi che ogni singola password sia sufficientemente robusta è quello di verificare tutte le password con gli stessi strumenti per la determinazione delle password utilizzati dagli aggressori. ATTENZIONE: Non utilizzate mai un password scanner, neanche sui sistemi per i quali avete un accesso da amministratore, senza autorizzazione esplicita e preferibilmente scritta da parte del vostro datore di lavoro. È già accaduto che amministratori di sistema con le migliori intenzioni siano stati licenziati per aver utilizzato strumenti per la determinazione delle password senza autorizzazione. • I migliori strumenti per la determinazione delle password sono: • LC4 (l0phtcrack versione 4) ;John the Ripper; Symantec NetRecon Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W7 - Autenticazione generica di windows - 3 • W7.5 Come proteggersi • La difesa migliore e la più corretta contro la debolezza delle password è una solida policy che includa le istruzioni su come generare buone password e descriva i comportamenti corretti per mantenerne la sicurezza, assieme ad una verifica proattiva dell’integrità delle password. • Assicurarsi che le vostre password siano sufficientemente robuste. Disponendo di tempi e risorse hardware adeguate, qualsiasi password può essere violata utilizzando il sistema "brute force". Ma ci sono metodi più semplici e molto più efficaci per venire a conoscenza delle password con uno sforzo minore. I password cracker utilizzano metodi conosciuti come “attacchi da dizionario”. Dal momento che i metodi crittografici sono noti, gli strumenti per l’individuazione delle password non fanno altro che confrontare le password in forma crittata con le forme crittate di parole del dizionario (in diverse lingue), di nomi propri, e con le permutazioni di entrambi. Di conseguenza una password la cui radice assomigli in qualche modo a una parola è estremamente suscettibile di essere violata da un attacco da dizionario. Molte organizzazioni insegnano ai propri utenti a generare password che includano combinazioni di caratteri alfanumerici e caratteri speciali, e gli utenti la maggior parte delle volte prendono una parola (ad esempio "password") e convertono le lettere in numeri o caratteri speciali ("pa$$w0rd"). Queste permutazioni non proteggono, però, dagli attacchi da dizionario: "pa$$w0rd" ha la stessa possibilità di essere violata di "password."Una buona password, quindi, non deve avere come radice una parola o un nome proprio. Una solida policy sulle password dovrebbe indirizzare gli utenti verso la creazione di password derivate da qualcosa di più casuale, come una frase o il titolo di un libro o di una canzone. Concatenando una stringa più lunga (prendendo la prima lettera di ogni parola o associando alle parole un carattere speciale o togliendo le vocali, ecc.), gli utenti possono generare stringhe sufficientemente lunghe che combinano caratteri alfanumerici e caratteri speciali in modo tale da creare una grande difficoltà ai tentativi di attacco con metodi da dizionario. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W7 - Autenticazione generica di windows - 4 • E in più se la frase è facile da ricordare, lo sarà anche la password. Una volta fornite agli utenti le corrette indicazioni su come generare buone password, possono essere messe in opera le procedure per controllare che queste indicazioni vengano seguite. Il modo migliore per farlo è quello di convalidare le password ogni volta che l’utente le cambia impiegando Passfilt. • Gli strumenti per la determinazione delle password devono essere utilizzati in modalità stand-alone come parte di un esame sistematico. FATE ANCORA ATTENZIONE: Non utilizzate mai un password scanner, neanche sui sistemi per i quali avete un accesso da amministratore, senza autorizzazione esplicita e preferibilmente scritta da parte del vostro datore di lavoro. È già accaduto che amministratori di sistema con le migliori intenzioni siano stati licenziati per aver utilizzato strumenti per la determinazione delle password senza autorizzazione Una volta ricevuta l’autorizzazione ad utilizzare strumenti per la determinazione delle password sul vostro sistema, attivateli regolarmente su una macchina protetta. Gli utenti le cui password vengono violate devono essere avvisati in modo confidenziale e devono essere fornite loro le istruzioni su come scegliere una buona password. Gli amministratori di sistema e il management dovrebbero sviluppare assieme questo tipo di procedure, in modo tale che il management possa provvedere quando gli utenti non rispondono alle notifiche. Un altro modo per proteggersi da password deboli o assenti è quello di utilizzare forme alternative di autenticazione come token generatori di password o sistemi di autenticazione biometrica. Se avete problemi derivati da password deboli, usate quindi metodi diversi per l’autenticazione degli utenti. • Proteggere le password robuste. Anche se le password sono robuste, gli account possono essere ugualmente compromessi se gli utenti non proteggono adeguatamente la propria password. Una buona policy include sempre istruzioni che specificano come gli utenti non devono mai riferire la propria password a nessun’altro, non devono mai trascrivere la password in supporti che possano essere letti da altri e devono rendere adeguatamente sicuro qualsiasi file nel quale sia conservata una password per l’autenticazione automatica (le password sono più facili da proteggere quando questa pratica è utilizzata solo quando assolutamente necessario). La modifica periodica della password deve essere fatta rispettare in modo che quelle password che non rispettano queste regole siano vulnerabili solo in una finestra temporale limitata, e deve essere tassativamente vietato che le vecchie password possano essere riutilizzate. Controllate che agli utenti giungano gli avvisi e sia data loro le possibilità di modificare la propria password prima della scadenza. Quando si trovano di fronte a frasi come: "la vostra password è scaduta e deve essere cambiata," gli utenti tendono a scegliere una cattiva password. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W7 - Autenticazione generica di windows - 4 3. Controllare rigorosamente gli account. o Qualsiasi account per l’accesso a un servizio e qualsiasi account di amministrazione che non sia più in uso deve essere disabilitato o eliminato. Qualsiasi account per l’accesso a un servizio e qualsiasi account di amministrazione che siano in uso deve essere forniti di una password solida e recente. o Verificare gli account presenti sul vostro sistema e create una master list. Non dimenticate di verificare le password su dispositivi come router e stampanti digitali, fotocopiatrici e controller connessi a Internet. o Sviluppare procedure per aggiungere account autorizzati alla lista e per rimuove dalla lista gli account che non sono più in uso. o Verificare periodicamente la lista per controllare che non siano stati aggiunti nuovi account e che gli account non più in uso siano stati rimossi. o Adottare rigide procedure per la rimozione degli account quando i dipendenti o i collaboratori della società non lavorano più lì o quando gli account non sono più necessari. 4. Implementare una solida policy per le password in azienda. In aggiunta ai controlli a livello di sistema operativo o a livello di rete, esistono degli strumenti completi che aiutano a gestire una buona policy per le password. L’Enterprise Security Manager (ESM) di Symantec è uno strumento di monitoraggio che risiede sull’host che evidenzia qualsiasi cambiamento nella policy, la creazione di nuovi account e verifica la robustezza delle password. ESM inoltre può eseguire tentativi per verificare la violabilità delle password in accordo con la policy attiva nella vostra rete. ESM utilizza un ambiente client-manager: l’agente è posto sui server o sulle workstation e invia le segnalazioni a un gestore centralizzato. Utilizzando una console remota, è possibile vedere i log e possono essere generati dei report sullo stato attuale della situazione. ESM verificherà i log e segnalerà qualsiasi modifica che sia stata fatta dalla situazione di partenza. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W6 - Autenticazione LAN Manager - 1 • 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 dell’hash, 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 sull’uso 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 l’autenticazione di Windows vulnerabile all’intercettazione attraverso packet sniffing e facilitando il compito degli aggressori di recuperare e violare le password degli utenti Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W6 - Autenticazione LAN Manager - 2 • 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é l’impostazione predefinita prevede il salvataggio in locale degli hash del LAN Manager. • Se nel vostro ambiente avete sistemi operativi che richiedono l’autenticazione 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 all’indirizzo http://www.atstake.com/research/lc/download.html) 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 • Disabilitare l’autenticazione LM attraverso la rete. Il modo migliore per sostituire l’autenticazione 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 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W6 - Autenticazione LAN Manager - 3 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 l’opzione 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 . Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W6 - Autenticazione LAN Manager - 4 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 Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
W6 - Autenticazione LAN Manager - 5 • 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 l’utente 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. • LMCompatibilityLevel and Its Effects [Q175641] spiega i problemi di interoperabilità relativi a questo parametro. • 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. • New Registry Key to Remove LM Hashes from Active Directory and Security Account Manager Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
PGP Pretty Good Privacy (PGP) di Phil Zimmerman è il programma di crittografia per eccellenza.Lo scopo principale di PGP é quello di permettere la trasmissione cifrata di messaggi di posta elettronica e l’autentificazione degli utenti, attraverso Internet. In realtà le operazioni possibili sono molteplici. Il PGP utilizza due algoritmi di crittografia: il sistema a chiavi pubbliche RSA e quello a chiavi private IDEA. Il suo funzionamento é molto semplice: ammettiamo che l'utente A voglia spedire all'utente B un messaggio. PGP cifra tale messaggio utilizzando l'IDEA e una chiave K generata casualmente. Occorrerà spedire all'utente B la chiave K da utilizzare per decifrare il messaggio (ricordiamo che l'IDEA é un algoritmo che utilizza la stessa chiave per cifrare e decifrare il messaggio). Il PGP risolve brillantemente il problema utilizzando l'RSA. L'utente A, infatti, inserisce la chiave K nel messaggio cifrandola con la chiave Pubblica di B. In questo modo solo B può, con la propria chiave Privata, recuperare la chiave K ed usarla per leggere il resto del messaggio criptato con l'IDEA. In teoria, si sarebbe potuto utilizzare direttamente l'RSA per cifrare l'intero messaggio. In pratica però, la complessità dell'RSA é troppo elevata per permetterne un uso intenso (i file da cifrare potrebbero essere molto lunghi), soprattutto se messo in relazione con l'IDEA. Il sistema di cifratura IDEA-RSA di PGP é riassunto da questo schema : Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com
PGP 2 L'RSA, per come é stato definito, permette un'altra importante operazione : l'autenticazione dell’utente. Se il messaggio viene cifrato utilizzando la chiave privata S invece della chiave pubblica P, si ottiene un messaggio criptato che può essere decriptato utilizzando soltanto la chiave pubblica P. Ma allora, se solo chi é in possesso di S può aver cifrato il messaggio, possiamo star tranquilli che il messaggio é autentico. E' come se l'autore del messaggio, cifrandolo con S, lo avesse firmato. PGP prevede comunque la creazione di archivi pubblici elettronici che contengano le chiavi pubbliche dei vari utenti. E' importante che si dia la massima diffusione alla propria chiave pubblica, perché ciò evita che l'analista C possa frapporsi tra A e B spedendo ad entrambi la propria chiave pubblica e facendo credere loro che si tratti invece della chiave pubblica di A o di B. In questo modo C sarebbe in grado di intercettare e leggere ogni messaggio spedito da A a B e viceversa. Genova, 23 Febbraio 2005 Prof. Daniele Pulcini - dpdp@mac.com