IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle...

77
IT Administrator Sicurezza informatica Materiale didattico validato AICA Modulo 5 In collaborazione con:

Transcript of IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle...

Page 1: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

IT AdministratorSicurezza informaticaMateriale didattico validato AICA

Modulo 5

In collaborazione con:

Page 2: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it2

ITAdministrator - Sicurezza informatica

La sicurezza delle informazioni è un’esigenza che ha ac-compagnato la storia dell’uomo fin dalle antiche civiltà.Oggi ci preoccupiamo di mantenere riservate le infor-

mazioni personali, militari e d’affari. Nel V secolo a.C. glispartani inviavano gli ordini ai capi militari tramite mes-saggi scritti su una striscia di cuoio che, avvolta su un ba-stone (lo scitale) di un diametro ben preciso, permetteva dileggere il testo in chiaro lungo il bastone. Giulio Cesare ci-frava i messaggi sostituendo ogni lettera con quella che nel-l’alfabeto segue di qualche posizione. La crittografia, cioèla scienza della scrittura segreta, ha avuto una progressivaevoluzione nel corso dei secoli, fino ai rapidi sviluppi teo-rici e tecnologici impressi dalla seconda guerra mondiale,che permisero la decifrazione dei codici giapponesi e te-deschi da parte degli alleati.

Oggi buona parte del pianeta vive nella società del-l’informazione, basata cioè sull’uso delle informazioni co-me parte integrante delle attività umane. Pertanto, la sicu-rezza delle informazioni è diventata una componente dellasicurezza dei beni in generale, o security, e non si limita al-le tecniche per nascondere il contenuto dei messaggi. Qua-lunque programma che si occupi di preservare la sicurez-za delle informazioni, persegue, in qualche misura, treobiettivi fondamentali: la disponibilità, l’integrità e la ri-servatezza delle informazioni.

La disponibilità è il grado in cui le informazioni e le ri-sorse informatiche sono accessibili agli utenti che ne han-no diritto, nel momento in cui servono. Questo significache sistemi, reti e applicazioni hanno le capacità necessa-rie a fornire il livello di servizio e le prestazioni richieste eche, in caso di guasto o di eventi distruttivi, sono pronti glistrumenti e le procedure per ripristinare l’attività in tempiaccettabili. Per impedire l’inaccessibilità delle informazio-ni, si deve preservare la disponibilità delle condizioni am-bientali (energia, temperatura, umidità, atmosfera, ecc.) edelle risorse hardware e software a fronte sia di problemi

interni (guasti, errori, blackout, disastri e altro), sia di at-tacchi esterni, per esempio provenienti da Internet, volti aimpedire o a ridurre l’accessibilità ai sistemi e alle infor-mazioni. Sistemi di backup locale e remoto, ridondanza del-l’hardware e degli archivi, firewall e router configurati perneutralizzare attacchi DoS (denial of Service), sistemi di cli-matizzazione, gruppi di continuità, controllo dell’accesso fi-sico, monitoraggio delle prestazioni sono alcuni deglistrumenti che servono per mantenere la disponibilità.

L’integrità è il grado di correttezza, coerenza e affidabi-lità delle informazioni e anche il grado di completezza, coe-renza e condizioni di funzionamento delle risorse informa-tiche. Per l’hardware e i sistemi di comunicazione, l’inte-grità consiste di fattori come elaborazione corretta dei da-ti, livello adeguato di prestazioni e corretto instradamentodei dati. L’integrità del software riguarda fattori come lacompletezza e coerenza dei moduli del sistema operativoe delle applicazioni e la correttezza dei file critici di sistemae di configurazione.

Per le informazioni, l’integrità viene meno quando i da-ti sono alterati, cancellati o anche inventati, per errore oper dolo, e quando si perde, per esempio in un database, la

Inizia il primo corso di taglio professionale destinato alconseguimento di una certificazione ufficiale, riconosciuta in tutta Europa. La certificazione fa parte di un nuovo filonedenominato EUCIP (European Certification of InformaticsProfessionals) e si chiama IT Administrator – SicurezzaInformatica. Il corso si articolain tre elementi: un articolo sullarivista, un articolo, molto piùesteso in formato PDF e un corsomultimediale completo su CD e DVD di Giorgio Gobbi

� Introduzione alla sicurezza delle informazioni

Diventate esperti disicurezza con PC Open

Materiale didatticovalidato da AICACertificazione EUCIPIT AdministratorModulo 5 - IT SecuritySicurezza informatica

"AICA Licenziatariaesclusiva in Italia delprogramma EUCIP(European Certificationof InformaticProfessionals), attestache il materiale didatticovalidato coprepuntualmente eintegralmente gliargomenti previsti nelSyllabus IT Administratore necessari per ilconseguimento dellacertificazione ITAdministrator ITSecurity. Diconseguenza AICAautorizza sul presentemateriale didattico l'usodel marchio EUCIP,registrato da EUCIP Ltde protetto dalle leggivigenti"

Obiettivo del corso IT Administrator –Sicurezza InformaticaFornire al lettore familiarità con i vari modi diproteggere i dati sia su un singolo PC sia in una LANconnessa a Internet. In particolare, metterlo nellecondizioni di proteggere i dati aziendali controperdite, attacchi virali e intrusioni. Inoltre, metterlonelle condizioni di conoscere e utilizzare i programmie le utility più comuni destinati a tali scopi.

I contenuti delle 8 lezioni Lezione 1: Informazioni generaliLezione 2: CrittografiaLezione 3: Autenticazione e controllo

degli accessiLezione 4: DisponibilitàLezione 5: Codice malignoLezione 6: Infrastruttura a chiave pubblicaLezione 7: Sicurezza della reteLezione 8: Aspetti sociali, etici e legali della

sicurezza informatica

Riferimento Syllabus2.0 (curriculumufficiale AICA)

5.1.1 Concetti dibase

5.1.1.1 sapere qualisono i principaliaspetti dellasicurezza delleinformazioni:riservatezza eintegrità

(la numerazione deipunti di riferimento alSyllabus cominciacon 5 perché siriferisce al quintomodulo dellacertificazione ITAdministratorcomplessiva. Il quintomodulo riguarda lasicurezza informatica)

In collaborazionecon:

Page 3: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it3

Lezione 1 IT Administrator - Sicurezza informatica

coerenza tra dati in relazione tra loro (per esempio i recordcoinvolti in una transazione).

Procedure di manutenzione e diagnosi preventiva,hardware e software per la rilevazione e prevenzione di ac-cessi illeciti, attacchi virali e intrusioni, applicazioni che mi-nimizzano errori logici e formali di data entry, accesso ri-stretto alle risorse critiche e controllo degli accessi sono al-cuni degli strumenti utili a preservare l’integrità delleinformazioni e delle risorse.

Anche le tecniche di hashing (calcolo di un numero dilunghezza fissa a partire da un qualsiasi messaggio o do-cumento) sono usate per verificare che le informazioni nonvengano alterate per dolo o per errore (anche di trasmis-sione).

La riservatezza consiste nel limitare l’accesso alle infor-mazioni e alle risorse informatiche alle sole persone auto-rizzate e si applica sia all’archiviazione sia alla comunica-zione delle informazioni. Un’informazione è composta ge-neralmente di più dati in relazione tra di loro, ciascuno deiquali non necessariamente costituisce un’informazione. Ilnome e il numero di conto corrente di una persona, sepa-rati, non sono informazioni; è la combinazione dei due da-ti che costituisce l’informazione.

La riservatezza dell’informazione può essere quindi ga-rantita sia nascondendo l’intera informazione (per esempiocon tecniche di crittografia) sia nascondendo la relazionetra i dati che la compongono. La riservatezza non dipendesolo da strumenti hardware e software; il fattore umano gio-ca un ruolo chiave quando vengono ignorate le elementariregole di comportamento: tenere le password segrete, con-trollare gli accessi a reti e sistemi, rifiutare informazioni asconosciuti (anche quando affermano di essere tecnici del-la manutenzione), cifrare i documenti e i messaggi riserva-ti e così via.

Possiamo aggiungere altri due obiettivi di sicurezza chepossono essere considerati un’estensione dell’integritàdelle informazioni, applicata a eventi più complessi comel’invio di un messaggio o una transazione. L’autenticità ga-rantisce che eventi, documenti e messaggi vengano attri-buiti con certezza al legittimo autore e a nessun altro. Il nonripudio impedisce che un evento o documento possa es-sere disconosciuto dal suo autore. Queste due caratteri-stiche trovano applicazione nella firma digitale, che utiliz-za tecniche di hashing e crittografia per garantire che undocumento resti integro e provenga da un autore univoca-mente identificato.

Gestione del rischioPer esaminare i rischi connessi ai vari aspetti di sicu-

rezza delle informazioni, iniziamo introducendo i terminidel discorso: beni da difendere, obiettivi di sicurezza, mi-nacce alla sicurezza, vulnerabilità dei sistemi informatici eimpatto causato dall’attuazione delle minacce.

BeniUn bene è qualsiasi cosa, materiale o immateriale, che

abbia un valore e debba quindi essere protetta. Nel campodella sicurezza delle informazioni, tra i beni di un’aziendaci sono le risorse informatiche, il personale (utenti, ammi-nistratori, addetti alla manutenzione), le informazioni, ladocumentazione e l’immagine aziendale. Per un individuo,i beni comprendono non solo risorse informatiche, infor-mazioni e mezzi di comunicazione, ma anche le informa-zioni personali e la privacy.

Per esempio, se un attacco via Internet causa a un’a-zienda il furto di informazioni riservate, magari relative al-le carte di credito dei clienti, i beni colpiti sono molteplici:le informazioni, l’immagine, la reputazione, la stessa conti-nuità operativa. Un altro esempio è il defacing, ovvero l’al-terazione di un sito web per rovinare l’immagine del pro-prietario; è una forma di vandalismo che colpisce sia leinformazioni sia l’immagine dell’azienda o persona titolare.

A livello personale, la privacy degli individui è minac-ciata da più parti: aziende che non proteggono adeguata-mente le informazioni in loro possesso, applicazioni chetrasmettono via Internet dati personali, software malignoche spia le abitudini degli utenti (acquisti, navigazione In-ternet ecc.) o che altera la navigazione Internet a scopo ditruffa o furto di informazioni.

I beni possono essere distinti in beni primari, quelli chehanno valore effettivo, e beni secondari, che servono perproteggere i beni primari. Un esempio di bene secondarioè la password che permette di accedere a un computer, auna rete, ai dati archiviati e a Internet. La password in sénon ha alcun valore, ma è un’informazione che permette aun altro utente o a un estraneo di accedere ai beni primari(sistemi, periferiche, reti, archivi) e di eseguire operazionia nome dell’utente titolare della password, che ne sarà ri-tenuto responsabile. La password, bene secondario, assu-me un’importanza paragonabile a quella degli archivi e del-le attrezzature hardware/software, bene primario a cui lapassword dà accesso. Lo stesso vale per i dispositivi diidentificazione e autenticazione, come le Smart Card. Se lascheda viene utilizzata da qualcuno che si è procurato ilcorrispondente PIN (Personal Identification Number), il ti-tolare della scheda sarà ritenuto responsabile dell’utilizzofino alla denuncia di furto o smarrimento.

Altri esempi di beni secondari sono le attrezzature chepermettono all’hardware di funzionare con continuità e si-curezza: gruppi di continuità, condizionatori, alimentatorie altri componenti ridondanti e così via. I beni secondari, inquanto investimento preventivo per mantenere alta la di-sponibilità dei servizi informatici, rappresentano un costoampiamente inferiore rispetto al rimedio a situazioni nonpreviste.Obiettivi

Gli obiettivi di sicurezza sono il grado di protezione chesi intende predisporre per i beni, in termini di disponibilità,integrità e riservatezza. Per definire gli obiettivi, si classifi-cano i beni in categorie e si assegnano i criteri di sicurezzada applicare. Ci sono beni, come le password e i numeri diidentificazione, che hanno più requisiti di riservatezza che

IT Administrator comprende sei moduli:1 Hardware del PC (PC Hardware)2 Sistemi operativi (Operating Systems)3 Reti locali e servizi di rete (LAN and NetworkServices)4 Uso esperto delle reti (Network Expert Use)5 Sicurezza informatica (IT Security)6 Progettazione reti (Network Design)

L’argomento di questo corso è il modulo 5 dellacertificazione EUCIP IT Administrator, dedicatoespressamente alla sicurezza informatica. Il modulo5 garantisce comunque il diritto a una certificazionea sé stante.

Alcuni beni da proteggere- Hardware (sistemi e reti)- Software- Firmware- Dati e informazioni- Personale- Documentazione- Fondi- Apparecchiature di controllo ambientale- Immagine e reputazione aziendale- Capacità operativa

5.1.2 Gestione delrischio

5.1.2.1 conoscere iprincipali elementicoinvolti nellavalutazione delrischio (valoredell’informazione,vulnerabilità,minaccia, rischio,impatto, violazione,livello di rischio).

Page 4: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it4

ITAdministrator - Sicurezza informatica Lezione 1

non problemi di integrità e disponibilità. Al contrario, leinformazioni contabili di una banca che esegue transazio-ni on line hanno requisiti di disponibilità, integrità e riser-vatezza. Le informazioni pubblicate sul sito web di un’a-zienda richiedono disponibilità e integrità (per esempioper impedire il defacing), ma non certo riservatezza.

La selezione degli obiettivi in base al tipo di protezionerichiesto dai beni, permette un approccio concreto e sca-labile in base alle priorità e alle risorse disponibili. In as-senza di una mappa di ciò che è urgente e importante daproteggere, si tende a improvvisare o a voler proteggeretutto, salvo poi mancare anche gli obiettivi minimi quandoil costo preventivato supera di gran lunga le disponibilità.Minacce

Una minaccia è un’azione potenziale, accidentale o deli-berata, che può portare alla violazione di uno o più obiet-tivi di sicurezza. Le minacce possono essere classificate se-condo la loro origine: naturale, ambientale o umana. Peresempio, un allagamento dovuto a forti piogge è una mi-naccia accidentale di origine naturale che ha un impattosulla sicurezza, visto che può interrompere la disponibilitàdei servizi informatici. Un cavallo di Troia installato all’a-pertura di un allegato di posta elettronica infetto, è una mi-

naccia deliberata di origine umana e coinvolge tutti gliobiettivi di sicurezza: il computer può cadere sotto il con-trollo esterno e non essere più completamente disponibileper il suo proprietario (disponibilità), le sue informazionipossono essere alterate e cancellate (integrità) e dati danon divulgare (password, informazioni personali, informa-zioni sensibili aziendali) possono essere letti da estranei(riservatezza). Una rete wireless che opera senza prote-zione (a partire dalla cifratura delle comunicazioni) può es-sere intercettata o, perlomeno, usata per l’accesso a Inter-net, magari per operazioni illegali riconducibili all’indirizzoIP (e quindi alla responsabilità) del titolare della rete. Inquesto caso gli obiettivi violati coinvolgono la riservatezza,la disponibilità e potenzialmente anche l’integrità.

L’entità che mette in atto la minaccia viene chiamataagente. Esempi di agenti di minaccia sono un intruso cheentra in rete attraverso una porta del firewall, un processoche accede ai dati violando le regole di sicurezza, un tor-nado che spazza via il centro di calcolo o un utente cheinavvertitamente permette ad altri di vedere le password.Vulnerabilità

Mentre una minaccia è sempre portata da un agenteesterno (fenomeno naturale o intervento umano), una vul-

Esempi di minacce ( D = deliberata, A = accidentale, E = ambientale)

Minaccia D A E----------------------------------------------------------------------------------------------------------------------Terremoto xInondazione x xUragano xFulmine xBombardamento x xIncendio x xUso di armi x xVandalismo xFurto xBlackout xLinea elettrica instabile x xGuasto climatizzatore xTemperatura alta o bassa x x xUmidità eccessiva x x xPolvere xRadiazioni elettromagnetiche xGuasto hardware xUso improprio delle risorse x xErrori software x xUso non autorizzato supporti

di memoria xDeterioramento supporti di memoria xErrori degli utenti x xErrori del personale operativo x xErrori di manutenzione x xAccesso illegale alla rete xUso illegale di password xUso illegale del software xIndirizzamento illecito messaggi xSoftware dannoso x xInstallazione/copia illegale

di software xInterruzione servizio

provider Internet xInterruzione servizio hosting web xErrori di trasmissione xTraffico eccessivo x xIntercettazione in rete xInfiltrazione in rete xAnalisi illecita del traffico xCarenze di personale x

Esempi di vulnerabilitàInfrastrutturaMancanza di protezione fisicaMancanza di controllo degli accessiLinea elettrica instabileLocali soggetti ad allagamento

Hardware e impiantiMancanza di sistemi di backupSuscettibilità a variazioni di tensioneSuscettibilità a variazioni di temperaturaSuscettibilità a radiazioni elettromagneticheProgramma di manutenzione insufficiente

ComunicazioniLinee di comunicazione non protetteUso di password in chiaroTraffico wireless non cifratoPresenza di linee dial-upLibero accesso ai dispositivi di rete

DocumentazioneLocali non protettiCarenza di precauzioni nell’eliminazioneAssenza di controllo nella duplicazione

SoftwareComplessità interfaccia applicazioniMancanza autenticazione utenteMancanza logging accessiErrori software notiPassword non protetteCattiva gestione passwordDiritti di accesso scorrettiUso del software incontrollatoSessioni aperte senza presenza utenteAssenza di backupCarenza nella dismissione dei supporti

PersonalePersonale insufficienteProcedure reclutamento inadeguatePersonale esterno incontrollatoAddestramento di sicurezza inadeguatoUso improprio o scorretto hardware/softwareCarenza di monitoraggio

Page 5: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it5

Lezione 1 IT Administrator - Sicurezza informatica

nerabilità è un punto debole del sistema informatico(hardware, software e procedure) che, se colpito o sfrutta-to da una minaccia, porta alla violazione di qualche obiet-tivo di sicurezza. Una vulnerabilità presenta due caratteri-stiche: è un aspetto intrinseco del sistema informatico edesiste indipendentemente da fattori esterni. Una vulnera-bilità, di per sé, non causa automaticamente una perdita disicurezza; è la combinazione tra vulnerabilità e minacciache determina la probabilità che vengano violati gli obiet-tivi di sicurezza. Un centro di calcolo situato nel seminter-rato di un centro urbano ha le stesse vulnerabilità in unazona poco soggetta a terremoti come in una zona sismica.Quello che cambia è la probabilità che si attui la minacciaterremoto, a scapito della disponibilità dell’impianto.

Un computer dedicato alla contabilità di un negozio, nonprotetto da firewall e antivirus e privo delle patch di sicu-rezza del sistema operativo, è assai vulnerabile, ma se è te-nuto al sicuro, viene usato solo dal titolare e non è colle-gato a Internet, può funzionare a lungo senza essere colpi-to dalle minacce più comuni.Impatto

L’impatto è la conseguenza dell’attuazione di una mi-naccia. Esso dipende dal valore del bene colpito e dagliobiettivi di sicurezza violati. Per una piccola azienda, se laminaccia “guasto dell’hard disk” colpisce la vulnerabilità“backup poco frequenti”, l’impatto è serio, perché può in-cludere il blocco temporaneo dell’attività e inconvenientinei rapporti con i clienti. Gli obiettivi di sicurezza violati so-no la disponibilità ed eventualmente l’integrità delle infor-mazioni. Se un dirigente in viaggio connette il portatile a In-ternet senza protezione (programmi firewall e antivirus),apre un’e-mail infetta e di ritorno propaga l’infezione alla re-te aziendale, l’impatto può essere grave e coinvolgere tut-ti gli obiettivi di sicurezza (disponibilità, integrità e riser-vatezza). In questo esempio l’agente della minaccia è l’u-tente, le vulnerabilità sono la cattiva configurazione delportatile e le falle di sicurezza di Windows e la minaccia stanelle cattive abitudini e incompetenza dell’utente. L’im-patto può includere il blocco temporaneo della rete e deicomputer e un’attività generalizzata di disinfestazione conpossibile perdita di dati e reinstallazione di software; ancheparte dei backup potrebbe essere compromessa.Rischio

Concettualmente, il rischio è la possibilità che si verifi-chi un evento dannoso ed è tanto maggiore quanto è fortel’impatto causato dall’evento e quanto è alta la probabilitàche esso si verifichi. In una zona statisticamente non sog-getta ad alluvioni, il rischio informatico connesso a questotipo di eventi è trascurabile, anche se l’impatto potenzialeè ingente. In una rete aziendale soggetta a tentativi di in-trusione, a parità di protezione, la sottorete delle finanzecorre un rischio maggiore rispetto alla sottorete ammin-strativa, perché a parità di probabilità di attacco, l’impattodell’attacco è più grave.

In termini numerici, il rischio R può essere definito comeil prodotto scalare tra la gravità G dell’impatto (conse-guenze di un evento dannoso) e la probabilità P che si ve-rifichi l’evento dannoso (la minaccia).

Le fasi della gestione del rischio

Nella gestione del rischio si possono individuare due fa-si distinte.1) Analisi del rischio. In questa fase si classificano le infor-

mazioni e le risorse soggette a minacce e vulnerabilità esi identifica il livello di rischio associato a ogni minaccia.Ci sono vari metodi per quantificare il rischio, basati suun approccio quantitativo, qualitativo o combinazionedei due. L’approccio quantitativo è basato su dati empi-rici e statistiche, mentre quello qualitativo si affida a va-lutazioni intuitive. Entrambi hanno vantaggi e svantaggi.Il primo richiede calcoli più complessi ma può basarsi su

sistemi di misura indipendenti e oggettivi, fornisce ri-sultati numerici (il valore delle perdite potenziali) e un’a-nalisi dei costi e benefici. Il secondo utilizza l’opinionedel personale che ha esperienza diretta in ciascuna del-le aree interessate.

2) Controllo del rischio. In questa fase vengono indivi-duate le modalità che l’azienda intende adottare per ri-durre i rischi associati alla perdita della disponibilità diinformazioni e risorse informatiche e della integrità e ri-servatezza di dati e informazioni. Ogni tipo di minacciadeve essere trattata separatamente e la pianificazionedelle contromisure richiede un’analisi di costi e benefi-ci che ottimizzi il valore della protezione. Se, per esem-pio, il rischio per l’intrusione in un server web è stima-to di 12.000 euro in un anno e con una spesa annua di1.000 euro esso scende a 3.000 euro, possiamo calcolareil valore della protezione in 12.000 (rischio iniziale) –3.000 (rischio dopo l’allestimento delle contromisure) –1.000 (costo annuale delle contromisure) = 8.000 euro.

Analisi del rischioL’analisi del rischio è un processo composto di una se-

quenza di fasi, che inizia con la classificazione dei beni(informazioni e risorse informatiche), prosegue con l’iden-tificazione delle minacce e delle vulnerabilità e si concludecon l’identificazione del livello di rischio.1) Classificazione delle informazioni e delle risorse infor-

matiche. Questa fase ha lo scopo di censire e classifica-re le informazioni gestite dal sistema informativo azien-dale (attraverso sistemi informatici e altri mezzi) e le ri-sorse informatiche utilizzate. Il risultato è la documenta-zione delle informazioni che hanno valore per l’azienda,in modo che nelle fasi successive si possa valutare il ri-schio a fronte della perdita di disponibilità, integrità e ri-servatezza di ogni categoria di informazioni. Visto che leinformazioni sono aggregazioni di dati che, singolarmen-te, potrebbero essere (o apparire) privi di valore, si dovràtenere conto delle relazioni tra dati e informazioni.La sicurezza delle informazioni è strettamente legata al-

la disponibilità delle risorse informatiche, quindi, in questafase, vengono documentati anche i sistemi, le attrezzaturedi rete, la capacità di elaborazione, la capacità dei canali dicomunicazione, i processi vitali e altre risorse necessarieper gli obiettivi di sicurezza delle informazioni.2) Identificazione delle minacce. Una minaccia è un’azio-

ne potenziale, accidentale o deliberata, che può portarealla violazione di uno o più obiettivi di sicurezza e quin-di causare un danno all’azienda. In questa fase si compilal’elenco delle minacce, avendo cura di includere gli even-ti di origine naturale, gli eventi accidentali (guastihardware, errori software, errori umani ecc.) e le azioniumane deliberate (sia interne, sia esterne). Le minaccea cui è soggetta un’organizzazione hanno aspetti generalie aspetti specifici riguardanti il campo di attività, il mo-dello di business, le caratteristiche del sistema informa-tivo e del sistema informatico, la dislocazione e le co-municazioni dell’organizzazione. Esempi di minacce ge-nerali sono quelle ambientali che possono impedire ilfunzionamento delle attrezzature informatiche (alimen-tazione elettrica, temperatura ecc.), i guasti hardware(hard disk, supporti di backup, alimentatori, ventoleecc.), gli errori software, la cancellazione accidentale didati, gli errori degli utenti, i virus e altro malware (worm,trojan, spyware, ecc.), i tentativi di intrusione da Inter-net, l’esecuzione di software insicuro, la sottrazione e/ola divulgazione di informazioni e software e via dicendo.Minacce più specifiche sopratutto per le aziende che

eseguono transazioni economiche on line (banche, siti di e-commerce, broker ecc.) sono ad esempio le azioni di socialengineering (fingersi altre persone, come pubblici ufficialio addetti all’assistenza) per procurarsi password e altreinformazioni utili per avere accesso alle informazioni.

L’analisi delrischioin tre formule

R = G x PIl rischio R può esseredefinito come il prodottoscalare fra la gravità Gdell’impatto(conseguenze di unevento dannoso) e laprobabilità P che siverifiche l’eventodannoso.

P = f(V, M) per minacce di tipodeliberatoPer una minaccia di tipodeliberato, la probabilitàP che la minaccia siverifichi è una funzionedelle vulnerabilità Vpresenti nel sistema(hardware, software eprocedure) e dellemotivazioni Mdell’agente attaccante.

P = f(V, p) per minacce di tipoaccidentale e ambientalePer una minaccia di tipoaccidentale eambientale, laprobabilità P che essa siverifichi è una funzionedelle vulnerabilità V delsistema e dellaprobabilità p che irilevamenti statisticipermettono di associareall’evento in questione(per esempio laprobabilità di cancellareper errore un fileimportante o laprobabilità che unblackout prolungatocausi un’interruzione delservizio).

Page 6: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it6

ITAdministrator - Sicurezza informatica Lezione 1

Identificazione delle vulnerabilità. Le vulnerabilità so-no tutti quei punti deboli del sistema informativo tali che, sesfruttate dall’attuarsi di una minaccia, permettono la viola-zione degli obiettivi di disponibilità, integrità e riservatezzadelle informazioni. In precedenza abbiamo mostrato esem-pi di vulnerabilità in diverse categorie. Per esempio, l’as-senza di un gruppo di continuità e l’intolleranza di alte tem-perature ambiente rientrano nella categoria impianti. La ca-tegoria software include le falle di sicurezza e gli errori deisistemi operativi e delle applicazioni. La categoria hardwa-re comprende computer, periferiche, accessori e dispositi-vi di rete, tutti soggetti a guasti e malfunzionamenti. L’as-senza di regole e di strumenti adeguati per il backup degliarchivi fa parte delle vulnerabilità procedurali. Alla catego-ria del personale competono carenze come l’inadeguatapreparazione e istruzione degli utenti, l’utilizzo improprio diInternet e delle risorse informatiche e la scarsa diligenza nelcustodire le password e altre informazioni riservate.

Come per le minacce, anche le vulnerabilità sono speci-fiche per il tipo di azienda, il campo di attività e l’organiz-zazione interna. Inoltre, la stessa vulnerabilità può avere di-versi livelli di importanza secondo le caratteristiche del-l’azienda. La vulnerabilità di un particolare servizio di co-municazione del sistema operativo può essere considera-ta irrilevante per un’azienda manifatturiera tradizionale maallo stesso tempo grave per un’azienda che progetta stru-menti ad alta tecnologia per un mercato competitivo.

Identificazione del livello di rischio. Dopo aver censi-to i beni da proteggere e quantificato il loro valore, e dopoaver calcolato la probabilità di attuazione delle minacce (inbase alle vulnerabilità e agli agenti di attacco individuati),è possibile calcolare il rischio seguendo l’approccio quan-titativo. A tale scopo si possono utilizzare fogli elettronicio apposite applicazioni per automatizzare il calcolo del ri-schio secondo i settori di attività.

In alternativa, l’approccio qualitativo non quantifica idanni e le probabilità, ma esamina le aree di rischio asse-gnando, in base a intuizione, esperienza e giudizio, valorirelativi (per esempio da 1 a 5) alla gravità della minaccia, al-la sua probabilità di attuazione e alla perdita potenziale perl’azienda. Anche le contromisure sono valutate con lo stes-so criterio, in modo da selezionare quella che il personaleinteressato ritiene più adatta per fronteggiare la minaccia.

In tabella 1 consideriamo un piccolo esempio di analisiquantitativa, ridotto a poche righe a scopo illustrativo.

In questo esempio sono indicate le previsioni di danno(perdita economica) per un singolo evento (attuazione del-la minaccia) e la probabilità stimata in base a statistiche difrequenza o dati empirici. Nella realtà, l’attacco a un benemateriale di valore limitato, come un server di rete, può

causare un danno superiore per ordini di grandezza a beniimmateriali come l’immagine, la reputazione e il creditodell’azienda. Inoltre, certi tipi di minacce, in assenza di ap-propriate difese, possono attuarsi ripetutamente in un an-no, come le perdite e alterazioni di dati per errori degliutenti e/o del software applicativo. Va detto che un’analisidel rischio puramente quantitativa è pressoché impossibi-le, vista la difficoltà di assegnare valori precisi ai danni su-biti dai beni e alle probabilità di attuazione delle minacce.In ogni caso, l’analisi permette di identificare i beni da pro-teggere, le fonti di danno e l’entità del rischio; in base a que-ste informazioni si potrà definire una strategia per proteg-gere i beni nel modo più efficiente.

Vediamo ora un esempio di analisi qualitativa, basata sulgiudizio, l’esperienza e l’intuito delle persone che operanonelle aree soggette a minacce. Ci sono diversi metodi perraccogliere le informazioni per un’analisi qualitativa del ri-schio. Il metodo Delphi, per esempio, si basa su decisionidi gruppo per assicurare che ogni membro del gruppo divalutazione possa esprimere onestamente il proprio pare-re sulle minacce e sui rimedi più efficaci. Ogni membro delgruppo scrive le proprie valutazioni in modo anonimo, sen-za pressioni o influenze da parte degli altri. I risultati ven-gono compilati e distribuiti ai membri del gruppo, che scri-vono i loro commenti, ancora anonimi. Il processo si ripe-te finché non si forma un consenso su costi, perdite po-tenziali, e probabilità di attuazione delle minacce, senza di-scussioni verbali.

Altri metodi qualitativi fanno uso di brainstorming, fo-cus group, sondaggi, questionari, liste di verifica, intervi-ste, incontri individuali e altro ancora.

Nella tabella 2 vediamo un piccolo esempio semplifica-to di analisi qualitativa applicata alla minaccia di intrusio-ne da Internet.

In questo esempio gli addetti all’analisi del rischio han-no distribuito una descrizione della minaccia (intrusioneda Internet) a cinque persone con diverse mansioni nell’a-rea IT, con la richiesta di valutare, da 1 a 5, la gravità dellaminaccia, la probabilità che accada, la perdita conseguen-te e l’efficacia di alcune possibili misure di protezione. Lavalutazione è quindi sottoposta al management, che vedràqual è il punto di vista del personale interessato sulla gra-vità delle minacce e sui modi di proteggersi.

Il controllo del rischio e le contromisureConsideriamo l’analisi del rischio secondo l’approccio

quantitativo; il documento finale elenca in modo dettaglia-to i beni con i relativi valori monetari, le vulnerabilità, le mi-nacce con relativa probabilità di attuazione e le perdite po-tenziali (per esempio su base annua). La fase successiva,

Tabella 2 - Analisi del rischio qualitativa

Minaccia intrusione Gravità della Probabilità Perdita Efficacia Efficacia Efficacia firewall da Internet minaccia di attuazione potenziale firewall firewall con IPS più IDSIT manager 4 2 4 3 5 4Amministratore database 5 4 5 3 4 3Programmatore 3 3 3 4 4 4Operatore 2 4 3 3 4 3Manager 5 4 4 4 5 5Media 3,8 3,4 3,8 3,4 4,4 3.8

Tabella 1 - Analisi del rischio quantitativa

Bene Minaccia Valore del bene Aspettativa di Probabilità Aspettativa di perdita singola annua perdita annua

Locali Incendio 300.000 200.000 0,1 20.000 Progetti Furto 100.000 80.000 0,5 40.000 Server Guasto 8.000 6.000 0,3 1.800 Dati Virus e simili 40.000 30.000 0,5 7.500 Dati Errori utente 40.000 20.000 0,5 10.000 Rete Guasto 6.000 2.000 0,75 1.500

5.1.2 Gestione delrischio

5.1.2.2 conoscere laclassificazione piùcomune dei mezzitecnici per controllareil rischio(identificazione eautenticazione),controllo degliaccessi,rendicontabilità(accountability),verifica (audit),riutilizzo degli oggetti,accuratezza,affidabilità delservizio, scambio datisicuro).

Page 7: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it7

Lezione 1 IT Administrator - Sicurezza informatica

controllo del rischio, ha lo scopo di eliminare i rischi, o per-lomeno di ridurli entro limiti accettabili. Parte dei rischipuò essere ceduta a terzi, per esempio attraverso polizze diassicurazione (per cautelarsi da eventi come furto, incen-dio e disastri naturali). Anche l’outsourcing, cioè la delegaa terzi di servizi che potrebbero essere svolti da persona-le interno, può essere utile a ridurre vari tipi di rischio, tracui il mancato ritorno dagli investimenti in addestramentospecialistico del personale. Anche la gestione dello stora-ge, ovvero gli archivi e i backup, può essere affidata a terziappositamente strutturati per garantire alti livelli di sicu-rezza (disponibilità, integrità e riservatezza delle informa-zioni). L’hosting dei siti web è un esempio di outsourcingconveniente alle piccole aziende, solitamente prive di im-pianti e personale per amministrare hardware, software esicurezza dei siti.

Tolta la cessione a terzi di parte dei rischi, consideriamola parte di gestione del rischio che avviene all’interno del-l’azienda. Il controllo del rischio viene esercitato attraver-so opportune contromisure che agiscano sulle due com-ponenti del rischio: la gravità dell’impatto e la probabilitàdi attuazione della minaccia. Abbiamo visto che le minac-ce coprono un ampio spettro di fenomeni e attività; ognu-na dovrà essere quindi trattata separatamente sia nel va-lutare l’impatto e la probabilità, sia nel selezionare le con-tromisure che risultano più efficaci nell’analisi di costo ebenefici.Contromisure

Le contromisure di sicurezza sono le realizzazioni e leazioni volte ad annullare o limitare le vulnerabilità e a con-trastare le minacce. Una parte delle contromisure viene so-litamente realizzata nel corso della progettazione di un si-stema o di un prodotto. Le altre contromisure vengonoadottate in fase di utilizzo del sistema o prodotto.

La scelta delle contromisure da mettere in campo è det-tata dall’analisi del rischio e dall’analisi costo/benefici del-le contromisure. Considerato un bene, il suo valore e il dan-no potenziale in base alle vulnerabilità e alle probabilità diattuazione di una minaccia, l’effetto di una contromisura simisura con la riduzione del rischio. Se la riduzione del ri-schio è ampiamente superiore al costo della contromisura,questa è efficace. Se un certo rischio è di scarsa entità e lacontromisura risulterebbe più costosa rispetto ai benefici,si può decidere di accettare il rischio senza alcuna contro-misura. Lo stesso dicasi nei casi in cui il rischio residuo (ilrischio che rimane dopo l’adozione delle contromisure)non fosse significativamente inferiore al rischio iniziale. Inpratica, la scelta e adozione delle contromisure è dettatasia dagli obiettivi di sicurezza (e relative priorità di urgen-za e importanza) sia dal buon senso economico.

Si possono classificare le contromisure in tre categoriea seconda che siano di carattere fisico, di tipo procedura-le o di tipo tecnico informatico.Contromisure di carattere fisico. Queste contromisure so-no generalmente legate alla prevenzione e al controllo del-l’accesso a installazioni, locali, attrezzature, mezzi di co-municazione. Un esempio è un centro di calcolo realizzatoin un edificio protetto e accessibile solo dopo il riconosci-mento del personale autorizzato. Una server farm per ospi-tare migliaia di siti web è probabilmente dotata di variecontromisure di tipo fisico: la collocazione in zona elevatanon soggetta ad alluvioni, pompe e rilevatori per evacuarel’acqua, sistemi antincendio, accessi blindati e sorvegliatie via dicendo. Dato che sistemi e installazioni comunicanoin rete, anche le linee di comunicazione possono avere bi-sogno di protezione fisica contro intercettazioni, disturbi edanneggiamenti. Tra le contromisure fisiche ci sono le ca-nalizzazioni dei cavi di rete, magari interrate o sotto tracciaper ostacolare l’accesso e le schermature di vetri e paretiper contenere il campo delle reti wireless. Contromisure di tipo procedurale. Queste contromisuredefiniscono passo per passo le operazioni per eseguire un

certo compito oppure regolano il comportamento degliutenti per gli aspetti che riguardano la sicurezza delle infor-mazioni e delle risorse.

Mentre le contromisure fisiche proteggono l’accesso fi-sico alle risorse e le contromisure informatiche agiscono alivello hardware, firmware e software, le procedure opera-tive e le regole di comportamento si applicano alle perso-ne (utenti e amministratori). Lo scopo, da un lato, è quellodi evitare che gli utenti causino vulnerabilità e minacce e,dall’altro, che contribuiscano a mantenere alte le difese ri-ducendo i rischi residui lasciati dalle altre contromisure.

Esempi di contromisure di tipo procedurale sono il con-trollo dell’identità dei visitatori e la limitazione delle aree acui hanno accesso. Quando si usa un badge o altra schedadi riconoscimento, anche la sua custodia è oggetto delleprocedure, così che non venga lasciato sulla scrivania o inun cassetto aperto o comunque a disposizione di altri.

Le password sono uno strumento di protezione infor-matico, ma le regole per la loro assegnazione, durata, uti-lizzo e custodia fanno parte delle contromisure proceduraliper ridurre il rischio che cadano in cattive mani. Alcunenorme comuni sono: utilizzare password non brevi, conte-nenti non solo lettere; raccomandare o imporre modificheperiodiche delle password; bloccare l’accesso dopo un nu-mero limitato di tentativi errati; sensibilizzare e responsa-bilizzare gli utenti sugli effetti della mancata riservatezza(tenere la password su un post-it sotto la tastiera, in un cas-setto ecc. o comunicare la propria password a un collega oa un sedicente tecnico di assistenza).

Come per le password, ci sono altre contromisure infor-matiche che sono efficaci solo se si rispettano certe normed’uso o procedure organizzative. Un antivirus, per esem-pio, è efficace se è aggiornato di frequente, come minimouna volta al giorno. Una vulnerabilità degli antivirus è in-fatti quella di non proteggere dai virus di recente introdu-zione; il rimedio è installare un sistema centralizzato e unaprocedura che assicuri l’aggiornamento almeno quotidianodel file di riconoscimento dei virus e un aggiornamento pe-riodico del software antivirus. Per un piccolo ufficio, lostesso risultato può essere ottenuto installando un antivi-rus che scarichi automaticamente gli aggiornamenti tutti igiorni e che esegua una scansione giornaliera dei file.

In generale, le contromisure di tipo procedurale do-vrebbero essere ridotte al minimo, sostituendole quandopossibile con sistemi automatizzati, meno soggetti agli er-rori, dimenticanze e violazioni degli utenti. È il caso, peresempio, dei dispostivi di riconoscimento biometrici usa-ti al posto dei badge o delle password. Anche l’aggiorna-mento periodico del firmware dei firewall, anziché essereoggetto di norme procedurali, può essere automatizzatoutilizzando firewall che si aggiornano automaticamente col-legandosi al sito del produttore. In questo modo, sia le fun-zionalità sia le protezioni sono tenute aggiornate evitandoil costo degli interventi manuali, l’interruzione del servizio,il rischio di errori manuali e il rischio di una minore prote-zione a causa dell’invecchiamento del firmware.

Altri esempi riguardano le norme d’uso di hardware esoftware, dove una documentazione inadeguata e un ad-destramento sommario possono favorire errori o il man-cato utilizzo di certe funzioni, aumentando i rischi per la si-curezza.

Nel campo dei backup, non tutte le aziende hanno pro-cedure automatiche che garantiscano il ripristino dopo undisastro (disaster recovery) o la continuità operativa (bu-siness continuity) a dispetto di qualsiasi evento catastrofi-co. Vista l’entità dell’impatto e la frequenza di guasti ai sup-porti magnetici, è vitale avere una strategia di backup emettere in atto procedure che garantiscano l’esecuzionedei back a più livelli (con diverse periodicità) e la verificadell’integrità e utilizzabilità dei supporti di backup. Parte diqueste operazioni può essere automatizzata, specialmentenelle aziende medio-grandi; la verifica dei supporti di

Page 8: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it8

ITAdministrator - Sicurezza informatica Lezione 1

backup è invece spesso un punto trascurato. Nei piccoli uf-fici, i più soggetti a improvvisazione e omissioni in tema dibackup, la difficoltà di imporre l’osservanza di procedureè aggirabile tramite applicazioni software commercialiche, in modo automatico e pianificato, salvano le immagi-ni delle partizioni degli hard disk, senza interrompere il la-voro sui computer. In questo modo, si può utilizzare unacontromisura tecnico informatica al posto di quella che,normalmente, è una contromisura procedurale.

Lo smaltimento dei supporti su cui risiedono informa-zioni è un altro esempio dell’opportunità di contromisureprocedurali per evitare che informazioni riservate siano re-se pubbliche. Le contromisure possono includere la di-struzione dei documenti cartacei da gettare nella spazza-tura, la cancellazione dei supporti magnetici da smaltire oda sostituire in garanzia, lo spostamento degli archivi o l’e-strazione degli hard disk prima di mandare un computer inmanutenzione (salvo l’uso di personale interno con quali-fica di sicurezza) e la distruzione dei supporti ottici dasmaltire.

Contromisure di tipo tecnico informatico. Queste sonole contromisure realizzate attraverso mezzi hardware,firmware e software e prendono anche il nome di funzionidi sicurezza. In base al loro campo d’azione, possono es-sere classificate nelle categorie che seguono.

Identificazione e autenticazione. Le funzioni di questacategoria servono a identificare un individuo o un proces-so e ad autenticarne l’identità. L’esempio più comune è lafunzione di accesso (login) a un sistema tramite nome uten-te (per l’identificazione) e password (per l’autenticazionedell’identità). L’autenticazione viene usata anche nelle co-municazioni tra processi e nei protocolli di comunicazioneper accertare l’identità del processo o dell’utente associa-to al processo.

Controllo degli accessi. In questa categoria troviamo lefunzioni di sicurezza che verificano se il processo o l’uten-te, di cui è stata autenticata l’identità, ha il diritto di acce-dere alla risorsa richiesta (per esempio file, directory, stam-panti) e di eseguire l’operazione specificata (per esempiolettura, esecuzione, modifica, creazione, cancellazione).Per i processi, anche l’accesso alla memoria è regolamen-tato, in modo che un processo non possa leggere i dati diun altro processo o, in certi casi, non possa eseguire istru-zioni contenute in aree destinate esclusivamente a dati.Analoghe funzioni sono svolte a livello hardware dalla CPUnella sua gestione delle pagine di memoria.

Rendicontabilità (accountability). A questa categoriaappartengono le funzioni che permettono di attribuire la re-sponsabilità degli eventi agli individui che li hanno causa-ti. L’accountability richiede l’attuazione delle misure d’i-dentificazione e autenticazione degli utenti e l’associazio-ne a ogni processo dell’identità del suo proprietario, comeavviene nei moderni sistemi operativi.

Verifica (audit). A questa categoria appartengono le fun-zioni che registrano gli eventi in un file di logging, con infor-mazioni riguardo a errori e a violazioni di sicurezza. Graziea queste registrazioni, è possibile risalire a ciò che è acca-duto e prendere provvedimenti. Nel caso di segnalazione dimalfunzionamenti hardware o di errori software, si posso-no intraprendere azioni di diagnosi e manutenzione (peresempio la verifica e correzione del file system).

Nel caso di eventi che riguardano la sicurezza, il logpermette di scoprire irregolarità, come tentativi di accessoilleciti e tentativi di intrusione. Esempi di funzioni di loggingsono quelle di Windows, che registra log degli eventi di si-stema, applicativi e di sicurezza oppure il demone syslogddei sistemi Unix/Linux.

Nel caso dei firewall, il log comprende la registrazioneselettiva degli eventi che si desidera tenere sotto control-lo: tutti, se non non attiva nessun filtro, oppure solo quelliche superano un certo livello di gravità.

Solitamente i firewall offrono l’opzione di logging remo-

to, che consiste nell’inviare la segnalazione degli eventi aun computer, in modo da poter tenere registrazioni anchevoluminose (su lunghi periodi di tempo) e poterle analiz-zare più facilmente.

Riutilizzo degli oggetti. Questa categoria comprende lefunzioni che permettono di riutilizzare oggetti contenentiinformazioni riservate: supporti magnetici, supporti otticiriscrivibili, aree di memoria RAM, zone di memoria dei pro-cessori (registri, cache, ecc.), buffer di periferiche e simili.Lo scopo è quello di evitare che informazioni riservate sia-no lasciate a disposizione di programmi e utenti dopo il lo-ro regolare utilizzo. Le contromisure in questa area hannoil compito di cancellare le aree di memoria e di disco subi-to dopo il loro utilizzo per il transito di informazioni riser-vate. Un esempio riguarda le aree di memoria dove transi-tano le password o altre informazioni in chiaro prima del-la loro cifratura: buffer, registri e aree di lavoro dovrebbe-ro essere cancellate per evitare che siano lette da altri pro-cessi autorizzati ad accedere a quelle aree ma associati autenti non autorizzati alla conoscenza di quelle informa-zioni. Un altro esempio è offerto dalle aree di scambio su di-sco, come i file di swapping o paging del sistema operativo.È utile attivare l’opzione di cancellazione automatica diquesti file alla chiusura del sistema, in modo che utentinon autorizzati non possano esaminarlo a caccia di infor-mazioni riservate.

Accuratezza. Fanno parte di questa categoria tutte lefunzioni intese a garantire l’accuratezza delle informazioni.Per esempio, perché i file di logging forniscano informazio-ni attendibili, la registrazione temporale (time stamp) del-l’evento deve essere precisa. Questo accade se l’orologio in-terno è sincronizzato periodicamente con un time server diriferimento. Sistemi operativi, switch, firewall e altri dispo-sitivi offrono questa funzionalità, che se necessario va atti-vata specificando il nome del time server (per esempio ti-me.nist.gov). In campo software, esempi di funzioni a dife-sa dell’accuratezza delle informazioni sono le funzioni checontrollano i limiti di occupazione di buffer e array e quel-le che validano la correttezza dei dati immessi dagli utenti.

Affidabilità del servizio. Questa è una vasta categoriadi contromisure, perché sono diverse le aree che potreb-bero compromettere l’affidabilità dei servizi informatici. Siinizia dalle contromisure per mantenere condizioni di ali-mentazione elettrica stabile, filtrata e senza interruzione(gruppi di continuità), per passare alle difese dai malfun-zionamenti hardware (monitoraggio e manutenzione pre-ventiva) e software (monitoraggio degli errori nei file di log-ging, aggiornamenti, monitoraggio delle prestazioni, roll-back delle transazioni non andate a buon fine, ripristino diuno stato precedente del sistema operativo, ripristino del-le partizioni di disco a uno stato integro precedente). Altrecontromisure possono essere sviluppate per difendere si-stemi e applicazioni dagli errori degli utenti.

Scambio dati sicuro. In questa categoria ci sono le fun-zioni destinate a garantire la sicurezza delle trasmissioni. Ilmodello OSI Security Architecture (ISO 7498-2) le classificanelle seguenti sottoclassi: autenticazione, controllo del-l’accesso, riservatezza, integrità (dell’hardware, dei dati edei flussi di pacchetti trasmessi sia in modo connection-less, come UDP, sia connection-oriented, come TCP, ancheai fini della corretta sequenza dei pacchetti) e non ripudio.Esempi di contromisure in questa area sono l’uso di crit-tografia a chiave simmetrica e asimmetrica (chiave pub-blica più chiave privata) e l’autenticazione tramite Messa-ge Authentication Code (il risultato dell’hashing applicatoal messaggio più una chiave segreta simmetrica; vengonotrasmessi messaggio e MAC; a destinazione il MAC viene ri-calcolato sul messaggio più chiave simmetrica e confron-tato col MAC ricevuto, così da verificare l’integrità del mes-saggio e l’autenticazione del mittente).Funzionalità e garanzia nel controllo del rischio

La sicurezza delle informazioni è caratterizzata da due

Page 9: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it9

Lezione 1 IT Administrator - Sicurezza informatica

fattori di base indipendenti: la funzionalità e la garanzia (as-surance).

Il termine funzionalità, applicato alla sicurezza, conser-va il significato generale che ha in altri settori; è l’insiemedi ciò che un prodotto o un sistema informatico fornisce inrelazione alla protezione delle informazioni e, di riflesso,delle risorse e dei servizi informatici. Il panorama di con-tromisure descritto nella sezione precedente (5.1.2.2) com-prende gran parte delle funzionalità di sicurezza che po-trebbero essere necessarie.

Il concetto di garanzia è stato introdotto da chi si occu-pa di sicurezza per esprimere il grado in cui l’implementa-zione di una funzionalità riduce una vulnerabilità o la pos-sibilità di attuazione di una minaccia. Se la funzionalità rap-presenta un elemento di protezione, la garanzia ne indica lavalidità.

Prendiamo ad esempio la funzionalità autenticazionedell’identità. Oggi l’implementazione più comune consistenell’uso di una password segreta per convalidare il nomedell’utente. Tuttavia, ci sono altre soluzioni, come l’utilizzodi un oggetto fisico (come badge o smart card) o di un di-spositivo biometrico (basato ad esempio sul riconosci-mento dell’impronta digitale, della cornea, del volto o del-la voce). Nessuna di queste implementazioni è infallibile ela scelta dipende da vari fattori: il settore di attività, la di-mensione aziendale, il livello di rischio, la sensibilità e lacompetenza degli utenti, le minacce ambientali, i costi so-stenibili e via dicendo. Un laboratorio di ricerca in un set-tore avanzato competitivo potrebbe dotarsi di un sistemadi riconoscimento vocale sofisticato da un punto di vistafunzionale, ma di scarsa garanzia se le parole da pronun-ciare sono prevedibili (e quindi preventivamente registra-bili).

Altrettanto scarsa garanzia offrirebbe un sistema di ri-conoscimento dell’impronta digitale dove un guardianoprevenisse frodi ma la precisione del riconoscimento fosseinsoddisfacente.

Vediamo quindi che la garanzia è costituita a sua voltada due aspetti distinti: la correttezza e l’efficacia. La cor-rettezza è un attributo intrinseco di un prodotto (o com-ponente o procedura), che riflette il grado di corrispon-denza tra le effettive funzioni svolte dal prodotto e le suespecifiche. Per esempio, un prodotto capace di riconosce-re il 99% delle voci umane adulte con almeno 30 dB di rap-porto segnale/rumore, riceverebbe un’alta valutazione dicorrettezza rispetto alla funzione “riconoscere la voce de-gli utenti”.

La correttezza è una proprietà intrinseca del prodottonell’ambito delle condizioni d’uso previste; non dipende dafattori esterni, come l’opportunità di utilizzare o meno quelprodotto per soddisfare una particolare esigenza.

L’efficacia è invece una proprietà che mette in relazionela contromisura (prodotto, procedura o altro) con il con-testo in cui è utilizzata, in particolare le vulnerabilità, la gra-vità e la probabilità di attuazione delle minacce, le caratte-ristiche degli agenti che attuano le minacce, l’importanzadel bene da proteggere e così via. Supponiamo che per il la-boratorio del nostro esempio sia vitale consentire l’acces-so solo al personale autorizzato, visto il valore delle infor-mazioni e risorse da proteggere e l’alta probabilità di mi-nacce di intrusione fisica e telematica da parte di agenti(software e individui) ritenuti pericolosi. Il progetto di si-curezza si basa sulla completezza delle funzionalità (le con-tromisure messe in campo) e sulla garanzia che le contro-misure adottate riducano le vulnerabilità e le minacce a li-velli accettabili. Supponendo che l’analisi del rischio abbiaportato a identificare tutte le funzionalità di sicurezza uti-lizzabili, tra cui gli strumenti e le procedure per impedireuna falsa autenticazione da parte di software e personaleostile, nella fase di valutazione della garanzia si dovrannoesaminare correttezza ed efficacia delle soluzioni. Peresempio, un sistema di riconoscimento vocale potrebbe ri-

sultare adatto per ambienti con livello medio di rischio, maessere inadeguato a fronte di un rischio elevato e di una mi-naccia agguerrita. Potrebbe risultare più efficace un siste-ma basato su domande a cui solo il legittimo utente possarispondere o su un dispositivo fisico (tipo smart card) in-terattivo, da aggiornare ogni giorno per rimanere valido (inmodo da perdere validità in caso di furto o manipolazione).

Un altro esempio ci viene offerto dalle contromisure dinatura fisica per impedire l’accesso alle persone non auto-rizzate. Le contromisure per il controllo dell’accesso pos-sono limitarsi a una porta blindata o includere sistemi di ri-levamento del movimento, telecamere e registratore video,sistemi di allarme con chiamata di numeri telefonici e altrideterrenti per impedire e/o scoraggiare il tentativo di ef-frazione. In fase di analisi del rischio, supponiamo che siaemersa l’esigenza di installare una porta blindata capace diresistere a una determinata forza di sfondamento, priva dicardini a vista e resistente al fuoco. Queste sono quindi lespecifiche rispetto alle quali verrà valutata la correttezzadei prodotti. Ora, anche se abbiamo individuato la miglio-re delle porte blindate sul mercato, dobbiamo valutare l’a-spetto efficacia. Per quanto tempo la porta resisterà alletecniche di scasso più evolute? Qual è la probabilità che leforze dell’ordine arrivino in tempo per impedire l’accessoalle risorse informatiche, agli archivi e alle informazioni? Seil rischio è rilevante, probabilmente si dovrà identificare unpacchetto di contromisure che, nell’insieme, costituiscanoun percorso ad ostacoli capace di resistere al gruppo d’at-tacco più determinato.

Poiché i beni da proteggere possono essere assai diver-si da un caso all’altro, il programma di sicurezza dovrà es-sere personalizzato per la situazione specifica, in modo chela scelta delle contromisure e relative funzionalità e garan-zie siano commisurate all’entità del rischio e ai tipi vulne-rabilità e minacce.

Organizzazione della sicurezzaI processi

La sicurezza delle informazioni è il risultato di un insie-me di processi ai vari livelli dell’organigramma aziendale.Non bastano strumenti e tecnologie per ottenere la sicu-rezza. Occorre, in primo luogo, creare un’organizzazioneper la sicurezza che assuma la responsabilità di quanto at-tiene alla sicurezza e coinvolga l’intera struttura aziendale,in modo che tutto il personale contribuisca nel proprio am-bito al disegno generale della sicurezza. Infatti, la sicurez-za delle informazioni, delle risorse informative (non soloinformatiche) e in generale dei beni e del valore dell’azien-da dipende non solo dal lavoro del gruppo addetto alla si-curezza ma anche dal comportamento del personale (in-terno ed esterno) a tutti i livelli dell’organigramma.

Come avviene per il progetto di un edificio, l’organizza-zione della sicurezza dovrebbe partire dall’alto, dove gliobiettivi e le politiche di sicurezza sono definiti in terminigenerali dal top management, per essere poi specificati neidettagli man mano che si scende attraverso gli strati delmodello organizzativo della sicurezza. In cima a questo mo-dello ci sono gli obiettivi di business strategici, che ispira-no i processi fondamentali di cui si deve fare carico l’orga-nizzazione di sicurezza: classificazione dei beni e del lorovalore, censimento di vulnerabilità e minacce, analisi del ri-schio, analisi costi/benefici delle contromisure, valutazio-ne del grado di protezione, definizione delle politiche di si-curezza, pianificazione, implementazione e gestione deiprogetti di sicurezza, monitoraggio della conformità tra lesoluzioni adottate e le politiche di sicurezza e altro ancora.

L’approccio dall’alto al basso permette di coinvolgeretutti i livelli aziendali interessati, di assegnare precise re-sponsabilità, di definire politiche coerenti per l’intera strut-

5.1.2 Gestione delrischio

5.1.2.3 conoscere ladifferenza trafunzionalità egaranzia el’importanza diconseguire entrambeal fine di controllare ilrischio.

5.1.3 Organizzazionedella sicurezza

5.1.3.2 conoscere iprincipali processi daattivare inun’organizzazioneche mira aconseguire lasicurezza delleinformazioni.

Page 10: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it10

ITAdministrator - Sicurezza informatica Lezione 1

tura aziendale, di sensibilizzare ed educare il personale, difinanziare adeguatamente il progetto sicurezza e di rimuo-vere gli ostacoli che si presenteranno quando verrannoadottate procedure e strumenti che avranno un impattosull’operatività quotidiana e sulle abitudini del personale (atutti i livelli).

A volte nelle aziende vengono prese iniziative di sicu-rezza dal basso, con le buone intenzioni di proteggere al-cuni obiettivi di sicurezza immediati. Senza la forza di spin-ta, l’autorità, la responsabilità, il coinvolgimento generalee i mezzi assicurati dal management superiore, i tentatividal basso si scontrano facilmente con ostacoli insormon-tabili e sono spesso destinati a fallire. Il migliore interessedell’azienda esige che la responsabilità della sicurezza sidiffonda a cascata dalla cima verso la base della piramideaziendale, con la partecipazione dei vari strati di utenti del-la sicurezza. In questo modo, anziché turare alcune fallesenza un piano preciso, si potrà corazzare l’intera struttu-ra aziendale nel modo più efficiente rispetto al rischio dacontrollare e al budget disponibile. Una volta definiti gliobiettivi, le politiche, un piano e le soluzioni da adottare, sipotrà sensibilizzare e informare tutto il personale sugliaspetti concernenti la sicurezza, rendendo esplicite le re-sponsabilità e le sanzioni per manager, amministratori eutenti.

La struttura organizzativa della sicurezza può assumerevarie forme secondo il tipo e le dimensioni dell’azienda, ilcampo di attività, il rapporto con l’ambiente, il mercato ealtri fattori. Può essere informale in una piccola aziendasenza particolari problemi di sicurezza oppure essere

complessa con rappresentanti delle diverse aree aziendaliin una grande società. Può limitarsi alla sicurezza delleinformazioni o estendere la propria sfera all’intera sicu-rezza aziendale, inclusa la gestione del rischio nei settorioperativo, marketing, finanziario ecc.

Un aspetto che modella i processi di sicurezza è il costoin base al rischio e all’attività dell’azienda. A questo pro-posito, è facile immaginare una scala crescente di rischi einvestimenti in sicurezza. Aziende manifatturiere, organiz-zazioni finanziarie, certification authority (organizzazioni fi-date che rilasciano certificati digitali) e forze armate sonoesempi di requisiti crescenti di sicurezza.

Uno dei primi compiti del gruppo incaricato della sicu-rezza è quindi quello di inquadrare l’azienda in base al mo-dello di attività, all’esposizione ai rischi e alla dipendenzadall’infrastruttura informatica e di comunicazioni. Questoesame preliminare dovrà tenere in considerazione il qua-dro legislativo tracciato dalle leggi sulla criminalità infor-matica e sulla privacy che si sono succedute numerose nelcorso degli anni e che sono culminati con il decreto legge196 del 2003 (Codice in materia di protezione dei dati per-sonali). Le norme di legge pongono dei vincoli, secondo iltipo di attività, che devono essere calcolati nel delinearel’organizzazione, le politiche e i progetti di sicurezza.

Di conseguenza, l’organizzazione della sicurezza do-vrebbe partire dagli individui, top manager e personale de-legato, che per legge sono ritenuti proprietari e custodi del-le informazioni e pertanto responsabili delle eventuali vio-lazioni da parte dell’intero personale aziendale e respon-sabili dei danni verso terzi che ne conseguono. Dopo di

Un esempio di politica di sicurezza per le comunicazioni wireless

1.0 ScopoQuesta policy proibisce l’accesso alla rete della ACMESpA attraverso connessioni wireless insicure, cioè nonprotette tramite autenticazione dell’utente e cifratura deidati. Solo i sistemi wireless conformi ai criteri di questapolicy o che hanno ricevuto una speciale esenzione dalresponsabile della sicurezza sono approvati per laconnessione alle reti della ACME SpA.

2.0 PortataQuesta policy copre tutti i dispositivi di comunicazionedati senza fili (per es. personal computer, telefonicellulari, PDA eccetera) connessi con una delle reti dellaACME SpA. Questo comprende qualunque tipo didispositivo wireless capace di trasmettere dati apacchetti. I dispositivi e le reti wireless senza alcunaconnessione alle reti della ACME SpA non rientranonell’ambito di questa policy.

3.0 Policy3.1 Registrazione degli access point e delle schedeTutti gli access point o stazioni di base connessi allarete aziendale devono essere registrati e approvati dalresponsabile della sicurezza. Questi access point sonosoggetti a test di intrusione e a periodici audit. Tutte leschede d’interfaccia wireless di rete usate sui desktop enotebook aziendali devono essere registrate presso ilresponsabile della sicurezza.

3.2 Tecnologie approvateOgni accesso wireless alla LAN deve utilizzare prodotti econfigurazioni di sicurezza approvati dall’azienda.

3.3 Cifratura e autenticazione via VPNTutti i computer con dispositivi LAN wireless devono

utilizzare una Rete Privata Virtuale (VPN) approvatadall’azienda e configurata per ignorare tutto il trafficonon autenticato e non cifrato. Per conformità con questapolicy, le implementazioni wireless devono mantenereuna cifratura hardware di ogni connessione con chiavi dialmeno 128 bit. Tutte le implementazioni devonosupportare un indirizzo hardware (MAC address)registrato e rintracciabile. Tutte le implementazionidevono supportare e impiegare una forte autenticazionedegli utenti tramite accesso a un server e databaseesterno come TACACS+, RADIUS o simile.

3.4 Impostazione dell’SSIDL’SSID (Service Set Identifier – un’intestazioneaggiuntiva ai pacchetti mandati su una WLAN che fungeda password per chi vuole accedere alla rete - saràimpostato in modo che non contenga alcunainformazione relativa all’organizzazione, come nomedell’azienda, nome della divisione o identificatore delprodotto.

4.0 ApplicazioneQualunque dipendente sia riconosciuto responsabile diaver violato questa policy può essere soggetto ad azionedisciplinare, fino alla cessazione del rapporto di lavoro.

5.0 Definizioni

Termine DefinizioneAutenticazione Un metodo per verificare se l’utente

di un sistema wireless è un utente legittimo, indipendentemente dal computer o dal sistema operativo che viene usato.

6.0 Revisioni10 luglio 2004, aggiunta la sezione 3.420 marzo 2004, sezione 3.3 modificata per includere gliindirizzi MAC

Page 11: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it11

Lezione 1 IT Administrator - Sicurezza informatica

che, la partecipazione dovrebbe allargarsi a tutti i livelli. Ilmanagement di livello superiore ha la visione globale del-l’azienda e degli obiettivi di business. I manager intermedisanno come funzionano i propri dipartimenti, conoscono ilruolo degli individui e possono valutare l’impatto direttodella sicurezza nelle loro aree. I manager di livello inferio-re e lo staff sono a contatto con l’effettiva operatività del-l’azienda e conoscono in dettaglio le esigenze tecniche eprocedurali, i sistemi e il loro utilizzo; utilizzano i mecca-nismi di sicurezza nel lavoro quotidiano e sanno come es-si si integrano nei sistemi e nei flussi di lavoro e come in-fluiscono sulla produttività.

Il ruolo delle politiche di sicurezzaDi solito, le informazioni e le risorse informatiche hanno

una relazione diretta con gli obiettivi e con l’esistenza stes-sa di un’azienda. Il management di livello superiore do-vrebbe perciò considerare prioritaria la loro protezione,definendo gli obiettivi della sicurezza, fornendo il suppor-to e le risorse necessari e avviando il programma di sicu-rezza aziendale. Il management deve definire la sfera d’a-zione della sicurezza, che cosa deve essere protetto e inche misura, tenendo conto delle leggi vigenti e dei risulta-ti dell’analisi del rischio. Quindi deve precisare ciò che ci siaspetta dal personale e le conseguenze delle violazioni. Unprogramma di sicurezza dovrebbe contenere tutti gli ele-menti necessari a fornire all’azienda una protezione com-pleta secondo una strategia a lungo termine. Questi ele-menti comprendono tra l’altro le politiche di sicurezza, leprocedure, gli standard, le linee guida, i criteri minimi di si-curezza, le azioni di sensibilizzazione e addestramento, lemodalità di reazione agli incidenti e un programma per ilcontrollo della sicurezza.

La definizione delle politiche di sicurezza a livello azien-dale è il primo risultato dell’organizzazione di sicurezza.Una politica di sicurezza è un documento sintetico in cui ilmanagement superiore, o un comitato delegato allo scopo,delinea il ruolo della sicurezza nell’organizzazione o in unsuo aspetto particolare.

Generalmente sono necessarie diverse politiche di si-curezza a più livelli, da quello superiore riguardante l’inte-ra azienda, scendendo ad argomenti più specifici, come ilsistema informatico e i singoli aspetti tecnici. Il linguaggio,il livello di dettaglio e il formalismo dei documenti di sicu-rezza dovranno essere realistici per avere efficacia. Un’or-ganizzazione altamente strutturata sarà più portata a se-guire politiche e linee guida dettagliate, mentre un’aziendameno strutturata richiederà maggiori spiegazioni e unaparticolare enfasi per ottenere l’applicazione delle misuredi sicurezza.

La terminologia usata per individuare i livelli principalidelle politiche di sicurezza può variare. In una grande or-ganizzazione si può parlare di organizational security po-licy, issue-specific policies e system-specific policies per in-dicare le politiche di sicurezza aziendale, le politiche perl’implementazione di funzioni di sicurezza specifiche equelle riguardanti direttamente i computer, le reti, ilsoftware e i dati.

Un’altra suddivisione, applicabile anche su scala medio-piccola, individua tre livelli: la politica di sicurezza azien-dale (corporate security policy), la politica di sicurezza peril sistema informativo (system security policy) e la politicadi sicurezza tecnica (technical security policy).

La politica di sicurezza aziendale indica tutto ciò chedeve essere protetto (beni materiali e immateriali) in fun-zione del tipo di attività dell’azienda, del modello di busi-ness, dei vincoli esterni (mercato, competizione, leggi vi-genti) e dei fattori di rischio. Questo documento definiscegli obiettivi del programma di sicurezza, assegna le re-sponsabilità per la protezione dei beni e l’implementazio-ne delle misure e attività di sicurezza e delinea come il pro-gramma deve essere eseguito. La politica di sicurezza

aziendale fornisce la portata e la direzione di tutte le futu-re attività di sicurezza all’interno dell’organizzazione, in-cluso il livello di rischio che il management è disposto adaccettare.

La politica di sicurezza del sistema informatico defini-sce, coerentemente con la politica di sicurezza aziendale, inche modo l’azienda intende proteggere le informazioni e lerisorse informatiche, senza entrare nel merito delle tecno-logie che verranno adottate. In questa fase vengono presiin considerazione requisiti di sicurezza di tipo fisico e pro-cedurale, mentre gli aspetti tecnici sono demandati al li-vello inferiore.

La politica di sicurezza tecnica traduce in requisiti tec-nici funzionali gli obiettivi che si desidera raggiungere at-traverso le contromisure di tipo tecnico informatico, nelcontesto dell’architettura di sistema adottata o pianificatadall’azienda.

In un’azienda di piccole dimensioni potranno essere suf-ficienti singole politiche di sicurezza per ciascuno dei duelivelli inferiori, ma in presenza di più sistemi, dipartimentie divisioni, è probabile che le politiche di sicurezza si sud-dividano per area e per argomento. (Esempi di politiche disicurezza sono forniti dal SANS Institute alla paginahttp://www.sans.org/resources/policies/).

Disaster Recovery e Business ContinuityLa Disaster Recovery, nel contesto informatico, è la ca-

pacità di un’infrastruttura di riprendere le operazioni dopoun disastro. La maggior parte dei grandi sistemi di calcoloinclude programmi di disaster recovery, inoltre esistonoapplicazioni di disaster recovery autonome che, periodi-camente, registrano lo stato corrente del sistema e delle ap-plicazioni, in modo da poter ripristinare le operazioni in untempo minimo. Il termine disaster recovery può essere usa-to sia dal punto di vista della prevenzione contro la perdi-ta di dati sia delle azioni per rimediare a un disastro.

Due caratteristiche per valutare l’efficacia di un sistemadi disaster recovery sono il Recovery Point Objective(RPO, il momento nel tempo a cui il sistema è riportato) eil Recovery Time Objective (RTO, il lasso di tempo che in-tercorre prima di ripristinare l’infrastruttura). Per ridurrela distanza dell’RPO rispetto al presente occorre incre-mentare il sincronismo della data replication, ovvero la re-plica di archivi e database su un altro sistema, general-mente remoto per motivi di sicurezza. Per ridurre l’RTO, os-sia il tempo di ripristino, occorre che i dati siano tenuti online su un sistema di riserva pronto a subentrare in caso diavaria al sistema principale.

La business continuity (talvolta chiamata business con-tinuance) descrive i processi e le procedure che un’orga-nizzazione mette in atto per assicurare che le funzioni es-senziali rimangano operative durante e dopo un disastro.Il Business Continuity Planning cerca di prevenire l’inter-ruzione dei servizi critici e di ripristinare la piena operati-vità nel modo più rapido e indolore possibile.

Il primo passo nel pianificare la business continuity è de-cidere quali delle funzioni aziendali sono essenziali e de-stinare di conseguenza il budget disponibile. Una volta chesiano identificati i componenti principali, si possono in-stallare i meccanismi di failover (sistemi di riserva che su-bentrano in caso di avaria). Tecnologie appropriate, comela replica dei database o il mirroring dei dischi su Internet,permettono a un’organizzazione di mantenere copie ag-giornate dei dati in ubicazioni remote, in modo che l’ac-cesso ai dati sia garantito anche quando un’installazionecessa di funzionare.

Un piano di business continuity dovrebbe includere: unpiano di disaster recovery che specifichi le strategie per leprocedure in caso di disastro; un piano di business re-sumption che specifichi i mezzi per mantenere i servizi es-senziali presso il luogo di crisi; un piano di business reco-very che specifichi i mezzi per ripristinare le funzioni azien-

5.1.3 Organizzazionedella sicurezza

5.1.3.1 conoscere ilruolo delle politichedi sicurezza nelguidare ilmanagement dellasicurezza IT.

5.1.3 Organizzazionedella sicurezza

5.1.3.3 essereconsapevoli dellenecessità dipianificare lacontinuità operativadell’azienda(business continuity)e il ripristino dopo undisastro (disasterrecovery).

Page 12: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it12

ITAdministrator - Sicurezza informatica Lezione 1

dali in una località alternativa e un contingency plan chespecifichi il modo di reagire a eventi esterni che causino unserio impatto sull’organizzazione.

Nel mondo degli affari, il disaster recovery planning sista evolvendo verso il business continuity planning da pa-recchi anni e i recenti eventi terroristici hanno acceleratoquesta tendenza. Già nel 1995 il Disaster Recovery Institu-te International ha rimpiazzato la designazione di CertifiedDisaster Recovery Planner (CDRP) con quella di CertifiedBusiness Continuity Planner (CBCP).

La differenza tra disaster recovery e business continuityè che un piano di disaster recovery è reattivo e si focalizzadi solito sul ripristino dell’infrastruttura informatica. Seb-bene sia logico irrobustire l’infrastruttura informatica perprevenire un disastro, lo scopo principale del piano di di-saster recovery è rimediare ai danni all’infrastruttura. Alcontrario, un piano di business continuity non soltanto èproattivo, ma ha anche l’obiettivo di mantenere in funzio-ne le attività dell’azienda durante qualsiasi evento, non li-mitandosi a ripristinare i computer dopo il fatto.

Come parte del processo di pianificazione della businesscontinuity, un’azienda dovrebbe riesaminare la continuitào il ripristino di produzione, imballaggio, stoccaggio, spe-dizione, supporto clienti e qualsiasi altra struttura o fun-zione critica per la sopravvivenza dell’azienda. Un fattorechiave per un piano di continuità funzionale è il coinvolgi-mento degli utenti, in modo da non trascurare procedure,attrezzature, documentazione e altre necessità necessarieper ripristinare i processi di business, non soltantol’hardware e il software.

Un piccolo esempio della differenza tra ripristino dopoun disastro e continuità operativa viene offerto dall’usopersonale del computer. L’utente che si organizza per unrudimentale disaster recovery, tiene backup periodici deidati e dei file importanti e tiene sotto mano il software ori-ginale; se il sistema si blocca o l’hard disk si guasta, rein-stalla il sistema operativo e le applicazioni, applica di nuo-vo tutte le personalizzazioni (Windows, e-mail, Internet, ap-plicazioni eccetera) e ripristina i dati dal backup, perden-do solo le aggiunte e le modifiche successive all’ultimobackup.

L’utente orientato alla business continuity si attrezzacon almeno due hard disk e un software di backup auto-matico delle immagini delle partizioni di disco; quindi pia-nifica copie complete settimanali e copie incrementaligiornaliere.

Se si è dotato di un hard disk di backup ben dimensio-nato, può anche conservare più immagini delle partizioniper scegliere quale ripristinare secondo le circostanze (peresempio una più affidabile o una più aggiornata). Anche sesi guasta il disco principale, basta sostituirlo e ripristinarele partizioni dai file immagine per riprendere la normaleoperatività in poco tempo (può bastare un’ora), senza rein-stallare nulla.

In sintesi, l’obiettivo generale delle attività di sicurezzaè mantenere la continuità del business aziendale e, in par-ticolare, del lavoro del personale e del servizio ai clienti.Hardware, software, sistemi, reti, informazioni, attrezzatu-re e personale sono elementi da proteggere, ma vanno in-quadrati nel piano di sicurezza generale con l’obiettivo diassicurare la continuità operativa.

Strati di responsabilitàOgni membro del personale di un’azienda, dalla cima al

fondo dell’organigramma, ha una parte di responsabilitàper le condizioni operative dell’azienda e, in particolare,per il mantenimento e il miglioramento della sicurezza.

Il management superiore ha la responsabilità di trac-ciare obiettivi e strategie a lungo termine per l’intera azien-da; inoltre ha la responsabilità globale per la sicurezza del-l’azienda e per la protezione dei beni. In base alle leggi vi-genti, ai beni da proteggere, ai rischi da controllare e agli al-

tri fattori, spetta al management superiore dar vita a un’or-ganizzazione di sicurezza, assegnare gli obiettivi di sicu-rezza, fornire i mezzi per raggiungerli e far sì che l’interopersonale partecipi agli obiettivi e osservi le politiche, le li-nee guida, le procedure e le direttive in materia di sicurez-za.

Il management di livello divisionale e dipartimentale,avendo conoscenza diretta del funzionamento dei propridipartimenti e delle mansioni del personale, ha la respon-sabilità di contribuire alla formazione delle politiche di si-curezza, di partecipare ai processi di analisi e di controllodel rischio, all’analisi costi/benefici delle contromisure e almonitoraggio delle attività di sicurezza, delegando partedei compiti, ma condividendo le responsabilità con il ma-nagement operativo, gli specialisti di sicurezza, i system ad-ministrator, gli auditor e gli utenti.

I manager operativi e lo staff sono a contatto con l’ef-fettiva operatività dell’azienda e conoscono in dettaglio irequisiti tecnici e procedurali, i sistemi e il loro utilizzo. Illoro compito è fornire informazioni utili per pianificare, or-ganizzare e monitorare i programmi di sicurezza e imple-mentare le politiche, le linee guida e le procedure stabilitedal management e dall’organizzazione di sicurezza.

Gli esperti di sicurezza, sia che si tratti di funzionari odi dirigenti interni (come security officer o Chief Informa-tion Officer) o di professionisti esterni, hanno la funzione ela responsabilità di realizzare gli obiettivi di sicurezza e diimplementare le direttive del management superiore. Gliesperti di sicurezza, grazie alla loro competenza specifica,sono un fattore chiave per dare solide fondamenta all’or-ganizzazione di sicurezza e per metterne in funzione i pro-cessi, inclusi i meccanismi di monitoraggio e controllo permantenere la rotta senza un rilassamento delle policy, del-le linee guida, degli standard e delle procedure. Una delleprincipali responsabilità degli esperti di sicurezza è il coin-volgimento del management, a cui spetta la firma su ognidecisione e direttiva dopo aver recepito requisiti, informa-zioni e analisi dal gruppo di sicurezza e dal personale (coin-volto tramite questionari, interviste ecc.).

Due ruoli importanti per la sicurezza, che devono esse-re chiaramente definiti, sono il proprietario dei dati e il cu-stode dei dati.

Il proprietario dei dati è generalmente un membro delmanagement superiore ed è, in definitiva, il massimo re-sponsabile della protezione delle informazioni e della si-curezza in generale. A lui verrà imputata ogni negligenzache abbia come conseguenza la perdita o la divulgazione il-lecita delle informazioni e i danni conseguenti. Le violazio-ni vanno dalla inosservanza della legge sulla privacy (peresempio consentendo l’accesso illegale al database trami-te Internet) alla copia illecita di dati soggetti a copyright(come software, musica e film scaricati dai dipendenti) al-la inadeguata implementazione di procedure di disaster re-covery e business continuity (gli azionisti potrebbero de-nunciare inadempienze che causino grosse perdite all’a-zienda).

Il custode dei dati ha la responsabilità della manuten-zione e della protezione dei dati, un ruolo che di solito è ri-coperto dal system administrator o, in una grande azienda,da un ruolo senior a system administrator e network ad-ministrator. Tra le funzioni ci sono l’esecuzione di backupperiodici (generalmente secondo una strategia a più livel-li, con diversi tipi di supporto, diverse periodicità e, nel ca-so dei database, sistemi di replicazione remota sincroni oasincroni secondo i requisiti). Deve inoltre implementare imeccanismi di sicurezza, validare periodicamente l’inte-grità dei dati e dei supporti (sia on line sia di backup), ri-pristinare i dati (e i programmi) dai backup quando neces-sario e soddisfare i requisiti delle politiche di sicurezza, de-gli standard e delle linee guida che riguardano la sicurezzadelle informazioni e la protezione dei dati. In particolare, unsystem administrator è responsabile dei singoli computer

5.1.3 Organizzazionedella sicurezza

5.1.3.4 conoscere leresponsabilità di tuttii ruoli coinvolti inun’organizzazione(addetti allasicurezza,amministratori disistema, utentiqualunque).

Page 13: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it13

Lezione 1 IT Administrator - Sicurezza informatica

e dispositivi collegati, mentre un network administrator èresponsabile delle connessioni, dell’hardware e del softwa-re di networking, oltre che del funzionamento in rete deicomputer e delle periferiche. Nelle aziende piccole le duefigure si sovrappongono.

Gli utenti sono tutti gli individui che quotidianamenteutilizzano i dati per motivi di lavoro. Ogni utente dovrebbeavere i privilegi di accesso necessari per svolgere le propriemansioni ed è responsabile di applicare le procedure di si-curezza per preservare la disponibilità, l’integrità e la ri-servatezza delle informazioni.

Una cattiva gestione della sicurezza, non conforme aglistrati di responsabilità, causa buona parte dei problemi intale campo. L’organizzazione della sicurezza dovrebbe pre-vedere un comitato di alto livello per assicurare che leistanze di sicurezza ricevano la dovuta attenzione da par-te del management superiore.

Un CIO (Chief Information Officer) o security officer do-vrebbe lavorare con il management superiore per definirele procedure di sicurezza strategiche e supportare i busi-ness manager nel definire le loro necessità in tema di infor-mazioni e sicurezza. I business manager (responsabili adesempio di attività commerciali, di marketing, di rapporticon i clienti, di progetti di espansione) hanno la principaleresponsabilità nel determinare i requisiti di protezione del-le risorse informative, quindi dovrebbero essere coinvoltidirettamente nella scelta delle misure di protezione. Spet-ta ai business manager anche approvare i nuovi accountdegli utenti, mentre gli amministratori della sicurezza crea-no gli account, assegnano le password, si occupano delsoftware di sicurezza, testano le patch prima di applicarleai sistemi.

Le decisioni sui beni da proteggere e sulle contromisu-re da adottare sono compito del management superiore(assistito dallo staff e dagli organismi predisposti), non deisystem administrator e dei professionisti della sicurezza.Un errore molto frequente è gestire la sicurezza a livello disecurity administrator o system administrator. In tal caso,la sicurezza non è vista nei termini ampi e generali che ri-chiede, non viene eseguita alcuna analisi del rischio, un’at-tività che richiede le valutazioni del management superio-re e quest’ultimo non prende consapevolezza dei rischi acui l’azienda è esposta. Inoltre, non vengono stanziati i fon-di necessari per le attività di sicurezza e non viene svoltaopera globale di sensibilizzazione ed educazione del per-sonale.

Il dipartimento del Personale ha responsabilità specifi-che in tema di sicurezza. Metà dei problemi di sicurezza so-no originati da cause interne alle aziende, sia per carenzenella gestione della sicurezza sia per pratiche di recluta-mento inadeguate. Al dipartimento del Personale spetta as-sumere o ingaggiare personale qualificato, verificare il cur-riculum di studi e lavoro e le informazioni personali, far fir-mare un impegno di non divulgazione delle informazioni (edi rispetto del copyright).

Spetta sempre al dipartimento del personale fornire l’ad-destramento necessario, imporre uno stretto controllo de-gli accessi, monitorare l’utilizzo dei sistemi e, in caso di vio-lazione, provvedere immediatamente per impedire ulterioridanni e proteggere le informazioni, le risorse e tutte le par-ti interessate (non dimentichiamo la condanna dell’ammi-nistratore delegato per i film pirata scaricati abusivamen-te dall’impiegato).

CERT, CSIRT e la gestione degli incidentiCon la diffusione delle connessioni in rete e l’espansio-

ne di Internet, dopo i primi attacchi si sentì l’esigenza di co-stituire organizzazioni per reagire prontamente a eventiche minacciassero la sicurezza dei computer collegati a In-ternet. Il primo Computer Emergency Response Team(CERT, squadra di intervento per le emergenze informati-che) fu creato negli USA dalla DARPA (Defense Advanced

Research Projects Agency), nel novembre 1988, in rispostaal primo grave attacco alla rete, quando un worm mandò inavaria il 10% di Internet.

La missione del CERT è quella di operare con la comu-nità di Internet per facilitare la risposta agli eventi riguar-danti la sicurezza degli host (i computer collegati a Inter-net), prendere iniziative per sensibilizzare la comunità su-gli aspetti della sicurezza e condurre ricerche rivolte a in-crementare la sicurezza dei sistemi esistenti.

Il primo CERT (www.cert.org) è diventato il CERT Coor-dination Center (CERT-CC) ed è situato presso il SoftwareEngineering Institute, finanziato dal governo USA e gestitodalla Carnegie Mellon University di Pittsburg.

Si focalizza sulle violazioni alla sicurezza, allerta sullenuove minacce, reagisce agli attacchi (i cosiddetti inci-dents) e fornisce assistenza, informazioni sulla vulnerabi-lità dei prodotti e istruzione con documenti e tutorial.

Nel 2003 è stato formato lo United States ComputerEmergency Readiness Team (US-CERT, www.us-cert.gov),una partnership tra il Department of Homeland Security(nato nel 2002 per fronteggiare gli attacchi terroristici inUSA) e il settore privato.

L’US-CERT opera a Washington e a Pittsburg, in strettocoordinamento con il CERT-Coordination Center. Il suocompito è analizzare e ridurre le minacce e vulnerabilitàinformatiche, disseminare informazioni per allertare sullenuove minacce e coordinare le attività di risposta agli inci-denti.

Vista la dimensione delle reti, il numero di comunità diutenti e la richiesta di supporto per fronteggiare i problemidi sicurezza, il CERT-CC è impegnato ad aiutare la forma-zione degli CSIRT (Computer Security Incident ResponseTeam), squadre di intervento per gli incidenti di sicurezzainformatica, a cui fornisce guida e addestramento. Nellamaggior parte delle aziende, i system e network admini-strator non hanno a disposizione personale, competenze eprocedure per fronteggiare prontamente gli attacchi infor-matici e minimizzare i danni, come dimostra il numero cre-scente di incidenti di sicurezza.

In questi casi è necessaria una risposta rapida ed effica-ce; più tempo trascorre per riconoscere, analizzare e ri-spondere a un incidente, maggiori sono i danni e i costi diripristino. Le grandi organizzazioni hanno la possibilità dicrearsi il proprio CSIRT, come avviene negli USA con l’aiu-to del CERT CSIRT Development Team.

In alternativa, si ricorre a gruppi di intervento pubblici,come il CERT-IT (http://security.dico.unimi.it) e il GARR-CERT (www.cert.garr.it) entrambi italiani.

I CERT o CSIRT delle varie nazioni sono collegati in unastruttura internazionale che permette la rapida condivi-sione delle informazioni utili a fronteggiare minacce e at-tacchi. Il FIRST (Forum for Incident Response and SecurityTeams, www.first.org) è nato nel 1990.

Nel 2003 FIRST contava la partecipazione di 150 orga-nizzazioni per la risposta agli incidenti di sicurezza in ogniparte del mondo. Il CERT-IT, ubicato presso l’Istituto diScienza dell’Informazione dell’Università degli Studi di Mi-lano, è il primo membro italiano di FIRST, a cui è stato am-messo nel 1995.

La segnalazione degli incidenti al CERT-IT avviene in for-ma riservata e autenticata tramite PGP (Pretty Good Pri-vacy), un programma di cifratura gratuito usato da milionidi utenti per proteggere la riservatezza della posta elettro-nica (www.it.pgpi.org). La gestione degli incidenti prevedetre fasi:

1) la segnalazione dell’incidente, via e-mail o via Web,con allegate le informazioni sull’attacco e i file rilevanti (co-me quelli di log);

2) la registrazione dell’incidente da parte del CERT-IT el’indagine sull’attacco fino a informare l’utente, se le infor-mazioni fornite sono sufficienti, sui rimedi da adottare;

3) la chiusura della segnalazione.

5.1.3 Organizzazionedella sicurezza

5.1.3.5 sapere comepartecipare a unasquadra d’interventoper le emergenzeinformatiche.

Page 14: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it14

ITAdministrator - Sicurezza informatica Lezione 1

Standard ed enti di standardizzazioneGli enti di standardizzazione principali e il loro ruolo

Gli enti di standardizzazione sono organizzazioni di na-tura molto differente, che coprono aspetti normativi di-versificati e hanno avuto una genesi diversa a seconda deicasi. Operano in ambito nazionale o internazionale edemettono norme e linee guida (gli standard) che 1) per-mettono di realizzare prodotti, processi e servizi secondolo stato corrente delle tecnologie e 2) forniscono le basi pergarantire l’interoperabilità tra prodotti di produttori di-versi. Oltre a emettere standard, questi enti svolgono altreattività, come la pubblicazione di documenti interpretativiper facilitare l’applicazione degli standard secondo deter-minati profili di utilizzo.

Generalmente gli enti di standardizzazione operano sul-la base del consenso con un’attività di coordinamento e ar-monizzazione. A volte il documento che descrive uno stan-dard è il risultato del lavoro di ricerca e sviluppo di un grup-po di aziende e un compito dell’ente di standardizzazioneè far sì che le norme raggiungano un vasto campo di appli-cabilità nel settore industriale interessato. In qualche casodiversi gruppi industriali adottano tecnologie in concor-renza tra loro e l’ente di standardizzazione, se non preval-gono interessi economici o politici particolari, riesce ad ar-monizzarne le caratteristiche definendo uno standard a cuitutti i partecipanti si uniformano.

Casi di questo genere sono frequenti, per esempio nelcampo delle comunicazioni e del networking, quando allafase di rapida uscita sul mercato segue la ricerca del con-senso e della massima interoperabilità. In generale, un en-te di standardizzazione permette che le tecnologie con lamigliore combinazione di caratteristiche e consenso sianocodificate in modo da superare l’ambito locale di origine esiano applicabili uniformemente e in modo interoperabilesu scala nazionale e internazionale. Gli organismi di stan-dardizzazione possono essere istituzioni formalmente ri-conosciute dagli stati nazionali o essere consorzi privati diimprese che operano in un certo settore del mercato. Ve-diamo ora quali sono gli enti di standardizzazione rilevan-ti ai fini della sicurezza informatica.

• ITU (International Telecommunication Union, www.itu.int):è un’organizzazione internazionale, nell’ambito dell’ONU,dove governi e settore privato coordinano le reti e i ser-vizi globali di telecomunicazioni. Ha sede a Ginevra ecomprende i settori ITU-T (standardizzazione), ITU-R(radiocomunicazioni) e ITU-D (sviluppo). Ai fini della si-curezza delle informazioni, sono di interesse le racco-mandazioni ITU-T della serie X.500 (servizi di directory)e, in particolare, la norma X.509 che descrive il formatodei certificati digitali.

• ISO (International Organization for Standardization,www.iso.org): è la maggiore organizzazione internaziona-le di standardizzazione e comprende gli enti di standar-dizzazione nazionali di 146 paesi (l’UNI è il membro ita-liano). L’ISO, il cui nome non è un acronimo ma deriva dal-la parola greca isos - uguale - ha sede a Ginevra e opera astretto contatto con IEC (International ElectrotechnicalCommission), ITU, CEN (Comitato Europeo di Normaliz-zazione) e CESI (Centro Elettrotecnico Sperimentale Ita-liano). Le norme ITU X.500, in realtà, sono state emessecongiuntamente all’ISO e sono contenute nella serie ISO9594. ISO/IEC/JTC1 è il comitato che si occupa di stan-dardizzazione nel campo dell'ICT (http://www.jtc1.org). Imembri del JTC1 (Joint Technical Committee 1) sono glienti nazionali di standardizzazione IT. Il JTC 1 è respon-sabile della gestione di un vasto e complesso programmadi lavoro ed è strutturato in sottocomitati e gruppi di la-voro in base alle aree di interesse. Il sottocomitato 27

(ISO/IEC JTC1/SC27) è quello che si occupa di tecniche disicurezza e vi partecipa, per l’Italia, l’UNINFO.

• IETF (Internet Engineering Task Force, www.ietf.org): è unavasta comunità internazionale di progettisti, operatori,produttori e ricercatori nel campo del networking, inte-ressati all’evoluzione dell’architettura di Internet e all’af-fidabilità del suo funzionamento. È aperta a tutti gli inte-ressati e il lavoro tecnico effettivo è svolto dai gruppi dilavoro, che sono organizzati per argomento in aree comerouting, trasporto, sicurezza e così via. L’IETF emette nor-me sotto forma di Request For Comment (RFC). Ne fa par-te la serie dedicata alle infrastrutture a chiave pubblica,normalmente indicate con la sigla PKIX (Internet X.509Public Key Infrastructure).

• CEN (Comitato Europeo di Normalizzazione, www.ce-norm.org): è un organismo europeo composto dagli entidi standardizzazione dei paesi membri dell’Unione Euro-pea e dell’EFTA (European Fair Trade Association - tra cuil’UNI per l’Italia). CEN, CENELEC ed ETSI sono i tre enti eu-ropei di standardizzazione a cui è riconosciuta la com-petenza nell’area della standardizzazione tecnica su basevolontaria e che sono elencati nell’Allegato I della Diret-tiva 98/34/EC riguardante la “procedura informativa” pergli standard e la normativa tecnica. Insieme, essi prepa-rano gli standard europei in settori di attività specifici ecostituiscono il “sistema di standardizzazione europeo”.La maggior parte degli standard è preparata su richiestadell’industria, ma anche la Commissione Europea può far-ne richiesta. Le direttive UE normalmente contengonoprincipi generali obbligatori, demandando i requisiti tec-nici dettagliati agli enti di standardizzazione. Il CENELECè il Comitato Europeo per la Standardizzazione Elettro-tecnica (www.cenelec.org). L’EFTA (European Fair TradeAssociation, www.eftafairtrade.org) è lo spazio di liberoscambio nato nel 1960 tra Austria, Danimarca, Norvegia,Portogallo, Svezia, Svizzera e Gran Bretagna.

• ETSI (European Telecommunications Standards Institute,www.etsi.org): è un’organizzazione europea indipenden-te, riconosciuta dalla Commissione Europea e dall’EFTA.Ha sede a Sophia Antipolis (Francia) ed è responsabileper la standardizzazione delle tecnologie informatiche edi comunicazioni (ICT) in Europa. Queste tecnologie in-cludono le telecomunicazioni, il broadcasting e le areecollegate come i trasporti intelligenti e l’elettronica me-dica. L’ETSI raggruppa 688 membri in 55 nazioni (dato difebbraio 2005) dentro e fuori l’Europa, tra cui produttori,gestori di reti, amministratori, service provider, enti di ri-cerca e utenti. Tra i campi d’interesse, l’ETSI si occupa dialgoritmi di sicurezza e di servizi TTP (Trusted Third PartyServices); tra i progetti, segnaliamo l’European ElectronicSignature Standardization Initiative (www.ict.etsi.org/EESSI_home.htm), che tra il 1999 e il 2004 ha coordi-nato l’attività di standardizzazione per implementare ladirettiva CE sulla firma elettronica.

• UNINFO (www.uninfo.polito.it): è una libera associazionea carattere tecnico, con lo scopo di promuovere e di par-tecipare allo sviluppo della normativa nel settore delle tec-niche informatiche. Rientrano nel suo campo d’attività i si-stemi di elaborazione e di trasmissione delle informazio-ni e le loro applicazioni nelle più diverse aree, quali, adesempio, le attività bancarie e le carte intelligenti. L’U-NINFO è associato all’UNI, l’ente nazionale italiano di uni-ficazione (www.uni.com/it) e rappresenta l’Italia pressoCEN e ISO. Le attività dell’UNINFO nell’ambito della sicu-rezza informatica sono svolte dalla commissione STT (Si-curezza delle Transazioni Telematiche), che si occupa del-le norme di sicurezza nelle transazioni telematiche, conparticolare riferimento alla firma elettronica.

5.1.4 Standard ed enti distandardizzazione

5.1.4.1 conoscere iprincipali enti distandardizzazione e illoro ruolo.

Page 15: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it15

Lezione 1 IT Administrator - Sicurezza informatica

Normative relative alla sicurezza delle informazioni

L’attività normativa relativa alla sicurezza può esseresuddivisa in tre aree: norme funzionali, criteri di valuta-zione della garanzia e norme relative al sistema di gestio-ne della sicurezza.1) Norme funzionali: queste sono relative ai prodotti e

hanno lo scopo principale di ricercare l’interoperabilitàdei prodotti informatici. Coprono argomenti quali i pro-tocolli di comunicazione, il formato dei dati (per esem-pio in un certificato digitale o in una smartcard) e cosìvia. Oltre agli standard emessi dagli enti formali di stan-dardizzazione, ci sono numerose specifiche tecnichepubbliche emesse da associazioni e talvolta anche daindustrie private. Oltre agli enti già citati, segnaliamo an-che i seguenti: ANSI, American National Standards Insti-tute (www.ansi.org), IEC, Commissione Elettrotecnica In-ternazionale: (www.iec.ch), DIN, Deutsches Institut fürNormung (www.din.de), SEIS, Swedish Secured ElectronicInformation in Society Specifications, Sweden(www.seis.se).Tra le associazioni, oltre al citato IETF, se-gnaliamo l’IEEE, Institute of Electrical and Electronics En-gineers (www.ieee.org.). Tra gli standard di aziende pri-vate segnaliamo la serie PKCS#1-15 (Public Key Crypto-graphy Standards) di RSA Security (www.rsa.com).

2) Criteri di valutazione della garanzia: sono i metodi concui viene valutata la fiducia che può essere accordata aisistemi e ai prodotti informatici di sicurezza. Tra le pub-blicazioni disponibili, le tre più significative sono i cri-teri americani TCSEC (Trusted Computing Security Eva-luation Criteria, 1985), i criteri europei ITSEC (Informa-tion Security Evaluation Criteria, 1991) e i criteri inter-nazionali ISO/IEC 15408, noti come Common Criteria epubblicati nel 1999.

3) Norme e linee guida relative al sistema di gestionedella sicurezza nell’azienda: segnaliamo le linee guidaISO/IEC 13335 (Part 1: Concepts and models for IT Se-curity, Part 2: Managing and planning IT Security, Part 3:Techniques for the management of IT Security, Part 4:Selection of safeguards, Part 5: Management guidanceon network security) e le norme BS (British Standard)7799 (Part 1: Code of Practice, recepita dalla ISO/IEC17799 Code of practice for information security mana-gement del 2000 e Part 2: Controls, riveduta nel 2002).

I criteri per la valutazione della garanzia

Abbiamo visto in precedenza che i sistemi di sicurezzasono caratterizzati dalla funzionalità (quello che il sistemadeve fare per la sicurezza) e dalla garanzia (la fiducia nel-la protezione offerta dalla funzionalità), a sua volta costi-tuita da correttezza (qualità di implementazione della fun-zionalità) e da efficacia (in quale grado la contromisuraprotegge dalle minacce).

Le tre fonti citate sopra a proposito dei criteri di valu-tazione della garanzia si chiamano appunto criteri di va-lutazione, anziché norme o standard, perché, sia pure condiversa attenzione ai requisiti funzionali, tutti si esprimo-no sui livelli di garanzia, un concetto troppo astratto peressere ridotto a uno standard. In ogni caso, TCSEC mischiafunzionalità e garanzia, ITSEC tenta di separare le due ca-tegorie, ma non ci riesce del tutto, mentre questo risulta-to è stato raggiunto nei Common Criteria, più efficaci e age-voli da applicare.

I criteri di valutazione dei processi di sicurezza hannoseguito idee e metodi diversi nel tempo e nelle varie areegeografiche. Oggi il TCSEC viene considerato troppo rigi-do, l’ITSEC troppo morbido e complicato e i Common Cri-teria accettabili da tutti.

Il TCSEC è stato sviluppato dal Dipartimento della Di-fesa USA e pubblicato dal National Computer Security Cen-ter (parte della National Security Agency) nel cosiddetto

Orange Book del 1985. Sebbene in Europa possa essere vi-sto come superato, nella cultura di sicurezza americanaoccupa ancora uno spazio rilevante ed è considerato in-dicativo delle esigenze di sicurezza degli ambienti milita-ri.

Il TCSEC serve per valutare sistemi operativi, applica-zioni e prodotti di vario genere. I criteri di valutazione so-no stati pubblicati in un volume dalla copertina arancione,detto perciò Orange Book. Le valutazioni di sicurezza ri-sultanti dall’applicazione del TCSEC servono ai compra-tori per confrontare diverse soluzioni e ai produttori persapere a quali specifiche conformarsi.

L’Orange Book viene usato per accertare se i prodottioffrono le caratteristiche di sicurezza dichiarate e per va-lutare se un prodotto è appropriato per una funzione o ap-plicazione specifica. Durante la valutazione, l’Orange Bookprende in considerazione la funzionalità e la garanzia di unsistema e fornisce un sistema di classificazione suddivisoin una gerarchia di livelli di sicurezza:A. Protezione verificataB. Protezione obbligatoriaC. Protezione discrezionaleD. Sicurezza minima.

Ognuna delle quattro divisioni, da A (massima sicurez-za) a D (minima sicurezza), può avere una o più classi di si-curezza, ognuna numerata e corrispondente a un certo in-sieme di requisiti da soddisfare. Le classi con numero su-periore indicano un maggiore grado di fiducia e garanzia.I criteri di valutazione includono quattro argomenti prin-cipali: politiche di sicurezza, rendicontabilità (accounta-bility), garanzia (assurance) e documentazione, ciascunadelle quali si suddivide in sei aree:- Politiche di sicurezza (la policy deve essere esplicita eben definita e imposta da meccanismi interni al sistema)

- Identificazione (i singoli soggetti devono essere identifi-cati)

- Etichette (le etichette per il controllo degli accessi devo-no essere associate in modo appropriato agli oggetti)

- Rendicontabilità (si devono raccogliere e proteggere i da-ti di audit per imporre la rendicontabilità)

- Garanzia del ciclo di vita (software, hardware e firmwaredevono poter essere testati individualmente per assicu-rare che ciascuno imponga la politica di sicurezza in mo-do efficace per tutto il ciclo di vita)

- Protezione continua (i meccanismi di sicurezza e l’interosistema devono funzionare con continuità in modo pre-vedibile e accettabile in tutte le diverse situazioni).

Queste categorie sono valutate in modo indipendente,ma alla fine viene assegnata una valutazione complessiva.Ogni divisione e classe di sicurezza include i requisiti del-le classi e divisioni inferiori (per esempio la B2 include i re-quisiti di B1, C2 e C1).

Le classi sono: C1 (protezione di sicurezza discrezio-nale), C2 (protezione ad accessi controllati), B1 (prote-zione obbligatoria), B2 (protezione strutturata), B3 (do-mini di sicurezza) e A1 (progetto controllato). TCSEC s’in-dirizza alla riservatezza, ma non all’integrità. Mette gran-de enfasi su controllare quali utenti possono accedere alsistema e ignora praticamente che utilizzo costoro faccia-no delle informazioni. Funzionalità e garanzia dei mecca-nismi di sicurezza non sono valutate separatamente, macombinate tra loro.

Viste le numerose carenze dell’Orange Book, special-mente se applicato in ambito civile, furono pubblicate di-verse estensioni, in quella che prese il nome di RainbowSeries (serie arcobaleno). Ne fa parte il Trusted NetworkInterpretation (TNI), detto Red Book, che si occupa di si-curezza delle reti, uno dei tanti argomenti non trattati dal-l’Orange Book.

L’ITSEC è stato il primo tentativo di stabilire un unicostandard di valutazione degli attributi di sicurezza da par-te di molti paesi europei. Durante gli anni ’80, Regno Uni-

5.1.4 Standard ed enti distandardizzazione

5.1.4.2 conoscere ladisponibilità di unametodologia pervalutare i diversilivelli di garanzia(ITSEC, CommonCriteria).

5.1.4 Standard ed enti distandardizzazione

5.1.4.3 conoscere ledifferenze essenzialitra gli standardpubblicati (ISO/IEC17799, BS 7799part 2) nati comesupporto per lacostruzione diun’infrastruttura digestione dellasicurezza all’internodi un’organizzazione.

Page 16: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it16

ITAdministrator - Sicurezza informatica Lezione 1

to, Germania, Francia e Olanda avevano prodotto versionidei loro criteri nazionali, in seguito armonizzate e pubbli-cate come Information Technology Security EvaluationCriteria (ITSEC).

La versione 1.2 corrente è stata pubblicata nel 1991 dal-la Commissione Europea, a cui ha fatto seguito nel 1993 l'ITSecurity Evaluation Manual (ITSEM) che specifica la meto-dologia da seguire per realizzare le valutazioni ITSEC.

L’innovazione rispetto al TCSEC è stato il tentativo direndere indipendente la definizione delle funzionalità, co-sì da poter applicare i criteri ITSEC a un ampio spettro diprodotti e sistemi, che nel gergo ITSEC si chiamano TOE(target of evaluation).

La definizione delle funzionalità di sicurezza è scorpo-rata in un documento chiamato Security Target, che de-scrive le funzionalità offerte dal TOE e l’ambiente operati-vo del TOE. Nel caso di un sistema, il Security Target con-tiene una System Security Policy (regole operative definitesu misura per uno specifico ambiente operativo).

La valutazione ITSEC viene eseguita da terze parti chia-mate CLEF (Commercial Licensed Evaluation Facility) a cuispetta fornire le certificazioni di conformità ai requisiti disicurezza. Il processo ISEC inizia con lo sponsor (di solitolo sviluppatore del prodotto, o TOE) che nomina un CLEF.Il CLEF valuta il Security Target e produce un piano di la-voro. Viene nominato un certificatore e il processo ha ini-zio. Lo sponsor fornisce tutto il materiale al valutatore, chevaluta se esso soddisfa i requisiti in termini di completez-za, coerenza e accuratezza. Una volta soddisfatto, il valu-tatore produce un report e lo sottopone al certificatore perl’approvazione. Se il certificatore è soddisfatto, produce unreport di certificazione e pubblica un certificato ITSEC.

Il Security Target è il documento chiave per la valuta-zione e contiene il target evaluation level, ossia il livello divalutazione di sicurezza a cui il produttore aspira per com-mercializzare il suo prodotto in un certo mercato. Ci sonosei livelli di valutazione da E1 a E6; maggiore è il livello,maggiore è il dettaglio e il rigore richiesto ai materiali sot-toposti alla valutazione.

I requisiti di efficacia sono gli stessi per i sei livelli di va-lutazione e sono valutati in una serie di analisi: SuitabilityAnalysis, Binding Analysis, Ease of Use Analysis, Con-struction Vulnerabilities Analysis e Operational Vulnerabi-lities Analysis.

Per valutare la correttezza del prodotto viene prodottoil documento Architectural Design, che identifica ad alto li-vello la struttura di base del TOE, le interfacce e la suddi-visione in hardware e software. Il Detailed Design è un do-cumento che scende nei dettagli dell’Architectural Designfino a un livello di dettaglio utilizzabile come base per l’im-plementazione. Durante il processo di valutazione, vieneverificato se le specifiche di sicurezza del Detailed Designsono implementate correttamente e vengono esaminati isorgenti del software e i diagrammi di progetto del-l’hardware.

Ulteriori materiali forniti dal produttore per la valuta-zione includono l’ambiente di sviluppo (controllo di confi-gurazione, linguaggi di programmazione, compilatori ec-cetera), la documentazione operativa (guida utente e ma-nuale di amministrazione) e l’ambiente operativo (distri-buzione, configurazione, installazione e utilizzo).

L’ITSEC ha tentato di fornire un approccio più flessibiledel rigido TCSEC, di separare funzionalità e garanzia e diconsentire la valutazione di interi sistemi. La flessibilità haperò portato con sé la complessità, perché i valutatori pos-sono mescolare e abbinare le valutazioni di funzionalità egaranzia, facendo proliferare le classificazioni e rendendoil processo tortuoso.

I tempi erano maturi per tentare un approccio più effi-cace e unificato tra aree geografiche. Nel 1990 l’ISO rico-nobbe l’esigenza di criteri standard di valutazione di ap-plicabilità globale. Il progetto Common Criteria iniziò nel

1993 quando diverse organizzazioni si associarono percombinare e allineare i criteri di valutazione esistenti edemergenti: TCSEC, ITSEC, il canadese CTCPEC (CanadianTrusted Computer Product Evaluation Criteria) e i criteri fe-derali USA. Il progetto fu sviluppato attraverso la collabo-razione degli enti nazionali di standardizzazione di StatiUniti, Canada, Francia, Germania, Regno Unito e Olanda. Ibenefici di questo sforzo comune comprendono la ridu-zione della complessità del sistema di valutazione, la di-sponibilità di un unico linguaggio per le definizioni e per ilivelli di sicurezza e, a beneficio dei produttori, l’uso di ununico insieme di requisiti per vendere i prodotti sul mer-cato internazionale.

La versione 1.0 dei Common Criteria è stata completatanel gennaio 1996. Sulla base di approfondite prove, valuta-zioni e reazioni del pubblico, la versione 1.0 subì un’estesarevisione e diede vita alla versione 2.0 dell’aprile 1998, chedivenne lo standard ISO 15408 nel 1999. Il progetto ha in se-guito incorporato modifiche di lieve entità che hanno pro-dotto la versione 2.1 dell’agosto 1999. Oggi la comunità in-ternazionale ha adottato i CC attraverso il Common CriteriaRecognition Arrangement, un accordo in base al quale i fir-matari concordano nell’accettare i risultati delle valutazio-ni CC eseguite da altri membri della CCRA.

La flessibilità dell’approccio dei Common Criteria stanel fatto che un prodotto è valutato a fronte di un certoprofilo di protezione, strutturato in modo da soddisfarespecifici requisiti di protezione. Rispetto all’ITSEC, di cuiconserva molti aspetti, come la separazione tra funziona-lità e garanzia, i Common Criteria forniscono cataloghi difunzionalità e requisiti di garanzia che rendono più formalee ripetibile la compilazione del Security Target. Alla valu-tazione di un prodotto viene assegnato un Evaluation As-surance Level (EAL) che va da 1 a 7 (massima garanzia). Lacompletezza e il rigore dei test crescono con il livello di ga-ranzia assegnato. I sette livelli hanno questi significati:EAL1 testato funzionalmenteEAL2 testato strutturalmenteEAL3 testato e verificato metodicamenteEAL4 progettato, testato e riveduto metodicamenteEAL5 progettato e testato in modo semi-formaleEAL6 verifica del progetto e testing semi-formaliEAL7 verifica del progetto e testing formali

Il sistema Common Criteria utilizza i protection profileper la valutazione dei prodotti. Il protection profile con-tiene l’insieme di requisiti di sicurezza, il loro significato ele ragioni per cui sono necessari, oltre che il livello EALche il prodotto deve soddisfare. Il profilo descrive le con-dizioni ambientali, gli obiettivi e il livello previsto per la va-lutazione della funzionalità e della garanzia. Viene elenca-ta ogni vulnerabilità e come dev’essere controllata da spe-cifici obiettivi di sicurezza. Inoltre il documento fornisce lemotivazioni per il livello di garanzia e la robustezza deimeccanismi di protezione.

Nella struttura del sistema Common Criteria, il protec-tion profile descrive la necessità di una specifica soluzio-ne di sicurezza, che è l’input per il prodotto da valutare(TOE). Il TOE è il prodotto proposto per fornire la solu-zione alle esigenze di sicurezza. Il security target è scrittodal produttore e spiega le funzionalità di sicurezza e i mec-canismi di garanzia che soddisfano i requisiti di sicurezza.I Security Functionality Requirements e i Security Assu-rance Requirements formano dei componenti (package)riutilizzabili che descrivono gli insiemi dei requisiti di fun-zionalità e di garanzia da soddisfare per ottenere lo speci-fico EAL a cui il produttore aspira. Questi documenti di re-quisiti sono indipendenti dalle tecnologie con cui vengonorealizzati i prodotti.

L’utilizzo di prodotti certificati, oltre a rispondere a re-quisiti formali di approvvigionamento, offre numerosi be-nefici, tra cui la disponibilità di un documento di specifi-

Page 17: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it17

Lezione 1 IT Administrator - Sicurezza informatica

che di sicurezza formalizzate (il security target) conte-nente la descrizione delle minacce che il prodotto è in gra-do di contrastare e l’esistenza di test e verifiche effettua-te, secondo metodologie documentate, da un ente indi-pendente. Le pubblicazioni relative ai Common Criteria so-no inoltre di ausilio per tenere conto dei requisiti di fun-zionalità e di garanzia nella progettazione di sistemi infor-matici con requisiti di sicurezza, anche se non s’intendesottoporli al processo di certificazione.

Riferimenti:csrc.nist.gov/cc, www.rycombe.com/cc.htm,www.clusit.it/whitepapers/iso15408-1.pdf, www.clusit.it/whitepapers/iso15408-2.pdf ewww.clusit.it/whitepapers/iso15408-3.pdf

Le norme sul sistema di gestione della sicurezza

Gli sviluppi normativi nel campo dei sistemi di gestionedella sicurezza delle informazioni sono avvenuti in tempipiù recenti rispetto all’evoluzione dei criteri di valutazionedella garanzia (come TCSEC, ITSEC e Common Criteria) edei sistemi di gestione della qualità (come ISO 9000).

ISO/IEC ha pubblicato, tra il 1996 e il 2001, una serie dicinque documenti (ISO/IEC TR 13335), la cui sigla TR (te-chnical report) indica che si tratta di linee guida del tipo be-st practice (modalità operative consigliate), non di specifi-che formali. Questi documenti sono una possibile alterna-tiva alla coppia ISO/IEC 17799 - BS 7799 di fonte britannica.Le cinque parti della serie TR 13335 sono le seguenti:

- Parte 1: Concepts and models for IT security. Il primo do-cumento fornisce una panoramica dei concetti re-lativi alla sicurezza delle informazioni e dei mo-delli che un’organizzazione può utilizzare per de-finire la propria sicurezza IT.

- Parte 2: Managing and planning IT security. Questo do-cumento si occupa degli aspetti di pianificazionee di gestione della sicurezza delle informazioni.

- Parte 3: Techniques for the management of IT security.Questo documento si occupa delle attività di ma-nagement che sono direttamente legate al ciclo divita dei progetti: pianificazione, progettazione,implementazione, testing eccetera.

- Parte 4: Selection of safeguards. In parte complementarealla parte 3, descrive la selezione delle contromi-

sure e l’importanza e la modalità d’impiego deimodelli di sicurezza di base e delle verifiche.

- Parte 5: Management guidance on network security.Questo documento fornisce linee guida sulle co-municazioni e sulle reti, in particolare l’analisi deifattori che devono essere presi in considerazioneper definire requisiti di sicurezza e contromisureappropriati. Inoltre fornisce un approccio alla de-finizione dei livelli di fiducia basato sulla valuta-zione del rischio.

Le linee guida BS 7799, oggi ISO/IEC 17799 e BS 7799-2,hanno una storia che risale agli inizi degli anni ’90, quan-do il Dipartment of Trade and Industry britannico istituìun gruppo di lavoro con l’intento di fornire alle aziende li-nee guida per la gestione della sicurezza delle informa-zioni. Nel 1993 questo gruppo pubblicò il Code of practicefor information security management, un insieme di buoneregole di comportamento per la sicurezza delle informa-zioni. Questo costituì la base per lo standard BS 7799 pub-blicato da BSI (British Standards Institution) nel 1995 e no-to come Code of Practice. Nel 1998 BSI aggiunse la secon-da parte, Specification for Information Security Manage-ment, che fu sottoposta a revisione e ripubblicata nel1999. Il Code of Practice fu sottoposto a ISO/IEC per esse-re approvato come standard internazionale, una volta nel1995 senza successo e in seguito di nuovo nel 1999 conesito positivo. Il BS 7799 Parte 1 è stato quindi recepitocome ISO/IEC 17799. La sua edizione del 2000 è in corso diaggiornamento nel 2005. La seconda parte, BS 7799-2, èstata aggiornata nel 2002.

L’ISO/IEC 17799 presenta una serie di linee guida e diraccomandazioni compilata a seguito di consultazioni conle grandi aziende. I 36 obiettivi e le 127 verifiche di sicu-rezza contenuti nel documento sono suddivisi in 10 aree,o domini, riportati nel riquadro A, II dieci domini formanouna piramide che scende dalla prospettiva organizzativa(1, 2, 3, 4, 9, 10) verso quella operativa (6, 7, 8), con inclusigli aspetti tecnici (5).

Le verifiche di sicurezza ulteriormente dettagliate neldocumento, portano a oltre 500 il numero di controlli edelementi di best practice dell’ISO/IEC 17799. Il documen-to sottolinea l’importanza della gestione del rischio echiarisce che non è indispensabile implementare ogni sin-gola linea guida, ma solo quelle che sono rilevanti. Lostandard copre tutte le forme d’informazione, incluse lavoce, la grafica e i media come fax e cellulari. Esso rico-nosce anche i nuovi metodi di business, come l’e-com-

Riquadro A - Le dieci aree delle linee guida dello standard ISO/IEC 177991. Security Policy. Fornire le linee guida e i consigli per la gestione, allo scopo di migliorare la sicurezza delle

informazioni2. Organizational Security. Facilitare la gestione della sicurezza delle informazioni all’interno

dell’organizzazione.3. Asset Classification and Control. Eseguire un inventario dei beni e proteggerli efficacemente.4. Personnel Security. Minimizzare i rischi di errore umano, furto, frode o uso illecito delle attrezzature.5. Physical and Environment Security. Prevenire la violazione, il deterioramento o la distruzione delle attrezzature

industriali e dei dati.6. Communications and Operations Management. Assicurare il funzionamento adeguato e affidabile dei

dispositivi di elaborazione delle informazioni.7. Access Control. Controllare l’accesso alle informazioni.8. Systems Development and Maintenance. Assicurare che la sicurezza sia incorporata nei sistemi informativi.9. Business Continuity Management. Minimizzare l’impatto delle interruzioni dell’attività aziendale e proteggere

da avarie e gravi disastri i processi aziendali essenziali.10. Compliance. Evitare ogni violazione delle leggi civili e penali, dei requisiti statutari e contrattuali e dei requisiti

di sicurezza.

Page 18: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it18

ITAdministrator - Sicurezza informatica Lezione 1

merce, Internet, l’outsourcing, il telelevoro e il mobilecomputing.

Mentre l’ISO/IEC 17799 fornisce le linee guida, gli aspet-ti di sicurezza e le buone norme da applicare, in sé suffi-cienti per un’azienda medio-piccola, lo standard BS 7799-2 fornisce le direttive per istituire un sistema di gestionedella sicurezza delle informazioni (SGSI in italiano o ISMS,Information Security Management System, nella lettera-tura) da sottoporre alla certificazione di un ente accredi-tato. L’applicazione del BS 7799-2 permette all’azienda didimostrare ai suoi partner che il proprio sistema di sicu-rezza è conforme allo standard e risponde alle esigenze disicurezza determinate dai propri requisiti.

Un’organizzazione che ottiene la certificazione è con-siderata conforme ISO/IEC 17799 e certificata BS 7799-2.

L’aggiornamento del 2002 del BS 7799-2 ha introdottovarie modifiche suggerite dall’esigenza di dare continuitàal processo di gestione della sicurezza. Il modello di ISMSdefinito dallo standard comprende quattro fasi in unloop ciclico, analogo a quello dell’ISO 9001.

Il modello è detto PDCA dalle iniziali delle quattro fasi:Plan (pianifica: la definizione dell’ISMS), Do (esegui: l’im-plementazione e utilizzo dell’ISMS), Check (verifica: icontrolli e le revisioni dell’ISMS) e Act (agisci: la manu-tenzione e miglioramento dell’ISMS).

Le quattro fasi dell’Information SecurityManagement System

Plan:1. la definizione dell’ambito di applicazione dell’ISMS2. la definizione di una politica di sicurezza di alto livello3. la definizione di un approccio sistematico per l’analisi

del rischio4. l’identificazione dei rischi5. la valutazione dei rischi

6. l’identificazione delle opzioni per il trattamento dei rischi(eliminazione, cessione e riduzione)

7. la selezione delle contromisure per il controllo dei rischi8. la redazione della dichiarazione di applicabilità, com-

prendente l’esplicitazione delle ragioni che hanno por-tato alla selezione delle contromisure e alla non applica-zione di misure indicate nell’appendice A della norma.

Do:1. la formulazione di un piano di trattamento dei rischi2. l’implementazione del piano3. l’implementazione delle contromisure selezionate4. lo svolgimento di programmi d’informazione e di forma-

zione5. la gestione delle operazioni connesse alla fase Do6. la gestione delle risorse connesse alla fase Do7. l’implementazione di procedure e altre misure che assi-

curino la rilevazione e le opportune azioni in caso di in-cidenti relativi alla sicurezza

Check:1. l’esecuzione delle procedure di monitoraggio dell’ISMS2. l’esecuzione di revisioni del rischio residuo3. la conduzione di audit interni all’ISMS4. la conduzione di review al massimo livello dirigenziale

dell’ISMS5. la registrazione delle azioni e degli eventi che potrebbe-

ro avere impatti sulla sicurezza o sulle prestazioni dell’I-SMS

Act:1. l’implementazione delle azioni migliorative dell’ISMS

identificate2. l’implementazione delle azioni correttive e preventive3. la comunicazione dei risultati4. la verifica che i miglioramenti raggiungano gli obiettivi

identificati alla loro base.L’appendice A della norma BS 7799-2 del 2002 include unaserie di misure per il controllo del rischio suddivise in 10capitoli, gli stessi delle 10 aree sopra elencate per l’ISO/IEC17799.

Naturalmente, la conformità all’ISO/IEC 17799 o la cer-tificazione BS 7799-2 non implicano che un’organizzazio-ne sia sicura al 100%, un obiettivo peraltro irraggiungibi-le. Tuttavia, l’adozione di questo standard, apprezzato alivello internazionale, offre diversi vantaggi a livello orga-nizzativo (efficacia dello sforzo di sicurezza a tutti i livel-li, diligenza degli amministratori), a livello legale (osser-vanza di leggi e regolamenti), a livello operativo (gestionedel rischio, qualità di hardware e dati), a livello commer-ciale (distinzione dalla concorrenza, partecipazione a ga-re), a livello finanziario (costo delle violazioni, costi assi-curativi) e a livello umano (consapevolezza e responsa-bilità del personale). La popolarità della coppia ISO/IEC17799 e BS 7799-2 è dovuta in parte alla sua flessibilità e al-la sua complementarità con altri standard di sicurezza IT.Mentre l’ISO/IEC 17799 delinea le migliori pratiche per lagestione della sicurezza delle informazioni, l’ISO 13335(Guideline for the Management of IT Security, GMITS) puòessere visto come il suo fratello maggiore, con l’aggiuntadi aspetti tecnologici e un’estensione della gestione del ri-schio. C’è forte complementarità anche tra l’ISO/IEC17799 e l’ISO 15408, ossia i Common Criteria. Mentre il pri-mo si focalizza più sugli aspetti organizzativi e ammini-strativi, il secondo copre gli aspetti tecnici della sicurez-za. Ulteriori relazioni si possono individuare tra questistandard e gli standard ISO 18044 (Incident Management),ISO 17944 (Financial Systems), ISO 18028 (Communica-tions Management) e ISO 14516 (E-commerce Security). IlBS 7799-2 del 2002 è anche armonizzato con l’ISO9001:2000 (Vision 2000) e l’ISO 14001:1996.

DO(ESEGUI)

PLAN(PIANIFICA)

CHECK(VERIFICA)

ACT(AGISCI)

Definire la portatadell’ISMS

Definire una politicaISMS

Definire un approccioall’analisi del rischio

Identificare i rischi

Analizzare i rischi

Identificare e valutarele opzioni per la

gestione del rischio

Scegliere i controllie loro obiettivi

Preparare unoStatement of

Applicabilità (SOA)

Attuare i miglioramentiidentificati

Intraprendere azionicorrettive/preventive

Applicare le lezioniapprese (incluse altre

organizzazioni)

Comunicare i risultatialle parti interessate

Assicurarsi che imiglioramenti

raggiungano l’obiettivo

Eseguire proceduredi monitoraggio

Eseguire revisioniregolari dell’efficacia

dell’ISMS

Livello di revisionesul rischio residuo

e accettabile

Eseguire audit internedell’ISMS

Registrare eventie avvenimenti che

potrebbero impattaresull’ISMS

Formulare un piano digestione del rischio

Attuare il piano digestione del rischio

Attuare i controlli

Attuare programmidi addestramentoe consapevolezza

Gestire le attività

Gestire le risorse

Attuare procedure perindividuare/rispondere

agli incidenti disicurezza

1

2

3

4

Le quattro fasidell’Information Security

Management System

Page 19: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it19

Lezione 1 IT Administrator - Sicurezza informatica

Il processo di standardizzazione di Internet

Quello che segue è un elenco di alcune delle organiz-zazioni più importanti che operano nell’interesse dell’in-tera comunità di Internet e dei suoi standard.

Internet Society – ISOC (www.isoc.org)Un’organizzazione privata senza fini di lucro che riuni-

sce professionisti nel mondo del networking e che ha lamissione di garantire il continuo funzionamento di Inter-net e il suo potenziamento. Opera attraverso una serie dicomitati tecnici che definiscono gli standard e i protocol-li utilizzati da qualsiasi apparecchiatura che si collega aInternet (IETF, IESG, IAB, IRTF). L’ISOC fornisce la leader-ship nella gestione di Internet per quanto riguarda glistandard, l’istruzione e lo sviluppo della politica ammini-strativa.

IETF (Internet Engineering Task Force, www.ietf.org)È la comunità internazionale dei progettisti, operatori,

produttori, e ricercatori nel campo del networking, inte-ressati all’evoluzione dell’architettura di Internet e dellasua continuità e affidabilità di funzionamento. Sviluppastandard tecnici su base consensuale, per esempio in re-lazione ai protocolli di comunicazione.

IESG(Internet Engineering task Group, www.ietf.org/iesg.html)

Lo IESG è responsabile della gestione tecnica delle at-tività dell’IETF e del processo di standardizzazione di In-ternet. Come parte dell’ISOC, amministra tale processosecondo le regole e le procedure che sono state ratificatedai fiduciari dell’ISOC. Lo IESG è direttamente responsa-bile delle azioni associate all’avvio e alla prosecuzionedell’iter di standardizzazione, inclusa l’approvazione fi-nale delle specifiche come Standard Internet. Lo IESGcoordina e approva gli standard tecnici.

IAB (Internet Architecture Board, www.iab.org)Lo IAB è un gruppo tecnico consultivo della Internet

Society, responsabile della selezione dello IESG, della su-pervisione dell’architettura, della supervisione del pro-cesso di standardizzazione e della procedura di appello,della serie delle RFC (Request For Comment), dei colle-gamenti esterni e di consiglio all’ISOC.

IRTF (Internet Research Task Force, www.irtf.org)La missione dell’IRTF consiste nel promuovere attività

di ricerca che possano contribuire in modo significativo alfuturo sviluppo di Internet. Opera creando gruppi di ri-cerca focalizzati sui seguenti temi: protocolli, applicazio-ni, architettura e tecnologia.

ICANN (Internet Corporation for Assigned Names and Num-bers, www.icann.org)

È l’azienda non-profit che fu creata per assumere la re-sponsabilità dell’attribuzione degli spazi d’indirizzamen-to IP, dell’assegnazione dei parametri dei protocolli, dellagestione del sistema dei domini e della gestione del siste-ma dei server root, funzioni che in precedenza erano ese-guite, sotto contratto con il governo USA, dalla IANA e daaltre entità. È l’autorità per l’assegnazione dei nomi di do-minio a livello globale.

IANA(Internet Assigned Numbers Authority, www.iana.org)

La IANA mantiene le funzioni di coordinamento cen-trale dell’Internet globale nel pubblico interesse. La IANAcustodisce i numerosi parametri e valori di protocollo uni-ci necessari per il funzionamento di Internet e per il suosviluppo futuro.

Il processo di definizione degli Standard Internet è

un’attività della Internet Society, che è organizzata e ge-stita per conto della comunità Internet dallo IAB e dallo IE-SG. Comprende una serie di passi e di attività che produ-cono come risultato gli standard dei protocolli e delle pro-cedure.

“Uno Standard Internet è una specifica stabile e bencompresa, è scritto con competenza tecnica, conta di-verse implementazioni indipendenti e interoperabili consostanziale esperienza operativa, gode di un supportopubblico significativo e la sua utilità è riconosciuta in tut-ta Internet o in parti di essa” - RFC 2026, 1996.

Per essere adottata come standard, una specifica è sot-toposta a un periodo di sviluppo e a numerose iterazionidi revisione da parte della comunità di Internet e a un esa-me basato sull’esperienza.

Per prima cosa, una specifica diventa un documentoRFC. Non tutte le RFC diventano Standard Internet. Poi, sela RFC diventa uno standard, viene adottata dall’ente ap-propriato ed è resa disponibile al pubblico quale stan-dard. Il processo di standardizzazione attraversa i se-guenti stadi di sviluppo, collaudo e accettazione.

Proposta di standard(almeno sei mesi)- generalmente stabile- scelte di progettazione risolte- sembra godere di sufficiente interesse della comunitàper essere considerato valido

Bozza di standard(almeno quattro mesi dall’approvazione della riunioneIETF- ben capito- ottenuta una sufficiente esperienza operativa

Standard(fino a una successiva revisione o sostituzione)- ottenuta un’implementazione significativa e un’espe-rienza operativa positiva - alto grado di maturità tecnica- fornisce benefici di rilievo alla comunità Internet

Protection profile

Target ofevaluation

Security Target

Richiesta di unaspecifica soluzione

Il prodotto

Descrizione delle componentidi funzionalità e garanzia offerta

dal produttore

Requisitidi funzionalità

Requisitidi garanzia

Famiglie differentidi classi di requisiti

Verifica e valutazione delprodotto rispetto alle specifiche

dichiarate Valutazione

Assegnazione diun livello

di garanzia

Relazione fra componenti differenti

Le fasi del ciclo dicertificazione

5.1.4 Standard ed enti distandardizzazione

5.1.4.4 conoscere il processo distandardizzazione di Internet.

Page 20: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it20

ITAdministrator - Sicurezza informatica

Le reti di computer, soprattutto attraverso Internet, han-no reso possibile la rapida e facile comunicazione trautenti oltre che tra aziende e compratori. Con 285 mi-

lioni di siti attivi (ottobre 2004) e oltre 800 milioni di uten-ti (febbraio 2005), gli scambi commerciali e le transazionieconomiche che avvengono su Internet hanno raggiuntoun volume ingente e sono in forte crescita, favoriti dallaprogressiva fiducia nella sicurezza delle operazioni.

L’assenza del contatto personale e dello scambio di do-cumenti cartacei intestati e firmati, richiede strumenti so-stitutivi per identificare gli interlocutori, per mantenere lariservatezza e l’integrità delle informazioni scambiate e perconferire validità legale alla transazione, in modo che nonpossa essere disconosciuta (oppure, come si suol dire, ri-pudiata) dalla parte che contrae l’impegno (o in generaleda tutte le parti in gioco).

In pratica, gli strumenti e le procedure della sicurezzainformatica hanno il compito di fornire agli utenti (individuie organizzazioni) lo stesso livello di fiducia che provanoquando eseguono lo stesso tipo di operazioni con i metoditradizionali e le firme autografe. Nella lezione precedenteabbiamo trattato dell’analisi del rischio, una fase essenzia-le del programma di sicurezza, dove si considerano le pro-babilità di attuazione delle minacce e la gravità del loro im-patto per selezionare le contromisure da mettere in campo.Si tratta di un approccio fondamentalmente difensivo opassivo, che valuta quali rischi accettare, quali delegare aterzi e quali controllare, riducendoli o azzerandoli.

Nella presente lezione ci occupiamo invece di sicurezzaattiva, ossia delle misure di sicurezza che proteggono leinformazioni in modo proattivo, in modo cioè da anticipa-

re e neutralizzare i problemi futuri. Questo viene ottenutonon solo impedendo agli estranei di accedere alle informa-zioni (sicurezza passiva o difensiva), ma rendendo le infor-mazioni intrinsecamente sicure a livello applicativo, pro-teggendone la riservatezza (confidentiality, chiamata an-che confidenzialità), l’integrità e l’autenticità. Vedremoche le tecniche crittografiche permettono 1) di trasforma-re dati, informazioni e messaggi in modo da nasconderne ilcontenuto a chiunque non sia autorizzato e attrezzato perprenderne visione, 2) di impedire a estranei di alterare i da-ti, segnalando qualunque tentativo in tal senso e 3) di ga-rantire l’autenticità dei dati, associandoli in modo certo alloro proprietario, impedendo allo stesso tempo che il mit-tente di un messaggio possa ripudiarne la paternità.

Prosegue il primo corso di taglio professionale destinato alconseguimento della certificazione ufficiale, EUCIP ITAdministrator – Sicurezza Informatica, valida in tutta Europa. La seconda lezione esplora tutti i principali algoritmi e standarddi crittografia utilizzati per garantire riservatezza, l’integrità el’autenticità dei documenti. Anche in questo caso i contenuti siarticolano in tre elementi: un articolo sulla rivista, un articolo, molto più esteso in formato PDF e un corsomultimediale completo su CD e DVD di Giorgio Gobbi

Materiale didatticovalidato da AICACertificazione EUCIPIT AdministratorModulo 5 - IT SecuritySicurezza informatica

"AICA Licenziatariaesclusiva in Italia delprogramma EUCIP(European Certificationof InformaticProfessionals), attestache il materiale didatticovalidato coprepuntualmente eintegralmente gliargomenti previsti nelSyllabus IT Administratore necessari per ilconseguimento dellacertificazione ITAdministrator ITSecurity. Diconseguenza AICAautorizza sul presentemateriale didattico l'usodel marchio EUCIP,registrato da EUCIP Ltde protetto dalle leggivigenti"

Obiettivo del corso IT AdministratorSicurezza InformaticaFornire al lettore familiarità con i vari modi diproteggere i dati sia su un singolo PC sia in una LANconnessa a Internet. In particolare, metterlo nellecondizioni di proteggere i dati aziendali controperdite, attacchi virali e intrusioni. Inoltre, metterlonelle condizioni di conoscere e utilizzare le utility e iprogrammi più comuni destinati a tali scopi.

Riferimento Syllabus2.0 (curriculumufficiale AICA)

5.2.1. Concettigenerali

5.2.1.1 Basi dellacrittografia

I contenuti delle 8 lezioni Lezione 1: Informazioni generaliLezione 2: parte 1Crittografia -

fondamenti e algoritmiLezione 2: parte 2Crittografia -

applicazioniLezione 3: Autenticazione

e controllo degli accessiLezione 4: DisponibilitàLezione 5: Codice malignoLezione 6: Infrastruttura a chiave pubblicaLezione 7: Sicurezza della reteLezione 8: Aspetti sociali, etici e legali della

sicurezza informatica

In collaborazionecon:

� Concetti e algoritmi di crittografia

Scopriamo i fondamenti e letecniche di crittografia

Page 21: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

www.pcopen.it21

Per meglio apprezzare i vantaggi della sicurezza attiva,proviamo a immaginare cosa accadrebbe a un messaggioconfidenziale che venisse inviato su Internet. Sul computerdi partenza, il messaggio, contenuto nell’archivio della po-sta elettronica, sarebbe leggibile da chiunque si procuras-se l’accesso al computer, un’operazione relativamente fa-cile dall’interno dell’organizzazione e non impossibile dal-l’esterno se mancano le opportune difese. Nel momento incui il messaggio viene spedito, attraversa la rete locale in-terna (dove può essere intercettato tramite analizzatori direte, packet sniffer e altri strumenti per intercettare i pac-chetti), esce dall’edificio, raggiunge la centrale del gestoredi telecomunicazioni, viene instradato verso il sito cheospita il server di e-mail e qui staziona in una casella po-stale in attesa di essere prelevato. Una volta prelevato, se-condo i casi, viene cancellato o meno dal server e vienecomunque trasferito sul computer del destinatario, nel-l’archivio personale di posta elettronica. Durante il per-corso, il messaggio è intercettabile dagli organismi di sicu-rezza nazionali (di solito su mandato della magistratura) e,se fosse per qualche verso appetibile, anche da agenzie disicurezza che non chiedono permessi. Inoltre, se il mes-saggio contenesse informazioni preziose per nemici, con-correnti e specialisti di furto e ricatto, lungo il suo percor-so, dal computer di origine a quello di destinazione, po-trebbe trovare in agguato hacker, dispositivi di rilevamen-to o individui che, mediante tecniche di social engineering,si procurano i file da chi ha o può procurare (anche incon-sapevolmente) il diritto di accesso. Il social engineering, nelcampo della sicurezza informatica, è la pratica di manipo-lare ad arte le persone per indurle a compiere azioni (comel’esecuzione di software maligno) oppure a rivelare infor-mazioni (come le password) utili a ottenere accesso a datie risorse. Si comprende la complementarità della difesapassiva e di quella attiva con un esempio. Supponiamo chesu un computer siano installati sistemi crittografici cheproteggono i documenti dal momento in cui sono archiviatilocalmente in poi (trasmissione, prelievo dal mail server earchiviazione sul computer di destinazione). Supponiamoal tempo stesso che, per carenza di sicurezza difensiva, unmalintenzionato convinca l’utente a eseguire un’applica-zione particolarmente interessante o divertente, che inrealtà installa un key logger, cioè un registratore dell’inputdi tastiera, salvato in un file che potrà essere prelevato se-gretamente attraverso Internet, anche tramite e-mail. Inquesto scenario, i documenti sono crittografati e ben pro-tetti come tali, ma il loro contenuto è stato intercettato amonte e viene trasmesso all’esterno.

La crittografiaLa parola crittografia deriva dal greco kryptós (nasco-

sto) e graphein (scrivere). L’utilizzo della “scrittura nasco-sta”, come accennato nella prima lezione, risponde da mil-lenni all’esigenza di mantenere riservate o segrete certe ca-tegorie di comunicazioni, a partire da quelle militari. Lacrittografia non studia come nascondere un messaggio (dicui si occupano altre tecniche, come la steganografia – chederiva dal greco stèganos – rendo occulto, nascondo), ben-sì come nascondere il significato o contenuto di un mes-saggio (o di un documento) in modo che risulti compren-sibile solo al destinatario stabilito dal mittente.

Il mittente di un messaggio prende il testo originale, det-to testo in chiaro, lo sottopone a un’operazione di cifraturae ottiene il testo cifrato. Il destinatario esegue un’operazio-ne di decifratura per ricostruire il messaggio originale. Persemplicità, e per assonanza con i termini in lingua inglese(plaintext e ciphertext), parliamo spesso di testo, inten-dendo che documenti e messaggi possono contenere ancheimmagini, sequenze audio/video, dati binari eccetera.

Il metodo utilizzato per cifrare il messaggio è detto al-goritmo di crittografia o cifrario.

Un esempio di algoritmo è la sostituzione di ogni letteracon la lettera che si trova tre posizioni più avanti nell’alfa-beto ed è noto come cifrario di Cesare. Nella moderna crit-tografia un cifrario prevede l’uso di una chiave di cifratura,una sequenza di caratteri di lunghezza massima stabilitache governa il funzionamento dell’algoritmo. L’algoritmoesegue una serie di trasformazioni dal testo in chiaro al te-sto cifrato: la chiave determina l’entità delle sostituzioni,trasposizioni e altre operazioni che formano l’algoritmo,così che, al variare della chiave, cambia il testo cifrato.Idealmente, per un dato testo in chiaro e per un dato algo-ritmo di cifratura, chiavi diverse generano sempre testi ci-frati diversi.

L’algoritmo definisce anche le regole con cui il testo ci-frato viene ritrasformato nel testo in chiaro originale at-traverso l’uso di una chiave di decifratura.

I moderni standard di crittografia si ispirano al Principiodi Kerchoff. Nel 1883, Auguste Kerchoff pubblicò un arti-colo in cui sosteneva che l’unico aspetto segreto di un si-stema crittografico dovrebbe essere la chiave. Kerchoff af-fermava che l’algoritmo dovrebbe essere di pubblico do-minio e che un sistema di sicurezza basato su troppi segretifinisce con l’essere più vulnerabile. Questo punto di vistaè condiviso dal settore privato, ma non necessariamentedalle agenzie militari e governative, che amano creare i pro-pri algoritmi mantenendoli segreti. Viceversa, è solo ren-dendo gli algoritmi ben noti che se ne possono scoprire leeventuali debolezze e vulnerabilità e si possono confron-tare le caratteristiche delle diverse soluzioni disponibili, in-ventando una nuova generazione di cifrari quando comin-ciano ad apparire le prime crepe in quelli consolidati.

Secondo il grado di sicurezza che si desidera ottenere,esistono diversi algoritmi e diverse gestioni delle chiavi. Lalunghezza delle chiavi determina il numero di valori possi-bili (che raddoppia a ogni bit aggiunto) e lo sforzo neces-sario per ricostruire il messaggio in chiaro in assenza del-la chiave. La lunghezza della chiave non è un termine di pa-ragone assoluto: secondo il tipo di algoritmo, varia la lun-

IT Administrator comprende sei moduli:1 Hardware del PC (PC Hardware)2 Sistemi operativi (Operating Systems)3 Reti locali e servizi di rete (LAN and NetworkServices)4 Uso esperto delle reti (Network Expert Use)5 Sicurezza informatica (IT Security)6 Progettazione reti (Network Design)

L’argomento di questo corso è il modulo 5 dellacertificazione EUCIP IT Administrator, dedicatoespressamente alla sicurezza informatica. Il modulo5 garantisce comunque il diritto a una certificazionea sé stante.Sul CD Guida 3 e sul DVD trovate un articolo che spiega il modo per ottenere la certificazione.

L’elemento centrale dellacrittografia è il cifrario oalgoritmo di cifratura chepermette latrasformazione delcontenuto di unmessaggio in modo chenon sia leggibile daestranei

Il documento cifrato puòessere ricostruito solo dachi possiede il cifrarioadatto.

Nella cifraturasimmetrica la chiave èunica e viene condivisa damittente e destinatario,perciò va mantenutasegreta. Per tale motivoprende il nome di cifraturaa chiave segreta

Page 22: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

ghezza di chiave considerata sicura nel contesto tecnolo-gico corrente.

Quando la chiave di cifratura è la stessa usata per la de-cifratura, o possono essere derivate facilmente una dall’al-tra, si parla di crittografia simmetrica. In questo caso, sia ilmittente sia il destinatario concordano sull’algoritmo dautilizzare e sulla chiave segreta. Quest’ultima dovrà esserecomunicata in modo sicuro (possibilmente di persona), do-vrà essere mantenuta segreta (possibilmente affidata soloalla memoria) e dovrà essere cambiata spesso per evitarnela scoperta, vuoi per mancanza di riservatezza nel suo usovuoi per via matematico-statistica analizzando un vastocampione di messaggi.

Se la chiave di cifratura è diversa da quella di decifratu-ra, si parla di crittografia asimmetrica. In tal caso le duechiavi sono generate contestualmente; una di esse prendeil nome di chiave privata ed è tenuta segreta (e custodita alsicuro) dal proprietario, mentre l’altra, detta chiave pub-blica, può essere messa a disposizione di chiunque. Le ca-ratteristiche principali di questa coppia di chiavi sono leseguenti:

1) per ogni chiave pubblica esiste una sola chiave pri-vata e viceversa, 2) se si utilizzano chiavi abbastanza gran-di, non è praticamente possibile ricavare la chiave privatadalla chiave pubblica, 3) per cifrare un documento si puòusare sia la chiave privata sia la chiave pubblica; per la de-cifratura si deve usare l’altra chiave della coppia.

Se per esempio si cifra un messaggio con la chiave pub-blica del destinatario, solo quest’ultimo sarà in grado didecifrarlo, utilizzando la corrispondente chiave privata. Seinvece si cifra un messaggio con la propria chiave privatae si rende disponibile la chiave pubblica, chiunque potràdecifrarlo (a patto di conoscere l’algoritmo utilizzato e diprocurarsi la chiave pubblica). Mentre un messaggio ci-frato con una chiave pubblica non garantisce l’identità delmittente e l’integrità del messaggio (chiunque può usareuna chiave pubblica), un messaggio cifrato con una chia-ve privata, nel momento in cui viene decifrato con la chia-ve pubblica, assicura che proviene dal proprietario dellechiavi e che non è stato modificato lungo il percorso. Suquesto principio si basa la firma digitale, di cui parleremopiù avanti.

Obiettivi della sicurezza attivaAbbiamo introdotto il concetto di sicurezza attiva, com-

plementare alle misure difensive della sicurezza passiva,per rendere i dati intrinsecamente sicuri. I servizi di sicu-rezza attiva, che proteggono dati e messaggi nei sistemiinformatici e di comunicazione, hanno i seguenti obiettivi:riservatezza (o confidenzialità), privacy, integrità, autenti-cità e non ripudio.

I servizi di sicurezza che permettono di raggiungere que-sti obiettivi sono basati su tecniche crittografiche e, comeè facile immaginare, fanno uso di architetture standardiz-zate e ben collaudate, di cui, almeno per il settore non mi-

litare, si conoscono in dettaglio le proprietà e il grado di si-curezza e affidabilità. L’accento è sull’uso di metodi e tec-nologie che hanno raccolto ampio consenso per la loro ef-ficacia ed efficienza e che permettono la facile interopera-bilità delle applicazioni, evitando i rischi e le complessitàdelle soluzioni ad-hoc. Tutti gli obiettivi di sicurezza attivacitati sono ottenibili tramite tecniche crittografiche stan-dardizzate.

Crittografia simmetricaLa crittografia simmetrica, detta anche crittografia a

chiave segreta, richiede che i due interlocutori usino lostesso algoritmo e la stessa chiave segreta. Ciò significache si deve trovare un canale sicuro per consegnare al de-stinatario la chiave o, meglio, dati privi di valore intrinsecoda cui il destinatario ricostruisca la chiave. Visto che ognicoppia d’interlocutori richiede una chiave segreta, se que-sta fosse un elemento statico, per esempio una frase con-cordata a voce tra due persone, il numero di chiavi da con-servare crescerebbe esponenzialmente con il numero degliinterlocutori. Per esempio, per proteggere la comunicazio-ne tra 10 persone, sarebbero necessarie 45 chiavi, che cre-scono a quasi mezzo milione per 1.000 interlocutori. In ge-nerale, per N persone che scambiano messaggi cifrati concrittografia simmetrica, occorrono N(N-1)/2 chiavi e cia-scuno degli N utenti deve conservare al sicuro N-1 chiavi.Di conseguenza, nella pratica si usano sistemi automaticiper la generazione e lo scambio sicuro delle chiavi.

Un altro aspetto della crittografia simmetrica è che con-ferisce riservatezza al messaggio, ma non assicura l’auten-ticazione o il non ripudio, poiché non c’è un’associazioneunivoca e sicura tra la chiave e un individuo. Di conse-guenza, il mittente apparente di un messaggio cifrato conchiave simmetrica potrebbe sempre negare di avere spe-dito il messaggio, attribuendone la responsabilità diretta oindiretta al destinatario (detentore della stessa chiave).

D’altra parte, gli algoritmi di crittografia simmetrica so-no molto veloci da eseguire e difficili da violare, se la chia-ve è abbastanza lunga. La crittografia simmetrica è l’unicaopzione utilizzabile per cifrare grandi quantità di dati, un’o-perazione fuori della portata degli algoritmi asimmetrici.

A un buon algoritmo di crittografia simmetrica sono ri-chieste alcune proprietà fondamentali, in modo che l’ana-lisi delle relazioni tra input e output non fornisca indica-zioni sull’algoritmo o sulla chiave:

1) il testo cifrato dev’essere funzione di tutti i bit dellachiave e del testo in chiaro, 2) non ci dev’essere nessuna re-lazione statistica evidente tra testo in chiaro e testo cifra-to, 3) modificando un singolo bit nel testo o nella chiave,ogni bit del testo cifrato è soggetto alla stessa probabilitàdi variazione, 4) modificando un bit nel testo cifrato, ognibit del testo decifrato è soggetto alla stessa probabilità divariazione.

www.pcopen.it22

5.2.2 Crittografiasimmetrica

5.2.2.1 Conoscere iprincipi dellacrittografiasimmetrica

La cifratura simmetricaprevede l’uso di una

chiave identica per cifraree decifrare, perciò talechiave va scambiata in

modo sicuro

I dati sono decifrabili solo da chi possiede la

chiave anche se vengonotrasmessi su un canaleinsicuro (accessibile ad

estranei)

Page 23: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

Esistono due tipi di cifrari simmetrici: a blocchi (blockcipher) e a flusso (stream cipher).

I cifrari a blocchi operano sui dati un blocco alla volta (ledimensioni tipiche dei blocchi sono di 64 o 128 bit) e ognioperazione su un blocco è un’azione elementare. I cifrari aflusso operano invece un bit o un byte alla volta; una voltainizializzati con una chiave, producono un flusso di bit e siprestano alla cifratura di grandi quantità di dati.

I cifrari a blocchi possono operare in diversi modi, chein molti casi prevedono il concatenamento dei blocchi for-nendo in input all’operazione corrente i risultati delle ope-razioni precedenti; il che rende il cifrario meno vulnerabi-le a certi tipi di attacchi.

I principali tipi di cifrari a blocchi sono due: ECB (Elec-tronic Code Book), CBC (Cipher Block Chaining).

Alla base troviamo la modalità ECB: ogni blocco di testoin chiaro viene trasformato in un blocco di testo cifrato. Lostesso blocco di testo, con la stessa chiave, produce sem-pre lo stesso blocco di testo cifrato, il che consente ai ma-lintenzionati di compilare un codice (code book) di tutti ipossibili testi cifrati corrispondenti a un dato testo in chia-ro. Se per esempio sappiamo che il blocco di testo contie-ne un pacchetto IP (Internet Protocol), i primi 20 byte di te-sto cifrato rappresentano sicuramente l’intestazione IP delpacchetto e possiamo usare tale conoscenza, abbinata a uncode book, per determinare la chiave. Al fine di avere bloc-chi di input di lunghezza stabilita dal cifrario, può esserenecessario aggiungere all’input un riempitivo (padding).

Il fatto che ogni blocco è indipendente dagli altri e pro-duce sempre lo stesso blocco cifrato, rende meno sicurol’algoritmo e permette a un attaccante di sostituire un bloc-co con un altro senza che il fatto sia rilevato. Avendo a di-sposizione una quantità di dati sufficienti e conoscendo lalingua o altre proprietà della comunicazione, si possonoanalizzare la frequenza con cui si presentano blocchi ugua-li e ricavare informazioni per compiere deduzioni sul testooriginale. La modalità ECB è quindi adeguata per testi mol-to brevi (idealmente di un blocco) o nei casi in cui la chia-ve cambi per ogni blocco. In compenso, un bit errato nellatrasmissione del testo cifrato causa un errore di decifratu-ra solo nel blocco interessato.

La modalità CBC (Cipher Block Chaining) utilizza ilblocco di testo cifrato precedente e lo combina in XOR (OResclusivo, un’operazione tra due bit che produce come ri-sultato 1 se i bit sono diversi o 0 se sono uguali) con il bloc-co successivo di testo in chiaro prima della cifratura. Il pri-mo blocco è combinato in XOR con un Vettore di Inizializ-zazione (IV, Initialization Vector), scelto con forti proprietàdi pseudocasualità in modo che testi diversi producano lostesso testo cifrato.

La decifratura funziona nel modo opposto: ogni bloccoè decifrato e combinato in XOR con il blocco precedente. Ilprimo blocco è decifrato e combinato in XOR con il vetto-re d’inizializzazione.

Poiché la cifratura dipende dai blocchi precedenti, unbit errato nella trasmissione del testo cifrato causa un er-rore di decifratura nel blocco interessato e in tutti quellisuccessivi. La modalità CBC assicura che le ripetizioni pre-

senti nel testo in chiaro non si riflettano in ripetizioni nel te-sto cifrato.

Altri modi utilizzati per i cifrari a blocchi sono il CFB(Cypher Feedback Mode), dove il blocco precedente di te-sto cifrato è cifrato e combinato in XOR con il blocco cor-rente di testo in chiaro (il primo blocco è combinato in XORcon il vettore d’inizializzazione) e l’OFB (Output FeedbackMode), che mantiene uno stato di cifratura, ripetutamentecifrato e combinato con i blocchi di testo in chiaro per pro-durre i blocchi cifrati (lo stato iniziale è costituito dal vet-tore d’inizializzazione).

Un cifrario a flusso (stream cipher) è un tipo di cifrariosimmetrico che può essere progettato in modo da essereeccezionalmente veloce, molto più rapido di qualunque ci-frario a blocchi. Mentre i cifrari a blocchi operano su bloc-chi di dati relativamente grandi (come 64 o 128 bit), i cifra-ri a flusso operano su unità più piccole, solitamente singo-li bit. Un cifrario a blocchi produce lo stesso testo cifrato aparità di testo in chiaro, di chiave e di vettore d’inizializza-zione. Con un cifrario a flusso, la trasformazione delle pic-cole unità di testo in chiaro varia a seconda del momentoin cui esse compaiono durante il processo di cifratura.

Un cifrario a flusso genera il keystream, ossia una se-quenza di bit usata come chiave, traducibile come flussochiave, e la cifratura avviene combinando il keystream conil testo in chiaro in un’operazione di OR esclusivo (XOR),bit per bit, equivalente a una somma con eliminazione del-l’eventuale riporto. La generazione del keystream può es-sere indipendente dal testo in chiaro e dal testo cifrato, pro-ducendo il cosiddetto cifrario sincrono, oppure può di-pendere dai dati e dalla loro cifratura, nel qual caso il ci-frario a flusso viene detto auto-sincronizzante. La maggiorparte dei cifrari a flusso sono del tipo sincrono.

Principali algoritmi di crittografia simmetricaEsistono diversi algoritmi di crittografia simmetrica,

ognuno con le proprie caratteristiche di velocità, con spe-cifici requisiti di risorse hardware o software e con un pro-prio livello di sicurezza (misurato dal tempo necessario peril “cracking”, cioè la scoperta della chiave segreta). Peresempio, alcuni sono più sicuri, ma richiedono un’imple-mentazione hardware, altri sono meno sicuri, ma presen-tano bassi requisiti di memoria e si prestano per l’uso conpiattaforme limitate come le smartcard.

Alcuni esempi di algoritmi di crittografia simmetrica trai più conosciuti sono: Data Encryption Standard (DES), Tri-ple-DES (3DES), Blowfish, International Data Encryption Al-gorithm (IDEA), Advanced Encryption Standard (AES), Ri-vest Cipher #4 e #5 (RC4 e RC5) e Skipjack.

DESIl National Institute of Standards and Technology (NIST),

ex National Bureau of Standards, è una divisione del Di-partimento del Commercio statunitense, strettamente le-gato alla National Security Agency (NSA) che a sua volta ap-partiene al mondo militare. All’inizio degli anni ’70, era al-la ricerca di un algoritmo di crittografia da adottare comestandard. Tra i produttori invitati a proporre soluzioni, IBMpresentò il proprio algoritmo Lucifer a 128 bit, utilizzatoper le transazioni finanziarie. Lucifer fu accettato, ma laNSA lo modificò riducendone la chiave a 64 bit (di cui 56 bit

www.pcopen.it23

Crittografia simmetrica a blocchi in modalità CBC

5.2.2.2 Conoscere iprincipali standard dicrittografiasimmetrica e le loroprincipali differenze(DES, 3DES, AES,eccetera)

Crittografia simmetrica ablocchi in modalità CBC(Cipher Block Chaining).

Cifrario a flusso congenerazione di keystream(flusso chiave) e cifraturacontinua del testo inchiaro.

Page 24: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it24

ITAdministrator - Sicurezza informatica Lezione 2

effettivi e 8 usati per il controllo di parità), rinominandoloData Encryption Standard. Nel 1977 DES divenne lo stan-dard nazionale di crittografia per le informazioni non clas-sificate (ossia non confidenziali). Nel corso degli anni, il NI-ST ha ricertificato periodicamente DES attraverso i docu-menti FIPS (Federal Information Processing Standards Pu-blication) 46-1, 46-2 e 46-3, fino alla fase di transizione traDES e il suo successore AES. DES è l’algoritmo di cifraturapiù conosciuto ed è stato il primo di cui sono stati fornititutti i dettagli di implementazione. E’ stato incluso nellamaggioranza dei prodotti commerciali dotati di funzionalitàcrittografiche ed è stato usato dagli enti governativi. Per ol-tre un decennio, DES è stato considerato uno degli algorit-mi più efficaci ed efficienti, finché la NSA smise di suppor-tarlo nel 1988, prevedendo la sua vulnerabilità a fronte del-la crescita della potenza di calcolo dei computer. Nel 1998DES fu violato in un attacco di tipo “forza bruta” (test di tut-te le possibili chiavi) durato tre giorni, con un computer do-tato di 1.536 processori. Tale fatto accelerò il processo disostituzione di DES con 3DES (tripla applicazione di DES) econ AES. Dal 1999, DES poteva essere usato solo sui siste-mi “legacy”, cioè hardware o software antiquato ancora inuso, e nella pratica corrente doveva essere sostituito da3DES e in seguito da AES.

DES è un algoritmo di crittografia simmetrica a blocchidi 64 bit secondo il modello di Horst Feistel (il crittologo diIBM che l’ha sviluppato), che prevede la divisione del bloc-co in due metà e una serie di sostituzioni e permutazioni in16 passaggi con scambi tra i due semiblocchi.

3DESSaltato il doppio DES (chiave di 112 bit) perché si dimo-

strò che avesse la stessa efficacia del DES, si passò alla tri-pla applicazione del DES (112 o 168 bit per le chiavi) pro-lungando il ciclo di vita di questo particolare sistema di ci-fratura. 3DES è 256 volte più robusto del DES, ma richiedefino al triplo di tempo per la cifratura e la decifratura. Esi-stono diverse varianti di 3DES:- DES-EE3: utilizza tre diverse chiavi di cifratura- DES-EDE3: usa tre chiavi per cifrare, decifrare e cifrare di

nuovo i dati- DES-EEE2 e DES-EDE2: come sopra, salvo che la prima e la

terza operazione utilizzano la stessa chiave.L’algoritmo alla base di 3DES è lo stesso di DES, l’algo-

ritmo più studiato e collaudato di tutti i tempi. 3DES è mol-to robusto e affidabile, ma è stato progettato circa 30 annifa ed è stato concepito per l’implementazione in hardware.A maggior ragione, 3DES è poco efficiente in software e nonè considerato una soluzione valida a lunga scadenza, anchese saranno necessari parecchi anni per la sua definitiva so-stituzione.

AESDopo che il DES era stato usato per oltre 20 anni e si av-

vicinava il momento del suo “cracking”, il NIST decise cheera tempo d’introdurre un nuovo standard di crittografia.La decisione fu annunciata nel 1977, assieme alla richiestadi candidature. Il nuovo standard avrebbe dovuto essereun algoritmo simmetrico a blocchi capace di supportarechiavi di 128, 192 e 256 bit. I finalisti furono MARS di IBM(sviluppato dagli autori di Lucifer), RC6 (di RSA Laborato-ries), Serpent (di Anderson, Biham e Knudsen), Twofish (diCounterpane Systems) e Rijndael (dei belgi Joan Daemon eVincent Rijmen). Rijndael (così chiamato dai nomi degli au-tori) fu stato scelto dal NIST per sostituire il DES. E’ statopubblicato dal NIST nel 2001 col nome di AES ed è l’algo-ritmo richiesto per proteggere le informazioni riservate, manon classificate, del governo statunitense. AES utilizzablocchi di 128 bit, rappresentati sotto forma di matrice;ogni blocco viene cifrato in 10, 12 o 14 passaggi (a secondadella lunghezza della chiave) che comprendono operazio-ni di sostituzione dei byte, permutazione delle righe della

matrice, sostituzione delle colonne, combinazione XOR deibyte con una matrice (chiave espansa) ottenuta espan-dendo la chiave dai 128, 192 o 256 bit originari a 176, 208 o240 byte.

L’attento scrutinio dell’algoritmo Rijndael non ha mo-strato punti deboli, tanto che nel 2003 il governo USA ha au-torizzato l’uso di AES per la cifratura di documenti classi-ficati fino al livello di secret con chiave di 128 bit e di top se-cret con chiave di 192 o 256 bit. E’ la prima volta che il pub-blico ha accesso ai dettagli di un algoritmo crittografico ap-provato per informazioni di massima segretezza. Al 2004,sono noti attacchi su 7, 8 e 9 passaggi rispettivamente conchiavi di 128, 192 e 256 bit; qualche crittografo ha espres-so dubbi sulla tenuta futura del margine di sicurezza, ma,a meno di sorprese, è previsto che AES risulti sicuro per de-cenni a venire. AES è utilizzabile senza il pagamento diroyalty.

BlowfishBlowfish è un cifrario simmetrico a blocchi di 64 bit con

chiavi di lunghezza fino a 448 bit. Durante la cifratura i da-ti sono sottoposti a 16 fasi di funzioni crittografiche. Blow-fish è un algoritmo molto robusto ed è stato scritto da Bru-ce Schneier, uno degli autori più citati nel campo della crit-tografia.

IDEAIDEA è un cifrario simmetrico a blocchi di 64 bit, suddi-

visi in 16 sotto-blocchi sottoposti a otto serie di manipola-zioni matematiche. IDEA presenta similitudini con DES, maè molto più robusto. La chiave è lunga 128 bit. IDEA è bre-vettato ed è concesso in licenza dalla società svizzera Me-diacrypt.

RC5RC5 è un cifrario simmetrico a blocchi dotato di parec-

chi parametri per assegnare le dimensioni del blocco, lalunghezza della chiave e il numero di passaggi di trasfor-mazione da eseguire. E’ stato creato da Ron Rivest (la R diRSA). Di solito si utilizzano blocchi di 32, 64 o 128 bit e lachiave può raggiungere i 2.048 bit. RC5 è stato brevettatoda RSA Security nel 1997. Il basso consumo di memoria lorendono adatto per smartcard e altri dispositivi simili.

SkipjackSkipjack è un cifrario a blocchi sviluppato dalla NSA nel

1987, messo in servizio nel 1993 e declassificato nel 1998.Opera su blocchi di 64 bit con una chiave di 80 bit e può

Opzioni di crittografia inMicrosoft Outlook

Page 25: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

sfruttare le principali modalità di crittografia a blocchi: ECB,CBC, CFB e OFB. E’ stato fornito in chipset preconfezionatie nella cryptocard Fortezza, una PC Card con processore dicifratura e memoria per i dati da cui costruire le chiavi.Skipjack è un cifrario molto robusto, ma la lunghezza limi-tata della chiave lo rende inferiore all’AES. Skipjack è utiliz-zato soprattutto da militari e agenzie governative USA.

RC4RC4 è il più noto dei cifrari a flusso. E’ stato creato nel

1987 da Ron Rivest per RSA Security. Utilizza un keystreamdi dimensioni variabili (ma solitamente di 128 bit) e operasu un byte alla volta. In origine il cifrario era segreto, ma fufatto filtrare su Internet. L’algoritmo è molto robusto se uti-lizzato con chiavi di lunghezza adeguata (tipicamente 128bit) casuali e non riutilizzate. Nel 2000 il governo USA ha ri-mosso la limitazione a 40 bit per l’esportazione dei prodotticon RC4. RC4 è 10 volte più veloce di DES. Due esempi diimpiego sono nel protocollo SSL (Secure Sockets Layer) uti-lizzato dai browser Internet per lo scambio sicuro di infor-mazioni (per esempio nelle transazioni commerciali) e nelprotocollo WEP (Wired Equivalent Privacy) che è parte del-lo standard 802.11 per le LAN wireless.

Crittografia nel PCLe immagini seguenti mostrano alcuni degli algoritmi di

crittografia supportati da Microsoft Outlook e dal browserOpera (su piattaforma Windows) e dal browser Konqueror(su piattaforma SUSE Linux).

Crittografia asimmetricaPer la maggior parte della storia della crittografia,

dall’antichità nota fino a qualche decennio fa, mitten-

te e destinatario dei documenti segreti utilizzavano,per la cifratura e la decifratura, la stessa chiave, con-cordata in anticipo usando un mezzo di trasmissionenon crittografico e custodita al sicuro.

Si è già accennato alle difficoltà di gestione dellechiavi simmetriche e alla proliferazione di chiavi dacustodire e distribuire segretamente. Whitfield Diffie eMartin Hellmann, i primi a introdurre pubblicamentei concetti della crittografia a chiave pubblica nel 1976,si posero l’obiettivo di risolvere due dei principali pro-blemi della crittografia simmetrica: 1) la necessità di condividere una chiave, preceden-temente distribuita agli interlocutori, o, in alternativa,allestire un centro per la distribuzione delle chiavi(key distribution center) e 2) l’esigenza di associare ai messaggi e documenti ci-frati una “firma digitale” equivalente a una firma au-tografa su carta. Diffie ed Hellmann a Stanford e Merk-ley a Berkeley unirono le rispettive competenze sullacrittografia a chiave pubblica e sulla distribuzione del-le chiavi pubbliche rivoluzionando il mondo della ri-cerca crittografica, fino ad allora chiuso nelle stanzedegli enti militari. Solo in seguito, sono venute alla luce levere e segrete origini della crittografia achiave pubblica: a metà degli anni ’60presso la National Security Agency -NSA (secondo affermazioni del diretto-re dell’NSA di quel tempo, indiretta-mente suffragate dall’uso nell’NSA di te-lefoni basati su crittografia a chiavepubblica) e nel 1973 presso il britannicoGovernment Communications Headquarters (GCHQ),i cui documenti sono stati rivelati nel 1997 dal Com-munications-Electronics Security Group (CESG), ilbraccio del GCHQ per la sicurezza delle informazioni. I documenti di Ellis e Cocks (www.cesg.gov.uk/), in as-senza di documentazione dell’NSA, sono quindi i piùantichi riguardo la nascita della crittografia asimme-trica. Dopo Ellis e Cocks e Diffie, Hellmann e Merkley,il terzo gruppo chiave per lo sviluppo della crittogra-fia a chiave pubblica è stato Rivest, Shamir e Adleman,autori dell’algoritmo RSA. La loro ricerca è quasi contemporanea ai lavori di Dif-fie, Hellmann e Merkley (ma basata su un diverso prin-cipio matematico) e costituisce un ulteriore passo inavanti, perché include l’implementazione della firmadigitale. Oggi RSA è la sigla più spesso associata allanozione di crittografia a chiave pubblica, ma in molteapplicazioni sono utilizzate le tecnologie derivate dal-lo scambio chiavi di Diffie-Hellmann.

La crittografia asimmetrica, ossia a chiave pubbli-ca, fa uso di due chiavi diverse per cifrare e decifrarei messaggi o documenti. Con un sistema di crittogra-fia a chiave pubblica, gli utenti possono comunicare inmodo sicuro attraverso un canale insicuro senza do-ver concordare in anticipo una chiave. Un algoritmoasimmetrico prevede che ogni utente abbia una cop-pia di chiavi: la chiave pubblica e la chiave privata, inrelazione tra loro, ma tali che non si possa ricavare l’u-na dall’altra. La chiave privata dev’essere custodita alsicuro dal proprietario, mentre la chiave pubblica puòessere distribuita senza restrizioni, a patto che sia au-tenticata. La proprietà fondamentale di un algoritmoasimmetrico è che si può cifrare un messaggio conuna qualsiasi delle due chiavi, dopo di che si deve uti-lizzare l’altra chiave per decifrarlo.

Se Alessandro vuole spedire a Bruno un documen-to riservato, deve procurarsi una copia autenticatadella chiave pubblica di Bruno (in pratica un certifi-cato digitale di Bruno) e con essa cifrare il messaggio.Bruno utilizza la propria chiave privata per decifrare

www.pcopen.it25

Opzioni di crittografiain Opera

Opzioni di crittografia in Konqueror

Nella crittografiaasimmetrica, detta anchecrittografia a chiavepubblica, esiste sempreuna coppia di chiavi, traloro inseparabili: unapubblica e una privata

5.2.3. Crittografiaasimmetrica

5.2.3.1 Conoscere iprincipi di crittografiaasimmetrica

Page 26: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

il messaggio e ricostruire il documento originale. Ilmessaggio rimane riservato, ma non si può essere cer-ti della sua autenticità, ossia che sia stato spedito daAlessandro.

Se Alessandro vuole inviare a Bruno un documento

in modo da garantirne l’autenticità e l’integrità, lo ci-fra con la propria chiave privata, dopo di che Bruno(ma anche chiunque altro) lo decifra con la chiavepubblica di Alessandro. In questo caso manca la ri-servatezza.

Per assicurare riservatezza, autenticità e integrità,

Alessandro potrebbe utilizzare una doppia cifratura,con la propria chiave privata e con la chiave pubblicadi Bruno. Questi tre scenari sono puramente didattici;in pratica, vedremo che esistono metodi più efficientie che la crittografia asimmetrica non è usata per ci-frare l’intero contenuto dei messaggi.

Torniamo al primo esempio, in cui Alessandro inviaun messaggio cifrato con la chiave pubblica di Bruno.Un modo per autenticare il messaggio, dimostrando lapropria identità, è quello di allegare un certificato di-gitale, ovvero un oggetto che associa la chiave pub-blica al suo proprietario, eliminando il sospetto che ilmittente sia un impostore. Un certificato digitale è ri-lasciato da un’autorità di certificazione (CA, Certifi-cation Authority), uno degli elementi che compongo-no un’infrastruttura a chiave pubblica (PKI, Public KeyInfrastructure, un sistema per la creazione e gestionedelle chiavi pubbliche). Il certificato garantisce dell’i-dentità del possessore della chiave pubblica: la cop-pia di chiavi viene tipicamente generata sul computerdell’utente e presso la CA viene conservata la solachiave pubblica e il certificato che la CA ha generatosulla base di questa.

Il certificato digitale contiene varie informazioni piùla chiave pubblica del suo proprietario, ed è firmatodall’autorità che lo emette per attestare la validità delcertificato e del certificatore.

Un’alternativa all’uso dei certificati emessi da unaCA è l’utilizzo di PGP (Pretty Good Privacy), un meto-do ampiamente diffuso per cifrare messaggi e docu-menti tramite una coppia di chiavi che chiunque puògenerare, senza certificazione o con un certificato fir-mato, non da una Certification Authority, bensì da al-tri utenti fidati che formano una rete di fiducia.

Il metodo dei certificati si basa su una struttura or-ganizzata e comporta oneri in base alle funzionalità emodalità d’impiego.

Thawte è l’unica CA che fornisce certificati gratuitidi durata annuale per uso personale, da usare per fir-mare e cifrare la posta elettronica. L’uso di PGP e del-le sue varianti (come vedremo in seguito) è invece piùlibero e informale e ha forme d’implementazione gra-tuite.

I cifrari asimmetrici hanno prestazioni bassissime,inferiori a quelle dei cifrari simmetrici per vari ordinidi grandezza (RSA è mille volte più lento di DES). Per-ciò, di solito, non sono utilizzati per cifrare interi mes-saggi e documenti, bensì per cifrare una chiave di ses-sione, che a sua volta viene utilizzata per cifrare ilmessaggio con un cifrario simmetrico. Una chiave disessione è una chiave temporanea “usa e getta”, crea-ta al momento e distrutta alla fine della sessione, peresempio dopo l’invio di un messaggio e-mail cifrato oalla fine di una transazione Internet con SSL (SecureSockets Layer – il protocollo standard per transazionisicure su Internet).

In questo scenario ibrido, che vede l’uso contem-poraneo di cifrari simmetrici e asimmetrici, s’inne-sta un altro dei mattoni fondamentali delle applica-zioni crittografiche, cioè le funzioni di hash. Una fun-zione di hash riceve in input un messaggio o un bloc-co di dati di lunghezza variabile e fornisce come ri-sultato un valore di lunghezza fissa chiamato codicedi hash (hash code o semplicemente hash) o anchemessage digest o hash digest.

Una tale funzione è progettata in modo che a un da-to input corrisponda sempre lo stesso output e chesia minima la probabilità che input diversi generino lostesso output (collisione). Un hash rappresenta una“impronta informatica” (fingerprint) del messaggio odocumento su cui è calcolato e serve a verificare l’in-tegrità dei dati: qualunque alterazione ai dati causa

www.pcopen.it26

Impiego della chiavepubblica del destinatarioper cifrare un messaggio

che solo il destinatariopotrà decifrare con la

propria chiave segreta.Chiunque può accedere

alla chiave pubblica eperciò la fonte delmessaggio non è

autenticabile

Impiego della propriachiave privata

per autenticare e cifrareun messaggio che verrà

poi decifrato daldestinatario con la nostrachiave pubblica. In questo

caso la fonte delmessaggio è autenticata,

ma la segretezza ècompromessa visto chechiunque può accedere

alla nostra chiavepubblica

Usiamo la chiavepubblica del destinatarioper cifrare un messaggio

che solo lui potràdecifrare con la sua

chiave privata, maaggiungiamo un

certificato che autenticala nostra identità

Page 27: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

5.2.4. Funzioni dihash e digest

5.2.4.1 Conoscere i principi difunzionamento dellefunzioni di has edigest

Sottoponendo allafunzione di hash undocumento di lunghezzaqualsiasi si ottiene undigest o hash dilunghezza fissa che neidentifica univocamente ilcontenuto (firmainformatica) senzapermettere di risalire alcontenuto

un’alterazione dell’hash. Una funzione di hash può es-sere vista come una funzione di compressione o di ci-fratura a senso unico, perché non c’è modo di risali-re dall’hash ai dati di partenza.

Standard di crittografia asimmetricaCi sono parecchi algoritmi di crittografia asimmetrica,

ma quelli più noti, sicuri e utilizzati sono il citato RSAe quelli derivati dalla ricerca di Diffie e Hellmann, tracui ElGamal e DSA.

RSA, dell’omonima azienda, è il cifrario asimmetricopiù utilizzato. Può essere usato sia per la cifratura (perottenere la riservatezza), sia per la firma digitale (perottenere l’autenticazione), sia per lo scambio dellechiavi (come nell’esempio di cui sopra). Secondo RSA,una chiave asimmetrica di 1.024 bit equivale, in robu-stezza, a una chiave simmetrica di 80 bit (una lun-ghezza oggi relativamente limitata), mentre chiavi di2.048 e 3.072 bit equivalgono a chiavi simmetriche di112 e 128 bit. RSA raccomanda di utilizzare almeno1.024 bit fino al 2.010, mentre 2.048 bit dovrebbero es-sere adeguati fino al 2.030, per poi passare a 3.072 bit.Secondo il NIST (National Institute of Standards andTechnology), una chiave RSA di 15.360 bit equivale auna chiave simmetrica di 256 bit. In pratica, per chiaviimportanti che si prevede di usare per molti anni, con-viene passare a 2.048 bit, come già s’inizia a vedere perle chiavi di firma dei certificati digitali.

Gli algoritmi asimmetrici si basano su calcoli mate-matici facili da eseguire in una direzione, ma molto dif-ficili, o pressoché impossibili da eseguire nella dire-zione inversa. RSA si basa sulla difficoltà di scompor-

re in fattori il prodotto di due numeri primi di grandi di-mensioni. La soluzione di Diffie ed Hellmann si basa in-vece sul cosiddetto problema del logaritmo discreto,ovvero della difficoltà di risalire alla x nell’equazionegx = y mod p. La notazione y mod p (y modulo p) indi-ca il resto della divisione y/p. Il metodo Diffie-Hellmannè utilizzato per lo scambio delle chiavi, dove i due in-terlocutori si scambiano le chiavi pubbliche e, con leproprie chiavi private, costruiscono una chiave segre-ta condivisa. L’algoritmo ElGamal, dal nome del suo in-ventore, sfrutta anch’esso il problema del logaritmo di-screto, dove x è la chiave privata e p, g e y formano lachiave pubblica. ElGamal può essere usato sia per la ci-fratura sia per l’autenticazione con firma digitale. E’ unalgoritmo sicuro e ha la caratteristica di generare untesto cifrato lungo il doppio del testo in chiaro.

Una variante dell’algoritmo ElGamal è il DSA, o Digi-tal Signature Algorithm, sviluppato dalla NSA e pub-blicato dal NIST (National Institute of Standards andTechnology) e diventato uno standard del governoUSA. DSA ha una chiave pubblica e una privata, ma vie-ne usato solo per la firma dei documenti, non per la ci-fratura. DSA richiede l’uso dell’algoritmo di hash SHA(Secure Hash Algorithm), uno standard FIPS (FederalInformation Processing Standard) statunitense. SHAgenera un digest di 160 bit che viene passato a DSA oa un altro degli algoritmi di firma digitale ammessi dalgoverno USA (RSA ed ECDSA, Elliptic Curve Digital Si-gnature Algorithm). Lo standard federale americanoper la firma elettronica si chiama DSS (Digital Signatu-re Standard), di cui DSA è l’algoritmo di firma e SHA èl’algoritmo di hash.

A parità di lunghezza di chiave, RSA e DSA hanno si-curezza comparabile.

Se il problema del logaritmo discreto e la fattorizza-zione del prodotto di numeri primi sono i due metodimatematici alla base dei cifrari asimmetrici più diffusi,la recente crittografia a curve ellittiche (ECC) si rivelapromettente in termini di efficienza, con chiavi moltopiù corte. Una chiave ECC di 163 bit equivale a unachiave RSA di 1024 bit. Le curve ellittiche sono unabranca della teoria dei numeri e sono definite da certeequazioni cubiche (di terzo grado); le loro proprietàpermettono di creare algoritmi crittografici asimme-trici, vista l’estrema difficoltà di eseguire i calcoli a ri-troso per ricostruire la chiave privata dalla chiave pub-blica e dalle condizioni iniziali. Un esempio di utilizzodell’ECC è nella ECDSA, una variante più efficiente delDSA basata sulle curve ellittiche.

Riferimenti bibliografici:Handbook of Applied Cryptography, A. Menezes, P. vanOorschot, S. Vanstone, 1996.Scaricabile in Pdf da www.cacr.math.uwaterloo.ca/hacApplied Cryptography, Bruce Schneier, Second Edition,1996Cryptography and Network Security, William Stallings,Third Edition, 2002Internet Cryptography, Richard Smith, 1997

Funzioni di hash e digestUn hash è un numero binario di lunghezza fissa, ri-

cavato da un input (file, messaggio, blocco di dati ec-

www.pcopen.it27

5.2.3.2 Conoscere i principali standarddi crittografia achiave pubblica

Scambio della chiavesegreta con cifraturaasimmetrica RSA.Alessandro e Brunovogliono scambiaremessaggi cifrati concrittografia simmetrica.Bruno manda adAlessandro la sua chiavepubblica RSA edAlessandro la usa percifrare la chiave segretacasuale per la sessioneche spedisce a Bruno inmodo sicuro. Brunodecifra la chiave segretausando la sua chiaveprivata RSA e quindi lausa per cifrare ilmessaggio. Alessandrousa la chiave segretache ha generato perdecifrare il messaggio diBruno

Page 28: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

cetera) di lunghezza variabile, che funge da “impronta”del dato di partenza. L’analogia con l’impronta digita-le è pertinente, perché è compatta, può essere facil-mente archiviata, trasmessa ed elaborata elettronica-mente e consente d’identificare un individuo senza cheda essa si possa risalire alle caratteristiche fisiche del-la persona.

In modo simile, sottoponendo un documento elet-tronico a un algoritmo di hash, si ottiene un dato di pic-cole dimensioni (tipicamente 128 o 160 bit) che iden-tifica il documento senza permettere di risalire al suocontenuto. Il codice di hash risultante dall’applicazio-ne di una funzione di hash a un documento, viene chia-mato hash, digest o impronta informatica del docu-mento.

Per essere efficace, un algoritmo di hash deve sod-disfare i seguenti requisiti:- può essere applicato a dati di qualunque dimensione- produce un risultato di lunghezza fissa- il codice di hash è relativamente facile da calcolareper qualsiasi input, rendendone pratica l’implemen-tazione hardware e software

- per qualsiasi codice di hash h, non è praticamentepossibile trovare un dato di input tale per cui l’algo-ritmo produca h come risultato (l’algoritmo è cioè asenso unico)

- per qualunque dato di input x, non è praticamentepossibile trovare un dato y diverso da x per cui l’al-goritmo produca lo stesso codice di hash (resistenzadebole alle collisioni)

- è praticamente impossibile trovare una coppia di da-ti (x, y) tale per cui l’algoritmo produca lo stesso co-dice di hash quando è applicato a x e a y (resistenzaforte alle collisioni)

- come corollario, la modifica di qualsiasi bit del datodi input produce una modifica del codice di hash; an-che la trasposizione di due bit, che non modifiche-rebbe una checksum (somma di controllo) per il con-trollo di parità, modifica il valore dell’hash.

L’espressione “non è praticamente possibile” signi-fica che non è computazionalmente fattibile con le tec-nologie correnti e con quelle prevedibili nei prossimianni.

Un esempio di applicazione consiste nel calcolarel’hash di un messaggio e inviarlo, cifrato insieme almessaggio, in modo che il destinatario, ricalcolandol’hash dei dati con lo stesso algoritmo di hashing, pos-sa verificare l’integrità dei dati ricevuti. Inoltre, se l’ha-sh è stato cifrato con la chiave privata del mittente, laverifica (decifratura dell’hash tramite chiave pubblicadel mittente e confronto con l’hash ricalcolato sul mes-saggio ricevuto) serve anche per stabilire l’autenticitàdel mittente.

Un altro esempio di utilizzo è offerto dai MessageAuthentication Code (MAC), calcolati come hash delmessaggio con aggiunta di una chiave segreta condivi-

sa (simmetrica). Il messaggio viene spedito con il MAC aggiunto in

coda. Il destinatario separa il MAC dai dati, aggiunge lachiave segreta e ricalcola il MAC. Se i due MAC coinci-dono, il destinatario sa che i dati sono integri. L’uso delMAC permette la verifica dell’integrità solo a chi è inpossesso della chiave segreta. Inoltre, se qualcuno mo-dificasse il messaggio, non potrebbe ricalcolarne ilMAC senza avere la chiave segreta, quindi la modificaverrebbe scoperta.

Questa tecnica viene chiamata keyed hashing (ha-shing con chiave).

Il MAC assicura che il messaggio non è stato altera-to e che proviene dal mittente dichiarato (nessun altropossiede la chiave segreta) si tratta quindi di un’au-tenticazione indiretta e non forte (visto che la chiave ènel possesso di due persone e perciò non è possibilestabilire con assoluta certezza quale delle due abbiagenerato il messaggio e il relativo hash). Inoltre, se ilmessaggio include un numero di sequenza, il destina-tario ha anche la certezza che la sequenza non sia sta-ta alterata.

Un MAC può essere usato per l’autenticazione delmessaggio (come nell’esempio) o per l’autenticazionee la riservatezza (tramite cifratura). Quest’ultima puòessere realizzata calcolando il MAC sul messaggio inchiaro più la chiave e poi cifrando il messaggio più ilMAC generato prima usando la medesima chiave, op-pure, viceversa, cifrando prima il messaggio e succes-sivamente calcolando il MAC su messaggio già cifrato

www.pcopen.it28

Un esempio d’uso dellefunzioni di hash è nelcalcolo di un MessageAuthentication Code, checonsente al destinatariodi verificare la solaintegrità dei dati ricevuti.I dati vengono trasmessiin chiaro in abbinamentoa un MAC (MD5, SHA-1 osuccessivi) che è statocalcolato unendo ilmessaggio e la chiavesegreta

È possibile utilizzare ilMAC in abbinamento allacifratura per garantire sia

la riservatezza sial’integrità del messaggio.

L’approccio è duplice 1) si cifra il messaggiocon la chiave segreta e

quindi si aggiunge l’hasho digest calcolato con lastessa chiave, oppure si

calcola l’hash sulmessaggio in chiaro e poi

si cifra messaggio piùhash con la chiave

segreta

Page 29: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

più la chiave.Il keyed hashing può essere usato anche per fornire

l’autenticazione a un messaggio di tipo stream (flussocontinuo), dividendo lo stream in blocchi e calcolandoil MAC di ogni blocco. I MAC diventano parte dellostream e servono per verificare l’integrità dei dati ri-cevuti. L’uso degli hash è molto più rapido rispetto al-la generazione delle firme digitali, un altro campo diapplicazione delle funzioni di hash.

Un tipo speciale di MAC è chiamato HMAC ed è spe-cificato nella RFC 2104. HMAC è anch’essa una funzio-ne keyed hash, ma in realtà costituisce un keyed hashall’interno di un keyed hash.

Può utilizzare qualsiasi algoritmo di hash, come SHAe MD5, prendendo il nome di HMAC-SHA o HMAC-MD5.HMAC, dal punto di vista crittografico, è più robustodella sola funzione di hash di base, come è stato di-mostrato da un attacco riuscito contro MD5 (una col-lisione creata trovando due input che producono lostesso hash), mentre HMAC-MD5 non è stato vulnera-bile a tale attacco.

Indicando con H l’algoritmo di hash utilizzato, M ilmessaggio e K la chiave, la funzione HMAC è definitacome:

HMAC (K, M) = H (K XOR opad, H (K XOR ipad, M))

dove ipad è un array di 64 elementi di valore 0x36(36 in esadecimale) e opad è un array di 64 elementi divalore 0x5C.

Tutta l’autenticazione dei messaggi in IPSEC (una fa-miglia di protocolli utilizzata per trasmissioni sicure suInternet) avviene tramite HMAC.

Principali algoritmi di hashFra i numerosi algoritmi di hash riportati in lettera-

tura, tre sono quelli più utilizzati per le loro caratteri-stiche di efficienza e sicurezza: MD5, SHA-1 e RIPEMD-160.

MD5, evoluzione di MD4, è stato sviluppato da RonRivest all’MIT nel 1991 ed è descritto nella RFC 1321(www.ietf.org/rfc).

MD5 è molto popolare, ma la crescita della potenzadi calcolo e i primi successi degli attacchi sia basati suforza bruta sia di tipo crittoanalitico (basati sull’anali-si dell’algoritmo) inducono a considerare MD5 vulne-rabile e hanno suggerito lo sviluppo di nuovi algoritmicon un output più lungo dei 128 bit di MD5 e con ca-ratteristiche specifiche per resistere agli attacchi crit-toanalitici.

SHA-1 è stato sviluppato dal NIST ed è stato pubbli-cato come standard federale USA nel 1993 con il nomedi Secure Hash Algorithm (SHA, FIPS 180) e rivedutonel 1995 come SHA-1 (FIPS180-1). SHA-1 è specificatoanche nella RFC 3174 che, rispetto al FIPS 180-1, inclu-de anche un’implementazione in C.

SHA-1 riceve in input un messaggio di lunghezzamassima inferiore a 264 bit (una dimensione equiva-lente a 2.147 Gbyte e perciò praticamente illimitata),suddiviso in blocchi di 512 bit, e produce un hash di160 bit. Sia SHA-1 sia MD5 derivano da MD4, ma SHA-1è notevolmente più robusto grazie ai 32 bit aggiuntividell’hash, che rendono molto più arduo un attacco ditipo forza bruta. Sul fronte degli attacchi crittoanaliti-ci, MD5 ha iniziato a mostrarsi vulnerabile fin dai pri-mi anni di vita, mentre SHA-1 non risulta vulnerabile al-lo stesso tipo di attacchi.

Nel frattempo sono state specificate le evoluzioni diSHA-1 a 224 bit (RFC 3874) e a 256, 384 e 512 bit di ha-sh, talvolta chiamate ufficiosamente SHA-2 e annun-

ciate dal FIPS 180-2. I rispettivi standard si chiamanoSHA-224, SHA-256, SHA-384 e SHA-512.

RIPEMD-160 è stato sviluppato nell’ambito del pro-getto European RACE Integrity Primitives Evaluation(RIPE) da un gruppo di ricercatori che avevano conse-guito parziali successi nell’attaccare MD4 e MD5.

Inizialmente gli autori svilupparono una versione a128 bit, ma visto che era possibile attaccare due fasi dielaborazione, decisero di espanderla a 160 bit. L’algo-ritmo è descritto nella norma ISO/IEC 10118-3:1998“Information technology - Security techniques - Hashfunctions - Part 3: Dedicated hash-functions” (ISO,1998).

Anche RIPEMD-160 deriva da MD4 e ha molte analo-gie con MD5 e SHA-1. Alla pari di SHA-1, è molto resi-stente ad attacchi di vario tipo; l’ulteriore complessitàrispetto a SHA-1 dovrebbe rendere RIPEMD-160 anco-ra più protetto da attacchi crittoanalitici, benché piùlento in esecuzione.

Glossario di crittografiaAlgoritmo (o cifrario): un insieme di regole logiche e matematiche usate nel-la cifratura e nella decifratura.

Chiave: la sequenza segreta di bit che governa l’attodella cifratura o della decifratura.

Crittografia: la scienza della scrittura nascosta (o segreta) che per-mette di memorizzare e trasmettere dati in una formautilizzabile solo dagli individui a cui essi sono destina-ti.

Crittosistema: l’implementazione hardware o software della critto-grafia, che trasforma un messaggio in chiaro (plain-text) in un messaggio cifrato (ciphertext) e poi di nuo-vo nel messaggio in chiaro originario.

Crittoanalisi: la pratica di ottenere il messaggio in chiaro dal mes-saggio cifrato senza disporre della chiave o senza sco-prire il sistema di cifratura.

Crittologia: lo studio della crittografia e della crittoanalisi.

Testo cifrato (ciphertext): dati in forma cifrata o illeggibile.

Cifrare o cifratura: l’azione di trasformare i dati in formato illeggibile.

Decifrare o decifratura: l’azione di trasformare i dati in formato leggibile.

Keyspace (spazio delle chiavi): l’insieme di tutti i possibili valori che una chiave puòassumere.

Testo in chiaro (plaintext o cleartext): dati in forma leggibile o intelligibile.

Work factor (fattore di lavoro): il tempo, lo sforzo e le risorse che si stimano necessa-ri per violare un crittosistema.

5.2.4.2 Principalialgoritmi di hash

Page 30: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

www.pcopen.it30

Riassumiamo i principali caratteri distintivi dei due mo-delli di crittografia. Nella prima parte della lezione 2abbiamo visto in dettaglio le differenze tra crittogra-

fia simmetrica (a chiave segreta) e crittografia asimmetri-ca (a chiave pubblica e privata). Rivediamoli brevemente.

Simmetrica: 1) migliori prestazioni, 2) adatta per cifraremessaggi lunghi, 3) chiavi brevi, 4) pone il problema delladistribuzione delle chiavi, 5) facile uso con PRGN (Pseudo-Random Number Generator) e funzioni di hash, 6) utilizza-bili come componenti di uno schema ad alta sicurezza, 7)lunga storia, 8) tecnologia collaudata

Asimmetrica: 1) chiavi molto lunghe, 2) cattive presta-zioni, 3) adatta per cifrare dati brevi, 4) risolve il problemadella distribuzione delle chiavi, 5) la chiave può essere au-tenticata; 6) le chiavi pubbliche possono essere accessibi-li pubblicamente, presso terze parti fidate, 7) vita più lun-ga delle chiavi, 8) utilizzabile per la firma digitale, 9) storiabreve (anni ’70)

PRNG significa Pseudo-Random Number Generator (ge-neratore di numeri pseudo-casuali), una funzione che tra ivari impieghi include la generazione di chiavi simmetrichedi sessione.

Per la lunghezza delle chiavi, Schneier, in Applied Cryp-tography (scritto nel 1995), raccomandava almeno 112 bitper le chiavi simmetriche (come nel 3DES a due chiavi) eprevedeva, per il periodo 2005-2010, la necessità di usarechiavi asimmetriche lunghe 1.280, 1.536 o 2.048 bit rispet-

tivamente per utilizzo personale, aziendale o governativo.Secondo le linee guida del NIST (Key Management Guideli-ne, novembre 2001), una chiave 3DES di 112 bit ha la robu-stezza di una chiave RSA di 2.048 bit, mentre una chiaveAES di 256 bit equivale a una chiave RSA di 15.360 bit.

Vantaggi della crittografia simmetrica- utilizza algoritmi molto veloci, che possono cifrare/deci-frare grandi quantità di dati per secondo, dell’ordine del-le centinaia di MByte al secondo.

Applicazioni pratiche delle più moderne tecniche di crittografia edei protocolli che regolano le transazioni on-line. La lezione, oltrea essere un requisito per il conseguimento della certificazioneufficiale EUCIP IT Administrator – Sicurezza Informatica, validain tutta Europa, spiega come condurre operazioni sicuremediante il PC garantendo riservatezza, integrità e autenticitàdei documenti e delle persone in gioco, oltre che il non ripudiodelle decisioni concordate. I contenuti si articolano in quattroelementi: un articolo sinteticosulla rivista che riepiloga soloi concetti essenziali, l’articolocompleto in formato PDF e uncorso multimediale completo su CD e DVD di Giorgio Gobbi

Materiale didatticovalidato da AICACertificazione EUCIPIT AdministratorModulo 5 - IT SecuritySicurezza informatica

"AICA Licenziatariaesclusiva in Italia delprogramma EUCIP(European Certificationof InformaticProfessionals), attestache il materiale didatticovalidato coprepuntualmente eintegralmente gliargomenti previsti nelSyllabus IT Administratore necessari per ilconseguimento dellacertificazione ITAdministrator ITSecurity. Diconseguenza AICAautorizza sul presentemateriale didattico l'usodel marchio EUCIP,registrato da EUCIP Ltde protetto dalle leggivigenti"

Obiettivo del corso IT AdministratorSicurezza InformaticaFornire al lettore familiarità con i vari modi diproteggere i dati sia su un singolo PC sia in una LANconnessa a Internet. In particolare, metterlo nellecondizioni di proteggere i dati aziendali controperdite, attacchi virali e intrusioni. Inoltre, metterlonelle condizioni di conoscere e utilizzare le utility e iprogrammi più comuni destinati a tali scopi.Riferimento Syllabus

2.0 (curriculumufficiale AICA)

5.2.5. Confronto trai metodi di cifratura

5.2.5.1 Vantaggi esvantaggi dellacrittografiasimmetrica easimmetrica

I contenuti delle 8 lezioni Lezione 1: Informazioni generaliLezione 2: parte 1Crittografia -

fondamenti e algoritmiLezione 2: parte 2Crittografia -

applicazioniLezione 3: Autenticazione

e controllo degli accessiLezione 4: DisponibilitàLezione 5: Codice malignoLezione 6: Infrastruttura a chiave pubblicaLezione 7: Sicurezza della reteLezione 8: Aspetti sociali, etici e legali della

sicurezza informatica

In collaborazionecon:

� Applicazioni della crittografia

Firma elettronica ecertificati digitali per le operazioni elettroniche

Page 31: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it31

Lezione 2 IT Administrator - Sicurezza informatica

5.2.5.2 Saperdistinguere tra idiversi livelli disicurezza e il relativopeso

- può cifrare e decifrare messaggi e documenti di lunghez-za illimitata

- le chiavi utilizzate sono relativamente brevi; AES, peresempio, utilizza chiavi di 128, 192 o 256 bit (la scelta del-la lunghezza della chiave dipende dai requisiti di sicurez-za presente e futura)

- gli algoritmi a chiave simmetrica possono essere integra-ti nella realizzazione di schemi di cifratura più complessi,insieme a funzioni hash e a generatori PRNG

- più algoritmi simmetrici, non abbastanza robusti se uti-lizzati singolarmente, possono essere combinati per otte-nere schemi di cifratura di notevole robustezza (come nelcaso di 3DES costruito utilizzando l’ormai superato DES)

- la crittografia simmetrica si è sviluppata in un lungo arcodi tempo e utilizza meccanismi ben studiati e collaudati.

Vantaggi della crittografia asimmetrica - un utente deve conservare solo una chiave privata, men-tre la chiave pubblica è resa disponibile a tutti (anche serichiede l’onere della certificazione per essere ritenuta au-tentica)

- per la gestione delle chiavi sulla rete è sufficiente la pre-senza di una CA (Autorità di certificazione) affidabile, manon necessariamente sempre online

- la coppia chiave privata/chiave pubblica può restare in-variata per lunghi periodi di tempo (anche anni, se il tipod’impiego non è critico)

- in una rete di grandi dimensioni, è necessario un numerodi chiavi limitato (proporzionale al numero di utenti, an-ziché in relazione quadratica come nel caso di chiavi sim-metriche)

Problemi della crittografia simmetrica- la chiave usata per la cifratura e decifratura da una coppiadi interlocutori deve restare segreta ed essere cambiata difrequente; la soluzione migliore è la generazione di unachiave casuale per ogni sessione di comunicazione abbi-nata a uno dei meccanismi di scambio sicuro delle chiavi

- in una rete con N utenti, a meno che si usino chiavi di ses-sione, il numero di chiavi simmetriche è pari a N(N-1)/2; segestite da una terza parte fidata, ne farebbero il punto de-bole del sistema

I due interlocutori devono avere un canale sicuro perscambiarsi la chiave segreta; una soluzione efficace utiliz-za i meccanismi di scambio delle chiavi che hanno dato vi-ta alla crittografia asimmetrica (vedi l’esempio alla sezione5.2.3.1 - Principi di crittografia asimmetrica).

Problemi della crittografia asimmetrica - richiede una modalità di autenticazione delle chiavi pub-bliche

- gli algoritmi di cifratura sono lenti (tipicamente mille vol-te più lenti rispetto ai simmetrici)

- è applicabile a dati di breve lunghezza (inferiore alla lun-ghezza della chiave)

- le chiavi asimmetriche sono di lunghezza decisamentemaggiore rispetto alle chiavi simmetriche (non meno di1.024 bit)

- nessun metodo utilizzato dagli algoritmi asimmetrici (co-me la fattorizzazione del prodotto di numeri primi o il cal-colo del logaritmo discreto) è stato matematicamente di-mostrato essere sicuro; la loro sicurezza si basa sull’e-strema difficoltà, con i mezzi correnti, di risolvere deter-minati problemi della teoria dei numeri

- nel 2003 l’ufficio federale tedesco per la sicurezza infor-matica ha violato il metodo di fattorizzazione alla base diRSA per numeri di 174 cifre decimali, corrispondenti aRSA-576; la crescita della lunghezza delle chiavi potrebbedover essere più rapida del previsto, dopo che il mate-matico Bernstein, con il suo articolo “Circuits for IntegerFactorization” del 2001, ha scosso la fiducia nel sistema dicifratura/decifratuira di RSA e ha teorizzato la vulnerabi-

lità delle chiavi di 1.536 bit (mentre la maggior parte dei si-stemi, come HTTPS, SSH, IPSec, S/MIME e PGP utilizzanoRSA con chiavi di lunghezza limitata)

Livelli di sicurezza Dato che non esiste un singolo algoritmo di crittografia

ideale per tutte le occasioni, si dovranno considerare di-versi fattori nell’operare la scelta dell’algoritmo, o più spes-so della combinazione di algoritmi, da utilizzare per unacerta applicazione. Alcuni criteri di base sono i seguenti:- stima del livello di affidabilità sulla base degli anni di uti-lizzo, dell’analisi di robustezza, degli attacchi subiti, valu-tando anche la presumibile durata futura

- dimensione della chiave in base alle esigenze di sicurezzae alla progressiva estensione della chiave, negli anni, perpreservare la robustezza di un algoritmo

- efficienza di calcolo e consumo di risorse in relazione al-le piattaforme hardware/software da utilizzare.

Come anche citato in precedenza, la dimensione dellachiave gioca un ruolo fondamentale, riassumibile in dueaspetti:- nella crittografia simmetrica, DES (con chiave di 56 bit) ea maggior ragione gli algoritmi a 40 bit sono da conside-rare obsoleti perché non sicuri e violabili con comunicomputer; è necessario utilizzare 3DES o algoritmi conchiave di almeno 128 bit, come AES

- nella crittografia asimmetrica, chiavi inferiori a 1.024 bitnon offrono più garanzie sufficienti; sono adeguate le chia-vi di 1.024 bit per uso personale e durata annuale (comu-ni nei certificati digitali usati per la posta elettronica) e lechiavi di 2.048 bit per uso più generale e durata plurien-nale.

Sulle categorie di attacco, sui livelli di sicurezza neces-sari per le categorie di utenza (privata, business, governa-tiva, eccetera), sulla longevità e robustezza degli algoritmie sulla crescita delle chiavi col passare degli anni, si trovaabbondante documentazione, per esempio presso i siti diNIST e di SANS Institute. Mostriamo due tabelle, una sullarobustezza equivalente delle chiavi tra diversi algoritmi el’altra su algoritmi raccomandati e lunghezza minima dellechiavi, tratte dalla versione 2003 del citato Key Manage-ment Guideline di NIST, Parte 1 (http://csrc.nist.gov/Cryp-toToolkit/KeyMgmt.html)

L’articolo “A Discussion of the Importance of Key Lengthin Symmetric and Asymmetric Cryptography” di SANS(http://www.giac.org/practical/gsec/Lorraine_Williams_GSEC.pdf) passa in rassegna diverse fonti d’informazione sul-la lunghezza delle chiavi e include tra l’altro due tabelle:una stima del 1997 sulla lunghezza delle chiavi in funzionedei tipi di attacco e una stima sulla lunghezza minima del-le chiavi pubblicata da Schneier nel suo classico “Applied

Una mappa dellarobustezza delle chiavisecondo i valori diequivalenza calcolati dal NIST

Page 32: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it32

ITAdministrator - Sicurezza informatica Lezione 2

Cryptography” del 1996. Un decennio di sviluppi hardwaree software, di evoluzioni concettuali e di attacchi andati abuon fine oltre le previsioni, suggeriscono stime legger-mente meno ottimistiche e il frequente aggiornamento delrapporto tra livelli di sicurezza e algoritmi e lunghezza del-le chiavi. La prima tabella si riferisce a chiavi asimmetriche,la seconda a chiavi simmetriche; entrambe sono ottimisti-che sulla distanza.

Distribuzione delle chiavi Nei capitoli precedenti abbiamo citato i problemi con-

nessi con la trasmissione e lo scambio di chiavi, derivantidalla necessità di mantenere segrete le chiavi simmetrichee di assicurare l’integrità e l’autenticità dei dati trasmessi.Vediamo in sintesi gli argomenti principali.

Distribuzione delle chiavi simmetrichePer utilizzare la crittografia simmetrica, i due interlocu-

tori devono disporre della stessa chiave, che deve restaresegreta per chiunque altro. Inoltre, per limitare i danni po-tenziali di una chiave compromessa, la chiave segreta do-vrebbe essere sostituita di frequente. Ne consegue che, perquanto sia robusto il cifrario utilizzato, la sicurezza di un si-stema crittografico simmetrico dipende dalla tecnica di di-stribuzione delle chiavi, ossia dai modi di consegnare unachiave a due interlocutori A e B senza che altri la possanovedere.

Vediamo alcuni approcci:1) A sceglie una chiave e la consegna fisicamente a B2) Una terza parte fidata sceglie una chiave e la consegna

fisicamente ad A e B3) Se A e B hanno già usato una chiave di recente, uno di lo-

ro trasmette all’altro la nuova chiave cifrata con quellavecchia

4) Se A e B hanno una connessione cifrata con una terzaparte C, questa può consegnare una chiave ad A e B at-

traverso i collegamenti cifratiLe soluzioni 1 e 2 sono praticabili solo nel caso di due in-

terlocutori che utilizzano un dispositivo di cifratura per ci-frare il collegamento (tutto ciò che passa sulla linea), manon sono applicabili a trasmissioni da un punto all’altro diun sistema distribuito. In una rete, la scala del problema di-pende dal numero di punti terminali in comunicazione. Sela cifratura è applicata allo strato 3 di rete, vale a dire al pro-tocollo IP (considerando il modello OSI oppure il modelloTCP/IP) e ci sono N host (computer collegati alla rete), ilnumero di chiavi necessarie è N(N-1)/2. Se la cifratura vie-ne eseguita a livello applicativo, serve una chiave per ognicoppia di utenti o processi in comunicazione, il che ci por-ta a un ordine di grandezza superiore al numero di host.Una rete con 1.000 nodi e cifratura a livello di nodo avreb-be bisogno di distribuire mezzo milioni di chiavi, ma se lastessa rete avesse 10.000 applicazioni in funzione, ciascu-na con la propria cifratura delle comunicazioni, le chiavi dadistribuire sarebbero dell’ordine dei 50 milioni.

La soluzione 3 è praticabile sia a livello di collegamento(link) sia tra i punti di una rete, ma se un nemico si procu-ra una chiave, avrà scoperto tutte le chiavi successive. Perla cifratura tra punti di una rete, la soluzione 4 è la più uti-lizzata. Si basa su un Key Distribution Center (KDC, centrodi distribuzione delle chiavi) che, quando necessario, di-stribuisce una chiave a una coppia di utenti (host, proces-si o applicazioni). Ogni utente condivide con il KDC unachiave segreta usata per la distribuzione delle chiavi.

Quando A vuole stabilire una connessione logica con B,invia al KDC la richiesta di una chiave simmetrica tempo-ranea (chiave di sessione) da usare nella comunicazionecon B e, per identificare la richiesta in modo univoco (ascopo di sicurezza), include nonce, ovvero un numero ca-suale, progressivo o segnatempo, sempre diverso per ognirichiesta. Il KDC risponde inviando ad A un messaggio ci-frato con la chiave condivisa tra A e il KDC. Questo mes-saggio contiene: 1) la chiave di sessione da usare tra A e B2) il messaggio originale con il nonce per abbinare la ri-

sposta alla richiesta 3) una parte destinata a B e cifrata con la chiave che B con-

divide col KDC, contenente la chiave di sessione e unidentificatore di A (per esempio il suo indirizzo di rete).Tali contenuti proteggono la riservatezza, l’integrità el’autenticazione dei dati. A memorizza la chiave di ses-sione e inoltra a B la chiave di sessione e il proprio iden-tificatore cifrati con la chiave di B, che solo il KDC po-trebbe aver confezionato. B usa la chiave di sessione perinviare ad A un nonce di propria scelta. A, sempre usan-do la chiave di sessione, risponde a B con qualche tipodi trasformazione concordata del nonce, che mostra a Bche il messaggio è autentico e non una ripetizione usataper trarlo in inganno.Questa è la traccia di base, soggetta a varianti ed evolu-zioni (per esempio la gerarchia di KDC e la distribuzionedecentralizzata delle chiavi) per adattarsi alle diverse ap-plicazioni.

Distribuzione delle chiavi asimmetricheConsideriamo, per prima cosa, la distribuzione delle

chiavi pubbliche, visto che la chiave privata deve esserecustodita al sicuro sul computer della persona a cui ap-partiene. La maggior parte delle tecniche di distribuzionerientra in questi quattro schemi:

1) Annuncio pubblico2) Directory di pubblico accesso3) Autorità per le chiavi pubbliche4) Certificati di chiave pubblica.Nel caso 1, i partecipanti possono inviare ad altri la chia-

ve, farne il broadcast (totale diffusione) in una comunità,pubblicare la chiave su una mailing list, su un newsgroupo su un sito. Il punto debole fondamentale di tale approc-

5.2.5.3 Conoscere iproblemi didistribuzione dellechiavi nellacrittografiasimmetrica easimmetrica

Algoritmi raccomandatiin funzione dellalunghezza minima dellechiavi.

Una stima, ottimistica,della robustezza dei varitipi di chiave in funzione

dell’attacco subitopubblicata da SANS

(SysAdmin, Audit,Network, Security

Institute ) nel 1997

Una stima sullalunghezza minima delle

chiavi pubblicata daSchneier nel 1996

Page 33: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

cio è che chiunque può fingere di essere l’utente A e invia-re o pubblicare una chiave pubblica. Prima che A se ne ac-corga e avvisi gli interessati, l’impostore avrà letto i mes-saggi cifrati destinati ad A e avrà usato le chiavi fasulle perl’autenticazione.

Il caso 2 consiste nell’affidare la manutenzione e distri-buzione delle chiavi pubbliche a una terza parte fidata.Questa entità mantiene una directory con una voce (nomee chiave pubblica) per ogni partecipante. Ogni parteci-pante registra la sua chiave pubblica di persona o attra-verso una comunicazione autenticata; quando lo desidera,può sostituire la chiave (per esempio dopo un certo perio-do d’uso o perché la chiave privata è stata compromessa).La directory può essere aggiornata e pubblicata periodi-camente anche su media off-line. I partecipanti possono ac-cedere alla directory solo attraverso comunicazioni au-tenticate dal gestore. Lo schema 2 è più sicuro del caso 1,ma se un nemico riesce a procurarsi la chiave privata delgestore della directory, può iniziare a far circolare falsechiavi pubbliche, a impersonare qualunque partecipante(impostura) e a intercettare i messaggi diretti ai parteci-panti. Lo stesso scopo può essere raggiunto attraversoun’intrusione che riesca ad accedere alle registrazioni te-nute dal gestore.

Il caso 3 è realizzato partendo dal caso 2 ed esercitandoun controllo più stretto sulla distribuzione delle chiavi pub-bliche. Ora ogni partecipante conosce la chiave pubblicadell’autorità, la quale è l’unica a conoscere la propria chia-ve privata. Vediamo i passi da eseguire quando A vuole co-municare con B. A invia all’autorità la richiesta della chia-ve pubblica di B e un timestamp con la registrazione tem-porale (data, ore, minuti, eccetera). L’autorità risponde conun messaggio cifrato mediante la propria chiave privata,che contiene la chiave pubblica di B e una copia della ri-chiesta e del timestamp (A ora dispone della certezza cheil messaggio viene dall’autorità, che non è stato alterato eche risponde alla richiesta corrente). A memorizza la chia-ve pubblica di B e la usa per cifrare un messaggio indiriz-zato a B contenente un identificatore di A e un nonce N1usato per identificare la transazione in modo univoco. Bcontatta l’autorità per ricevere la chiave di A (invia la ri-chiesta e il timestamp). L’autorità risponde a B inviando, ci-frati con la propria chiave privata, la chiave di A, la richie-sta e il timestamp. Ora B risponde ad A cifrando, con lachiave pubblica di A, il nonce N1 ricevuto da A e un nuovononce N2 generato da B. Per finire, A invia a B un messag-gio di conferma, cifrato con la chiave di B, contenete il non-ce N2. I quattro messaggi con cui A e B si procurano le chia-vi pubbliche del loro interlocutore avvengono raramente,mentre la comunicazione tra A e B avviene per un certo pe-riodo di tempo utilizzando le chiavi ricevute, in base allestime e ai requisiti di sicurezza.

Un punto debole di questo schema è la centralizzazionedell’autorità, a cui gli utenti devono rivolgersi ogni voltache vogliono usare la chiave pubblica di un altro utente,creando un conseguente collo di bottiglia. Inoltre, come nelcaso 2, la directory dei nomi e delle chiavi pubbliche è sog-getta a intrusioni e manomissioni.

Il caso 4 prevede l’uso dei public-key certificate, ossiacertificati di chiave pubblica (chiamati anche certificati achiave pubblica). I certificati servono agli utenti per scam-biare le chiavi pubbliche senza dover contattare un’auto-rità, ma con lo stesso grado di sicurezza che si avrebbe sele chiavi fossero fornite direttamente dall’autorità che am-ministra la directory. Ogni certificato contiene la chiavepubblica e varie informazioni; è creato da una CertificationAuthority ed è consegnato all’utente. Un utente A trasmet-te la propria chiave pubblica a un utente B inviandogli ilcertificato; B verifica che il certificato sia stato creato dal-l’autorità dei certificati.

Lo schema 4 funziona in questo modo: un utente A ri-chiede alla CA (di persona o via comunicazione autentica-

ta) un certificato, fornendo la propria chiave pubblica; laCA risponde ad A con un messaggio cifrato con la propriachiave privata e contenente il tempo, l’identificatore di A ela sua chiave pubblica; A trasmette il certificato (cifrato) aB; B decifra il certificato ricevuto usando la chiave pubbli-ca della CA, accertando così che il certificato di A provie-ne dalla CA e verificando l’integrità e la validità dei conte-nuti (tempo, identità di A e chiave di A). B può ripetere lestesse operazioni e inviare ad A il proprio certificato, ci-frato dalla CA in modo da garantirne la sicurezza. In questoschema, il tempo contenuto nel certificato determina il li-mite di validità; se la chiave privata di un utente viene com-promessa e il titolare, dopo la notifica alla CA, non riesce adavvisare tutti gli interessati, il certificato cessa di valere tra-scorso un certo tempo dal timestamp.

In questo schema, descritto da Stallings in Crypto-graphy and Network Security, vediamo un antesignano deimoderni certificati digitali, che hanno struttura e utilizzo di-versi rispetto al modello riportato sopra. Oggi il tipo più co-mune di certificato digitale è conforme allo standard ITUX.509, versione 3, del 1997, che comprende una serie diinformazioni, la chiave pubblica e una firma digitale appli-cata dalla CA, con la propria chiave privata, a un hash (o di-gest) calcolato sui campi precedenti (le informazioni e lachiave pubblica). In questo modo la CA certifica tutte leinformazioni del certificato e la loro associazione alla chia-ve pubblica. La gestione delle chiavi e dei certificati X.509fa parte della PKI (Public Key Infrastructure - infrastruttu-ra a chiave pubblica, basata su una gerarchia di Certifica-tion Authority). Uno standard per i certificati, più semplicedell’X.509, è quello dei certificati PGP (Pretty Good Privacy)citati in precedenza, che non sono firmati da una CA, mapossono essere firmati da parecchi individui quale atte-stazione di fiducia.

Distribuzione di chiavi simmetriche tramite chiaviasimmetriche

Nella sezione 5.2.3.1 (Principi di crittografia asimmetri-ca) abbiamo mostrato un esempio di distribuzione di unachiave segreta (simmetrica) tramite crittografia asimme-trica RSA. L’esempio ci ricorda che la crittografia asimme-trica è lenta e si applica a dati di piccole dimensioni, men-tre quella simmetrica è anche mille volte più veloce e ac-cetta dati di qualsiasi lunghezza. La distribuzione dellechiavi simmetriche non si limita quindi all’uso di un centrodi distribuzione, ma può utilizzare i meccanismi della crit-tografia asimmetrica, a partire dal primo che è stato pub-blicizzato: lo scambio di chiavi secondo Diffie-Hellmann.

Whitfield Diffie e Martin Hellmann pubblicarono il primoarticolo sui crittosistemi a chiave pubblica (“New Direc-tions in Cryptography”) nel 1976, descrivendo un metodoper stabilire un dato segreto condiviso sulla base delloscambio d’informazioni non segrete su un canale non si-curo. Lo scambio di chiavi Diffie-Hellmann non è studiatosolo per ragioni storiche; è tuttora alla base, per esempio,del protocollo IKE (Internet Key Exchange) di scambio del-le chiavi utilizzato da IPSec, la forma più avanzata di sicu-rezza a livello IP (IPSec è lo standard più sicuro per le retiprivate virtuali o VPN).

Mostriamo brevemente come funziona lo scambio Diffie-Hellmann. Supponiamo che Alessandro e Bruno siano i par-tecipanti allo scambio e che, per prima cosa, concordinosulla scelta di un numero primo p e di un generatore g. Loscambio avviene in due parti. Nella prima parte, sia Ales-sandro sia Bruno scelgono un numero privato casuale, aper Alessandro e b per Bruno, e lo usano come esponentenelle espressioni seguenti per produrre un valore pubblico(A per Alessandro e B per Bruno). Ricordiamo che mod p(modulo p) indica il resto della divisione per p.

Alessandro BrunoA=ga mod p B=gb mod p

www.pcopen.it33

NOTA: CertificateAuthority oCertificationAuthority?Nella letteratura, unaCA viene spessodefinita unaCertificate Authorityanziché unaCertificationAuthority. Comefanno rilevare Adamse Lloyd nel loroeccellente“Understanding PKI”,ciò è scorrettotecnicamente elogicamente, perchénon esiste una“Certificate Authority”nell’X.509 e perchéla CA non ha autoritàsui certificati. NellaPKI, l’autorità suicertificati è unapolicy authority (ossiapolicy managementauthority), mentreuna CA è solo lostrumento cheemette i certificati inconformità allaCertificate Policy(politica deicertificati) dettatadalla policy authority.Anche l’autorevole“Digital Signatures”di RSA Press utilizzala forma CertificationAuthority.

Page 34: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

www.pcopen.it34

ITAdministrator - Sicurezza informatica Lezione 2

Ora Alessandro e Bruno si scambiano i valori pubblici:Alessandro invia A a Bruno e Bruno invia B ad Alessandro.Alessandro e Bruno elevano a potenza i valori pubblici ri-cevuti, usando come esponente il proprio valore privato.

Alessandro BrunoBa mod p = gab mod p = Ab mod p

Il valore ottenuto è il segreto condiviso; ora Alessandroe Bruno possono usarlo per proteggere le loro comunica-zioni. A e B sono stati trasmessi su una rete insicura senzanessun rischio per la sicurezza. Neppure g e p hanno biso-gno di essere tenuti segreti, perché non permettono di sco-prire il segreto.

Questa versione dello scambio di chiavi è vulnerabile altipo di attacco chiamato man-in-the-middle (l’uomo inmezzo), dove il nemico si presenta ad Alessandro come sefosse Bruno e a Bruno come se fosse Alessandro, racco-gliendo e decifrando le informazioni trasmesse. Questa vul-nerabilità viene eliminata facendo in modo che Alessandroe Bruno firmino digitalmente i propri valori pubblici, il cheimpedisce all’uomo in mezzo d’ingannare Alessandro eBruno, come avviene in IKE (Internet Key Exchange). Un ot-timo riferimento a riguardo è “IPSec” di Nagand Dora-swamy e Dan Harris (l’autore del protocollo IKE).

Questo capitolo ha proposto una serie (non completa)di spunti sul tema della gestione e distribuzione delle chia-vi. Come ultimo argomento, citiamo alcuni possibili ap-procci alla generazione delle chiavi asimmetriche, unaspetto legato alla loro distribuzione. Abbiamo già distintotra l’uso di PGP (e delle sue varianti Open Source) e la ge-nerazione autonoma della coppia di chiavi e il ricorso a unaCertification Authority per la generazione dei certificati edelle relative chiavi su cui tali certificati si basano. Duran-te la richiesta di un certificato, la Certification Authority faeseguire al computer dell’utente la generazione della cop-pia di chiavi e si prende unicamente la chiave pubblica alfine di generare il certificato che rilascia contestualmente.La chiave pubblica viene quindi mantenuta negli archividella CA e il proprietario ne dispone di una copia locale as-sieme alla chiave privata che dovrà mantenere segreta, ma-gari rimuovendola anche dal computer perché la relativasegretezza costituisce l’unica garanzia ai fini dell’autenti-cazione. Nell’ambito della PKI (infrastruttura a chiave pub-blica), le coppie di chiavi possono anche essere generatesul computer della CA, ma tale approccio non viene utiliz-zato nella pratica poiché consente il ripudio, visto che l’u-tente non sarebbe l’unico possessore della chiave privata.Di conseguenza la coppia di chiavi viene sempre generatasul computer dell’utente (per esempio mediante le funzio-ni del browser) e solo la chiave pubblica viene trasmessaalla CA o alla RA (Registration Authority, un elemento op-zionale della PKI a cui la CA può delegare parte dei propricompiti). I libri sulla PKI e sulle firme digitali espandono ta-le argomento, oggetto di discussioni e di varie soluzioni.

Ruolo del software libero nella crittografiaPer software libero (traduzione di free software), s’in-

tende software che 1) può essere liberamente eseguito per qualunque scopo 2) può essere studiato e adattato da chiunque, data la pub-

blica disponibilità del codice sorgente 3) può essere liberamente ridistribuito, in modo da aiutare

altri utenti 4) può essere migliorato e rilasciato al pubblico, così che

l’intera comunità ne tragga beneficio. La definizionecompleta di software libero è pubblicata nel sito dellaFree Software Foundation alla pagina www.fsf.org/licen-sing/essays/free-sw.html. GNU (pronuncia gutturale co-me in Wagner), acronimo ricorsivo di “GNU is Not Unix”,è un esempio di software libero compatibile con Unix eoggi ampiamente utilizzato nelle varianti GNU/Linux

che utilizzano il kernel (nucleo) di Linux.Il software libero, grazie alla vitalità delle comunità di

utenti e sviluppatori, ha dato un grosso contributo alla dif-fusione del software crittografico e all’evoluzione delle ca-ratteristiche di robustezza e prestazioni di tutte le imple-mentazioni.

La moderna crittografia si basa sul principio già citatoche è preferibile rendere pubblici gli algoritmi e puntaresulla segretezza e sulle caratteristiche delle chiavi per ot-tenere il massimo livello di sicurezza. La robustezza di uncrittosistema si basa, in primo luogo, sulla validità dell’al-goritmo (o algoritmi) e sulla lunghezza delle chiavi (altri fat-tori in gioco sono, ad esempio, la qualità e la correttezzadell’implementazione e l’efficacia della gestione delle chia-vi). Se l’algoritmo è robusto, basta utilizzare chiavi abba-stanza lunghe per dilatare a piacere (anche trilioni d’anni)il tempo presumibilmente necessario per ricostruire unachiave o comunque violare l’algoritmo.

Vista la complessità e la delicatezza del software critto-grafico, dove un errore può sfuggire più facilmente che nel-le normali implementazioni, la disponibilità delle specifichedegli algoritmi ha consentito un ampio studio dei loro proe contro e la nascita di numerosi progetti open source e re-lative implementazioni. Il confronto tra diverse implemen-tazioni, la partecipazione di esperti e l’utilizzo da parte diun esercito di utenti che non sarebbe stato raggiungibiledal software a pagamento, ha permesso a tali progetti diprodurre software di qualità eccellente. Anche le aziendeprivate hanno contribuito allo sviluppo di tale software,rendendo disponibili implementazioni di riferimento e an-teponendo i benefici derivanti dalla qualità dei sorgenti,ampiamente diffusi, al possibile inconveniente del riutiliz-zo da parte di terzi, che caratterizza il software libero. Inol-tre, l’ampia diffusione e l’assenza di barriere artificiali hapermesso ai produttori di software crittografico di esegui-re test d’interoperabilità dei loro prodotti a costo più bas-so e con la necessità di eseguire meno test con i concor-renti, potenzialmente dispendiosi in termini di tempo e dienergie.

Perciò il software libero non va inteso come softwaregratuito, anche se può esserlo; talvolta il software libero,anche nella crittografia, fornisce maggiori garanzie rispet-to al software commerciale. La disponibilità dei sorgentipermette agli utenti che dispongono delle competenze ne-cessarie di accertarsi che il software sia ben realizzato, im-plementi fedelmente le specifiche e non nasconda qualchebackdoor.

Una lista non completa, ma significativa di progetti freesoftware in corso è la seguente.

- Progetto OpenSSL (www.openssl.org): si basa sull’ec-cellente libreria software SSLeay sviluppata da Eric Younge Tim Hudson e mette a disposizione un’implementazionemolto robusta dei protocolli SSLv2 e SSLv3 (http://wp.net-scape.com/eng/ssl3/) e TSLv1 (RFC 2246) e una libreria difunzioni crittografiche di uso generale, utilizzate sia da al-tri progetti open source sia da applicazioni software com-merciali.

- OpenCA Labs (ex Progetto OpenCA, www.openca.org):è un’organizzazione aperta avente lo scopo di studiare esviluppare progetti relativi alla PKI. Il progetto originale èstato suddiviso in unità più piccole per accelerare e meglioorganizzare gli sforzi. Il progetto OpenCA di sviluppo di unaPKI è uno sforzo collaborativo per sviluppare una Certifi-cation Authority open source attraverso l’uso dei proto-colli crittografici più robusti e ampiamente accettati. Open-CA si basa su diversi progetti open source, come OpenL-DAP, OpenSSL, Apache e Apache mod_ssl.

- Progetti Open Source PKI Mozilla(www.mozilla.org/projects/security/pki): librerie critto-grafiche per lo sviluppo di applicazioni, tra cui Network Se-curity Services (NSS), Network Security Services for Java(JSS), Personal Security Manager (PSM) e PKCS #11 Confor-

5.2.5.4 conoscere ilruolo giocatodall'open source nelgarantire larobustezza e ladisponibilità dellacrittografia

Page 35: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

mance Testing. Gli obiettivi generali di questi progetti sono:migliorare la qualità, scalabilità e set di funzionalità del co-dice usato per creare prodotti PKI, incoraggiare lo svilup-po di applicazioni PKI, migliorare la fiducia nel software disicurezza e accelerare la crescita di una piattaforma di si-curezza basata sugli standard per l’e-commerce e per In-ternet.

- Progetto OpenLDAP (www.openldap.org): un’imple-mentazione open source completa di un server LDAP (Li-ghtweight Directory Access Protocol) e dei relativi stru-menti di sviluppo. Pur non essendo software crittograficoin senso stretto, è un componente di base delle infrastrut-ture a chiave pubblica.

- Progetto MUSCLE (www.linuxnet.com/): librerie per ilsupporto crittografico e smartcard per i sistemi operatividella famiglia Unix/Linux e Mac OS X. MUSCLE significa Mo-vement for the Use of Smart Cards in a Linux Environment.

- GnuPG (GNU Privacy Guard, www.gnupg.org): è uncompleto sostituto (libero) del commerciale PGP, che nonusa algoritmi brevettati ed è stato riscritto per essere di-stribuito con licenza GPL. E’ una completa implementazio-ne di OpenPGP (RFC 2440) e può utilizzare gli algoritmi dicifratura ed hash ElGamal, DSA, RSA, AES, 3DES, Blowfish,Twofish, CAST5, MD5, SHA-1, RIPEMD-160 e TIGER. Di persé, GnuPG è uno strumento a linea di comando; può esse-re utilizzato dalla linea di comando, da script di shell o daaltri programmi, come i front-end grafici disponibili perWindows e per Linux.

Uso della crittografiaCome anticipato nei capitoli precedenti, una delle ap-

plicazioni delle tecniche crittografiche a un dato, un docu-mento oppure un messaggio, consiste nell’accertarne laprovenienza, verificandone l’autenticità.

Una tecnica semplice, applicabile ai rapporti bilateralitra due interlocutori, è l’uso di una chiave segreta. Le dueparti concordano l’uso di un algoritmo simmetrico e stabi-liscono una chiave segreta, che può essere comunicata dipersona o inviata in modo sicuro (la chiave dovrebbe es-sere modificata di frequente).

Il mittente può cifrare l’intero messaggio con la chiavesegreta e inviarlo al destinatario. Costui lo decifra e, sicu-ro che la chiave non sia nota ad alcun estraneo, deduce cheil messaggio proviene effettivamente dal mittente appa-rente. In tal caso, visto che il messaggio è cifrato, viene as-sicurata sia l’autenticità sia la riservatezza.

Se peraltro il messaggio non fosse confidenziale e ci ba-stasse garantirne l’autenticità, anziché cifrare l’intero mes-saggio, potremmo utilizzare un MAC (Message Authenti-cation Code). Nel capitolo sulle funzioni hash abbiamo vi-sto che si può calcolare un hash (o digest), tipicamente di128 o 160 bit, sul messaggio a cui è stata aggiunta la chiavesegreta, dopo di che si spedisce il messaggio più l’hash. Ta-le hash prende il nome di MAC (codice di autenticazionedel messaggio) perché consente al destinatario di appura-re se il messaggio è autentico, cioè proveniente dal mit-tente dichiarato. Nell’ipotesi che la chiave sia nota solo al-le due controparti (basata unicamente sulla fiducia), nes-sun altro potrebbe impersonare il mittente o modificarneun messaggio senza farsi scoprire dal destinatario. Que-st’ultimo ricalcola l’hash sul messaggio più la chiave e loconfronta con il MAC ricevuto; se sono uguali, il messaggioè autentico e integro.

Vista l’efficienza con cui si calcola un MAC e la compat-tezza tanto del MAC quanto della chiave segreta, la tecnicapuò essere utilizzata anche su dispositivi con risorse e me-moria limitate, come le smartcard (in teoria si chiamanoSmart Card, semplificato poi a smart card e, nell’uso co-mune, a smartcard).

Un limite del MAC è il suo carattere bilaterale, che nonlo rende estendibile a più interlocutori. Se da un lato due in-terlocutori sono pochi, dall’altro sono troppi: un altro li-mite del MAC è che la chiave segreta non è associata a unsingolo proprietario, quindi in caso di controversia non èfacile appurare le responsabilità. Quando il proprietariodella chiave è un programma, anziché una persona, la so-luzione è usare chiavi simmetriche di sessione generate inmodo casuale e di breve durata.

Una tecnica di autenticazione più efficace consiste nel-l’utilizzo della crittografia a chiave pubblica, vale a dire nel-l’uso di algoritmi a chiavi asimmetriche. Il mittente cifra ildato di cui vuole garantire l’autenticità con la propria chia-ve privata. Chiunque potrà decifrarlo con la chiave pub-blica del mittente, accertandone la provenienza (nessun al-tro può usare la sua chiave privata). Tale meccanismo vie-ne utilizzato per la firma digitale, che essenzialmente è unhash calcolato sul messaggio e cifrato con la chiave priva-ta del mittente (la firma digitale è trattata in una delle pros-sime lezioni).

Hashing per garantire integrità e autenticazioneLe funzioni hash sono diventate uno dei componenti di

base dei crittosistemi sia simmetrici, sia asimmetrici. Negliesempi precedenti abbiamo visto che l’hashing può essereusato in due modi: 1) per produrre un dato di lunghezzabreve e limitata (l’hash o digest), ricavato da un input dilunghezza variabile e 2) per produrre l’hash sulla base delmessaggio e di una chiave segreta condivisa tra due inter-locutori.

Nel primo caso, la funzione di hash si chiama one-wayhash function perché produce una trasformazione a sensounico, dove a N possibili input corrisponde un output, dacui non è possibile risalire all’input. La corrispondenza N:1deriva dal fatto che i possibili input sono praticamente illi-mitati, mentre i possibili valori di output sono 2L, dove L èla lunghezza dell’hash (per esempio 128 o 160 bit).

Nel secondo caso il codice di hash viene chiamato MAC(codice di autenticazione del messaggio) e la tecnica di fardipendere l’hash dal messaggio e da una chiave segreta vie-ne chiamata keyed hashing.

Il keyed hashing viene usato nella crittografia simmetri-ca per produrre i codici MAC utilizzati per autenticare imessaggi e garantirne l’integrità: solo i due interlocutoriposseggono la chiave segreta (solitamente una session keydi breve durata) e qualsiasi modifica al messaggio sarebbescoperta dal mittente nel ricalcolare il MAC e nel confron-tarlo con il MAC ricevuto.

La variante HMAC descritta nel capitolo 5.2.4.1 (Princi-pi di hashing), più sicura di un semplice MAC, viene cor-rentemente usata in molte applicazioni di sicurezza per laprotezione delle comunicazioni su reti TCP/IP (Internet ereti locali).

L’hashing one-way viene usato nella crittografia asim-metrica per produrre le firme digitali (ad esempio con gli al-goritmi RSA o DSA), anche in questo caso per assicurarel’autenticità e l’integrità dei dati trasmessi o archiviati.

In pratica, l’autenticazione viene eseguita tramite HMACo tramite firme digitali, ma in entrambi i casi si usano i me-desimi algoritmi di hashing, come MD5 e SHA1. Spesso ledue forme di cifratura, simmetrica e asimmetrica, vengonoimpiegate contemporaneamente. Per esempio, SSL utilizzai certificati a chiave pubblica per la fase di autenticazioneiniziale (almeno del server, in opzione anche del client, chenormalmente è un browser) e utilizza gli HMAC sia nella fa-se di handshaking (scambio di chiavi e accordo sui cifrarida usare) sia durante la trasmissione del messaggio per ga-rantirne la riservatezza e l’integrità.

Schemi ibridi analoghi si trovano, ad esempio, nei pro-

www.pcopen.it35

5.2.6.2 essereconsapevoli dell'usodi hashing e digestnel garantire integritàe autenticazione

5.2.6. Uso dellacrittografia

5.2.6.1 conoscerecome utilizzare imeccanismi dellacrittografia perottenereautenticazione.

Page 36: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

tocolli IPSec (sicurezza allo strato di rete) e SHTTP (sicu-rezza allo strato applicativo), con autenticazione dei com-puter tramite certificato e autenticazione dei messaggi tra-mite HMAC.

Nell’autenticazione dei messaggi di posta elettronica, lacrittografia asimmetrica viene usata per firmare digital-mente il messaggio, vale a dire per cifrare un hash del mes-saggio con la chiave privata del mittente.

Autenticazione e non ripudio mediante firmadigitale

I cifrari asimmetrici e gli algoritmi di hashing permetto-no di verificare l’autenticità e l’integrità di un messaggio at-traverso una firma digitale. Prima di scendere in maggiordettaglio, vediamo quali sono i requisiti di una firma e se lafirma digitale equivale a una firma autografa.

Una firma autografa serve, principalmente, a fornire cer-tezza legale e commerciale riguardo: 1) l’intenzione e l’im-pegno a realizzare quanto stipulato, 2) l’autenticità del do-cumento, che le firme legano ai firmatari, e 3) l’approva-zione o l’autorizzazione (la firma testimonia che i firmata-ri hanno letto e approvato il documento). Altri aspetti ri-guardano la sicurezza di una transazione e l’aspetto ceri-moniale (la firma avverte che si sta prendendo un impegnovincolante e suggerisce al firmatario di ponderare sul do-cumento e prendere consapevolezza del suo significato edelle conseguenze, prima di firmarlo).

Una firma dev’essere difficile da falsificare, non ripudia-bile (non può essere cancellata o disconosciuta), inaltera-bile (dopo l’apposizione della firma, non deve essere pos-sibile modificare il documento) e non trasferibile (da un do-cumento a un altro).

Il presupposto per la validità delle firme è che le chiaviprivate siano tenute al sicuro e che i titolari siano respon-sabili del loro utilizzo fino al momento di un’eventuale de-nuncia di furto o smarrimento. L’impiego del timestampnelle firme è necessario affinché una successiva compro-missione (anche volontaria) delle chiavi segrete non portiall‘invalidazione di tutti i documenti firmati, precedenti al-la compromissione stessa. Ciò significa che, se le chiavi e idigest hanno lunghezza adeguata, la firma è pressoché im-possibile da falsificare e lega il documento al firmatario,che non potrà ripudiare il documento firmato. Dato che lafirma dipende dal contenuto del documento, l’integrità èassicurata. Un documento cartaceo firmato potrebbe es-sere alterato con maggiori probabilità di successo di quan-to avvenga per un documento digitale. Per lo stesso moti-vo, la firma non è trasferibile a un altro documento, vistoche è strettamente legata al contenuto del documento, adifferenza di una firma autografa che ha sempre lo stessoaspetto.

Come abbiamo visto, la firma digitale si basa sulla cifra-tura asimmetrica di un hash o digest calcolato sul conte-nuto del documento o messaggio. L’hash costituisce un’im-pronta del documento: è assai improbabile che documen-ti diversi producano lo stesso hash, così com’è pressochéimpossibile creare un documento capace di produrre uncerto hash. Gli algoritmi di hash più usati sono MD5 e SHA-1, quest’ultimo è preferibile perché più sicuro.

La firma viene ottenuta cifrando l’hash con un algoritmoasimmetrico e utilizzando la chiave privata del firmatario.I cifrari più utilizzati sono il commerciale RSA o il pubblicoDSA che, insieme a SHA-1, fa parte dello standard DSS di fir-ma digitale definito dal governo degli Stati Uniti.

L’affidabilità di un sistema di firma digitale dipende davari fattori: la robustezza degli algoritmi di hash e cifratu-ra, la dimensione delle chiavi e degli hash, il livello di pro-tezione con cui è gestita (creata, trasmessa, custodita) lachiave privata e il grado di certezza che la chiave pubblicasia autentica, cioè appartenga al firmatario del documento.Se la chiave pubblica viene sostituita, l’intero sistema ècompromesso, visto che si può firmare qualunque cosa

con la chiave privata corrispondente alla falsa chiave pub-blica.

La verifica della firma digitale consiste di tre passi: 1) sidecifra la firma utilizzando la chiave pubblica del firmata-rio, ricostruendo l’hash originale del messaggio, 2) si cal-cola l’hash sul contenuto del messaggio (utilizzando lostesso algoritmo usato dal mittente), 3) si confrontano idue hash, quello della firma e quello ricalcolato: se coinci-dono, significa che il messaggio non è stato alterato e chela chiave privata con cui è stato firmato il documento ap-partiene allo stesso proprietario della chiave pubblica concui è stata decifrata la firma.

Dato che per ogni chiave pubblica esiste una sola chia-ve privata, la verifica di una firma digitale assicura che chiha firmato il documento è il possessore della chiave priva-ta. Perché la firma non possa essere ripudiata, occorre sod-disfare una serie di condizioni. Le principali sono l’asso-ciazione certa tra il firmatario e la sua chiave pubblica, lacustodia sicura della chiave privata e l’utilizzo da parte delfirmatario di un software che consenta la visualizzazionedel documento all’atto della firma, in modo da avere la cer-tezza del contenuto.

Il ruolo di una struttura nell’uso della firma digitale

Abbiamo visto le tecniche e gli algoritmi che si possonoutilizzare per garantire l’autenticazione, l’integrità, la ri-servatezza e il non ripudio nello scambio di messaggi at-traverso un canale di comunicazione non sicuro. Inoltre ab-biamo notato l’esigenza di soddisfare una serie di requisi-ti affinché sia possibile utilizzare queste tecnologie e affin-ché esse permettano di raggiungere gli obiettivi di sicurez-za.

Facciamo un esempio applicato alla posta elettronica,chiedendoci in che modo il destinatario di un messaggiopossa essere certo dell’identità del mittente. Supponiamoche il mittente apponga la firma digitale al messaggio nelmodo visto sopra (hashing più cifratura asimmetrica). Per-ché il destinatario possa verificare la validità della firma, ènecessario che 1) egli possa procurarsi la chiave pubblicadel mittente in modo sicuro, 2) conosca il formato dei datie 3) conosca gli algoritmi utilizzati per la composizione e lafirma del messaggio.

www.pcopen.it36

5.2.6.3 Conoscere iprincipali aspettidella firmaelettronica nelgarantire il non-ripudio el'autenticazione

Procedura per lacreazione di una firma

digitale

Verifica di validità dellafirma digitale

Page 37: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

Per soddisfare queste condizioni, è possibile introdurreuna struttura comune (condivisa da una comunità di uten-ti) che consenta alle entità che devono comunicare (comeutenti e processi) d’interoperare con successo. In partico-lare, si può risolvere il problema della distribuzione sicuradelle chiavi ricorrendo a una struttura gerarchica, la già ci-tata Certification Authority (CA), che si faccia garante del-l’identità di tutte le entità titolari di una chiave pubblica (eprivata). Inoltre, i messaggi e i protocolli di comunicazionedevono essere conformi a determinati standard, indipen-denti dal sistema operativo, dal software applicativo e daqualsiasi peculiarità del sistema utilizzato.

La CA garantisce le chiavi pubbliche delle entità delproprio dominio mediante l’emissione dei “certificati digi-tali” in formato standard, contenenti:

1) una serie d’informazioni, tra cui il nome del titolaredel certificato, la sua chiave pubblica, il periodo di validitàdel certificato e altre informazioni che concorrono a iden-tificare il titolare e l’autorità che emette il certificato; 2) lafirma digitale, apposta alle suddette informazioni utiliz-zando la chiave privata della CA.

Tutte le entità che fanno parte del dominio (o dominiodi trust) della CA devono ricevere in modo sicuro la chia-ve pubblica della CA, in modo da poter verificare la validitàdi qualunque certificato del proprio dominio. Nel contestodi una struttura che faccia uso delle CA per l’emissione deicertificati e la generazione delle chiavi asimmetriche, il for-mato dei certificati per le chiavi pubbliche è definito dallanorma ITU X.509 Versione 3. L’utilizzo di PGP per la cifra-tura e firma dei messaggi di e-mail è alternativo all’uso diuna CA ed è orientato a comunità limitate d’individui inrapporto di reciproca fiducia. Può utilizzare i certificati, maessi hanno un formato diverso dall’X.509. Nel campo delleimprese e delle pubbliche istituzioni, vengono usate le CAe i certificati nell’ambito di una PKI (infrastruttura a chiavipubbliche). Rimandiamo a una sezione successiva (5.2.7.3)la spiegazione in dettaglio del funzionamento di PGP.

Il formato con cui sono codificati i messaggi creati conla cifratura asimmetrica è definito dallo standard PKCS #7Cryptographic Message Syntax (CMS). PKCS significa Pu-blic Key Cryptographic Standard e comprende un’intera se-rie di standard che hanno l’obiettivo di agevolare l’imple-mentazione delle tecnologie PKI (per esempio, PKCS #1 de-scrive lo standard di cifratura RSA). PKCS #7 specifica i for-mati binari usati per la firma digitale e per la “busta elet-tronica”. Una busta elettronica (digital envelope) consistedi un messaggio che usa la cifratura simmetrica a chiave se-greta e una chiave segreta cifrata in modo asimmetrico (co-me nell’esempio del capitolo 5.2.3.1 - Principi di crittogra-fia asimmetrica). Qualunque messaggio formattato conCMS può essere incapsulato dentro un altro messaggioCMS, applicando ricorsivamente la busta elettronica. Ciòpermette agli utenti di firmare una busta digitale, di cifrareuna firma digitale o di eseguire varie altre funzioni. Lo stan-dard PKCS #7 è stato adottato dall’IETF nella RFC 2315, ag-giornata dalla RFC 2630.

Altre proprietà del formato CMS sono: 1) gestisce la fir-ma congiunta di più firmatari, 2) gestisce la firma per un nu-mero arbitrario di destinatari, 3) consente di aggiungere at-tributi firmati al messaggio, come la data e l’ora della firma,4) consente di allegare al messaggio i certificati dei firma-tari, agevolando la verifica della firma, 5) include gli iden-tificatori degli algoritmi crittografici utilizzati e gli elemen-ti che facilitano la decifratura e la verifica della firma.

Uso della crittografia per ottenere la riservatezza

Come abbiamo visto nei capitoli precedenti, la riserva-tezza (o confidenzialità) viene ottenuta cifrando i dati, imessaggi o i documenti da archiviare o da trasmettere. Aseconda delle applicazioni, si utilizzano cifrari simmetrici(a chiave segreta) o asimmetrici (con chiave privata e chia-

ve pubblica). I cifrari simmetrici possono essere applicatia dati di dimensioni illimitate, mentre quelli asimmetricifunzionano per input di poche decine di byte.

Un cifrario simmetrico richiede che due interlocutori(persone o componenti hardware/software) concordinosull’uso di un algoritmo e scelgano una chiave segreta dausare per cifratura e decifratura. Il mittente cifra il mes-saggio e lo trasmette; il destinatario decifra il messaggiocon la stessa chiave usata dal mittente e ripristina il con-tenuto in chiaro.

Un’altra possibilità è utilizzare un programma separatoper la cifratura e decifratura dei file e inviare i dati cifrati co-me allegati. Ci sono applicazioni di questo tipo sia per uten-ti finali sia per utenti più esperti che vogliono controllarel’algoritmo usato e la lunghezza della chiave.

La crittografia simmetrica è semplice da usare ed effi-ciente, ma presenta il problema della gestione delle chiavi,che devono essere diverse per ogni coppia d’interlocutorie devono essere sostituite di frequente.

Se si utilizza la crittografia asimmetrica, ogni interlocu-tore possiede due chiavi: custodisce al sicuro la chiave pri-vata e mette a disposizione di chiunque la chiave pubblica.Il mittente si procura la chiave pubblica del destinatario, lausa per cifrare il messaggio tramite un cifrario asimmetri-co e invia il messaggio cifrato. Il destinatario decifra il mes-saggio usando lo stesso cifrario e la sua chiave privata. Intal modo, si risolve un problema di distribuzione delle chia-vi, ma se ne creano altri due: i cifrari asimmetrici sono mol-to lenti e possono ricevere in input dati molto brevi, perciòdebbono lavorare cifrando il messaggio in blocchi il che ral-lenta ulteriormente le operazioni .

La soluzione sta nell’utilizzo contemporaneo dei due ti-pi di crittografia: asimmetrica per gestire lo scambio dellechiavi e simmetrica per cifrare i messaggi. La procedura èla seguente:1) si sceglie un algoritmo simmetrico e uno asimmetrico 2) il mittente si procura la chiave pubblica del destinatario3) il mittente genera in modo casuale una chiave segreta

appropriata4) il mittente cifra il messaggio utilizzando la chiave segre-

ta5) il mittente cifra la chiave segreta utilizzando la chiave

pubblica del destinatario6) il mittente invia al destinatario il messaggio cifrato e la

chiave segreta cifrata, insieme alle informazioni neces-sarie per la decifratura

7) il destinatario decifra la chiave segreta utilizzando la pro-pria chiave privata

8) il destinatario decifra il messaggio utilizzando la chiavesegreta.

Tale meccanismo è comunemente usato dalle applica-zioni di comunicazione sicura su Internet, come i client diposta elettronica, e dai protocolli di trasmissione sicura,

www.pcopen.it37

5.2.6.4 Conoscere iprincipi e le principalicaratteristiche dellacifratura nel garantirela confidenzialità

Uso della crittografiaasimmetrica per gestire loscambio delle chiavi esimmetrica per cifrare imessaggi (immagini da 1a 7)

1

2

Page 38: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

come SSL (Secure Sockets Layer). In quest’ultimo caso, ilprotocollo opera allo strato di trasporto (sopra il TCP),quindi non protegge singoli messaggi, ma tutti i dati tra-smessi nell’ambito di una connessione Internet.

Le tecniche per ottenere la riservatezza delle informa-zioni sono utilizzabili anche per la privacy delle informa-zioni archiviate, in modo che non siano accessibili da estra-nei. In tal caso si utilizzano solitamente algoritmi simme-trici; dato che mittente e destinatario coincidono, non c’èil problema della trasmissione della chiave segreta, è suffi-ciente che l’utente scelga una chiave abbastanza lunga ecomplessa e la tenga al sicuro. Tra gli esempi citiamo l’En-cryption File System di Windows XP (per cifrare file e car-telle) e applicazioni stand-alone come Axcrypt (http://ax-crypt.sourceforge.net/), che utilizza AES con chiavi di 128bit ed è particolarmente comodo da usare.

A parte le applicazioni specificamente crittografiche, iprogrammi di office automation e le utility di archiviazionee compressione offrono solitamente opzioni di protezionedei dati tramite password, generalmente realizzate con crit-tografia simmetrica.

Tale crittografia viene spesso implementata con unsemplice XOR e assicura un livello di protezione del tuttoinsufficiente, valido unicamente a difendersi dagli incom-petenti, ma non certo per bloccare persone determinate aviolarla (nemmeno se queste sono semplici utenti).

Tuttavia, non sempre documentano l’algoritmo usato, il

quale rischia di non essere abbastanza robusto per pro-teggere dati importanti. Per garantire la riservatezza, è ne-cessario che l’algoritmo sia robusto (come 3DES e AES),che la chiave sia di lunghezza adeguata (per esempio 128bit) e che il suo valore sia non prevedibile e sia mantenutosegreto.

ApplicazioniUn vasto campo di applicazione delle misure di prote-

zione crittografiche è quello degli affari e della pubblica am-ministrazione. La possibilità di eseguire transazioni da ca-sa e ufficio attraverso Internet ha portato in primo pianol’esigenza di utilizzare meccanismi di sicurezza adeguati.Consideriamo l’utilizzo di Internet per accedere ai servizibancari online (conti correnti, pagamenti, investimenti,ecc.) e per eseguire operazioni di acquisto e vendita online.Indipendente dalle reali implementazioni, possiamo svi-luppare alcune considerazioni.

Le operazioni di e-banking e di e-commerce che un uten-te può eseguire on-line sono di due tipi:1) operazioni di carattere informativo, come la visualizza-

zione di un estratto conto, la situazione dei bonifici, lostato degli ordini oppure lo stato di un’asta elettronica,

2) operazioni di tipo dispositivo, come un ordine di acqui-sto, un ordine di bonifico, la vendita di azioni oppure ilpagamento di un’utenza.Le operazioni di carattere informativo forniscono ac-

cesso ai dati in lettura e non danno origine a flussi di de-naro. Normalmente è sufficiente proteggere il canale di co-municazione e il protocollo SSL incorporato nei browser èperfettamente adeguato allo scopo.

Per le operazioni di tipo dispositivo sono ipotizzabili di-verse strade. Il protocollo SSL, spesso utilizzato, può risul-tare adeguato nei casi in cui gl’importi in gioco non sugge-riscano di adottare meccanismi di protezione più robusti.Sebbene SSL utilizzi algoritmi crittografici affidabili, l’e-ventuale punto debole è che protegge solo il canale di co-municazione, dopo di che i dati sono messi in chiaro dalserver web, senza un controllo preciso di chi possa acce-dere alle informazioni.

La protezione crittografica della rete viene spesso di-stinta in due categorie: link encryption ed end-to-end en-cryption. La protezione del collegamento (link) si applicaagli strati inferiori dei protocolli di comunicazione, fino al-lo strato di trasporto in cui opera SSL. Il modello end-to-endsi applica allo strato applicativo: end-to-end significa chesono le applicazioni, ai due estremi (end) della comunica-zione, che controllano la cifratura e decifratura e quindi lamessa in chiaro dei dati. In tal modo i dati sono più protet-ti e meno soggetti a intrusioni da parte di altre entità del si-stema.

Esempi di protocolli di sicurezza allo strato applicativosono S-HTTP (Secure Hypertext Transport Protocol) e SET(Secure Electronic Transaction), scarsamente usati rispet-to a SSL e alla recente variante TLS. Utilizzando l’approccioend-to-end, l’applicazione può utilizzare le tecniche di ci-fratura viste in precedenza sulle singole disposizioni (i mo-vimenti economici ordinati dall’utente) e provvede sia a da-re corso alle transazioni sia a conservare in modo sicuro imessaggi degli utenti, esponendo le informazioni alla visi-bilità strettamente necessaria.

Firma digitale e non ripudio nei servizi di e-banking e di e-mail

Abbiamo visto che la firma digitale annovera tra le suefunzioni il non ripudio di un messaggio. Normalmente, pos-siamo supporre che gli accessi di tipo informativo non ab-biano bisogno di firma digitale, mentre è prevedibile che ledisposizioni debbano essere firmate dal richiedente. In tal

www.pcopen.it38

3

4

5

6

7

5.2.7. Applicazioni

5.2.7.1 Essereconsapevole dell'usodella crittografia perproteggere i dati nelletransazioni on-linecome avviene nell'e-commerce e nell'e-banking

5.2.7.2 Essereconsapevole dell'usodella firma digitaleper garantire il non-ripudio

Page 39: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

modo, se la firma non risultasse valida (per esempio a cau-sa di un certificato scaduto o revocato), la disposizionenon verrebbe eseguita. Inoltre i messaggi sono registrati,così che la banca o altra organizzazione possa sempre di-mostrare di aver ricevuto una disposizione valida firmatadal cliente e non ripudiabile.

Il non ripudio può non essere sufficiente se non è asso-ciato in modo certo all’istante temporale della firma. Per-ciò, la firma digitale può essere utilmente affiancata da unservizio di marcatura temporale (timestamp). Si tratta diun servizio fornito da una Time Stamp Authority (TSA), unaterza parte fidata che attesta il tempo di produzione o d’in-vio di un documento tramite una “marca temporale”, che èdi fatto una controfirma del documento contenente un ha-sh del documento, il riferimento temporale e altre infor-mazioni.

Nel campo del software libero, OpenTSA (www.opent-sa.org) sta sviluppando una TSA aperta e gratuita confor-me alla RFC 3161 (Internet X.509 Public Key InfrastructureTime-Stamp Protocol - TSP). Trai componenti software giàprodotti c’è anche la Time Stamp patch for OpenSSL, un’e-stensione di OpenSSL con marcatura temporale.

Il funzionamento di PGPPretty Good Privacy (PGP) è un programma di sicurez-

za per la posta elettronica realizzato da Phil Zimmermanne pubblicato inizialmente nel 1991 come freeware. Le fun-zioni di PGP sono: firma digitale, cifratura dei messaggi,compressione, conversione in ASCII (in base 64) e seg-mentazione dei messaggi; di queste, le prime due rientranonel contesto delle applicazioni crittografiche.

PGP fu fatto circolare liberamente (incluso il codice sor-gente) e conquistò una rapida popolarità. Per cifrare e fir-mare i messaggi, PGP utilizza la crittografia simmetrica easimmetrica. Inizialmente, il cifrario asimmetrico era RSAe quello simmetrico, dopo un breve periodo con un algo-ritmo rivelatosi poco sicuro, era IDEA. La chiave segretanon fu mai inferiore a 128 bit, contravvenendo alle leggiUSA del tempo. Inoltre RSA negò di aver dato un assensoverbale all’uso del proprio cifrario (brevettato fino al 2000)e il brevetto di IDEA scade nel 2007. Seguirono anni di que-stioni giudiziarie che man mano si sono risolte senza dan-no, grazie anche al successo di PGP e ad accomodamentisui vari fronti. Oggi esiste l’azienda PGP che vende le ver-sioni commerciali del programma e offre una versione li-mitata freeware abbastanza scomoda da usare perché nonintegrata nei programmi di posta. Tuttavia nel 1997 PGP haconsentito all’IETF di pubblicare uno standard aperto colnome di OpenPGP. Le RFC pubblicate sono la 2440(OpenPGP Message Format) del 1998 e la 3156 (MIME Se-curity with OpenPGP) del 2001. La Free Software Founda-tion ha pubblicato la propria versione di PGP (GNU PrivacyGuard: GnuPG o GPG) conforme alle specifiche OpenPGP;è disponibile gratuitamente per diverse piattaforme, tra cuiLinux, MAC OS X e Windows.

Oggi sia PGP sia GPG supportano la maggior parte deimoderni algoritmi crittografici (cifrari simmetrici e asim-metrici e funzioni hash), tra cui RSA, Diffie Hellmann, El-Gamal, 3DES, AES, IDEA, CAST5, SHA, RIPEMD-160 e altri. Adifferenza di PGP, OpenPGP non utilizza IDEA, che non è an-cora libero da brevetti.

Il funzionamento della firma elettronica in PGP avvienenel modo seguente: 1) il mittente scrive un messaggio, 2)viene calcolato un hash del messaggio, 3) l’hash è cifratocon la chiave privata del mittente, 4) il mittente invia il mes-saggio insieme all’hash cifrato, 5) il destinatario riceve ilmessaggio con l’hash, 6) l’hash è decifrato con la chiavepubblica del mittente, 7) viene ricalcolato l’hash sul mes-saggio, 8) vengono confrontati l’hash decifrato e quello cal-colato, 9) se i due hash coincidono, il messaggio è autenti-co e integro.

La riservatezza viene ottenuta nel modo seguente: 1) il

mittente scrive un messaggio, 2) il programma genera unnumero casuale utilizzato come chiave di sessione, ovverouna chiave di cifratura simmetrica usata solo per quel mes-saggio, 3) il messaggio viene cifrato con un algoritmo sim-metrico usando la chiave di sessione generata, 4) la chiavedi sessione è cifrata con la chiave pubblica del destinatario,5) il messaggio cifrato e la chiave cifrata sono inviati al de-stinatario, 6) presso il destinatario, il programma decifra lachiave di sessione utilizzando la chiave privata del desti-natario, 7) il messaggio è decifrato utilizzando la chiave disessione decifrata.

Firma e cifratura possono essere applicate insieme inquesto modo: 1) il mittente scrive un messaggio, 2) il mit-tente firma il messaggio come visto sopra, 3) messaggio edhash sono cifrati come appena visto, 4) messaggio ed hashcifrati sono inviati al destinatario, 5) presso il destinatario,la chiave segreta cifrata è decifrata con la chiave privata,ottenendo la chiave di sessione, 6) il resto del messaggio ri-cevuto è decifrato con la chiave simmetrica di sessione, 7)la prima parte del messaggio decifrato (l’hash) viene deci-frato con la chiave pubblica del mittente, 8) sul resto delmessaggio viene calcolato l’hash, 9) vengono confrontatil’hash decifrato e quello calcolato, 10) se i due hash coin-cidono, il messaggio è autentico e integro.

Come si vede, anche PGP sfrutta i principi visti in pre-cedenza: 1) l’integrità del messaggio viene verificata su unhash del messaggio, non sull’intero messaggio (è molto piùveloce), 2) il messaggio è cifrato con un algoritmo simme-trico, veloce e non vincolato alla lunghezza dei messaggi, 3)l’algoritmo asimmetrico viene usato per lo scambio dellechiavi simmetriche.

Le operazioni sono svolte automaticamente dal softwa-re, senza interventi dell’operatore (dopo la generazione ini-ziale della coppia di chiavi asimmetriche). PGP offre diver-se versioni di software commerciale che si integrano con leapplicazioni di posta. La versione freeware richiede invecela cifratura e decifratura del file o del clipboard, da copia-re a mano nel programma di posta. GPG viene usato comemodulo di base o attraverso un’interfaccia grafica (ne esi-stono per i vari sistemi operativi e hanno nomi diversi) epuò essere integrato con Mozilla e Thunderbird tramite unadd-in chiamato Enigmail.

Per la sicurezza nell’uso di PGP si devono consideraredue aspetti: 1) i numeri “casuali” usati come chiavi di ses-sione devono essere il più possibile realmente casuali; siusano algoritmi PRNG (pseudo-random number generator)e meccanismi che sfruttano eventi casuali naturali per ge-nerare sequenze di numeri casuali e non ripetibili; 2) lechiavi pubbliche devono essere effettivamente tali e verifi-cabili; le implementazioni più moderne di PGP e GPG si ba-sano su un server di distribuzione delle chiavi pubbliche,ma inizialmente le chiavi erano pubblicate su qualche ser-ver e gli utenti si scambiavano gli hash delle chiavi per con-sentire il controllo dell’autenticità.

Installare e configurare un prodotto PGPLe versioni commerciali e la versione freeware di PGP,

con la relativa documentazione, sono disponibili presso ilsito di PGP Corporation (www.pgp.com). La versionefreeware limitata per Windows è scaricabile alla paginawww.pgp.com/downloads/freeware/freeware.html ed è fa-cilmente installabile eseguendo il file scaricato. Un’iconanella barra di notifica di Windows (in basso a destra) dà ac-cesso alle funzioni disponibili (le principali sono genera-zione chiavi, firma, cifratura, firma e cifratura, decifratura).I messaggi possono risiedere in un file o nel clipboard diWindows. Solo le versioni a pagamento includono un plu-gin per i programmi di posta, come Outlook, in modo da fir-mare, cifrare e decifrare i messaggi dall’interno del pro-gramma.

GPG è già incluso in diverse distribuzioni Linux (comeSuSE Linux 9.2 e Fedora 3), inoltre è scaricabile per vari si-

www.pcopen.it39

5.2.7.4 Essere ingrado d'installare econfigurare unprodotto che gestiscail protocollo PGP

5.2.7.3 Conoscere iprincipali aspettioperativi di PGP

Page 40: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

stemi operativi presso www.gnupg.org e i siti collegati. Laversione per Windows è a linea di comando, ma esistonoplugin GPG per i programmi di posta, come EudoraGPG perEudora sotto Windows (http://eudoragpg.sourceforge.net/ver2.0/en/).

In Windows, GPG può essere utilizzato direttamenteaprendo il file eseguibile, oppure può essere installato se-condo i canoni di Microsoft editando il registro di sistema.Le istruzioni presso http://enigmail.mozdev.org/gpgcon-fig.html guidano all’installazione e configurazione di GPG inWindows 9x e in Windows NT/2000/XP.

Una sintetica guida in italiano all’uso di GPG è reperibi-le presso www.gnupg.org/(en)/howtos/it/GPGMiniHow-to.html. Un’ottima guida per usare la versione di GPG a li-nea di comando per Windows è www.glump.net/content/gpg_intro.pdf.

L’ambiente idealeper utilizzare GPGè SuSE Linux, datoche il client di po-sta KMail e l’utilitydi gestione dellechiavi KGpg fannoparte dell’interfac-

cia standard KDE. Fedora 3 usa per default l’interfacciaGNOME, ma include parecchie applicazioni KDE, comeKMAIL e KGpg (utilizzabili modificando le applicazioni pre-ferite nelle preferenze).

Per utilizzare GPG s’inizia creando una coppia di chiaviin KGpg. La scelta dell’algoritmo asimmetrico è tra RSA e lacoppia DSA/ElGamal (firma e scambio chiavi).

Secure Shell - SSHSecure Shell (SSH) è un protocollo per realizzare un col-

legamento remoto sicuro da un computer a un altro attra-verso una rete insicura. Supporta il login remoto sicuro, iltrasferimento sicuro di file e l’inoltro sicuro del traffico ditipo TCP/IP e X Window. SSH è in grado di autenticare, ci-frare e comprimere i dati trasmessi. Sebbene si chiami Se-cure Shell, SSH non è un vero shell come il Bourne shell(l’interprete dei comandi) o il C shell di Unix e non è un in-terprete di comandi. SSH crea un canale sicuro per esegui-re uno shell da un computer remoto, in modo simile al co-mando rsh (remote shell) di Unix, ma con cifratura end-to-end (da un’applicazione all’altra) tra il computer locale e ilcomputer remoto. A differenza di rsh, SSH assicura l’au-tenticazione, la riservatezza e l’integrità alla trasmissionein rete. Esistono molti prodotti basati su SSH, per i diversisistemi operativi e in versioni sia commerciali sia a liberadistribuzione.

Una comunicazione con il protocollo SSH implica la par-tecipazione di due attori: il client da cui parte la richiestadi collegamento e il server a cui la richiesta è indirizzata.Client e server operano secondo uno schema che prevedenumerose varianti. Inoltre esistono due versioni di proto-collo, SSH-1 e SSH-2, tra loro incompatibili. La prima è sup-portata da tutti i prodotti, ma è vulnerabile; la seconda, piùarticolata e sicura, non è supportata da alcuni prodotti, co-me TGSSH per PalmOS. I programmi recenti supportano en-trambe le versioni e sono quindi in grado di connettersi aqualunque tipo di server.

Il termine SSH indica in genere sia una versione di pro-tocollo che un prodotto software. Per distinguere tra i pro-

www.pcopen.it40

Generazione chiave GPGcon SUSE.

Viene chiesta unapassphrase, o frase

segreta, per proteggerel’accesso alle chiavi.

Le chiavi vengonogenerate e identificate,come indicato da KGpg.

La coppia di chiavi vienequindi elencata nelrepertorio di chiavi

disponibili

Ora occorre configurareKMail nella sezione

Identità, che fariferimento alle chiavi

KGpg

Per firmare e cifrare imessaggi in KMail, si

compone il messaggio,si seleziona un’identità(coppia di chiavi GPG) e

si premono le icone difirma e di cifratura.

Un messaggio firmato e cifrato in KMail,

spedito a se stessi,viene così decifrato e

verificato

5.2.7.5 Conoscere iprincipi operativi diSSH

Page 41: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

tocolli e i prodotti commerciali, spesso si usa la seguenteterminologia: SSH-1 e SSH-2 indicano i protocolli (per esem-pio SSH-1-5); SSH1 e SSH2 indicano due prodotti di SSHCommunications Security (formata dal finlandese TatuYlönen, autore della prima versione del protocollo); OpenS-SH è una versione gratuita multipiattaforma di OpenBSDProject; OpenSSH/1 e OpenSSH/2 indicano il comporta-mento di OpenSSH in relazione all’uso di SSH-1 e SSH-2; sshindica un programma client incluso in SSH1, SSH2, OpenS-SH, F-Secure SSH e altri prodotti. SSH e OpenSSH sono de-scritti in vari documenti IETF (nel 2005 ancora a livello dibozza - draft).

Stabilire la connessioneIl funzionamento di SSH è complesso e ricco di funzio-

nalità e opzioni, tanto da richiedere un libro per una de-scrizione completa (il più noto è “SSH, The Secure Shell:The Definitive Guide” di Barret e Silverman, pubblicato daO’Reilly). Vediamo lo schema di funzionamento di SSH-1nella fase in cui viene stabilita la connessione.

1) Il client contatta il server, inviando una richiesta diconnessione alla porta TCP 22 del server; 2) Il server ri-sponde con una stringa (del tipo SSH-1.99-OpenSSH_2.3.0)che indica la versione del protocollo e del prodotto. Se ilclient non supporta la versione (o una delle versioni) delserver, chiude la connessione, altrimenti risponde con unastringa simile. Quando client e server supportano entram-be le versioni di SSH, decidono quale utilizzare.

3) Il client e il server passano all’uso di un formato dipacchetto più sicuro, al di sopra del TCP che funge da tra-sporto, in modo da sventare attacchi al testo in chiaro.

4) Il server identifica se stesso al client e fornisce i pa-rametri per la sessione. Invia le seguenti informazioni inchiaro: la chiave pubblica dell’host (fissata all’installazio-ne), la chiave pubblica del server (rigenerata periodica-mente per sventare tentativi di crittoanalisi), una sequen-za casuale di otto byte (check bytes o cookie) che il clientdovrà ripetere e liste dei metodi di cifratura, di compres-sione e di autenticazione supportati dal server.

5) Sia il client sia il server calcolano un identificativo disessione comune di 128 bit, usato nelle operazioni succes-sive per identificare in modo univoco la sessione SSH. Sitratta di un hash MD5 sull’insieme di chiave host, chiaveserver e cookie.

6) Il client verifica che la chiave host del server corri-sponda alla chiave già memorizzata (la prima volta chiedeconferma). In caso di discrepanza, la connessione termina(il server connesso potrebbe essere quello di un terzo in-comodo che tenta di eseguire un attacco “man in the midd-le” per appropriarsi della connessione).

7) Il client genera una chiave di sessione, ottenuta ge-nerando un numero casuale di 256 bit, calcolando l’OResclusivo tra l’identificativo di sessione e i primi 128 bit del-la chiave di sessione. Scopo della chiave di sessione è ci-frare e decifrare i messaggi tra client e server. Dato che lacifratura non è ancora attiva, la chiave non può essere tra-smessa in chiaro. Perciò il client cifra questa chiave duevolte, sia con la chiave host sia con la chiave server sopracitate. Dopo la cifratura, il client invia la chiave di sessione,insieme al cookie e a una lista di algoritmi, scelti tra quellisupportati dal server.

8) Dopo l’invio della chiave di sessione, entrambe le par-ti iniziano a cifrare i dati con tale chiave e l’algoritmo sim-metrico prescelto. Prima d’inviare dati, però, il client at-tende un messaggio di conferma dal server, cifrato con lachiave di sessione. Esso fornisce l’autenticazione del ser-ver: solo il vero server è in grado di decifrare la chiave disessione, cifrata con la chiave host verificata in preceden-za a fronte della lista degli host noti.

Autenticazione del clientUna volta stabilita la connessione (inclusa autentica-

zione del server), inizia la fase di autenticazione del client.Nel caso più semplice, essa si limita all’invio dell’identifi-cativo di utente e della password; sebbene siano trasmes-si cifrati, tale metodo è poco sicuro e sconsigliato, soprat-tutto per la diffusa abitudine di scegliere password deboli.Normalmente si consiglia di utilizzare una coppia di chiaviRSA o DSA per l’autenticazione del client (SSH accetta co-munque anche altri tipi di autenticazione).

L’autenticazione del client con chiavi RSA in SSH-1 av-viene secondo i passi che seguono. Per accedere a un ac-count su una macchina in funzione di server (client e ser-ver possono comunque scambiarsi i ruoli), il client dimo-stra di possedere la chiave privata corrispondente a unachiave pubblica autorizzata. Una chiave è “autorizzata” sela componente pubblica è contenuta nel file di autorizza-zione dell’account (per esempio ~/.ssh/authorized_keys).

Ecco la sequenza delle azioni.1) Il client invia al server una richiesta di autenticazione

con chiave pubblica e indica quale chiave intende usare(trasmette il modulo e l’esponente, vale a dire i due ele-menti dell’algoritmo RSA che costituiscono la chiavepubblica).

2) Il server legge il file delle autorizzazioni per l’accountdell’utente e cerca una voce contenente la stessa chiave(in sua assenza, l’autenticazione con chiave fallisce). Seil controllo è positivo e non ci sono restrizioni all’uso ditale chiave da parte del client e del suo host, il processocontinua.

3) Il server genera una stringa casuale di 256 bit come chal-lenge, la cifra con la chiave pubblica dell’utente e la in-via al client.

4) Il client riceve il challenge e lo decifra con la corrispon-dente chiave privata; in tale fase il programma di solitochiede all’utente una passphrase (frase segreta) che ser-ve unicamente a decifrare la chiave privata, che per si-curezza è salvata cifrata. Dopo di che il client combina ilchallenge con l’identificativo di sessione, ne calcola l’ha-sh con MD5 e lo invia al server in risposta al challenge.

5) Il server confronta il digest ricevuto con quello calcola-to e, se coincidono, considera autenticato l’utente.La descrizione appena fornita si riferisce a SSH-1; SSH-2

non è molto diverso, ma è più sicuro, più elegante e più fles-sibile. SSH-1 ha una struttura monolitica ed esegue più fun-zioni in un singolo protocollo; SSH-2 è articolato in tre com-ponenti principali: Transport Layer Protocol, ConnectionProtocol e Authentication Protocol. 1) SSH Transport Layer Protocol. Le connessioni negozia-

te con tale protocollo godono di cifratura forte, autenti-cazione del server e protezione dell’integrità. Può esse-re fornita anche la compressione.

2) SSH Connection Protocol. Permette ai nodi client di ne-goziare canali aggiuntivi per convogliare (multiplex) di-versi flussi (stream) di pacchetti da più applicazioni at-traverso il tunnel SSH originario. I diversi flussi vengonomescolati secondo un preciso metodo al fine di convo-gliarli tutti attraverso il medesimo tunnel e quindi sepa-rarli di nuovo (de-multiplex) all’uscita dal tunnel. Di-sporre il Connection Protocol sopra il Transport LayerProtocol riduce anche il carico di elaborazione, perchél’utente non è costretto a impostare una nuova connes-sione per ogni applicazione.

3) SSH Authentication Protocol. Il processo di autentica-zione è separato dal Transport Layer Protocol, perchénon sempre è necessario autenticare l’utente. Quando èrichiesta l’autenticazione, il processo viene protettodalla connessione sicura originaria stabilita dal Tran-sport Layer Protocol.Come abbiamo visto, l’instaurazione del collegamento e

l’autenticazione costituiscono una procedura complessa,ma, salvo per la richiesta della passphrase, si tratta di una

www.pcopen.it41

Page 42: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

procedura automatica e pressoché istantanea. Il meccani-smo di SSH è molto sicuro a patto di utilizzarlo corretta-mente.

Vediamo alcuni potenziali rischi.1) L’utilizzo di un cifrario simmetrico debole per cifrare i

dati. Per esempio, DES (supportato da SSH-1, ma nonSSH-2) va evitato perché facilmente violabile; si possonousare 3DES, AES e altri algoritmi forti.

2) Utilizzo di nome utente e password. Non dovrebbe es-sere usato perché offre un’autenticazione meno sicura ri-spetto all’uso delle chiavi asimmetriche, anche nel casodi password scelte oculatamente.Vediamo alcuni punti deboli delle implementazioni. Il

principale limite alla sicurezza è posto talvolta dalla scel-ta del software e dalla sua versione. E’ consigliabileconsultare i report di sicurezza (advisories) diwww.cert.org per conoscere i punti deboli delleimplementazioni di SSH per le varie piattaforme (per unadescrizione delle funzioni di CERT, Computer EmergencyResponse Team, vedi la sezione 5.1.3.5 della primalezione: “CERT, CSIRT e la gestione degli incidenti”,pubblicata come capitolo 11 nel corso multimediale suCD). Per esempio, l’advisory www.cert.org/advisories/CA-2002-36.html elenca numerose implementazioni di SSH ene riporta gli eventuali punti deboli. In generale, è preferi-bile utilizzare la versione 2 di SSH, a meno che non visiano validi motivi per scegliere la prima versione. In ognicaso, oggi esistono diversi prodotti SSH-2 per diversepiattaforme, incluso Palm OS (vedi www.tussh.com/ www.palmgear.com/index.cfm?fuseaction=software.show-software&PartnerREF=&siteid=1&prodid=72847&siteid=1www.sealiesoftware.com/pssh http://staff.deltatee.com/ ~angusa/TuSSH_old.html).

Finora abbiamo menzionato il funzionamento di ssh, ilclient SSH per il login remoto. Altri esempi di client SSH so-no scp per il trasferimento sicuro dei file, sftp per la con-nessione sicura FTP e ssh-agent, un agente che permettel’autenticazione sicura con parecchi computer in rete sen-za bisogno di ricordare tutte le passphrase. Il daemon sshdviene invece utilizzato per restare in ascolto in attesa del-le chiamate dai client SSH.

Installare un prodotto che gestisce il protocollo SSH

SSH è solitamente supportato dalle moderne distribu-zioni Linux (in versione OpenSSH) attraverso applicazionicome ssh, scp, ssh-keygen, sshd e sftp. Anche MAC OS X èdotato di SSH (1.5 e 2.0). OpenSSH è disponibile per vari si-stemi operativi, incluso Windows. Per Palm OS esistonoTop Gun SSH (solo SSH-1) e TuSSH (SSH-1 e SSH-2). Per Win-dows esistono diverse versioni, elencate in www.opens-sh.com/windows.htm; tra queste, una delle più note èPuTTY, un client Telnet, Rlogin e SSH per il login remoto. E’concesso in licenza gratuita dall’MIT ed è facile da usare,anche se meno sicuro della versione OpenSSH(http://sshwindows.sourceforge.net/); sia PuTTY siaOpenSSH for Windows supportano le due versioni di SSH.

I computer che agiscono da server devono avere instal-lata anche un’applicazione SSH server, il che è frequente,ma non sempre accade (per esempio PuTTY è solo client).In Linux e Mac OS X, SSH è implementato anche come ser-ver; per Windows esistono versioni server (sshd) com-merciali come WinSSHD (http://www.bitvise.com/wins-shd.html).

Alcune applicazioni SSH, vedi OpenSSH, sono del tiposoftware libero, distribuite anche come sorgenti. Normal-mente ci si limita a scaricare i file eseguibili per la piat-taforma desiderata (per esempio Win32 su hardware x86).Se occorre, bisogna espandere i file compressi, per esem-pio con tar (formati tar e tgz), rpmI (formato rpm), dpkg(formato debian) o Winzip (formato zip).

Installato, se occorre, il software SSH, sarà bene utiliz-

zare quando possibile la versione 2 e comunque evitare diutilizzare DES se si usa la versione 1. In OpenSSH si posso-no modificare le impostazioni SSH a livello di sistema nei fi-le /etc/ssh/ssh_config e /etc/ssh/sshd_config.

Quanto all’autenticazione, è senz’altro preferibile utiliz-zare le chiavi asimmetriche. Basta generare le chiavi conl’apposita utility (come ssh-keygen) e copiare le chiavi pub-bliche sul server come specificato per la versione di SSHutilizzata (vedi l’esempio in Linux più avanti).

In Linux, i parametri Cipher e Ciphers in ssh_config han-no i seguenti valori di default:Cipher 3desCiphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc

Il parametro PasswordAuthentication vale solo per i ser-ver ed è preferibile sia impostato a no.

Il parametro PermitRootLogin, per i server, permette dicollegarsi come root; si consiglia yes qualora le passwordnon fossero abilitate, altrimenti si consiglia il valorewithout-password, in modo da forzare l’uso delle chiavi perl’autenticazione.

Creare una chiave con un pacchetto compatibile SSH

Nella maggior parte dei casi, la generazione delle chiaviè assai semplice, come si vede in questo esempio di dialo-go in Linux, dove è richiesta la generazione di chiavi DSA el’uso della versione 2 di SSH.

La passphrase può essere omessa, ma il suo uso è con-sigliato per proteggere la chiave privata, che deve restaresegreta.

gobbi@linux:~> ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key

(/home/gobbi/.ssh/id_dsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in

/home/gobbi/.ssh/id_dsa.Your public key has been saved in

/home/gobbi/.ssh/id_dsa.pub.The key fingerprint is:bc:ed:44:26:7a:29:66:1b:5f:6a:d3:15:cb:ef:b6:6d

gobbi@linux

Le versioni di OpenSSH permettono di operare come se-gue.

Nelle versioni non recenti di SSH ci si può limitare a usa-re ssh-keygen per generare una coppia di chiavi RSA. Nelleversioni recenti si può scegliere fra tre modalità:1) ssh-keygen -t rsa1 per chiavi RSA con versione 1 di SSH2) ssh-keygen -t rsa per chiavi RSA con versione 2 di SSH3) ssh-keygen -t dsa per chiavi DSA con versione 2 di SSH

Vengono chieste due informazioni: il nome del file dovesi vuole memorizzare la chiave privata (la chiave pubblicaviene salvata in un file con lo stesso nome e suffisso .pub)e la passphrase di sblocco della chiave privata.

Se, per generare le chiavi, si usa PuTTY in Windows, ba-sta eseguire Puttygen.exe e specificare in basso una delletre opzioni, equivalenti a quelle viste per OpenSSH; si con-siglia di usare una delle due previste per SSH-2. Si può mo-dificare la lunghezza della chiave, ma il default di 1.024 èadeguato.

Dopo il clic su Generate, viene chiesto di muovere ilmouse sopra la finestra del programma, in modo da gene-rare eventi casuali che aiutano a produrre valori casuali.Dopo la generazione, si scrive la passphrase per protegge-re la chiave privata. Le chiavi pubblica e privata sono sal-vate separatamente ed è preferibile che abbiano lo stessonome (viene aggiunto .ppk a quella pubblica).

www.pcopen.it42

5.2.7.6 Essere ingrado d'installare econfigurare unprodotto softwareche gestisca ilprotocollo SSH

Page 43: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

Inserire chiavi su un server per autenticarne i proprietari

Nell’autenticazione con chiavi, il server deve conoscerele chiavi pubbliche dei client che si collegano. Ciò avvienecopiando le chiavi pubbliche in una data posizione del ser-ver. Nel caso di un utente che utilizza OpenSSH su un si-stema Linux o Mac OS X, si procede come segue.1) Si decide quale identificativo di utente (user-id) va as-

sociato al client. 2) Ci si sposta nella sua home directory (per esempio /ho-

me/gobbi). 3) Ci si sposta nella sottostante cartella .ssh. 4) Si crea il file authorized_keys se si usa la versione 1 o

authorized_keys2 se si usa la versione 2 (per esempiotouch authorized_keys2); si limitano gli accessi con ch-mod 600 authorized_keys2.

5) Si copia la chiave pubblica del client remoto in authori-zed_keys2; per esempio, se si è trasferita la chiave su unfloppy che poi è stato montato in /mnt sul server e la di-rectory corrente è /home/gobbi/.ssh, si può usare cat/mnt/id_dsa.pub >> authorized_keys2.

6) Altrimenti si può trasferire la chiave al server remotocon un comando del tipo scp id_dsa.pub [email protected]:./id_dsa.pub, che esegue una copia si-cura del file dalla directory .ssh del client alla home di-rectory sul server.Nell’uso di SSH è particolarmente utile l’opzione -v (ver-

bose) per vedere ciò che accade a ogni passo. La connes-sione SSH (versione 2) dell’utente gobbi (su Linux SuSE) alcomputer con indirizzo 192.168.0.190 (con Linux Fedora),autenticata con chiavi DSA, ha il seguente aspetto. Dopo loscambio d’informazioni e di chiavi, la scelta dei protocollie l’autenticazione con chiavi asimmetriche, inizia la ses-sione interattiva. In assenza dell’autenticazione con chiavi,verrebbe chiesta la password di Gobbi sul server.

gobbi@linux:~/.ssh> ssh -2 -v [email protected]_3.9p1, OpenSSL 0.9.7d 17 Mar 2004debug1: Reading configuration data /etc/ssh/ssh_configdebug1: Applying options for *debug1: Connecting to 192.168.0.190 [192.168.0.190]

port 22.debug1: Connection established.debug1: identity file /home/gobbi/.ssh/id_rsa type 1debug1: identity file /home/gobbi/.ssh/id_dsa type 2debug1: Remote protocol version 1.99, remote software

version OpenSSH_3.9p1debug1: match: OpenSSH_3.9p1 pat OpenSSH*debug1: Enabling compatibility mode for protocol 2.0debug1: Local version string SSH-2.0-OpenSSH_3.9p1

debug1: SSH2_MSG_KEXINIT sentdebug1: SSH2_MSG_KEXINIT receiveddebug1: kex: server->client aes128-cbc hmac-md5 nonedebug1: kex: client->server aes128-cbc hmac-md5 nonedebug1: SSH2_MSG_KEX_DH_GEX_REQUEST

(1024<1024<8192) sentdebug1: expecting SSH2_MSG_KEX_DH_GEX_GROUPdebug1: SSH2_MSG_KEX_DH_GEX_INIT sentdebug1: expecting SSH2_MSG_KEX_DH_GEX_REPLYdebug1: Host '192.168.0.190' is known and matches the

RSA host key.debug1: Found key in /home/gobbi/.ssh/known_hosts:1debug1: ssh_rsa_verify: signature correctdebug1: SSH2_MSG_NEWKEYS sentdebug1: expecting SSH2_MSG_NEWKEYSdebug1: SSH2_MSG_NEWKEYS receiveddebug1: SSH2_MSG_SERVICE_REQUEST sentdebug1: SSH2_MSG_SERVICE_ACCEPT receiveddebug1: Authentications that can continue:

publickey,gssapi-with-mic,passworddebug1: Next authentication method: publickeydebug1: Offering public key: /home/gobbi/.ssh/id_rsadebug1: Authentications that can continue:

publickey,gssapi-with-mic,passworddebug1: Offering public key: /home/gobbi/.ssh/id_dsadebug1: Server accepts key: pkalg ssh-dss blen 433debug1: read PEM private key done: type DSAdebug1: Authentication succeeded (publickey).debug1: channel 0: new [client-session]debug1: Entering interactive session.Last login: Thu Apr 7 15:51:48 2005[gobbi@host ~]$

Secure/Multipurpose Internet Mail Extensions - S/MIME

S/MIME (Secure/Multipurpose Internet Mail Extensions)è un protocollo che aggiunge la cifratura e la firma elettro-nica ai messaggi MIME descritti nella RFC 1521 (Mechani-sms for Specifying and Describing the Format of InternetMessage Bodies). MIME è lo standard che specifica comedevono essere trasferiti i dati multimediali e gli allegati die-mail. I messaggi di posta su Internet consistono di dueparti, l’intestazione e il corpo. L’intestazione raccoglie unaserie di coppie campo/valore che forniscono informazioniessenziali per la trasmissione del messaggio, secondo lastruttura specificata nella RFC 822. Il corpo di solito non èstrutturato a meno che il messaggio sia in formato MIME.MIME definisce la struttura del corpo del messaggio in mo-do da permettere d’includere testo con attributi, grafica,audio e altri contenuti in modo standardizzato. MIME nonfornisce alcun servizio di sicurezza. Lo scopo di S/MIME èquindi definire tali servizi secondo la sintassi definita dalformato PKCS #7 (citato in precedenza) per la firma e la ci-fratura. S/MIME estende lo standard MIME e permette la ci-fratura del messaggio e degli allegati. Gli algoritmi di cifra-tura e hash possono essere specificati dall’utente nelle im-postazioni del programma di posta, come visto nel capito-lo 5.2.2.1 (Principi di crittografia simmetrica). S/MIME ga-rantisce la riservatezza mediante l’algoritmo di cifratura,l’integrità mediante l’algoritmo di hash, l’autenticazionemediante l’uso di un certificato a chiave pubblica X.509 e ilnon ripudio mediante la firma digitale.

S/MIME è stato sviluppato in origine da RSA; in seguitoè passato all’IETF. La sua standardizzazione è oggetto del-l’S/MIME Working Group dell’IETF (vedi www.imc.org/ietf-smime/index.html per l’elenco dei documenti disponibili).

Ecco alcune caratteristiche di S/MIME.1) Formato del messaggio: binario, basato su CMS (vedi

PKCS #7)2) Formato del certificato: binario, basato su X.5093) Algoritmo simmetrico: TripleDES (DES EDE3 CBC)

www.pcopen.it43

5.2.7.7 Conoscere iprincipi difunzionamento diS/MIME.

Page 44: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

ITAdministrator - Sicurezza informatica Lezione 2

4) Algoritmo di firma: Diffie-Hellman (X9.42) con DSS5) Algoritmo hash: SHA-1

Un modo per proteggere la posta elettronica con S/MI-ME consiste nel procurarsi un certificato personale per e-mail da Thawte (www.thawte.com/email/ ), che lo forniscegratuitamente, rinnovabile di anno in anno.

S/MIME è supportato da vari client e-mail: Outlook e Ou-tlook Express di Microsoft, Netscape Messenger 7.x, Mo-zilla Mail, Mail in Mac OS X e altri, ma non da Eudora (peril quale esistono plug-in in ambiente Windows).

Secure Sockets Layer - SSLSecure Sockets Layer (SSL) è un protocollo per la pro-

tezione di un canale di comunicazione attraverso una retee funziona allo strato di trasporto, tra i protocolli di tra-sporto e di applicazione. Come altri protocolli di sicurezzadi rete, SSL utilizza la crittografia simmetrica e asimmetri-ca e le funzioni di hash per fornire l’autenticazione del ser-ver (e in opzione anche del client), la cifratura dei messag-gi e l’integrità dei dati. Quando un client (tipicamente unbrowser) accede a un sito web, è possibile che trovi unaparte delle pagine protette, come accade nei siti che sup-portano transazioni bancarie o commerciali e la raccolta diinformazioni personali tramite moduli da compilare (form).

Quando il client passa da una pagina pubblica a una pa-gina sicura, il web server invoca SSL per proteggere la co-municazione (l’utente se ne accorge perché l’URL della pa-gina è preceduto da https - cioè HTTP over SSL - anzichéhttp) inoltre compare solitamente un’icona nella finestradel browser che segnala la presenza di una connessioneprotetta. Nel caso di Internet Explorer in Windows, adesempio, l’icona ha la forma di un piccolo lucchetto dora-to che compare in basso a destra. Il server risponde alclient indicando che dev’essere stabilita una sessione si-cura e il client invia i propri parametri di sicurezza. Nellaprima fase, opera l’Handshake Protocol, il primo dei trecomponenti di SSL. In tale fase client e server negoziano iparametri crittografici da usare: versione del protocollo,identificativo di sessione, selezione degli algoritmi critto-grafici e del metodo di compressione, generazione di nu-meri casuali iniziali, autenticazione del server (solitamen-

te con un certificato), eventuale autenticazione del client(rara benché possibile), accordo finale sulla suite di cifra-ri da usare.

Nella fase di handshake, il client si connette al server, in-via una serie di dati (versione supportata, un numero ca-suale che sarà usato per lo scambio delle chiavi, un ID disessione, la lista degli algoritmi supportati e il metodo dicompressione) e attende risposta.

Il server risponde con un messaggio analogo, con nu-mero di versione, altri dati casuali, lo stesso ID di sessionee gli algoritmi scelti dal server per lo scambio delle chiavi(RSA, Diffie-Hellmann e altri), la cifratura simmetrica, l’ha-sh e la compressione.

Il server dimostra la propria identità inviando al client ilsuo certificato digitale; tale scambio può includere, in op-zione, l’intera catena di certificati fino al certificato root (ra-dice) della Certification Authority (CA). Se richiesto dal me-todo di scambio chiavi adottato, il server invia al client unmessaggio di scambio chiavi contenente materiale per lagenerazione della chiave simmetrica.

Il server può quindi iniziare a richiedere l’autenticazio-ne del client con un certificato, ma nella maggior parte deicasi ciò non accade.

Il client verifica il certificato o i certificati del server inbase alle date di validità e controlla la presenza della firmadi una CA fidata.

Il client invia un messaggio di scambio chiavi il cui con-tenuto dipende dall’algoritmo usato.

Il server verifica il certificato del client, se presente.Il client e il server generano la chiave di sessione utiliz-

zando i dati che si sono scambiati nei messaggi preceden-ti.

Il secondo componente di SSL è il Record Protocol, usa-to per lo scambio di dati tra le applicazioni dopo aver crea-to il canale sicuro di comunicazione. I messaggi sono fram-mentati in blocchi facili da gestire e opzionalmente vengo-no compressi; si applica un MAC (codice di autenticazionedel messaggio) e il risultato viene cifrato e trasmesso. Il ri-cevente decifra i dati, verifica il MAC, decomprime e rias-sembla il messaggio e fornisce il risultato al protocollo ap-plicativo.

www.pcopen.it44

5.2.7.8 Conoscere iprincipi difunzionamento diSSL

Page 45: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

Lezione 2 IT Administrator - Sicurezza informatica

Il terzo componente, l’Alert Protocol, è usato per indi-care il verificarsi di un errore o la terminazione di una ses-sione tra due host.

L’uso di SSL richiede un server con capacità SSL; i brow-ser includono generalmente il supporto SSL 2.0 e 3.0. In pre-cedenza abbiamo messo a confronto la protezione a livel-lo di collegamento con la protezione (superiore) a livello diapplicazione. SSL, collocato allo strato di trasporto (doveopera il protocollo di rete TCP, per intenderci), fornisce lasicurezza della connessione, ma non la sicurezza dei datiuna volta ricevuti e decifrati. L’utente di una connessioneSSL può contare su una comunicazione protetta, ma deveavere fiducia nell’istituzione a cui trasmette i dati per la si-curezza con cui essi saranno trattati e conservati.

Una variante rispetto all’SSL versione 3 di uso correnteè il protocollo TLS (Transport Layer Security) definito dal-l’IETF nella RFC 2246, simile a SSL, ma con differenze so-prattutto negli algoritmi crittografici utilizzati. TLS è già im-plementato e si può prevedere una sua graduale adozione.

Uso delle smartcardLe smartcard, piccole schede di plastica che includono

capacità logiche e memoria, sono utilizzate per memoriz-zare in modo sicuro le chiavi private usate per la firma di-gitale e per la decifratura. In tal modo si evita di conser-varle o dimenticarle sul computer, ossia in un ambiente po-co sicuro.

In sintesi, una smartcard oggi è costituita da un micro-processore dotato di una certa quantità di RAM e da unamemoria EEPROM (Electrically Erasable ProgrammableRead-Only Memory) che alloggia il software di gestione e lechiavi e il cui contenuto non si cancella col tempo, ma puòessere modificato mediante apposite apparecchiature. Lasmartcard dialoga con il mondo esterno attraverso un’in-terfaccia seriale (secondo la disposizione a otto contatti

dello standard ISO7816 Part 1) o senza contatti, medianteun’interfaccia radio.

Il programma residente sulla scheda riconosce i co-mandi che arrivano dall’esterno e risponde di conseguen-za. Fondamentalmente, i comandi inviati a una smartcardsono del tipo seguente:1) richiesta di generazione di chiavi2) richiesta della chiave pubblica3) richiesta di cifrare un blocco di dati con la chiave privata4) richiesta di memorizzazione del certificato della CA che

ha emesso il certificato dell’utente in base alla chiavepubblica estratta dalla smartcard.Una trattazione dettagliata può essere trovata su Smart

Card Handbook, Secon Edition di Rankl ed Effing.Le smartcard possono generare, su richiesta, coppie di

chiavi (pubblica e privata); non c’è modo di estrarre lachiave privata dalla scheda, mentre la chiave pubblica è di-sponibile per l’uso nei sistemi PKI. La custodia sicura del-la chiave privata permette di usare le smartcard per firmedigitali con validità legale e garanzia di non ripudio.

A causa della capacità limitata del processore e dellamemoria di una smartcard, le operazioni di generazione dichiavi e di cifratura sono piuttosto lente, ma ciò non è gra-ve se si considera che le chiavi sono generate non più diuna volta l’anno e che le operazioni avvengono su hash dilunghezza ridotta.

L’accesso alle smartcard (come ad altri dispositivi crit-tografici) avviene mediante un’API (interfaccia program-matica) definita dallo standard PKCS #11 (CryptographicToken Interface Standard, detto Cryptoki). L’interfacciastandard permette di sviluppare software indipendentedalla smartcard utilizzata.

Un esempio di smartcard ad uso dei cittadini è la cartadei servizi della Regione Lombardia (vedi www.crs.lom-bardia.it/). �

www.pcopen.it45

5.2.7.9 Essereconsapevoli dell’usodelle smartcard

Page 46: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it46

ITAdministrator - Sicurezza informatica Lezione 3

In termini molto generali, l’autenticazione può essere de-finita come il processo mediante il quale si verifica un de-terminato parametro. Il parametro può riguardare gli ar-

gomenti più svariati, come l’identità di un processo o di unutente o di un computer, oppure l’identità e l’integrità di unpacchetto in rete.

Una definizione più focalizzata vede l’autenticazione co-me il processo tramite il quale viene stabilita l’identità diun’entità. Nel campo della sicurezza informatica, l’entità ètipicamente un computer, un processo, un utente o un mes-saggio.

La legge italiana considera autenticata l’identità di unapersona solo se c’è un pubblico ufficiale che lo attesti e ri-corre a complesse perifrasi per definire la conferma di iden-tità ottenuta mediante mezzi informatici. Per semplicità,continueremo a usare il termine autenticazione come equi-valente dell’inglese authentication di uso generale, consa-pevoli del fatto che, quando si passa dal contesto tecnicoa quello giuridico (per esempio riguardo la validità delle fir-me digitali), bisogna fare riferimento al linguaggio e alle di-sposizioni dei recenti articoli di legge. Sebbene la legge pos-sa risultare complessa, farraginosa e criticabile dagli am-bienti informatici, resta il fatto che nessun computer,software o utente può confermare con certezza l’identità diun utente; si possono solo eseguire test che, quando supe-rati, forniscono una garanzia sufficiente sull’identità del-l’interlocutore. Il problema sta nell’aggettivo “sufficiente”,

che muta significato nel tempo con l’evolversi delle tecno-logie di attacco e di difesa e che dipende da ipotesi, spes-so disattese, sul comportamento degli utenti e sulla validitàdegli strumenti tecnici. Di fronte alle possibilità di falsifi-cazione e soprattutto alla possibile trascuratezza o incom-petenza degli utenti, i test di autenticazione assumono unvalore relativo.

All’atto dell’autenticazione, l’entità che chiede di essereautenticata presenta alcune credenziali, come una pas-sword o un certificato digitale, come prova della propria

Prosegue il primo corso di taglio professionale destinato alconseguimento della certificazione ufficiale, EUCIP ITAdministrator – SicurezzaInformatica, valida in tutta Europa. In questo numero cioccupiamo di tutti i sistemi di riconoscimento e autenticazione,dalla password, alle smartcard con un esame approfondito anchedell’autenticazione via rete.I contenuti sono composti da treelementi: un articolo sullarivista, un articolo, molto piùesteso in formato PDF e un corsomultimediale completo su CD e DVD di Giorgio Gobbi e Marco Mussini

Materiale didatticovalidato da AICACertificazione EUCIPIT AdministratorModulo 5 - IT SecuritySicurezza informatica

"AICA Licenziatariaesclusiva in Italia delprogramma EUCIP(European Certificationof InformaticProfessionals), attestache il materiale didatticovalidato coprepuntualmente eintegralmente gliargomenti previsti nelSyllabus IT Administratore necessari per ilconseguimento dellacertificazione ITAdministrator ITSecurity. Diconseguenza AICAautorizza sul presentemateriale didattico l'usodel marchio EUCIP,registrato da EUCIP Ltde protetto dalle leggivigenti"

Obiettivo del corso IT AdministratorSicurezza InformaticaFornire al lettore familiarità con i vari modi diproteggere i dati sia su un singolo PC sia in una LANconnessa a Internet. In particolare, metterlo nellecondizioni di proteggere i dati aziendali controperdite, attacchi virali e intrusioni. Inoltre, metterlonelle condizioni di conoscere e utilizzare le utility e iprogrammi più comuni destinati a tali scopi.

Riferimento Syllabus2.0 (curriculumufficiale AICA)

5.3.1. Concettigeneralidell’autenticazione.

I contenuti delle 8 lezioni Lezione 1: Informazioni generaliLezione 2: parte 1Crittografia -

fondamenti e algoritmiLezione 2: parte 2Crittografia -

applicazioniLezione 3: Autenticazione

e controllo degli accessiLezione 4: DisponibilitàLezione 5: Codice malignoLezione 6: Infrastruttura a chiave pubblicaLezione 7: Sicurezza della reteLezione 8: Aspetti sociali, etici e legali della

sicurezza informatica

In collaborazionecon:

� Autenticazione e controllo degli accessi

Prevenire i furti e gli accessi non autorizzati

Page 47: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it47

Lezione 3 IT Administrator - Sicurezza informatica

identità. Se le credenziali sono valide e sufficienti, l’entità èritenuta autentica. L’autenticazione verifica solo che un’en-tità sia quella che dichiara di essere, senza entrare nel me-rito dell’accesso al sistema.

Una volta che un utente (in senso lato) è stato autenti-cato, il passo successivo è assicurare che possa accederesolo alle risorse per cui è autorizzato. Ciò avviene imple-mentando controlli di accesso, permessi, privilegi e altrielementi, secondo il sistema in questione. L’autorizzazioneviene talvolta confusa con l’autenticazione nei documentitecnici e normativi, ma è un concetto ben distinto: auto-rizzazione è il diritto accordato a un individuo (oppure en-tità hardware/software) di accedere a un sistema e alle suerisorse secondo un profilo di permessi ben definito (defi-nito ad esempio da un system administrator o stabilito au-tomaticamente dalla categoria di autorizzazione dell’uten-te).

Un’analogia per un processo di autenticazione informa-tico è il controllo del passaporto a una frontiera. Il viaggia-tore fornisce alla guardia di frontiera il proprio passaportocon la foto, le generalità e informazioni sull’ente che ha ri-lasciato il documento. La guardia osserva se il passaportoappare autentico, se la foto è somigliante e magari se ha unnumero identificativo valido, verificato tramite accesso aun database. L’atto di convalidare il passaporto e di valu-tare la somiglianza tra il viaggiatore e la foto è una forma diautenticazione.

Il successo dell’autenticazione non implica che al viag-giatore sia concesso di varcare la frontiera, come pure nelcaso dell’accesso a un sistema. La persona può essere pri-va di visto o di qualche altro requisito o risultare indesi-derata o pericolosa per i suoi trascorsi, attività o connes-sioni. Allo stesso modo un’entità informatica potrebbe es-sere autenticata e, una volta riconosciuta, potrebbe risul-tare priva di autorizzazioni.

Su una rete (e specialmente Internet), l’autenticazione èpiù complessa sia perché eseguita da macchine sia perchéle entità autenticatrici della rete di solito non hanno ac-cesso fisico alle entità da autenticare. Programmi o utentiostili possono tentare di rubare informazioni, crearne di fal-se, interrompere o alterare un servizio fingendosi entità va-lide. Il ruolo dei processi di autenticazione è quello di di-stinguere le entità valide da quelle non valide ed è un com-pito essenziale per la sicurezza di una rete e dei sistemi chevi sono connessi. Se un individuo riesce a impersonare unutente valido, non ci sono limiti al danno potenziale per lariservatezza e integrità delle informazioni, oltre ai dannieconomici che ne possono derivare. Vedremo che in qual-che caso può essere persino compromessa la futura capa-cità di autenticazione degli utenti.

Oggi esiste una vasta schiera di metodi di autenticazio-ne, che comprende l’uso di password, di certificati digita-li, di dispositivi biometrici e di oggetti fisici come token(“gettoni”, ovvero schede o chiavi di vario tipo) e SmartCard contenenti ad esempio un certificato. Nessuno di es-si è perfetto. Le password, da tempo considerate insicure,sono destinate a essere rimpiazzate da metodi più efficaci.Persino metodi apprezzati o promettenti come le SmartCard e i dispositivi biometrici pongono seri problemi: leSmart Card per le difficoltà di adozione generalizzata datala varietà di soluzioni sul mercato (senza contare i costi),il secondo perché è relativamente facile procurarsi i datibiometrici di un individuo (a sua insaputa) compromet-tendone l’autenticazione per tutta la vita.

Oltre agli schemi consolidati di autenticazione che ve-dremo nei prossimi capitoli, è inevitabile che ne nascano dinuovi, favoriti anche dall’evoluzione delle tecnologie mo-bili. Oggi, ad esempio, esistono PDA dotati di funzioni crit-tografiche e di capacità biometriche, come il riconosci-mento dell’impronta digitale, della firma e della voce, cheli rendono idonei a impieghi di autenticazione riducendo irischi di furto di identità. Infatti, nel caso di furto, il PDA,

protetto da crittografia forte, può resistere per un buontempo.

Modelli di architetturaI modelli a cui si fa riferimento per progettare un siste-

ma di autenticazione dipendono dal tipo di utenti, dalla di-stribuzione fisica delle risorse, dal valore delle informazio-ni da proteggere e da altri fattori. In sintesi, i modelli fon-damentali sono quattro.1) Autenticazione locale: è quella utilizzata su un computer

desktop o portatile. L’intero sistema, inclusi i meccani-smi di autenticazione e controllo degli accessi, risiede al-l’interno di un singolo perimetro di sicurezza. L’utentedefinisce e tiene aggiornate le informazioni di autentica-zione all’interno di tale perimetro.

2) Autenticazione diretta: è stata usata in passato dai ser-ver delle reti locali e dai sistemi di timesharing (utilizzocontemporaneo di un computer da parte di più utentiche si ripartiscono il tempo di elaborazione dello stes-so). Il sistema è usato da molti utenti, anche remoti. Au-tenticazione e controllo degli accessi risiedono in unsingolo perimetro fisico. E’ un modello “diretto” perchéè centralizzato: un sistema prende tutte le decisioni econtiene il database con le informazioni sugli utenti.Ogni sistema di questo genere è amministrato e aggior-nato indipendentemente, quindi il modello diretto si pre-sta per un singolo sistema o per un gruppo di sistemicon popolazioni di utenti indipendenti. La vulnerabilitàa intercettazioni e replay di messaggi impone l’uso dicrittografia, almeno per le password.

3) Autenticazione indiretta: è usata nei moderni sistemi di-stribuiti per consentire a una popolazione di utenti di ac-cedere a più sistemi e punti di servizio in rete. Quandoun sistema riceve una richiesta di accesso, la inoltra a unserver di autenticazione centralizzato che esamina lecredenziali fornite e conferma l’identità dell’utente. A ta-le scopo vengono usati protocolli come RADIUS e Ker-beros o i domini dei server Windows. Il server di auten-ticazione gestisce un unico database, facilmente ammi-nistrabile, con le informazioni sugli utenti, che possonoaccedere in modo uniforme a tutti i punti di servizioospitati dai sistemi sulla rete.

4) Autenticazione off-line: è quella utilizzata nei sistemi chesfruttano l’infrastruttura a chiave pubblica (PKI). Inquesta architettura, diversi componenti autonomi pren-dono decisioni sull’autenticazione degli utenti anche se

Autenticazione localeavviene direttamente sulcomputer usatodall’utente e si svolgeentro un perimetro disicurezza circoscritto.

Page 48: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it48

ITAdministrator - Sicurezza informatica Lezione 3

in tale momento non possono contattarsi l’un l’altro. Leparti interessate accettano il rischio che talvolta le de-cisioni siano basate su informazioni di autenticazionenon aggiornate, che possono determinare risultati scor-retti. Il modello indiretto è una combinazione dei tre pre-cedenti: l’autenticazione e il controllo degli accessi ri-siedono sullo stesso dispositivo, mentre il titolare dellasicurezza (l’autorità di certificazione che gestisce le chia-vi pubbliche) mantiene un database centralizzato degliutenti autorizzati. L’aspetto peculiare è che non occorreche la CA sia online, e quest’ultima può anche distribui-re le chiavi pubbliche attraverso mezzi tradizionali eproteggere in tal modo i propri sistemi da intrusioni. Peresempio, il protocollo SSL incorporato in un browser siprocura il certificato con la chiave pubblica dal serverda autenticare (per esempio il sito di una banca), lo au-tentica con un’altra chiave pubblica prestabilita (nota albrowser) e quindi utilizza la chiave pubblica del servernella fase di scambio dati per la costruzione di una chia-ve di sessione con cui cifrare le comunicazioni.

I diversi schemi di autenticazioneIndipendentemente dai metodi usati, i sistemi di auten-

ticazione hanno generalmente alcuni elementi comuni:una persona o entità da autenticare, una o più caratteristi-che distintive su cui si basa l’autenticazione, un proprieta-rio o amministratore del sistema di sicurezza e un mecca-nismo di autenticazione che verifica le caratteristiche di-stintive. Il meccanismo di controllo dell’accesso, spessoconsiderato parte integrante del sistema di autenticazione,è in realtà una funzione successiva, invocata se l’autenti-cazione ha avuto successo.

Per esempio, nel caso del Bancomat, l’elemento da au-tenticare è una persona, le caratteristiche distintive sonodue (la scheda e il PIN), il proprietario è la banca e il mec-canismo di autenticazione è il software di validazione del-le informazioni fornite dalla scheda (registrate su una ban-da magnetica o nella memoria di un chip) e del PIN digita-to dall’utente. Se l’autenticazione ha successo e l’utente hail credito necessario, il meccanismo di controllo dell’ac-cesso autorizza il prelievo della somma richiesta.

Un altro esempio è quello di un sito di e-commerce; l’en-tità da autenticare (verso il client che si collega al sito) è ilproprietario del sito, la caratteristica distintiva è una chia-ve pubblica in un certificato digitale, l’amministratore e ga-rante della sicurezza è l’autorità certificatrice che ha emes-so il certificato, il meccanismo di autenticazione è il softwa-re di convalida del certificato contenuto nel browser del-l’utente, che determina se la pagina web è sicura. Tale sche-ma è riscontrabile nel protocollo SSL (Secure SocketsLayer) presentato nel capitolo 5.2.7.8 della sezione Critto-grafia.

Nella letteratura è frequente trovare i fattori di autenti-cazione di un utente suddivisi in tre categorie: - qualcosa che sai (come password, passphrase, PIN o com-binazione)

- qualcosa che hai (come token, Smart Card o dati incor-porati in un file o dispositivo)

- qualcosa che sei (caratteristiche biometriche come im-pronta digitale, retina, iride, volto, voce).

La paternità di questo schema è attribuita a Carlton eagli altri autori dell’articolo del 1988 “Alternate Authenti-cation Mechanisms”. L’appeal mnemonico di “qualcosa chesai, qualcosa che hai, qualcosa che sei” ha fatto in modoche questa sorta di filastrocca mettesse stabili radici. Fac-ciamo notare in ogni caso la forzatura in cui s’incorre se siprende alla lettera la terza categoria, visto che tra un indi-viduo e una caratteristica del proprio corpo corre una di-stanza pressoché incolmabile. Trascurare tale aspetto por-terebbe a situazioni paradossali, dove si rischierebbe di au-tenticare corpi (non necessariamente vivi) o loro parti an-ziché individui. Sebbene la terza categoria rientri in realtà

nella seconda (un individuo possiede un corpo che ha ca-ratteristiche biometriche), per non allontanarci troppo dal-la convenzione ci limiteremo a correggere la formulazionein qualcosa che “sei”.

Qualcosa che sai È uno dei metodi di autenticazione più antichi, utilizza-

to per esempio in passato per bloccare gli stranieri che nonconoscevano la parola d’ordine o la pronunciavano male.Oltre a parole (password) e frasi (passphrase), gli elemen-ti di autenticazione di questa categoria includono i PIN, lecombinazioni da digitare su una tastiera numerica (l’equi-valente della combinazione numerica di un lucchetto o cas-saforte) e le informazioni note soltanto all’individuo, dausare in risposta a specifiche domande personali. L’auten-ticazione tramite un dato segreto in possesso dell’utente èvulnerabile sia per motivi tecnici sia per i comportamentiinsicuri degli utenti; sebbene ancora ampiamente usata,tende a essere sostituita da metodi più sicuri e da combi-nazioni di più fattori (come scheda più PIN). Il grado di si-curezza peggiora rapidamente quando un utente, per ri-cordare tutte le password di accesso a banche, siti e servi-zi, le scrive su carta o le conserva in un file non cifrato.

Qualcosa che hai Anche gli oggetti sono stati usati nel passato a scopo di

autenticazione; sigilli di ceralacca, chiavi e documenti fir-mati erano alcuni degli strumenti utilizzati per farsi rico-noscere o per avere accesso a luoghi e risorse. Il termine“chiave” in informatica deriva in effetti dalle chiavi di ca-sa, anche se l’analogia si ferma qui perché, a differenza diuna chiave informatica, la chiave di casa non identifica ilpossessore come il padrone di casa o come qualcuno cheabbia diritto a entrarvi. Oggi l’oggetto in possesso dell’u-tente e usato come caratteristica distintiva per l’autenti-cazione può essere semplicemente un file di dati. Se l’u-tente è una persona (piuttosto che un processo o un di-spositivo hardware) il file è generalmente incorporato in undispositivo che l’utente può portare con sé, come una sche-da con striscia magnetica, una Smart Card o un calcolato-re di password. Tali oggetti vengono anche chiamati token.

L’autenticazione tramite token è la più difficile da viola-re, dato che si basa su un oggetto fisico che l’utente deveavere con sé al momento dell’autenticazione e dell’acces-so al sistema. A differenza delle password e strumenti si-mili, nel caso di un token l’utente sa se gli è stato rubato edè difficile che possa condividerlo con altri riuscendo an-cora a collegarsi a un sistema. Un token costa di più, puòessere smarrito e si può guastare, ma soddisfa le esigenzedi sicurezza di un ampio spettro di applicazioni.

Qualcosa che “sei”Tale categoria di fattori di autenticazione si basa su ca-

ratteristiche del corpo umano e, secondariamente, anchesu comportamenti unici della persona. Prima dei computer,

5.3.1.1 Conosceredifferenti schemi diautenticazione.

La lettura della retina odell’iride costituisce unodei tipi di autenticazionebiometrica.

Page 49: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it49

Lezione 3 IT Administrator - Sicurezza informatica

queste caratteristiche includevano un ritratto, la firma, unadescrizione scritta e le impronte digitali. Oggi i computerpermettono di confrontare rapidamente un attributo fisicocon una registrazione archiviata in un database. Le tecni-che comprendono le impronte digitali, la forma e l’impron-ta delle mani, le caratteristiche dell’occhio (iride e retina),la voce, la firma autografa e altre possibilità. Nel comples-so, tali caratteristiche sono chiamate biometriche.

Nonostante i vantaggi dell’autenticazione biometrica,che non richiede dati segreti o schede da portare con sé, ipunti deboli possono superare i benefici. Oltre ai costi mag-giori per l’acquisto, l’installazione e la gestione dell’attrez-zatura, i dati biometrici possono essere intercettati, l’iden-tificazione non è certa (c’è una percentuale di falsi postivie di falsi negativi), le caratteristiche biometriche possonovariare nel tempo e soprattutto, è facile procurarsi i datibiometrici di un individuo e comprometterne l’autentica-zione per tutta la vita.

È facile capire che non esiste, almeno per ora, un meto-do di autenticazione perfetto. La scelta dipende dai rischispecifici per le diverse circostanze, dai costi e da altri fat-tori, come la disponibilità e l’utilizzabilità degli strumenti,l’adozione di standard e altro ancora. Visto che tutti i me-todi presentano inconvenienti e spesso non offrono il li-vello di protezione richiesto, è sempre più comune utiliz-zare meccanismi di protezione multipli, che incorporanodue o tre dei fattori citati. Tali sistemi offrono la cosiddet-ta autenticazione forte, perché, usando più fattori, ciascu-no di essi contribuisce a neutralizzare i punti deboli deglialtri.

Tuttavia quando si passa dall’autenticazione di un uten-te presso un sistema locale all’autenticazione in rete, le co-se si complicano. Le tre categorie di fattori di autentica-zione si basano su caratteristiche distintive della personao entità, ma quando tali caratteristiche si traducono in se-quenze di bit che attraversano la rete, nessun meccanismopuò fornire la certezza assoluta che una password o unalettura biometrica siano raccolte dalla persona anziché re-gistrate e ritrasmesse da altri. Perciò, insieme ai fattori diautenticazione forniti dagli utenti, sono necessarie tecni-che che identifichino univocamente i messaggi scambiati eimpediscano agli estranei d’inserirsi nel dialogo.

PasswordGestione delle password

L’uso delle password è uno dei più antichi sistemi di au-tenticazione, che già ritroviamo nell’”Apriti sesamo” di AlìBabà e i 40 ladroni. Qualche decennio fa, quando la mul-tiutenza consisteva di terminali connessi a un sistema cen-trale di timesharing e gli utenti cominciavano a essere ubi-cati all’esterno del centro di calcolo (ben protetto), le pas-sword erano lo strumento di autenticazione. Il terminale, ditipo telescrivente con stampa sul rullo di carta, dopo l’in-put della password (anch’essa stampata), sovrastampavacaratteri casuali per impedirne la lettura a estranei.

Negli anni successivi abbiamo visto i sistemi operativiconservare le password in chiaro in un file. Nella corsa traattacchi e difese, il file delle password in chiaro ebbe bre-ve vita, vista la facilità di impossessarsene sia dal sistemaonline sia dai nastri di backup periodico dello stesso.

A partire dal 1967 cominciò a essere introdotto l’hashingdelle password, che viene tuttora utilizzato. Il sistema con-serva un file con i nomi degli utenti e l’hash delle relativepassword. All’atto dell’autenticazione, l’hash calcolato inbase alla password digitata viene confrontato con quello re-gistrato nel file; se coincidono, l’utente è autenticato. Datoche dall’hash è impossibile ricostruire la password, il si-stema è relativamente sicuro, a meno di attacchi di forza

bruta o basati su dizionari delle parole più usate.L’hash delle password venne aggirato dai programmi di

keystroke sniffing, ossia di registrazione dell’input di ta-stiera (i tasti battuti dall’utente). Si tratta di un attacco tut-tora possibile e praticato con una varietà di mezzi hardwa-re e software. Un modo per neutralizzare il keystroke snif-fing è stato la protezione delle aree di memoria, affinché unprogramma non possa curiosare nella memoria di un altroprogramma. E’ una protezione parziale che comunquenon sconfigge i dispositivi hardware di registrazione collo-cati tra la tastiera e il connettore sul computer.

L’evoluzione degli attacchi ha portato al network snif-fing, vale a dire all’analisi del traffico di rete per carpire pas-sword, chiavi di cifratura e altre informazioni. A questo siè risposto con le password usate una volta sola, ossia ge-nerate nel momento stesso in cui devono essere utilizzatee quindi eliminate, e con la periodica variazione delle chia-vi fisse, in modo da limitare le possibilità che vengano sco-perte. Vi presentiamo un quadro fin troppo semplificato eapprossimativo, ma rappresenta la dinamica con cui evol-ve la competizione tra attacchi e difese.

Oltre a carpire password e altre informazioni per via tec-nologica, un metodo usato per conquistare l’accesso a unsistema è il social engineering: l’attaccante si fa aiutare daun dipendente, inconsapevole, convincendolo a rivelare leinformazioni (come nome utente e password) necessarie aentrare nel sistema. Uno dei modi più usati consiste nel pre-sentarsi come un tecnico di assistenza, che per esempio haurgente bisogno del nome utente e della password del mal-capitato interlocutore allo scopo dichiarato di evitargli laperdita dei dati. L’attaccante può anche ordinare, con unafalsa e-mail apparentemente inviata dal system admini-strator, di cambiare provvisoriamente la password, comespecificato, per lavori di manutenzione.

Un esempio di procedura di login tramite password ap-pare in Unix, che ha iniziato a utilizzare l’hashing delle pas-sword intorno al 1973 e si è evoluto utilizzando algoritmi dihashing più sicuri. Il file delle password nel classico UnixVersione 7 comprendeva questi campi: nome utente, hashdella password preceduto da un valore casuale di 12 bitdetto “salt” (sale), User ID numerico, Group ID numerico,un campo di uso misto detto GCOS field (dal nome di un si-stema operativo utilizzato a quel tempo dai Bell labs) e ilnome dello shell preferito dall’utente (per esempio/bin/csh).

Quando un utente digita un nome utente, il programmadi login cerca il nome nel file delle password (/etc/passwd)e, se lo trova, estrae l’hash della password; il programmachiede la password all’utente e ne calcola l’hash; se i duecodici di hash coincidono, l’utente è autenticato e si colle-ga al sistema.

La seconda versione di hashing delle password di Unixutilizza una variante di DES, il cifrario simmetrico presen-tato nella sezione sulla crittografia. L’hashing è realizzatocifrando una stringa di zeri, usando come chiave di cifra-

L’uso delle password èuno dei più antichisistemi di autenticazione.

5.3.2. Password

5.3.2.1 Conoscere iprincipi di creazionee amministrazionedelle password.

Page 50: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it50

ITAdministrator - Sicurezza informatica Lezione 3

tura la password e usando il salt di 12 bit al fine di permu-tare una tabella interna dell’algoritmo DES. In tal modo la ci-fratura risulta incompatibile con lo standard DES, compli-cando eventuali tentativi di attacco.

Policy aziendali, raccomandazioni ai clienti e articoli suimedia riportano spesso i criteri con cui dovrebbero esse-re scelte le password, almeno nei casi in cui esse venganostabilite dagli utenti. In altri casi le password sono genera-te in modo casuale e risultano abbastanza complesse da es-sere difficili da indovinare. Alcuni criteri di base per sce-gliere una password sono i seguenti:1) lunghezza: più la password è lunga, più è difficile da sco-

prire: la lunghezza minima è di sei caratteri o più, se-condo le dimensioni del set di caratteri;

2) caratteri: idealmente una password dovrebbe contenereminuscole, maiuscole, cifre e altri segni, in modo da au-mentare il numero di combinazioni (a parità di lunghez-za) e di eludere gli attacchi tramite dizionario;

3) contenuto: dovrebbero essere esclusi nomi di persone,luoghi, aziende, animali, prodotti, targhe automobilisti-che, date, parole del dizionario e altri nomi o simboli ri-conducibili all’utente;

4) assegnazione: per diversi prodotti hardware e softwarenon è obbligatorio specificare nome utente e password:il primo passo consiste quindi nell’assegnare tali valori(che questo sia ancora un problema è testimoniato dalfatto che, nel 2004, il 70% delle reti wireless sia stato in-stallato senza alcuna protezione);

5) periodo di validità: più frequente è la modifica della pas-sword, minore è la probabilità di scoperta;

6) cambiamento: ogni password assegnata o scelta da unutente dovrebbe essere nuova e differente;

7) valore di default: molti dispositivi sono posti in com-mercio con nome utente e password impostati di default,da modificare all’atto dell’installazione;

8) se una password dev’essere annotata o registrata, vaconservata al sicuro (in cassaforte, cifrata adeguata-mente);

9) memorizzazione: in teoria una password dovrebbe es-sere lunga, complicata e memorizzata dall’utente senzache ne esista alcuna traccia scritta o registrata, ma unapassword troppo lunga e complicata è meno sicura per-ché induce l’utente a scriverla su foglietti facilmente ac-cessibili; un’alternativa a password complicate consistenell’impiego di password mnemoniche molto lunghe e dipassphrase (insieme di parole brevi utilizzate come sin-gola password), che sono una buona protezione anchese contengono parole di soli caratteri.In base a ricerche statistiche condotte nel 1990, Daniel

Klein arrivò alla conclusione che un sistema dovrebbe ri-fiutare password che abbiano anche una sola delle seguenticaratteristiche:1) più corta di sei caratteri,2) contenente il nome dell’utente o una sua parte o le ini-ziali (anche al contrario),3) coincidente con una parola del dizionario, una parolacon parte delle lettere in maiuscolo, una parola scritta alcontrario (magari parte in maiuscolo), una parola con qual-che lettera sostituita da un carattere di controllo o da unacifra di ovvio significato (come 1 per I o $ per S),4) coniugazione di una parola del dizionario,5) tutta in minuscolo o maiuscolo,6) non contenente un mix di caratteri, cifre e punteggiatu-ra,7) corrispondente a un gruppo di caratteri della tastiera(come qwerty),8) contenente solo cifre, una data o qualcosa di simile a unatarga automobilistica.

La tendenza degli utenti a usare nomi e parole facili daricordare riduce drammaticamente lo spazio delle pas-sword definibili con un certo numero di caratteri, spianan-do la strada agli attacchi tramite dizionario che sono stati

usati nel corso degli anni (a partire dall’Internet worm chenel 1988 penetrò il 5% di Internet). Per esempio, si può cal-colare che una password di 10 caratteri (solitamente 80bit), contenente solo parole della lingua inglese, equivaleper efficacia a una password di soli 16 bit in cui vengano uti-lizzate tutte le combinazioni possibili. A maggior ragionenon si dovrebbero usare password numeriche rappresen-tanti date (facili da ricordare e da scoprire). In particolare,i PIN di quattro cifre (che proteggono ad esempio le SmartCard) dovrebbero essere casuali e non riconducibili a da-te oppure ad altri valori particolari.

In realtà, i PIN non soddisfano né la prima, né l'ultimadelle condizioni e sarebbero una pessima scelta se nonavessero l'abbinamento dei dati del token e anche in tal mo-do aggiungono una sicurezza molto limitata all'uso deitoken (come dimostrato dalla facilità di duplicazione deiBancomat).

Oltre a definire ed applicare una serie di criteri tecnici eamministrativi per definire le password, un’azienda do-vrebbe stabilire una policy di sicurezza sulla riservatezzadelle password, in modo che in nessun caso esse venganorivelate a chicchessia. In determinate circostanze, può es-sere rischioso che ci sia un amministratore che possiedetutte le password; quando la sicurezza lo richieda, si puòstabilire una divisione di compiti e di accesso alle infor-mazioni che eviti l’eccessiva concentrazione di poteri e dicontrollo.

Anche l’assunzione di un dipendente (oppure l’iniziodella collaborazione di un consulente) e la cessazione delrapporto di lavoro o di consulenza rappresentano momentidi assegnazione e di revoca delle password, da trattare se-condo policy ben definite. In particolare, alla cessazione, leutenze e le autorizzazioni devono essere immediatamenterevocate, per impedire accessi non autorizzati alle risorse,remoti o di altro genere.

Se provate a visitare diverse aziende, sia ad alta tecno-logia sia a bassa tecnologia, probabilmente scoprirete, sot-to il tappetino del mouse dei vari posti di lavoro, un di-screto numero di password. Benché possano essere na-scoste anche nel cassetto, sotto il tavolo, sotto la tastierae via dicendo, il mouse pad è la metafora di uno zerbino edè facile che qualcuno vi nasconda la password così comenasconde la chiave sotto lo zerbino di casa. L’ispezione deimouse pad e dintorni è uno dei tipi di attacco dall’internoa cui un’organizzazione è soggetta. Le policy aziendali, lasensibilizzazione e l’istruzione del personale dovrebberoconvincere gli utenti ad evitare i comportamenti insicuri afavore di pratiche più efficaci.

Data la velocità con cui un computer può cercare d’in-dovinare una password, il numero di tentativi di login do-vrebbe essere limitato: raggiunto il numero stabilito di er-rori nell’inserire il nome utente e la password, il sistema do-vrebbe bloccare ulteriori tentativi o richiedere una nuovaprocedura di collegamento. Tra i vari tentativi viene sem-pre inserito un ritardo al fine di rallentare le operazioni di“password guessing”.

Un’altra misura precauzionale da adottare è la registra-zione in un file di log dei tentativi di accesso falliti (omet-tere le password errate evita di favorire attacchi interni).Un sistema dovrebbe avvertire l’amministratore in pre-senza di numerosi tentativi di accesso con password erra-ta; dovrebbe avvertire anche un utente, al login, se al suonome utente sono associati parecchi tentativi di accessofalliti.

Password interne ed esterneSpesso si fanno considerazioni sulla scelta delle pass-

word senza distinguere se si tratti di password usate al-l’interno dell’organizzazione (dove gli estranei non metto-no piede) o usate per accedere dall’esterno della rete. L’u-so consigliato delle password varia secondo che gli utentisiano insider (personale dell’azienda) o outsider (come i

Page 51: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it51

Lezione 3 IT Administrator - Sicurezza informatica

clienti che si collegano via Internet).All’interno dell’azienda le password servono all’autenti-

cazione dei dipendenti e di solito non forniscono un alto li-vello di protezione, visto che gli utenti hanno accesso fisi-co al sistema. Un attacco dall’interno ha vari mezzi a di-sposizione, dall’uso dei dizionari delle password più usateallo sniffing di ciò che viene trasmesso in rete. Per tale mo-tivo è superfluo imporre agli utenti interni password com-plicate. Al contrario, sono consigliabili i seguenti criteri:1) usare password mnemoniche (affinché non vengano

scritte), ma difficili da indovinare anche per amici e col-leghi. Evitare qualsiasi nome o argomento che è noto op-pure è stato discusso con i colleghi, scegliere semmaiqualcosa di personale che non viene mai rivelato ad al-tri. Conviene in ogni caso verificare le password così ge-nerate mediante un verificatore automatico che le scar-ta se deboli ad un attacco basato su dizionario.

2) disabilitare la scadenza della password, che induce gliutenti ad annotare le password, è comunque un metodopoco diffuso e poco condiviso, e solitamente utilizzato inabbinamento al successivo.

3) incoraggiare gli utenti a cambiare password in occasio-ne dei cambiamenti di configurazione del computer,

4) tenere i server e i dispositivi di rete sotto chiave;5) i posti di lavoro dedicati ad applicazioni critiche (come

paghe e stipendi) dovrebbero essere situati in stanze se-parate chiuse a chiave e non restare mai incustoditi. Ta-le precauzione è efficace a condizione che tali posti di la-voro siano accessibili solo da consolle e non anche da re-te.

6) i sistemi a cui si accede tramite single sign-on (sign-onossia registrazione singola per tutti i sistemi della rete)non usano password “interne”, ma solo “esterne”,

7) le password degli amministratori devono essere più for-ti di quelle degli utenti interni, visto che rappresentanoun target più ambito per eventuali attacchi.In pratica, all’interno dell’azienda si cerca di mediare tra

usabilità e sicurezza: una password troppo complicata peressere usabile diventa una minaccia alla sicurezza quandoè scritta sotto la tazza portamatite.

All’esterno, invece, una password è più complessa ed èprotetta con metodi crittografici, ma è vulnerabile ad at-tacchi tramite dizionario. In un’azienda, le connessioni re-mote dovrebbero ricevere un trattamento diverso rispettoalle connessioni interne ed essere filtrate da un dispositivodi sicurezza.

In passato, il punto di filtro era tipicamente il NetworkAccess Server (NAS) per le connessioni telefoniche (dial-in)visto che la gran parte degli attacchi avveniva via modem.Oggi si utilizzano invece firewall per le connessioni in ar-rivo da Internet. Volendo consentire l’accesso dall’esternoa sistemi interni si utilizza tipicamente una VPN (Virtual Pri-vate Nework).

Le password esterne dovrebbero essere resistenti agliattacchi di tipo dizionario, il che si ottiene usando pas-sword abbastanza complicate e cambiandole periodica-mente. Se la risorsa da proteggere ha particolare valore, al-lora la password è un meccanismo di protezione inade-guato e dovrebbe essere sostituita da metodi basati sutoken.

Ecco quindi alcune raccomandazioni per la sicurezzadelle connessioni esterne:1) se il sistema gestisce informazioni di particolare valore,

anziché normali password si dovrebbero usare tokencon password single-use, Smart Card, token USB e simi-li,

2) le connessioni esterne dovrebbero usare protocolli cheimpediscano il rerouting (instradamento verso destina-zione diversa) della connessione,

3) le password esterne dovrebbero resistere agli attacchi ditipo dizionario,

4) le password esterne dovrebbero essere cambiate perio-

dicamente,5) le password esterne dovrebbero essere fisicamente pro-

tette dagli attacchi interni,6) le password esterne usate su computer portatili non de-

vono essere conservate sul computer.Un buon modo per scegliere una password memorizza-

bile che resista ai dizionari è il seguente:1) scegliere una password a caso secondo i criteri visti per

le password interne,2) scegliere una seconda password a caso, affinché non ab-

bia alcuna relazione con la prima,3) scegliere a caso una cifra o segno di punteggiatura come

carattere intermedio,4) costruire la password forte concatenando la prima pass-

word debole, il carattere intermedio e la seconda pass-word debole,

5) esaminare il risultato e trovare qualche modello strut-turale, ritmo, ripetizioni o qualsiasi significato che per-metta di memorizzarlo senza doverlo scrivere.Per esempio, “frantumi5bistecca” è una password resi-

stente, ma abbastanza facile da ricordare.

TokenAutenticazione tramite token

Tra le tante definizioni della parola token, la più vicina al-l’uso in campo informatico è “gettone”, un oggetto simile auna moneta usato da un certo gruppo di utenti per pagarequalcosa o per un impiego specifico. Il concetto si è estesoai “gettoni” immateriali che non hanno la forma di una mo-neta, ma che sono comunque oggetti fisici usati da un grup-po secondo regole specifiche. Esempi in tal senso sono igettoni che viaggiano su una LAN Token Ring (che usa ap-punto il gettone per assegnare il turno di trasmissione aivari computer collegati) e i gettoni impiegati dai dispositi-vi di autenticazione.

Un token è un fattore di autenticazione della categoria“qualcosa che hai”; l’utente dev’essere in possesso deltoken al fine di essere autenticato dal computer. Se il tokenviene smarrito, rubato o prestato, l’utente non ha modo difarsi autenticare, come un tempo accadeva per una chiaveo un sigillo personale.

Dal punto di vista della sicurezza, un token ha alcuneproprietà fondamentali:1) la persona dev’essere in possesso fisico del token per

poterlo usare,2) un buon token è molto difficile da duplicare,3) una persona può smarrire un token e con esso perdere

l’accesso a risorse critiche,4) l’utente si accorge del furto di un token facendo l’inven-

tario dei token in suo possesso.

5.3.3 Token5.3.3.1 Conoscere iprincipi diautenticazionetramite token

Le password d’usoesterno dovrebberoessere complicate edessere modificate difrequente

Page 52: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it52

ITAdministrator - Sicurezza informatica Lezione 3

Rispetto a una password, un token offre notevoli benefici:1) elimina il fardello di dover ricordare password compli-

cate,2) può contenere un dato segreto molto più complesso di

quanto sia memorizzabile da una persona,3) è spesso associato a un secondo fattore di autenticazio-

ne, come un PIN memorizzato dall’utente,4) un token attivo può generare un output diverso in di-

verse circostanze oppure ad ogni utilizzo.Oggi un token può assumere i formati e le dimensioni più

svariate: una carta di credito, una chiave, una calcolatrice,un anello e altro ancora. Da un punto di vista funzionale, laprincipale distinzione è tra token passivi, che si limitano amemorizzare dati, e token attivi, dotati di capacità di ela-borazione.

Token passiviUna carta di credito e una scheda Bancomat di vecchia

generazione (prive cioè di processore) sono esempi ditoken passivi, perché i dati identificativi sono registrati suuna striscia magnetica. Il lettore riceve sempre gli stessi da-ti a ogni autenticazione; per sicurezza, può essere richiestoun secondo fattore di identificazione, come il PIN per leschede Bancomat o il codice di sicurezza stampato sul re-tro delle carte di credito.

I token passivi possono essere “chiavi” con una memo-ria di sola lettura, schede con una certa struttura di perfo-razione, schede con codice a barre e schede a prossimità,cioè dispositivi a induzione che rispondono con un certosegnale quando avvicinati al lettore.

Un vecchio esempio di token passivo è la “datakey”(chiave con ROM) di Datakey (poi fusa con SafeNet). Più re-cente è la XyLoc di Ensure Technologies, che viene indos-sata e permette l’autenticazione via radio quando l’utentesi trova entro un certo raggio dal computer.

Tra gli esempi più economici e diffusi ci sono i badge diaccesso, cioè schede di plastica con striscia magnetica acui è associato un PIN da digitare sulla tastiera numericadel lettore.

Il problema principale dei token passivi è la facilità di du-plicazione; inoltre il PIN può essere scoperto osservandol’utente oppure in altri modi (intercettazione, reverse en-gineering del token, complicità del personale).

Token attiviA differenza dei token passivi, quelli attivi non trasmet-

tono il proprio dato segreto per autenticare l’utente, ma loutilizzano per qualche calcolo, come la generazione di unaone-time password, cioè una password usata una volta so-la (e quindi ogni volta diversa). Sebbene i token di tipo one-time password affondino le proprie radici nei decenni pas-sati, questa è la tecnologia tradizionale usata da vari pro-dotti delle famiglie SafeWord, SecuirID, CryptoCard e altri.A questi si sono aggiunti numerosi prodotti basati sulla crit-tografia asimmetrica e i certificati a chiave pubblica, sottoforma di Smart Card, chiavi USB e altro.

I token attivi usano solitamente tecniche crittograficheche li rendono immuni da intercettazioni e replay dei mes-saggi. Ogni volta che l’utente si connette per autenticarsi,vengono generati messaggi diversi, in modo da vanificare

la registrazione e la ripetizione dei messaggi.Esistono token attivi con e senza tastiera; alcuni s’inter-

facciano direttamente col computer (per esempio via USB),altri richiedono un lettore particolare (per esempio leSmart Card e i token iButton) o un adattatore PCMCIA (di-sponibile per le Smart Card). Dato che la crittografia a chia-ve pubblica viene trattata a parte e per molti aspetti è sta-ta introdotta nella lezione 2 (Crittografia), qui ci occupiamosoprattutto di token del tipo one-time password. Essi se-guono generalmente uno tra i due metodi fondamentali pergenerare la password: il metodo basato su contatore op-pure il metodo basato sull’orologio. In qualche caso ven-gono adottati entrambi.

Una data significativa per l’adozione di sistemi basati suone-time password generate da token a contatore è il 1994,quando furono adottati da Citybank in risposta a una truf-fa di vaste proporzioni. Un gruppo di russi, dopo aver ru-bato le password di vari funzionari della banca, aveva di-sposto una serie di trasferimenti attraverso mezzo mondo.I token di questo tipo incorporano un contatore che vieneusato per generare una nuova password a ogni collega-mento.

Al momento del login, l’utente preme un pulsante sultoken, il contatore viene incrementato e una funzione hashriceve in input il valore del contatore e il dato segreto me-morizzato nel token; il risultato compare sul display deltoken e l’utente lo utilizza come password di login. Se lapassword viene intercettata e riutilizzata, sarà consideratainvalida.

Un esempio di token a contatore è SafeWord, un token aforma di chiave prodotto da Secure Computing. L’algoritmodi hashing varia a seconda dei prodotti. Per funzionare, unsistema a contatore deve tenere sincronizzati il contatoresul token e quello sul computer; un amministratore impo-sta i valori iniziali. Nel caso di SafeWord, ciò avviene me-diante un dispositivo che si collega ai sette contatti pre-senti frontalmente sul token. Opzionalmente, può essere ri-chiesto un PIN prima dell’emissione della password, in mo-do da neutralizzare il possibile furto oppure l’uso abusivodel token.

In caso di perdita del sincronismo del contatore, il ser-ver SafeWord utilizza l’ultima password ricevuta (e con-servata) e verifica se le password successive (incremen-tando il contatore) possono essere state prodotte dallostesso token, sincronizzando di nuovo il proprio contatore.Nel caso un token a contatore venisse duplicato, il sistemasi comporterà in modo erratico, alternando successi, falli-menti e ri-sincronizzazioni che indicano la presenza di duetoken con lo stesso dato segreto.

Il token SecurID di RSA Security, molto diffuso nono-stante l’età, utilizza l’orologio anziché un contatore. Ogni 60secondi la funzione hash, in base al valore dell’orologio e aldato segreto, genera una password one-time. Il server man-tiene il proprio orologio e accetta la password se si trova al-l’interno di una data finestra temporale. Token e server so-no sincronizzati con l’UCT (Universal Coordinated Time –l’ora del meridiano di Greenwich). Con l’invecchiamento, ilclock dei token può scostarsi da quello del server, ma que-st’ultimo conserva informazioni per la correzione. Se dopoun lungo periodo il token si collega e risulta fuori dalla fi-nestra temporale di accettazione, il server rifiuta l’autenti-cazione, ma al successivo login, se rileva lo stesso erroretemporale, aggiorna le informazioni sullo scostamento diquel token, ri-sincronizzandosi. I token SecurID sono pro-dotti in vari formati hardware (a scheda e a chiave anchecon collegamento USB al computer, per non dover digitarela password) e nella versione software.

PINIl punto debole dei token è che possono essere rubati

(oppure “presi a prestito”) e utilizzati per commettere uncrimine. La soluzione comune è di associare al token un PIN

Il gettone o token offreun livello di sicurezzamaggiore rispetto allasemplice password.

Page 53: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it53

Lezione 3 IT Administrator - Sicurezza informatica

che ostacoli l’uso del token almeno per il tempo necessarioad accorgersi del furto e reimpostare il server in modo chenon accetti le password di quel token. Il PIN di un token puòessere utilizzato in vari modi, tra cui i seguenti:1) PIN concatenato a una password esterna: il PIN viene

combinato ad altre informazioni, come la password one-time generata dal token, e il tutto è inviato al server. Allogin, l’utente digita la password generata (visualizzatasul display del token) seguita dal PIN. Tale approccio èadottato da SecurID e da altri prodotti. Il rischio è che ilPIN sia visto e che il token sia rubato.

2) PIN come password interna: il PIN è impostato nel tokene nessun altro ne ha visibilità. Dato che in questo caso ilPIN è digitato sulla tastiera del token, si possono impo-stare diversi comportamenti in caso di PIN errato: ritar-dare l’accesso o bloccare il token, riportare l’accesso er-rato in modo che il titolare ne sia informato e via dicen-do. Di base, a fronte di un PIN errato, il token dovrebberitardare progressivamente le operazioni al fine di daretempo all’utente d’intervenire. Tale implementazione delPIN consente, come nel caso di certi token SafeWord, diriconoscere un particolare valore di PIN (quello corret-to meno uno) come segnale di allarme, perché l’utente èsotto minaccia. Il PIN come password interna è vulnera-bile in caso di implementazione software, visto che pos-siede tutte le informazioni che potrebbero servire in ca-so di attacco.

3) PIN come parte del dato segreto: questo approccio ri-solve il problema dell’implementazione software, datoche il token non memorizza il valore del PIN e neppure ilcompleto dato segreto. La password è generata inse-rendo il PIN, calcolando l’hash in base al PIN e al segre-to parziale e calcolando la password in base all’hash e alvalore del contatore o dell’orologio. In questo modo, unlogin errato viene scoperto solo al tentativo di connet-tersi al server e l’attaccante non ha modo di eseguiretentativi senza che vengano registrati nel file di logging.Di conseguenza, se i tentativi vengono segnalati, si pos-sono predisporre tempestivamente le difese.

ChallengeUna variante di token di autenticazione utilizza il cosid-

detto challenge response. Al momento del login, il token ri-ceve dal server un dato (challenge, ossia sfida) e lo elabo-ra appropriatamente, utilizzando il proprio dato segreto,per fornire la risposta (response) che attesta la correttaidentità dell’utente. Esempi di token che supportano que-sto tipo di autenticazione si trovano nelle famiglie Sa-feWord, WatchWord e CryptoCard.

BiometriaSchemi di autenticazione biometrica

La biometria è la scienza e tecnologia dell’autenticazio-ne (stabilire l’identità di un individuo) misurando le carat-teristiche fisiologiche o comportamentali di una persona.Il termine deriva dalle parole greche “bios” (vita) e "me-tron" (misura), quindi è applicabile a particolari caratteri-stiche di un corpo umano vivo o ad alcuni tratti compor-tamentali di un individuo, misurabili e utili per l’identifica-zione.

Le caratteristiche fisiche utilizzate per l’autenticazionebiometrica sono diverse:1) impronte digitali. Usate da un secolo e mezzo, manten-

gono la loro reputazione di unicità per ogni individuo, ge-melli inclusi. Gli scanner di impronte sono molto diffusie hanno un basso costo, molto inferiore a quello degli al-tri dispositivi biometrici.

2) Geometria delle mani: rispetto alle impronte digitali, cherichiedono mani pulite, ha il vantaggio di poter essereusata anche in condizioni ambientali difficili, come fab-briche e cantieri.

3) Retina: la sua scansione è utilizzata in installazioni mili-tari e governative. Il modello dei vasi sanguigni della re-tina è unico e stabile, sebbene siano possibili variazioni(come durante la gravidanza). La fotografia della retinarichiede un’esposizione prolungata a bassa intensità lu-minosa ed è vista come una procedura intrusiva, sebbe-ne non rechi danno agli occhi.

4) Iride: come per la retina, la sua scansione fornisce unmodello unico e stabile ed è oggi una delle tecnologie inrapida ascesa per l’adozione in aeroporti e controlli del-l’immigrazione. La foto è ripresa da una certa distanza epresenta difficoltà simili a quelle della retina.

5) Riconoscimento del volto: è un metodo particolarmenteflessibile e può essere utilizzato all’insaputa della per-sona oggetto della scansione (con i relativi pro e contro).Può essere usato per cercare un individuo nella folla, apatto che raggiunga la necessaria precisione di ricono-scimento. Negli ultimi tempi negli USA si sono registratifallimenti clamorosi .

6) Impronta vocale: come il riconoscimento del volto, l’a-nalisi della voce può essere usata all’insaputa dell’inte-ressato. E’ possibile falsificarla manipolando una regi-strazione, ma imitare la voce di un altro non trae in in-ganno un analista esperto. Questa caratteristica a volteè elencata nella categoria dei tratti comportamentali, da-to che non si basa sull’osservazione di una parte del cor-po.Altre caratteristiche comportamentali sono:

1) firma autografa. I sistemi di riconoscimento affidabili laconfrontano con una registrazione che comprende la di-namica del movimento della penna da parte dell’utente.Di solito, comunque, la verifica della firma è abbinata adaltri metodi di autenticazione e serve soprattutto per ri-levare firme falsificate.

2) Dinamica della digitazione su tastiera: esistono alcuni si-stemi che riconoscono il comportamento dell’utente du-rante la battitura, come il ritardo tra pressione e rilasciodei tasti e il tempo che intercorre tra la pressione di va-rie coppie di tasti. Un vantaggio è che non occorrehardware aggiuntivo.La diffusione dei dispositivi biometrici ha subito un for-

te impulso dal settembre 2001, quando è iniziato un pro-cesso di progressivo spostamento del punto di equilibriotra esigenze di sicurezza e garanzie personali (a partire dal-la privacy). Oggi sono già istallati in varie nazioni disposi-tivi biometrici per il controllo delle frontiere che sono ba-sati sulla scansione delle impronte digitali o della retina.

5.3.4 Biometria

5.3.4.1 Conoscere idiversi schemi diautenticazionebiometrica e la loroefficacia.

La geometria della manoe l’impronta digitalecostituiscono altri duesistemi abbastanzacomuni perl’autenticazionebiometrica.

Page 54: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it54

ITAdministrator - Sicurezza informatica Lezione 3

Quelle che oggi sono installazioni sperimentali, che richie-dono il consenso dell’individuo, sono destinate a diventa-re prassi generalizzata. Entro pochi anni è previsto che i da-ti biometrici siano registrati nei passaporti. A seguito del-la rapida espansione della biometria nel settore pubblico,è prevedibile che anche il settore privato adotti le stessetecnologie di autenticazione, nonostante quelle biometri-che siano probabilistiche (non funzionano nel 100% dei ca-si) e non siano prive d’inconvenienti, sia tecnici sia di altranatura. Per esempio, non c’è nessuna garanzia che un da-tabase d’impronte biometriche, oggi garantito impermea-bile a utilizzi volti al controllo delle persone (ubicazione,abitudini, acquisti, comportamenti, eccetera), un domaninon venga usato contro ogni diritto alla privacy per pre-sunti motivi di sicurezza.

L’approvazione del Real Id Act negli USA impone ai cit-tadini, entro maggio 2008, di avere un documento di iden-tità digitale (con incorporato chip RFID di trasmissione ra-dio – Radio Frequency Identification) per poter guidare unveicolo, prendere un aereo, aprire un conto bancario e ac-cedere ai servizi pubblici.

Inoltre la legge consente al dipartimento per la sicurez-za nazionale (Homeland Security) di chiedere l’inclusionedi dati biometrici nel documento di identità (impronte di-gitali o scansione della retina o dell’iride) in aggiunta alla fo-to, indirizzo e altri dati personali.

Anche la letteratura sui dispositivi biometrici, piuttostoasettica e imparziale fino al 2001, nel momento in cui in-genti finanziamenti sono confluiti nel settore della sicurez-za, ha subito le pressioni di interessi economici e di posi-zioni dominanti (come quella legata alla scansione dell’iri-de).

Oggi, per valutare correttamente le tecnologie biome-triche disponibili e le proposte dei produttori, è consiglia-bile estendere l’indagine a fonti di informazione che pre-sentino i rispettivi pro e i contro, incluse le eventuali for-zature motivate da obiettivi commerciali. Ne è un esempiola polemica intorno alla scansione dell’iride, che vede con-trapposte le valutazioni di chi ha ottenuto i brevetti (JohnDaugman, http://www.cl.cam.ac.uk/users/jgd1000) e le con-trodeduzioni di chi lo accusa di disinformazione (www.iris-ward.com/TEMP/02-cadre.html); altre fonti, comehttp://www.iris-recognition.org, sono più neutrali. Dopo lafusione tra le aziende IriScan e Sensar, Iridian Technologiesè oggi il detentore dei brevetti e il principale protagonistain questo settore.

FunzionamentoIl principio base di funzionamento è lo stesso per tutti i

sistemi biometrici. Ogni sistema usa un sensore per rac-cogliere in forma digitale i dati corrispondenti a una misu-ra biometrica. Il sensore può essere ad esempio uno scan-ner apposito per l’impronta digitale o una speciale fotoca-mera usata per riprendere l’immagine dell’iride. In en-trambi i casi sono state dimostrate le possibilità di falsifi-cazione, che possono essere sventate migliorando i sensori(per esempio rilevando temperatura, conducibilità e altriindicatori di un dito vivo) e presidiando il sensore (per evi-tare di autenticare la foto di un occhio).

A partire dalla misura digitale fornita dal sensore, ven-gono estratte le caratteristiche individuali, che permettonodi differenziare un individuo da un altro; per esempio, nelcaso dell’iride, ci sono oltre 200 punti da esaminare. Il pro-cesso di estrazione fornisce un’impronta o “firma” biome-trica, che all’atto dell’autenticazione viene confrontatacon i modelli biometrici archiviati in un database.

Il confronto fornisce generalmente una corrispondenzaparziale: se lo scostamento è inferiore alla soglia di accet-tazione, l’autenticazione è positiva, altrimenti è rifiutata.Idealmente, il processo di registrazione dell’impronta bio-metrica di riferimento dovrebbe sfruttare tutte le occasio-ni in cui vengono confrontate due misure dello stesso sog-

getto per affinare e adattare l’impronta campione e ridurrela probabilità di falsi rifiuti.

UsiSebbene la biometria sia qui citata nel contesto delle tec-

niche di autenticazione, è utile sapere che essa può servi-re a tre diversi campi di utilizzo:

1) autenticazione: l’accertamento che l’impronta bio-metrica sia (con buona probabilità) proprio quella dell’u-tente che la presenta;

2) identificazione: dato un campione biometrico, si vuo-le scoprire a quale individuo esso appartiene (o perlome-no a quale rosa di “sospetti”, visto che questo uso è tipicodelle forze di polizia);

3) unicità: dato un campione biometrico, si vuole verifi-care se il suo proprietario è già in un certo database (peresempio per evitare di accordare due volte un certo bene-ficio sociale alla stessa persona o di permettere l’immigra-zione di individui già espulsi).

PrecisioneLa precisione di un dispositivo biometrico (sempre in-

feriore al 100%) è misurata dalla stima delle false accetta-zioni (impronte biometriche non registrate nel database,ma erroneamente riconosciute come valide) e dei falsi ri-fiuti (impronte valide ed erroneamente rifiutate). La preci-sione viene stimata leggendo i campioni biometrici daun’ampia popolazione di prova e confrontandoli con le im-pronte registrate in un database.

Le due curve FAR (False Acceptance Rate, tasso di falseaccettazioni) e FRR (False Rejection Rate, tasso di falsi ri-fiuti) si incrociano nel punto ERR (Equal Error Rate, paritasso di errori), che generalmente corrisponde al migliorpunto di taratura del lettore biometrico. Il valore di FAR in-dica la sicurezza del lettore biometrico ed è paragonabileal numero di bit di una password.

Un FAR di 1 su 100.000 per un lettore biometrico corri-sponde circa a una password di 16 bit. Abbassando il FARsi alza però l’FRR, che rappresenta l’usabilità del sistema (ifalsi rifiuti impediscono agli utenti autorizzati l’accesso alsistema), quindi occorre bilanciare sicurezza e usabilità.

SegretezzaChi intercetta o entra in possesso di un’impronta bio-

metrica può tentare di impersonare il proprietario di quel-l’impronta o, peggio, monitorare gli spostamenti e i com-portamenti di tale individuo. Ne possono seguire truffe, cri-mini commessi a nome altrui e gravi violazioni della pri-vacy.

Un sistema biometrico per autenticazione locale, inclu-so cioè in un perimetro di sicurezza, è relativamente sicu-ro. Lo stesso non vale per i sistemi distribuiti in rete, chedevono ricorrere a tecniche di crittografia per proteggerela riservatezza dei dati trasmessi. Una soluzione è cifrare idati biometrici con una chiave pubblica prima di trasmet-terli e decifrarli in ricezione con la corrispondente chiaveprivata.

Non si possono usare le funzioni hash nel confronto traimpronte biometriche lette e archiviate perché a piccolevariazioni di un’impronta biometrica corrisponderebberoampie variazioni dell’hash, impedendo il riconoscimento.

In pratica, un’impronta biometrica serve per autentica-re una persona, ma per evitare falsificazione nella trasmis-sione dei dati, non si può fare a meno di autenticare a lorovolta, per esempio con una coppia di chiavi per crittogra-fia asimmetrica, i dati biometrici.

La cifratura dei dati biometrici dovrebbe rispondere, inqualche misura, anche alle esigenze delle normative sullaprivacy. Il settore privato sarà chiamato a rispondere del-la privacy dei dati biometrici conservati nei database; i set-tori e le agenzie governative nel mondo si sono mostrati in-vece propensi a sacrificare la privacy re-interpretando, di

Page 55: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it55

Lezione 3 IT Administrator - Sicurezza informatica

volta in volta, le esigenze di sicurezza nazionale nel sensodi una riduzione effettiva del diritto individuale alla non di-vulgazione d’informazioni personali.

Autenticazione in retePer risolvere il problema di autenticare un soggetto – sia

esso un utente o un processo – in contesto di rete si devefare i conti con il problema di trovare un compromesso framodalità operative ragionevolmente semplici, un onereamministrativo non eccessivo (per i sistemisti che hannoin gestione le macchine) e un livello di sicurezza accetta-bile. Questi problemi derivano dal fatto che da un lato l'u-tente non desidera dover ricordare e usare troppe pas-sword diverse, né l'amministratore vuole dover configura-re e mantenere un numero eccessivo di profili e password,e d'altra parte si desidera che anche la sicurezza di ogni sin-golo sistema inserito in rete non sia troppo inferiore a quel-la che avrebbe se fosse isolato.

Si consideri innanzitutto il fatto che, se l'accesso a un si-stema B avviene remotamente agendo da un sistema A, re-sta ovviamente necessario che l'utente abbia accesso (cioèdisponga di una username e password) sul sistema B, maoccorre anche, in generale, che disponga di un login sul si-stema da cui effettua l'accesso, ossia A. Per evitare che l'u-tente debba ricordare coppie login/password per troppi si-stemi diversi si potrebbe decidere di adottare accountuguali (con password uguali) su A e su B. Così facendo lousername e la password da digitare sarebbero gli stessi suentrambi i sistemi e l'utente avrebbe meno segreti da ri-cordare. Tuttavia egli sarebbe ancora costretto a ripeterela manovra di login (seppure con dati sempre uguali) a ogniaccesso remoto, senza contare che dovrebbe effettuare l'o-perazione periodica di cambiamento delle password sia suA sia su B.

In ambiente Windows è possibile semplificare le cose or-ganizzando i server in un unico "dominio": con tale termi-ne s’intende un raggruppamento logico di server di rete ealtri host che condividono le informazioni sui profili uten-te e altre impostazioni di security. In un dominio esiste sem-pre un database principale (Primary Domain Controller,PDC) che contiene tali informazioni ed è inoltre possibile,opzionalmente, replicare per sicurezza tale database suuna o più altre macchine (Backup Domain Controller,BDC), che vengono mantenute aggiornate mediante ope-razioni periodiche di "sincronizzazione". Nel dominio pos-sono, poi, esistere macchine sempre con funzioni di server(e che per la gestione di profili utente si appoggiano alPDC), ma su cui non risiede né una copia primaria né unasecondaria del database di dominio. In terminologia Win-dows, tali host sono chiamati "member servers".

Una volta effettuate le impostazioni necessarie, l'utenteha il vantaggio di dover ricordare una sola password vali-da per tutte le macchine che partecipano al dominio; inol-tre, nelle utility di Windows che mostrano elenchi di risor-se di rete disponibili, quelle del dominio saranno raggrup-pate sotto un unico "cappello", rendendo più facile la con-sultazione (soprattutto in reti di grandi dimensioni). Anchel'amministratore avrà vantaggi non indifferenti, potendo ef-fettuare la gestione degli account in modo centralizzato, esenza bisogno di tediose ripetizioni, qualunque sia il nu-mero delle macchine facenti parte del dominio.

Sotto Linux esistono diverse strategie (tra le quali ancheun'architettura basata su Kerberos, equivalente, per con-cezione e per tecnologia crittografica sottostante, all'ap-proccio adottato da Windows) per semplificare la situa-zione degli account multipli. Con la più semplice di esse èpossibile, in sostanza, fare in modo che il sistema B "si fidi"dell'autenticazione avvenuta su un altro sistema A identifi-cato dal suo nome logico. Ciò avviene scrivendo specificherighe nel file .rhosts presente nella home directory dell'u-

tente U (sul file system del sistema B). Quando l’utente dinome U, già autenticato nel sistema A, tenta di collegarsi aB fornendo la stessa username U (o un'altra username pre-stabilita, U2), il sistema B, consultando il corrispondente fi-le .rhosts, conclude che per tale connessione provenienteda A e tentata dall'utente U non occorre chiedere la pas-sword.

È ovvio che questo tipo di configurazione include anchela macchina A nel "perimetro" entro il quale occorre vigila-re perché non si verifichino violazioni di security. Infatti, sela security del sistema A fosse violata, per proprietà tran-sitiva risulterebbe violata anche quella di B, dal momentoche questo accetta senza ulteriori controlli i login prove-nienti da A. La situazione può essere paragonata a quelladello "spazio Schengen" nell'Unione Europea, con l'aboli-zione delle frontiere interne, e alla questione del controllodelle frontiere esterne degli Stati membri.

Nel caso in cui le home directory degli utenti apparten-gono a un file system esportato via NFS, il sistema potreb-be essere esposto a un semplice attacco qualora NFS e per-messi di scrittura siano configurati in modo troppo "per-missivo". Un utente potrebbe infatti montare da un sistemaC il file system delle home directories del sistema B e scri-vere o modificare un file .rhosts in modo tale da assicurar-si l'accesso al sistema B senza digitare né conoscere alcu-na password. Sarà poi sufficiente che egli definisca sul si-stema C (sul quale deve avere privilegi di amministratore,cosa che su un PC è quasi la norma) un utente dal nomeuguale a quello per il quale ha alterato il file .rhost su B, epoi effettui un remote login da C a B con tale username.

Un secondo aspetto da affrontare è invece legato alla"vulnerabilità" della comunicazione tra A e B. I pericoli in-

5.3.5Autenticazione in rete5.3.5.1 Conoscere idiversi requisiti perl’autenticazione inrete rispettoall’autenticazionedel singolo host

IL FILE RHOSTSNei sistemi Linux, attraverso l'uso del file .rhosts, è possibile fare in modo che ilsistema locale, al momento di decidere se consentire o meno l'accesso all'arrivodi un comando rlogin, rsh/remsh o rcp, "si fidi" dei login effettuati con successosu altri sistemi identificati attraverso l'hostname. Da notare che il meccanismodel file .rhosts non ha effetto su altre forme di accesso, quali ftp, telnet e accessiweb.Il file in questione va posizionato nella home directory dell'utente utentelocale alquale si desidera consentire di entrare da un sistema remoto senza fornirenuovamente il login. Per evidenti motivi di sicurezza, onde evitare ispezioni emodifiche a scopo di intrusione, è importante sottolineare che .rhosts deveinoltre appartenere o a utentelocale o a root e dovrebbe sempre essere leggibile(ma soprattutto scrivibile) esclusivamente per utentelocale.Tale file può contenere una o più righe di testo la cui sintassi prevedefondamentalmente un hostname (o carattere "+"), opzionalmente seguito da unospazio e da uno username. Alcuni esempi:hostname.dominio.comTutti i login della macchina hostname.dominio.com saranno considerati validianche dal sistema locale al fine di effettuare il login in qualità di utentelocale.+Una riga composta da un singolo carattere "+" ha un effetto dello stesso tipo, maper qualsiasi macchina remota e non più solo per hostname.dominio.com(impostazione altamente pericolosa, senz'altro da sconsigliare)hostname.dominio.com johnL'unico login della macchina hostname.dominio.com che sarà accettato dalsistema locale per accedere come utente "utentelocale" da quel sistema è"john". Altri login da quella macchina, o qualsiasi login (compreso "john") da altremacchine, saranno rifiutati.Esiste una versione ancora più "forte" (e "pericolosa", se usata in modomalaccorto) di questo tipo di meccanismo: il file hosts.equiv, che utilizza unasintassi simile a quella descritta, con qualche opzione in più, come l'uso delcarattere meno,"-", in posizione prefissa, per escludere esplicitamente un host oun utente.La differenza sta nel fatto che hosts.equiv ha un effetto globale sulla macchina.Non occorre cioè crearne una copia nella home directory di ciascun utente.Questo file va posizionato in /etc e per evidenti motivi di sicurezza deveappartenere a root e non essere scrivibile per alcun altro utente.

Page 56: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it56

ITAdministrator - Sicurezza informatica Lezione 3

siti in tale comunicazione (che, ricordiamolo, generalmen-te implica sotto qualche forma uno scambio via rete diusername e password) sono essenzialmente due. Quellofondamentale è il rischio di intercettazione dei messaggiscambiati all'atto del login, con conseguente compromis-sione della segretezza della password utilizzata. L'altro, chene è la logica conseguenza, è il rischio che una volta così ot-tenuta la conoscenza di una username U e della relativapassword valida, qualche soggetto terzo "impersoni" l'u-tente legittimo U, collegandosi a B da A o anche da unamacchina C diversa da A fornendo le credenziali di U. So-prattutto se C è un PC, può risultare relativamente sempli-ce disporre dei permessi di amministratore, coi quali è pos-sibile creare il profilo U. Una blanda linea di difesa controtale attacco consiste nell'impostare B in modo tale che ac-cetti connessioni solo da indirizzi IP noti e "fidati": ad esem-pio, per il servizio telnet, in diversi ambienti Linux, si agi-sce sul file /etc/xinetd.d/telnet scrivendo una clausolaonly_from che includa tutti e soli gli indirizzi dai quali si ac-cetteranno connessioni. Naturalmente tale protezione puòessere facilmente vanificata poiché è banale impostare ilPC in modo tale che abbia un indirizzo di rete identico auno di quelli "fidati" e, avendo accesso alle connessioni fi-siche di rete, collegarlo poi al posto della macchina da im-personare.

Per una sicura e affidabile autenticazione "da remoto" diU sul sistema B è necessario perciò che sussistano con-temporaneamente diverse condizioni: il fatto che U si col-leghi a B da un sistema A identificato ed il cui livello di se-curity sia ritenuto adeguato; il fatto che U si sia autentica-to anzitutto su A e poi su B utilizzando le credenziali di cuidispone su tali due sistemi, oppure che il sistema B accet-ti per vera l'autenticazione già avvenuta su A; infine, nel ca-so in cui per qualsiasi motivo si renda necessario unoscambio in rete fra B e A di informazioni sensibili concer-nenti identità e password di U, che tale scambio sia pro-tetto. Schemi e strategie di autenticazione di rete si prefig-gono l'obiettivo di assicurare il rispetto di queste condi-zioni.

Requisiti per l’autenticazione su host e in reteLo schema classico per l'autenticazione locale di un

utente su un host (o più in generale di un soggetto – comeun processo - che può effettuare azioni: con terminologiaWindows, come già accennato, si parla di Security Princi-pal) si basa sulla conoscenza di una password che deve es-sere fornita insieme al proprio username all'atto del login.La tecnica non richiede all'utente eccessivi sforzi mnem-nonici e, a patto che sia stata scelta una password "forte"(ossia non facile da indovinare), tenuta rigorosamente se-greta dal titolare e memorizzata dal sistema in modo benprotetto, offre una discreta sicurezza. Non appena taleschema di autenticazione viene utilizzato per l'accesso daremoto al sistema, però, sorge immediatamente il proble-ma della possibile intercettazione del messaggio conte-nente login e password, che deve per forza di cose transi-tare sulla rete. In tale scenario quindi le cose si complica-no.

Tutti gli schemi di autenticazione in rete si basano sul-l'applicazione di un qualche ben definito protocollo per loscambio di messaggi. Tale scambio interessa come minimole due parti fondamentali in causa, ossia il client (che chie-de di essere autenticato) e il server (che deve erogare il ser-vizio, o consentire un accesso, dopo essersi convinto del-la autenticità del client), anche se, come vedremo, in alcu-ni schemi possono comparire anche ruoli terzi, come unserver di autenticazione, di cui entrambe le parti si fidanoe che diventa depositario di determinati segreti o al qualevengono deputate alcune decisioni chiave.

Poiché i messaggi che si scambiano le due parti posso-no essere intercettati, esaminati, ricordati e poi ritrasmes-si (intatti o modificati) da un attaccante, è assolutamente

necessario prevedere un’adeguata protezione crittograficache contrasti tali tecniche: in virtù della stessa è possibilefare in modo che (1) per qualunque terzo non autorizzatoi messaggi intercettati risultino incomprensibili, che (2) ri-sulti impossibile modificarli in modo da non lasciare trac-ce e che (3) risulti anche del tutto inutile archiviare un mes-saggio intercettato (pur non avendolo potuto decifrare) eriproporlo invariato in seguito nel tentativo di ottenere una"replica" di un qualche effetto desiderato.

E' ovvio che per cifrare i messaggi in transito occorreche mittente e ricevente si accordino su quale algoritmousare e, cosa ben più delicata, sulle chiavi crittografiche.Per molte applicazioni è accettabile utilizzare algoritmi sim-metrici a chiave segreta (la stessa chiave viene usata siaper cifrare sia per decifrare); in tal caso la chiave dev'es-sere nota a tutte le parti in causa, che devono anche prov-vedere a memorizzarla in modo sicuro e non facilmente vio-labile. Se questo non è possibile o non è ritenuto abba-stanza sicuro, esistono tecniche, basate su particolari pro-prietà matematiche, che consentono di concordare "al vo-lo" tra due parti una chiave segreta scambiandosi aperta-mente messaggi (in chiaro), senza che tuttavia qualcuno inascolto possa ricavare la conoscenza della chiave segretadai messaggi intercettati (protocollo Diffie-Hellman).

Infine, è possibile utilizzare schemi di autenticazione ba-sati sull'uso di algoritmi crittografici a chiave pubblica, incui il problema della segretezza e della condivisione dellechiavi risulta alleviato in modo sostanziale (vedi lezione 2).

Protocolli per l’autenticazione degli utenti Meritano un cenno, a questo punto, due protocolli per

l'autenticazione in rete degli utenti.Il più semplice è il Password Authentication Protocol

(PAP), denominazione fin troppo enfatica per una banaleprocedura che essenzialmente prevede l'invio dal client alserver di uno username (in chiaro) e successivamente diuna password (eventualmente cifrata). Il server confrontale due informazioni con quelle detenute nel suo archivio didati segreti e in base al risultato conferma o rifiuta l'auten-ticazione.

Il grosso limite di PAP sta nella sua vulnerabilità rispet-to alle intercettazioni (specialmente nel caso in cui non siausata crittografazione per la password) ed agli attacchi ri-petitivi volti a indovinare la password per tentativi.

Una versione più sicura è il Challenge HandshakeAuthentication Protocol (CHAP) in cui il server manda an-zitutto al client una stringa casuale (detta in gergo "chal-lenge", o "sfida", in quanto presuppone una "risposta"). Lastringa è casuale per generare messaggi ogni volta diversi,al fine di ostacolare tentativi di attacco di tipo replay o at-tacchi statistici sui messaggi di autenticazione. Per esclu-dere con elevata sicurezza il rischio di attacchi statistici, lastringa challenge è lunga ben 8 byte, il che significa che esi-stono 2^64 stringhe possibili (18 miliardi di miliardi). Se ilgeneratore di numeri casuali ha buone proprietà statisti-che, la challenge string dovrebbe risultare praticamentesempre diversa.

Il client utilizza la stringa challenge e, combinandola inmodo prestabilito con la chiave segreta da trasmettere, cal-cola un one-way hash (checksum crittografico irreversibi-le) sul complesso dei due dati. È tale hash, e non la chiave,che il client spedisce, poi, al server.

Per verificare la validità dell'autenticazione del client, alserver basterà effettuare la stessa operazione appena ese-guita dal client (il challenge è ovviamente noto al serverche lo ha "inventato", così come gli è nota la chiave che oc-corre verificare) e confrontare l'hash ottenuto sui suoi da-ti con quello appena inviatogli dal client. Nel caso i due ha-sh coincidano, si può essere ragionevolmente sicuri che ilmessaggio non possa che provenire dal client (a rigore: daqualcuno che conosce la chiave, ma ai nostri fini ciò è quel-lo che conta), che viene così autenticato.

5.3.5.1 Requisiti perl’autenticazione suhost e in rete

5.3.5.2 Conosceredifferenti protocollidi rete perl’autenticazioneutente (PAP, CHAPetc).

Page 57: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it57

Lezione 3 IT Administrator - Sicurezza informatica

Gli algoritmi PAP e CHAP possono essere utilizzati inmolteplici scenari di autenticazione, per esempio nelle con-nessioni PPP (Point-to-Point Protocol) usate per le con-nessioni a Internet via modem.

Accanto a tali protocolli standard, Microsoft ha propo-sto (RFC2433) una propria variante di CHAP, nota come MS-CHAP, per l'autenticazione di client Windows remoti in am-bito Win9x/Me e NT/2k/XP. Le modifiche riguardano unadattamento del formato del pacchetto dati per ragioni dicompatibilità con i protocolli di rete Windows, nonché ladefinizione di codici d'errore dettagliati e l'introduzione dimeccanismi (più sicuri e posti sotto il controllo del server)per ritentare l'autenticazione e per la modifica della pas-sword. Per esempio, diventa possibile per il server (chesvolge il ruolo di autenticatore) rifiutare una password inquanto scaduta.

Un’evoluzione ulteriore di questo protocollo (MS-CHAPv2) è stata introdotta con Windows XP. Le novità riguarda-no la reciproca autenticazione di client e server, una crit-tografia più forte per la protezione delle fasi iniziali e l'usodi chiavi distinte per le due direzioni di traffico.

Una vera e propria "piattaforma" per l'integrazione,sempre in contesto PPP (o VPN) di altri possibili metodi diautenticazione è costituita poi dall'Extensible Authentica-tion Protocol (EAP: RFC2284; e la sua evoluzione ProtectedEAP, o PEAP). In tale contesto, metodi di autenticazione divaria natura, comprese le Smart Card e i certificati digitali,sono messi, da un punto di vista operativo, sullo stesso pia-no, consentendo una facile scelta tra l'uno e l'altro. In figu-ra 1 vediamo il dialog box con cui Windows XP propone va-rie scelte per l'autenticazione in contesto LAN (Ethernet oWireless).

Per esempio, nel caso il metodo scelto sia MD5-Chal-lenge, si userà un protocollo molto simile a CHAP, mentrequalora si selezioni PEAP, Windows renderà disponibileuna seconda finestra di opzioni per la scelta delle autoritàemittenti di certificati digitali ritenute "attendibili" e per laselezione, in ambito EAP, dello specifico metodo di auten-ticazione da usare (Figura 2). In caso di mancata autenti-cazione, MS CHAP può passare in modalità PAP (fallback)il che costituisce un potenziale rischio di sicurezza.

Schema di funzionamento del protocollo CHAPIl protocollo CHAP prende le mosse su iniziativa del ser-

ver che esige l’autenticazione del client C. Il primo passo è

infatti la generazione e l’invio, da parte del server, di un“pacchetto challenge” contenente (in chiaro) un valore ca-suale X (ossia il challenge vero e proprio), un numero pro-gressivo N (usato dal server per mantenere storia dei varichallenge ancora in attesa di replica emessi verso variclient) e un nome di autenticazione S che identifichi il ser-ver.

Quando il client riceve il messaggio challenge esso co-struisce una stringa composta dalla password P da usarecon quel particolare server (identificato dal nome conte-nuto nel pacchetto) e dal numero progressivo N e challen-ge X appena ricevuti dal server. Questa stringa viene poipassata all’algoritmo MD5 che calcola H, un hash (check-sum crittografico) che viene rispedito al server in un mes-saggio di “risposta al challenge”. Oltre a tale hash, questomessaggio porta a bordo C, inteso come il nome (in chiaro)del “principal” lato client a cui si riferisce la password en-trata nel calcolo dell’hash.

Quando il server riceve il messaggio di risposta, quel-lo che viene fatto è consultare il database locale di pas-sword conosciute per trovare la password corrisponden-te al principal C, dopodiché si procede allo stesso calco-lo che il client ha appena effettuato per ottenere H. Se an-che il server arriva allo stesso risultato H, per la proprietà

Approfondimenti

RFC 2433 su MS-CHAPhttp://www.faqs.org/rfcs/rfc2433.html

RFC 2284 su EAPhttp://www.faqs.org/rfcs/rfc2284.html

PAP e CHAP in contesto PPPhttp://www.tldp.org/LDP/nag/node120.html

Una presentazione diPEAPhttp://www.symbol.com/products/wireless/peap.html

Protocolli diautenticazione (da sito Microsoft)http://www.microsoft.com/resources/documentation/Windows/XP/all/reskit/en-us/Default.asp?url=/resources/documentation/Windows/XP/all/reskit/en-us/prcg_cnd_pysl.asp

1 2 In figura 1vediamo il dialog boxcon cui Windows XPpropone varie scelte perl'autenticazione incontesto LAN (Etherneto Wireless).

Page 58: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it58

ITAdministrator - Sicurezza informatica Lezione 3

della funzione hash usata (MD5), ciò è considerato provaragionevolmente certa che gli input dati all’algoritmoMD5 lato client e lato server erano uguali. In particolare,si considera dimostrato che la password usata lato clientcome input all’algoritmo è la stessa usata lato server, per-ciò lato client vi è qualcuno che ha dimostrato di cono-scere la password e per questa ragione, a questo punto, losi considera autenticato. In questo caso il protocollo ter-mina con l’invio, dal server al client, di un messaggio cheattesta l’avvenuta autenticazione.

Protocolli per l’autenticazione dei processi Numerosi servizi di rete di larga diffusione e di grande

importanza, a partire dall'NFS (Network File System) perla condivisione dei dischi in rete in ambiente Unix e Linux,si basano su un'architettura client-server nella quale loscambio di messaggi tra le due parti in causa è modellatocome una serie di Remote Procedure Calls (RPC) – un pro-tocollo che consente a un programma residente su un par-ticolare computer di mandare in esecuzione un program-ma residente su un server. Con RPC non ci si riferisce so-lamente a uno schema logico, ma anche a un vero e pro-prio protocollo standard che regola il comportamentoche i processi in gioco devono seguire, nonché a un set dilibrerie utilizzabili dagli sviluppatori di applicativi per rea-lizzare servizi client-server; RPC può appoggiarsi sia suconnessioni TCP (Transmission Control Protocol) sia sucomunicazioni UDP (User Datagram Protocol).

Data la delicatezza e la criticità di molti dei servizi ba-sati su RPC, la questione dell'autenticazione del richie-dente riveste particolare importanza (ovviamente accan-to a quella della correttezza degli applicativi). Per tale mo-tivo esistono schemi di autenticazione applicabili a RPC,che naturalmente fanno uso di tecniche crittografiche percontrastare attacchi basati su intercettazione, modifica,replay e altro. Tali tecniche (o authentication flavors) dif-feriscono principalmente per l'algoritmo crittograficousato, per la modalità con cui avviene lo scambio dellechiavi e per altri dettagli.

L'assenza di strategia di autenticazione è anch'essaidentificata come un flavor, (nella fattispecie il tipo èAUTH_NULL). Il flavor AUTH_UNIX (detto ancheAUTH_SYS), ancor oggi molto usato, prevede l'invio, daparte del client, di hostname, username e gruppo (o unmassimo di 10 gruppi) di appartenenza. Si tratta, e il no-me non ne fa mistero, di un’impostazione molto orienta-ta al modello di autenticazione del mondo Unix e nellaquale, soprattutto, manca del tutto un ruolo di "verifica-tore", sicché risulta semplice falsificare le credenziali espacciarsi per qualcun altro.

Il flavor AUTH_DES tenta di risolvere tali problemi. In-nanzitutto il client viene identificato da una stringa (unnome di rete, detto anche "netname") il cui formato è li-bero (e non più Unix-oriented), purché soddisfi una con-dizione di univocità globale nella rete. E' responsabilitàdel client generare tale stringa nel modo a esso più co-modo e garantire il rispetto di tale condizione. Un classi-co modo per farlo, adatto a molti sistemi operativi, con-siste nel concatenare username, hostname ed eventualialtre informazioni, con opportuni separatori non ambigui.

Per quanto riguarda il problema della protezione crit-tografica della comunicazione RPC, in AUTH_DES si fauso, anche per motivi di prestazioni, di crittografia DES(simmetrica a chiave segreta) a 56 bit, con una fase ini-ziale, per la definizione concordata di una chiave di ses-sione, protetta da uno schema Diffie-Hellman con impiegodi crittografia a chiave pubblica. Nei messaggi vengonoinoltre inseriti timestamp (informazioni sull'ora di emis-sione dei messaggi) per rendere possibile il riconosci-mento di messaggi troppo "vecchi" e poter così contra-stare eventuali attacchi di tipo replay.

Esiste anche un flavor di più recente introduzione,

AUTH_KERB, che differisce da AUTH_DES principalmenteper il fatto che, anziché spedire il "netname" e una chiavedi sessione, si riutilizza con vantaggio il "service ticket"generato e gestito da Kerberos. Inoltre, come in tutti glischemi Kerberos, la sensibilità di AUTH_KERB alla diffe-renza tra i clock delle due macchine non è trascurabile co-me nel caso di AUTH_DES, in cui è previsto un sistema peril rilevamento e la compensazione automatica di taleeventuale differenza.

Schema (semplificato) della fase di invio dellecredenziali dal client al server all’inizio di unasessione RPC

In modo AUTH_DES le credenziali (sempre accompa-gnate da informazioni di verifica, non mostrate in figura,che le proteggono) sono costituite dal nome del principale dalla chiave di sessione Ks cifrata mediante la chiaveKdh precedentemente concordata con l’algoritmo Diffie-Hellman.

In modo AUTH_KERB tutto quello che occorre che ilprincipal mandi come proprie credenziali (a parte leinformazioni di verifica, anche in questo caso non mo-strate) è il ticket di sessione precedentemente ottenutomediante Kerberos (Tk). Il semplice possesso di quelticket attesta infatti che in precedenza il principal ha su-perato con successo una fase di autenticazione conl’Authentication Server, di cui anche il server “si fida”.

Architetture a singolo sign-onQuando si ha a che fare con sistemi articolati e com-

plessi, composti da una molteplicità di host (connessi traloro in rete) e di servizi erogati da essi, con un gran nu-mero di utenti e con la necessità di autenticarsi con ogniservizio per potervi accedere, ci si può facilmente trova-re davanti a una situazione pressoché ingestibile, sia perl'utente finale – costretto a ripetere frequentemente l'o-perazione di login, sia per gli amministratori di sistema, al-le prese con il problema di governare un elevato numerodi profili per diversi host o servizi.

Come abbiamo visto, possibili soluzioni "palliative"vanno dalla scelta, da parte degli utenti, di login e pas-sword ovunque uguali, all'utilizzo di stratagemmi come ilmeccanismo .rhosts per il riconoscimento reciproco del-l'autenticazione tra host.

Una soluzione strutturalmente migliore prende le mos-se da una strategia di gestione unificata degli utenti, at-traverso la creazione di un database unico, centralizzato,per tutti i profili (username, password e altri dati) al qua-le le applicazioni possano magari accedere attraversoun'interfaccia standard, specializzata nel trattamento diquesto tipo di dati, come LDAP (Lightweight Directory Ac-cess Protocol). Il passo successivo però consiste nel con-gegnare le applicazioni del sistema complessivo in modoche non soltanto l'autenticazione avvenga appoggiandosialle informazioni contenute in tale database unificato, mache l'utente debba autenticarsi una sola volta, al primo ac-cesso, e in seguito risulti automaticamente autenticato sututte le altre risorse di rete. A tal fine sono considerate ri-

5.3.5.3 Conosceredifferenti protocolli direte perl’autenticazione diprocessi distribuiti

5.3.5.4 Essereconsci dellacomplessità deisistemi adarchitettura “singlesign-on”

Approfondimenti

La RFC1050, su RPC esui principali schemi diautenticazione:http://www.faqs.org/rfcs/rfc1050.html

Documento Sun suAUTH_KERB:http://www.cybersafe.ltd.uk/docs_other/Kerberos%20Authentication%20in%20Sun%20RPC%20for%20NFS.pdf

Vulnerabilità di RPChttp://www.nfr.com/newsletter/winter-04/ALookAtRPCSecurity.htm

Page 59: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it59

Lezione 3 IT Administrator - Sicurezza informatica

sorse di rete non solo periferiche o i dischi condivisi, maqualunque servizio reso disponibile dal sistema nel suocomplesso, inclusi gli accessi interattivi (come telnet/rlo-gin/rsh, per sistemi Linux) e l'accesso a servizi erogati viaWeb.

Tale approccio complessivo all'autenticazione va sottoil nome di Single Sign-On (SSO) e, se da un lato offre degliindubbi benefici in termini di praticità d'uso per gli uten-ti finali (e, di conseguenza, un incremento di produttività),ha anche effetti positivi sulla sicurezza del sistema, inquanto è evidente che non dovendo più ricordare nume-rose password l'utente è meno portato a tenerne tracciascritta in luoghi magari poco protetti; inoltre la gestionedei profili risulta centralizzata e quindi non solo più sem-plice, ma anche più sicura (diminuisce il rischio di di-menticare gli account attivi o le password obsolete, ma-gari già compromesse).

Naturalmente la difficoltà di realizzare una architettu-ra SSO per l'autenticazione è proporzionale all'eteroge-neità del sistema.

Quando l'ambiente complessivo è omogeneo la solu-zione può essere addirittura già disponibile "gratis", comeavviene con il modello Microsoft.

Esso prevede anzitutto un LDAP server come depositocentrale delle informazioni di profilo. Si distinguono poiquattro tipi di logon, pensati per altrettanti modelli dicomportamento e di accesso a risorse di rete. Innanzitut-to vi è il login interattivo, che corrisponde alla classica si-tuazione in cui si accede a un computer per il quale si di-sponga di accesso fisico diretto (anche se, per la verità, gliaccessi via Terminal Server sono equiparati); il login di re-te, per l'utilizzo da remoto, in modalità client-server, diqualche risorsa o servizio; il login per servizi, che i servi-zi Win32 effettuano sul nodo locale per poter entrare in at-tività; e infine i login batch, usati appunto per l'esecuzio-ne di job batch, magari in background.

Qui interessa soprattutto il secondo di questi tipi di lo-gin, il login di rete, il quale si avvale del protocollo Ker-beros (di origine Unix, ma adottato ufficialmente da Mi-crosoft – precisamente in versione 5 - per i suoi sistemioperativi da Windows 2000 in poi) per garantire un eleva-to livello di sicurezza per l'autenticazione malgrado que-sta avvenga in rete.

Vedi il seguente capitolo (5.3.5.5) per la descrizionedettagliata delle fasi di autenticazione utilizzate dal pro-tocollo Kerberos.

Principi operativi di KerberosIl servizio distribuito di autenticazione in rete Kerbe-

ros, inventato nella metà degli anni '80 dal MIT, prende ap-propriatamente il nome dal cane a tre teste che secondola mitologia greca vigilava sull'accesso agli inferi.

In sintesi, il servizio offerto da Kerberos consente a unprocesso (client) mandato in esecuzione da un utente(principal) di attestare e dimostrare la propria identità aun ente verificatore (una applicazione server) senza in-viare alcuna informazione in rete – in particolare, pas-sword - la cui intercettazione potrebbe consentire a un at-taccante o allo stesso verificatore d’impersonare in se-guito l'utente.

Tale operazione apparentemente contraddittoria e im-possibile, è in realtà consentita da un impiego ingegnosodi tecniche crittografiche.

Nel funzionamento di Kerberos gli attori fondamentalisono 4: oltre ai già citati client (C) e server (R) vi sono in-fatti:- un authentication server (AS), con il quale ogni client Ccondivide una propria chiave crittografica segreta Kc. ASha la funzione di generare in modo sicuro (fidato e nonintercettabile da terzi in ascolto) "l'innesco" della suc-cessiva conversazione: la chiave di sessione.

- un ticket-granting server (TGS) che si occupa di fare da"ponte crittografico" fra client e server per generare inmodo convincente per entrambi, e non intercettabile daterzi, una chiave da usare per la successiva comunica-zione diretta tra C e R.

FASE 1Quando C desidera attivare una connessione con R per

richiedere l'esecuzione di un servizio, autenticandosi inmodo credibile per R, ma non intercettabile per terzi nonautorizzati, per prima cosa invia (in chiaro) il proprio no-me "C" ad AS. AS esamina il proprio database di contro-parti note e verifica che effettivamente un client C è notoe che in particolare è nota la chiave segreta Kc da usarenelle comunicazioni con esso. AS allora genera una chia-ve di sessione Ks (ogni volta una diversa) e un "ticket" ot-tenuto crittografando con la chiave segreta Ktgs la coppiadi informazioni costituita dall'identità del client, C, e dal-la chiave di sessione, Ks. Chiave di sessione e ticket ven-gono usati per formare un messaggio che viene poi cifra-to con la chiave segreta Kc e spedito a C come risultato.Il messaggio così ottenuto risulta indecifrabile per chiun-

Approfondimenti

RFC 2251 (LDAP):http://www.faqs.org/rfcs/rfc2251.html

5.3.5.5Conoscere iprincipi generalidifunzionamentodel sistema diautenticazioneKerberos.

Page 60: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it60

ITAdministrator - Sicurezza informatica Lezione 3

que non conosca la chiave segreta Kc, ma non per C, chene è al corrente. Quando C riceve il messaggio, utilizzaproprio Kc per decifrarlo ed estrarre Ks e il ticket. Il ticketè indecifrabile per C, che non conosce la chiave Ktgs concui è stato cifrato. [figura fase 1]FASE 2

C invia al ticket-granting server TGS il ticket così comel'ha ricevuto, accompagnato dall'identità R (in chiaro) delserver con cui vuol parlare e dall'ora esatta crittografatacon la chiave di sessione Ks.

Per il TGS, che naturalmente conosce Ktgs, è possibiledecifrare il ticket ed ottenere così Ks e C. Con Ks può poidecifrare l'ora esatta e verificare se il messaggio che haappena ricevuto da C è effettivamente stato mandato direcente oppure se si tratta di un vecchio messaggio chequalcuno ha intercettato e sta ora cercando di ripetereper ingannare il server inducendolo a ripetere una ope-razione già effettuata in precedenza (replay attack).

Il TGS sceglie ora una chiave segreta Kcr da usarsi perla comunicazione che sta per avere inizio fra il client C eil server R.

Il prossimo passo consiste nell'invio a C, da parte delTGS, di due informazioni protette. La prima consiste nel-la coppia R, Kcr crittografata usando la chiave di sessio-ne, Ks. La chiave di sessione è nota solo a C (oltre ai fida-ti AS e TGS) quindi nessun altro, all'infuori del client, puòintercettare tale messaggio. C può così estrarre Kcr e ini-ziare a usarla per parlare con R.

La seconda informazione consiste nella coppia C, Kcrcrittografata con la chiave Kr del server. Poiché il clientnon conosce Kr, C non ha la possibilità di decifrare (ma-gari per alterarlo) questo valore. Tutto quello che può fa-re è di spedirlo tale e quale al server R, accompagnato an-che in questo caso dall'ora esatta cifrata usando la chia-ve Kcr.

FASE 3Quando il server R riceve questo messaggio, per prima

cosa lo decifra usando la sua chiave segreta Kr. Ottienecosì la chiave Kcr e l'identità C del client che gli sta par-lando, il che gli permette di verificare che il messaggio stiaarrivando proprio da chi il mittente afferma di essere.

Con la chiave Kcr invece il server per prima cosa deci-fra l'ora esatta e verifica che il messaggio sia davvero re-cente. In caso contrario potremmo essere ancora di fron-te a un replay attack, e il server per tutelarsi non dovrà fa-re altro che ignorare il messaggio.

A questo punto sia C sia R (e nessun altro, escluso, na-turalmente, il "fidato" TGS) conoscono la chiave segretacondivisa Kcr e R considera finalmente autenticato C: lacomunicazione sicura fra essi può cominciare, natural-mente crittografata usando Kcr come chiave. Chiunquefosse stato in ascolto non ha visto passare alcuna pas-sword (nemmeno crittografata) e da ciò che può avere in-tercettato non ha acquistato né la possibilità di intromet-tersi nella conversazione spacciandosi in modo credibileper qualcun altro (per farlo dovrebbe ingannare AS e TGS,ma non conosce le chiavi segrete per farlo), né la possi-bilità di memorizzare e ripetere dei messaggi (grazie ai ti-mestamp crittografati con chiavi segrete).

Inoltre, ogni successivo scambio di messaggi fra C e Ravviene in forma cifrata usando una chiave segreta Kcr erisulta quindi incomprensibile a terzi non autorizzati inascolto.

Controllo degli accessiUna volta conseguita l'autenticazione, con cui ha con-

validato la propria identità, il "principal" (utente o pro-cesso che sia) che desideri accedere a una determinata ri-sorsa si trova ancora a metà del guado: il fatto che la suaidentità sia ora accertata, infatti, non significa necessa-riamente che gli debba essere concesso quello che chie-de.

Occorre prima verificare se a quel "principal" è con-sentito l'accesso alla risorsa e questo, ove applicabile, nel-la modalità richiesta, a seconda del modello previsto a ta-le riguardo (lettura, scrittura, creazione,..).

Di questo si occupa una seconda "barriera" subito avalle dell'autenticazione: il controllo degli accessi (AccessControl).

Principi di controllo degli accessiCon il termine "controllo degli accessi" ci si riferisce a

quelle funzionalità del sistema operativo che stabilisconochi può accedere alle risorse disponibili ed esercitano ilpotere di concedere, o negare, l'abilitazione a tale acces-so.

A seconda dei sistemi operativi, il controllo degli ac-cessi può riguardare un set più o meno vasto di entità, dai"soliti" file fino a concetti più sottili come le chiavi di re-gistro o i semafori, passando per stampanti di rete, pro-cessi e thread.

Nella terminologia Windows, le entità assoggettabili acontrollo degli accessi si chiamano "securable objects".

Da un punto di vista concettuale, poi, qualunque sial'implementazione offerta dal sistema operativo, si può

Approfondimenti

Per una presentazione di Kerberos si vedaTanenbaum, ComputerNetworks (IV edition),Prentice-Hall, cap. 8.7.4;oppure, su Web.http://www.isi.edu/gost/publications/kerberos-neuman-tso.html

5.3.6 Controllo degli accessi

5.3.6.1Conoscere iprincipiconcettuali allabase delcontrollod’accesso

Page 61: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it61

Lezione 3 IT Administrator - Sicurezza informatica

5.3.6.3 Conoscerele modalità digestionedell’accesso per ifile system correnti

pensare a uno stesso modello logico di riferimento per ladeterminazione dei permessi di accesso: la cosiddetta "ta-bella delle autorizzazioni", di cui, come vedremo, altri mo-delli costituiscono restrizioni o semplificazioni.

Access Control List e List of CapabilitiesLa tabella delle autorizzazioni (o "matrice degli acces-

si") può essere immaginata come una matrice bidimen-sionale le cui righe rappresentano "soggetti" (o "princi-pal"), ossia entità – utenti, processi, eccetera - che pos-sono richiedere un accesso a qualche risorsa; le sue co-lonne rappresentano invece "oggetti", o risorse – file, pe-riferiche, database, porte di I/O, eccetera – per le quali, afronte di una richiesta di un "principal", può essere con-sentito o negato l'accesso.

All'incrocio di una riga con una colonna la matrice ri-porta l'elenco dei diritti, od operazioni, che sono conces-si a quel determinato "principal" su quella particolare ri-sorsa. Per esempio, limitandoci per semplicità al caso de-gli utenti e dei file:

file1 file2 ... fileNutente1 lett./scritt. nessun diritto ... lett./esecuz.utente2 lett. nessun diritto ... lett.... ... ... ... ...utenteM lett./esec. lett./scritt. ... lett.

Riconsiderando ora questa matrice ed estraendoneuna determinata colonna otteniamo l'elenco dei diritti diaccesso riconosciuti su quella risorsa (nell'esempio, un fi-le) per ogni utente conosciuto al sistema. Questo tipo diinformazione non è altro che la Access Control List (ACL)associata alla risorsa:

file1utente1:

lettura/scrittura

utente2:lettura

...

utenteM:lettura/esecuzione

Viceversa, se dalla stessa tabella estraiamo una deter-minata riga, otteniamo l'indicazione di tutto ciò che nelcomplesso è consentito fare a un determinato "principal"(nell'esempio, un utente). Questo vettore è spesso defini-to "Capability List" (lista di capacità)

utente1 file1: file2: fileN:lett./scritt. nessun diritto ... lett./esec.

Controllo degli accessi nei comuni file systemAnche se da un punto di vista logico il modello di rife-

rimento per quanto riguarda il controllo degli accessi suifile è sostanzialmente analogo nella maggioranza dei si-stemi operativi, esistono differenze e restrizioni piuttostomarcate nella sua implementazione da caso a caso. Quiprenderemo in considerazione Windows XP Home, Win-dows XP Professional e Linux.

Fra i tre sistemi presi in esame, Windows XP Profes-sional offre il modello ACL per i file più articolato e com-pleto. È possibile, per ogni singolo "principal", sia esso unutente o un gruppo, specificare per ogni singolo file (o perintere cartelle o unità disco) non soltanto i "classici" per-messi di lettura e scrittura (Figura 3), ma anche permes-si estremamente specifici quali l'autorizzazione ad acqui-sire il possesso della risorsa, a impostare il valore dei suoiattributi base ed estesi e perfino l'autorizzazione a legge-re (e cambiare) i permessi stessi. Questo si fa utilizzandoun'apposita scheda (Figura 4) del dialog box "Properties"che si visualizza selezionando il file in Explorer e facendoclic con il tasto destro del mouse; la scheda Permissions

3

4

5

5.3.6.2 Saperecos’è un’AccessControl List (ACL) ela List ofCapabilities

Page 62: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it62

ITAdministrator - Sicurezza informatica Lezione 3

(Figura 5) fornisce invece una vista tabellare abbastanzachiara della ACL per l'oggetto in questione.

Nel caso di XP Home, per i file, è disponibile una ver-sione di ACL molto ristretta. Tutto quello che si può fareè specificare se una determinata cartella è per esclusivouso personale di un determinato utente sul computer lo-cale, oppure condivisa con gli altri utenti locali del com-puter, oppure condivisa in rete, nel qual caso è consenti-to anche precisare se agli utenti di rete deve essere per-messo modificare i file contenuti nella cartella. Non è pos-sibile impostare queste restrizioni a livello di singolo filee non è possibile differenziarle utente per utente. In sin-tesi, sia i "principals" sia le risorse (ovvero, sia le righe siale colonne della "access matrix") sono trattabili solo inmodo "grossolano", per gruppi, e anche i permessi chepossono essere concessi o negati (lettura; scrittura) sonoun sottoinsieme di quelli previsti dal modello di XP Pro-fessional.

In Linux lo schema per attribuire i permessi ai file èsemplice ma pratico e soprattutto sufficiente per tutte leapplicazioni normali. Ogni file o directory ha associato unset di permessi accordati a tre diverse categorie: il pro-prietario del file (user); il gruppo di utenti a cui il pro-prietario appartiene (group); tutti gli altri utenti (other).Per ognuno di questi tre "principal" sono definiti tre per-messi: lettura, scrittura, esecuzione/attraversamento.Quest'ultimo assume il primo significato nel caso in cuil'entità in esame sia un file e il secondo significato nel ca-so di una directory.

Caratteristica peculiare di Unix in generale e quindi an-che di Linux, il permesso di esecuzione esiste anche nel-la variante "set user id": l'effetto è quello di far sì che an-che se il programma è lanciato in esecuzione da un uten-te U, durante l'esecuzione gli verrà temporaneamente at-tribuita un'identità (effective user ID) uguale a quella delproprietario del file. Si tratta di una possibilità molto uti-le per consentire anche a semplici utenti l'esecuzione dideterminate operazioni privilegiate, ma naturalmente, seabusata, è foriera di gravi rischi per la sicurezza, specie seil flag "set user id" è usato per un programma di proprietàdi root.

I permessi dei file sono mostrati quando si richiede lavisualizzazione della directory con il comando "ls –l": larappresentazione, che compare subito alla sinistra del fi-le, consiste in una stringa di 10 caratteri, in cui il primo co-difica il tipo di file (file, directory, link simbolico, socket –un oggetto software che collega un’applicazione a un pro-tocollo di rete - named pipe – collegamento temporaneofra due programmi o comandi) e i successivi 9 caratteri,a gruppi di 3 (da sinistra a destra: utente/gruppo/altri),sono i permessi per i 3 diversi "principal".

Se un dato permesso è concesso, la relativa lettera è vi-sualizzata (r per read, w per write, x per execute, s per set-user-ID). Viceversa, se il permesso non è disponibile, nel-la corrispondente posizione della stringa viene mostratoun trattino ("-"). Per esempio, la stringa dei permessi di unfile di programma eseguibile ha normalmente il seguenteaspetto:

-r-xr-xr-x

Se si vuole che, quando qualcuno lo esegue, il pro-gramma acquisisca i diritti dell'utente proprietario del fi-le per tutto il tempo dell'esecuzione, occorre assegnare ilpermesso set-user-id, così:

-r-sr-xr-x

Invece i permessi di un semplice file di dati leggibile dalproprietario e dal suo gruppo, ma scrivibile solo dal pro-prietario, appaiono così:

-rw-r-----

Una directory (tipo di file: "d") in cui tutti possono scri-vere e leggere e che tutti possono attraversare avrà inve-ce una stringa permessi di questo tipo:

drwxrwxrwx

mentre sarà opportuno che la home directory di unutente sia maggiormente protetta, per non consentire néletture, né scritture, né attraversamenti ad estranei, com-presi gli appartenenti allo stesso gruppo di utenti del pro-prietario, al quale invece dev’essere concesso tutto:

drwx------

È bene tenere comunque sempre presente che per l'u-tente root è come se tutte queste limitazioni non esistes-sero.

Esiste anche una rappresentazione numerica di questipermessi che è basata su una notazione binaria: a ognipermesso concesso o negato viene fatto corrispondere unbit in una maschera di 9 bit. Ogni bit della maschera vale0 se il rispettivo permesso è negato, 1 se concesso. Da si-nistra a destra, i bit hanno il seguente significato:

user group otherread write execute read write execute read write execute1 1 0 1 0 0 1 0 0

La maschera mostrata nell'esempio (110100100) corri-sponde alla stringa "rw-r--r--", ossia: il proprietario può leg-gere o scrivere il file, gli altri (gruppo ed estranei) posso-no solo leggerlo.

Solitamente si fa uso della notazione ottale per como-dità (in quanto ogni cifra ottale corrisponde a 3 bit, un rag-gruppamento ideale). Così, una situazione di "tutti i per-messi negati" corrisponde a 000 ottale, mentre 777 rap-presenta il binario 111 111 111, ossia "tutti i permessi so-no concessi a tutti". I permessi dell'esempio di cui sopra,in ottale, avrebbero la rappresentazione 644.

Da segnalare infine il meccanismo dei permessi di de-fault. Quando viene creato un file, il sistema operativoprovvede ad attribuirgli dei permessi che dipendono daltipo di file (per esempio: programma o file di dati) e dauna speciale misura precauzionale supplementare, voltadi solito a restringere i permessi che spettano a "gruppo"e "altri": si tratta del meccanismo della "umask", in so-stanza un valore binario (espresso per comodità in otta-le) che rappresenta i bit che devono essere azzerati nellamaschera dei permessi rispetto al valore dei permessistandard per quel tipo di file. Il comando umask, senza pa-rametri, visualizza il valore attuale di questa maschera.Per impostarla si usa lo stesso comando ma si passa unparametro ottale su riga di comando, per esempio:

umask 022

che corrisponde a negare a "gruppo" e "altri" il dirittodi scrittura per il nuovo file.

Controllo degli accessi in database relazionaleUno dei tipi più importanti di risorse disponibili in re-

te è il database. E' evidente che, se si ha a cuore la sicu-rezza delle informazioni, l'accesso a un database (chespesso può contenere dati estremamente rilevanti e sen-sibili) non è privilegio da concedere a chiunque senza re-strizioni.

5.3.6.4 Conoscerele modalità digestionedell’accesso aiRDBMS

Page 63: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it63

Lezione 3 IT Administrator - Sicurezza informatica

Due sono gli aspetti da considerare a questo riguardo:il controllo sulla connessione al Database server e l'auto-rizzazione a compiere le varie operazioni una volta con-nessi.

Per il primo punto i database utilizzano naturalmenteuno schema basato su password; a seconda dei casi lapassword può viaggiare da client a server su una connes-sione più o meno protetta da tecniche crittografiche, masi tratta di uno scenario simile a quelli già discussi, convantaggi e criticità analoghi, su cui non ci soffermiamo.

E' il secondo aspetto a meritare un cenno. I databasesono dei sistemi per la gestione veloce e affidabile di gran-di quantità di informazioni in forma strutturata. Nel casoparticolare dei database relazionali (RDBMS) la strutturausata è la tabella bidimensionale; una tabella si usa permodellare una determinata entità; le righe (o record) cor-rispondono a istanze, le colonne ad attributi.

Esempio di tabella in un RDBMS

Nome tabella: Correntista

Nome Codice fiscale Numero cliente SaldoJohn Smith 1234567XYZ 1423 1000Jack White 9876543KLM 5253 2000

In questa tabella gli attributi sono “Nome”, “Codice fi-scale”, “Numero cliente” e “Saldo”; l’entità modellata è ilCorrentista. Sono attualmente presenti 2 istanze, corri-spondenti ai correntisti i cui nomi sono John Smith e JackWhite; per esempio, il record contenente le informazioniriguardandi John Smith è il seguente record di quattrocampi:

John Smith 1234567XYZ 1423 1000

Così, possiamo dire che il valore dell’attributo “Nume-ro cliente” per l’istanza relativa a “John Smith” è 1423.

Il modello di protezione a livello di utente, con il qualesi possono stabilire livelli di permessi d'accesso ai dati ead altre informazioni di controllo del database, non hauna logica "tutto o niente" ma consente di specificare que-sti permessi con una granularità più fine, per definire laquale si fa proprio riferimento a questi oggetti ed alle ope-razioni possibili su di essi.

Con riferimento al caso particolare di Access, in am-biente Windows, per ogni "principal" (utente o gruppo di

utenti) e per ogni oggetto definito nel database, fra quel-li di tipo controllabile (tabella, query, maschera, eccetera)è infatti possibile specificare le autorizzazioni desiderate,fra cui lettura, scrittura, inserimento, cancellazione.

L'operazione, nel caso di Access, si effettua da una co-moda finestra dedicata (Figura Permessi Access). Per al-tri database, in assenza di una interfaccia grafica di ge-stione analoga a questa, per definire i permessi occorreutilizzare comandi interattivi stile SQL oppure agire suspeciali tabelle di controllo che fanno parte anch'esse,seppure a titolo speciale, del database a cui si riferiscono;nome, tipo e struttura di questi comandi o tabelle dipen-dono dal particolare RDBMS usato, anche se i concetti sucui si basano restano naturalmente gli stessi. Per esem-pio, in MySQL (un database molto diffuso, in particolarein ambiente Linux) e vari altri RDBMS, i seguenti coman-di hanno l'effetto di concedere all'utente "smith12" di mo-dificare ("alter") la tabella dei conti correnti, "Accounts",in un database bancario, purché "smith12" si sia preven-tivamente autenticato a mezzo password:

Mysql> GRANT alter on Accounts to smith12Mysql> IDENTIFIED by "password";

Si potrebbe anche concedere a un utente "admin" ognipermesso su ogni tabella del database, pretendendoperò, per ragioni di sicurezza, una autenticazione che av-venga in modo protetto crittograficamente a mezzo SSL(Secure Socket Layer):

Mysql> GRANT all on *.* to adminMysql> IDENTIFIED by "password" REQUIRE SSL;

Esiste anche un comando REVOKE che ha l'effetto con-trario di GRANT, in quanto revoca una o più autorizzazio-ni per un dato utente e tabella. La sintassi è del tutto si-mile a quella di GRANT:

Mysql> REVOKE alter on Accounts FROM smith12;Mysql> REVOKE ALL PRIVILEGES FROM smith12;

6

Page 64: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it64

ITAdministrator - Sicurezza informatica Lezione 4

Da un punto di vista colloquiale, il senso dell’espres-sione “disponibilità dei dati”, e dei rischi che posso-no comprometterla, può apparire quasi intuitivo.

Viene spontaneo pensare alla possibilità che si guastino idischi fissi, che la rete cessi di funzionare, che si verifichiun black out, che si guasti qualche altro apparato vitale.Tutti questi aspetti certamente esistono e li approfondire-mo nei prossimi paragrafi, ma conviene qui ricordare chetecnicamente l’espressione “disponibilità dei dati” haun’accezione piuttosto ampia e articolata che a volte scon-fina anche in questioni collaterali. Vediamo quali sono, an-che attraverso qualche esempio.

Innanzitutto l’accessibilità. Il fatto che i dati esistanosenza che sia possibile avervi accesso non è di grande in-teresse. Per la disponibilità dei dati è quindi necessario an-zitutto assicurare che gli eventuali meccanismi di prote-zione e di controllo degli accessi (dall’autenticazione del ri-chiedente, all’autorizzazione per mezzo di uno schema dipermessi) funzionino regolarmente e che i relativi databa-se, che sono necessari per il loro funzionamento, siano a lo-ro volta accessibili e contengano dati validi. Questi com-prendono i database di chiavi crittografiche usate per ren-dere sicuro il processo di autenticazione e accesso, quellidi elenchi di utenti e relative password, nonché le AccessControl List (l’elenco dei diritti di accesso riconosciuti peruna risorsa) e le Capability List (tutti i permessi che sonoattribuiti a un particolare utente o processo). Sempre pergarantire l’accessibilità dei dati è naturalmente necessario

che le connessioni di rete funzionino e siano affidabili, co-me approfondiremo fra breve.

Vi sono poi aspetti che riguardano intrinsecamente i da-ti stessi, a cominciare dalla loro integrità. Non si possonodefinire disponibili, infatti, dati che siano solo parziali, pri-vi di informazioni essenziali per il loro utilizzo. Per esem-pio, in un database relazionale usato per modellare i dati diun istituto bancario, è del tutto inutile che esistano la ta-bella A, con la situazione dei conti correnti (figura 1) e la ta-bella B, dei dati anagrafici dei correntisti (figura 2), se è an-data perduta la tabella C, che mette in relazione i correnti-

Prosegue il primo corso di taglio professionale destinato alconseguimento della certificazione ufficiale, EUCIP ITAdministrator – SicurezzaInformatica, valida in tutta Europa. In questo numero cioccupiamo di tutti i meccanismi per garantire la costantedisponibilità delle informazioni anche in caso di disastro o di attacco maligno. I contenutisono composti da tre elementi:un articolo sulla rivista, unarticolo, molto più esteso informato PDF e un corsomultimediale completo su CD e DVD di Marco Mussini

Materiale didatticovalidato da AICACertificazione EUCIPIT AdministratorModulo 5 - IT SecuritySicurezza informatica

"AICA Licenziatariaesclusiva in Italia delprogramma EUCIP(European Certificationof InformaticProfessionals), attestache il materiale didatticovalidato coprepuntualmente eintegralmente gliargomenti previsti nelSyllabus IT Administratore necessari per ilconseguimento dellacertificazione ITAdministrator ITSecurity. Diconseguenza AICAautorizza sul presentemateriale didattico l'usodel marchio EUCIP,registrato da EUCIP Ltde protetto dalle leggivigenti"

Obiettivo del corso IT AdministratorSicurezza InformaticaFornire al lettore familiarità con i vari modi diproteggere i dati sia su un singolo PC sia in una LANconnessa a Internet. In particolare, metterlo nellecondizioni di proteggere i dati aziendali controperdite, attacchi virali e intrusioni. Inoltre, metterlonelle condizioni di conoscere e utilizzare le utility e iprogrammi più comuni destinati a tali scopi.

Riferimento Syllabus2.0 (curriculumufficiale AICA)

5.4 Disponibilità dei dati

5.4.1.1 Conoscere idiversi tipi diesigenze didisponibilità dei dati

I contenuti delle 8 lezioni Lezione 1: Informazioni generaliLezione 2: parte 1Crittografia -

fondamenti e algoritmiLezione 2: parte 2Crittografia -

applicazioniLezione 3: Autenticazione

e controllo degli accessiLezione 4: DisponibilitàLezione 5: Codice malignoLezione 6: Infrastruttura a chiave pubblicaLezione 7: Sicurezza della reteLezione 8: Aspetti sociali, etici e legali della

sicurezza informatica

In collaborazionecon:

� Disponilbilità dei dati

Proteggere i dati da disastri e attacchi maligni

Page 65: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it65

Lezione 4 IT Administrator - Sicurezza informatica

sti con conti correnti (figura 3). La mancanza della tabellaC rende di fatto inutili, e non disponibili, i dati delle tabelleA e B.

Tabella A la situazione dei conti correnti di una bancaN.conto Saldo Tasso attivo Tasso passivo Fido10001 1090 1.25 8.75 30010322 2315 1.00 9.25 50010224 3167 1.50 8.50 1250

La tabella B con i dati anagrafici dei correntistiCod.Cliente CognomeNome Indirizzo Città371 Rossi Mario C.so Garibaldi 10 Pavia392 Bianchi Giorgio Via Bellini 40 Lecco407 Verdi Alfredo P.za Cavour 17 Milano

La tabella C, che mette in relazione clienti e conti correnti.In sua mancanza le tabella A e B del database sono inutili.Codice Cliente Numero Conto371 10322392 10224407 10001

Anche se formalmente i dati sono accessibili e tutti pre-senti, vi può essere tuttavia un problema di consistenza.Sempre sulla falsariga all’esempio bancario, il fatto che for-malmente siano presenti le tabelle A, B e C non serve a nul-la se la corrispondenza espressa dalla tabella C fa riferi-mento a identificativi di conto corrente oppure a codicicliente non corretti, ai quali non fa riscontro alcun conto(nella tabella A) o alcun cliente (nella tabella B). In questocaso si dice che i dati contenuti nella tabella C (figura 1) so-no inconsistenti con i dati delle tabelle A e B, il che rende idati, nel loro complesso, privi di senso e inutilizzabili per-ché privi di una rete di collegamenti validi che li metta in re-lazione reciproca.

Figura 1. Un esempio di tabella C contenente datiparzialmente inconsistenti con le tabelle A e B mostrate infigura 1 e 2. Esempi di dati inconsistenti sono evidenziatiin giallo.

Codice Cliente Numero Conto375 10322392 10224407 10771

Per completezza ricordiamo che quando i dati sono ine-satti, ma l’effetto di tale inesattezza si esaurisce in sé stes-so (non si ripercuote cioè sulle relazioni tra i dati e sulla lo-ro utilizzabilità nel loro complesso) la questione riguardainvece la correttezza dei dati; si tratta tuttavia di un pro-blema che è solo contiguo a quello della loro disponibilità.

La garanzia di disponibilità dei dati, insieme all’ininter-rotto e regolare funzionamento dei processi aziendali, sonoi pilastri della cosiddetta "Business Continuity", intesa co-me la misura in cui un’organizzazione riesce a garantirsi lastabilità ininterrotta dei sistemi e delle procedure operati-ve anche a fronte di eventi “eccezionali”. Tale risultato nonè realisticamente raggiungibile aggiungendo una “stratifi-cazione” di rimedi a processi e sistemi che di base sono fra-gili e vulnerabili: occorre piuttosto progettarli in modo chesiano intrinsecamente robusti e “fault tolerant” ossia resi-stenti ai guasti.

La Business Continuity è dunque il risultato di una cor-retta pianificazione della gestione delle criticità (Crisis Ma-nagement), di un’accurata identificazione, valutazione e ge-stione dei rischi (Risk Analysis, Assessment and Manage-ment), di processi organizzativi e informatici progettati concriteri di ridondanza e sicurezza, e di appropriate proce-

dure di Data Recovery in grado di fornire un grado supple-mentare di protezione in caso di eventi eccezionali.

Naturalmente la sicurezza ha un costo proporzionale allivello di servizio garantito, pertanto ogni organizzazionedeve stabilire il livello di compromesso tra il rischio d’in-terruzione dell’operatività e il costo delle misure prepostea garantire la Business Continuity. Idealmente si sarebbeportati a dire che non ci si può permettere di perdere alcundato e che non è tollerabile alcuna interruzione di servizio;purtroppo è assai probabile che un simile livello di prote-zione abbia un costo proibitivo. Si deve inoltre osservareche non tutte le applicazioni e i dati usati in azienda sonougualmente “mission-critical”. È quindi utile definire alcunesoglie ed è qui che torna utile definire due concetti, quellodi Recovery Time Objective (RTO) e quello di RecoveryPoint Objective (RPO).

Il Recovery Time Objective, riferito a un determinato si-stema o processo organizzativo, è un valore che indica iltempo -disponibile per il recupero della piena operatività diquel sistema o processo. In altre parole è la massima dura-ta prevista o tollerata dell’eventuale downtime, ove questosi verificasse. L’aspetto di primaria importanza è che unqualche valore di RTO sia definito, conosciuto e verificato.Infatti, se è vero che un downtime lungo danneggia l’orga-nizzazione più di uno breve, il danno peggiore deriva sen-za dubbio dal non avere alcuna idea precisa di quanto tem-po sarà disponibile per terminare il downtime quando si ve-rifica. Avere una soglia di RTO conosciuta e verificata per-mette se non altro di reagire all’emergenza in modo ordi-nato e potendo contare su un tempo massimo garantito pri-ma del ritorno alla normalità.

Una misura utile per ridurre l’RTO consiste nel fare inmodo che i dati siano disponibili integralmente e “a caldo”in un sito secondario, che sia immediatamente accessibilequalora il sito primario subisca un’interruzione di servizio.

Se l’RTO stabilisce un limite di tempo entro il quale è at-teso il ritorno alla normalità, l’RPO (Recovery Point Objec-tive) quantifica invece l’entità massima della perdita di da-ti che può essere tollerata a seguito di un evento di crisi.

Per rimanere dentro le richieste imposte dall’RPO oc-corre, per esempio, che i dati vengano salvati e replicaticon immediatezza, con un minimo tempo di permanenza inmemoria volatile (come un buffer in RAM) o priva di pro-tezione (come un disco non ridondato). Una soluzione benpiù idonea consiste però nell’adozione di schemi di repli-cazione dei dati sulle unità a disco (RAID), come vedremotra poco.

I valori di RPO ed RTO devono risultare da un’analisi del-la struttura informatica nel suo complesso e il loro dimi-nuire porta progressivamente a una struttura sempre piùcritica. Ad esempio, una struttura che disponga di un RTOalto può rimanere inattiva senza problemi per un lungo pe-riodi, al fine di consentire riparazioni anche complesse. Unastruttura con un RPO alto può invece tollerare un numeroalto di transazioni non ripristinate senza problemi.

Requisiti sull’infrastruttura ICTAnche l’equipaggiamento hardware deve avere caratte-

ristiche tali da contribuire a un buon livello generale diinformation availability.

L’esempio più evidente consiste nel tutelarsi dal rischiodi black-out dotandosi di sistemi UPS (UninterruptiblePower Supply) adeguati alle attrezzature da proteggere.

Le principali caratteristiche degli UPS da valutare nellascelta sono otto.1) il carico massimo sopportabile, espresso in VA (Volt –

Ampere). Naturalmente è sempre saggio sovradimen-sionare l’UPS rispetto all’assorbimento teorico dell’in-sieme dei sistemi da proteggere. Sarà così possibile as-sorbire picchi inattesi di carico, senza contare che l’au-tonomia durante il black-out sarà maggiore.

2) il tempo di commutazione della fonte di alimentazione

5.4.1.2 Conoscere idiversi tipi diesigenzeinfrastrutturali deisistemi informatici(gruppi dicontinuità,climatizzazione,cablaggi etc)

Page 66: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it66

ITAdministrator - Sicurezza informatica Lezione 4

da rete elettrica a batteria interna. Tale tempo (che de-ve essere dell’ordine dei pochi millisecondi al massimo)va confrontato con il tempo massimo sopportabile, incondizioni di assenza di alimentazione, dalla più “esi-gente” tra le unità da proteggere.

3) la durata massima del periodo di autonomia in assenzadi alimentazione in condizione di carico massimo. A se-conda del dimensionamento, l’UPS può lasciare giusto iltempo per salvare i dati e chiudere le applicazioni (unadecina di minuti) oppure permettere una vera “businesscontinuity” per un tempo di diverse ore. Fra questi duescenari passa una differenza molto rilevante per quantoriguarda il dimensionamento e il costo dell’UPS (chesarà varie volte maggiore nel secondo caso).

4) il tempo richiesto per una ricarica completa. Si tratta diun valore essenziale per sapere quali chance ha il siste-ma di resistere a due o più black-out in rapida succes-sione. In molti casi il processo di carica è di gran lungapiù lento di quello di scarica: un UPS che garantisce 10minuti di autonomia a carico massimo può impiegareore per ricaricarsi completamente. Questo evidente-mente pone limiti precisi non solo alla durata degli inci-denti di alimentazione, ma anche alla loro frequenza. Lasoluzione è ancora una volta quella di sovradimensio-nare l’UPS.

5) la capacità di smorzare sovratensioni, disturbi impulsi-vi e scariche conseguenti a fattori meteorologici o a dis-servizi della rete elettrica. Questa prestazione può esse-re intrinseca per il tipo di tecnologia dell’UPS (comespiegato più avanti) oppure essergli conferita da un mo-dulo dedicato interno. È anche possibile interporre unfiltro tra la rete elettrica e l’UPS oppure tra questo e leunità sotto protezione.

6) la capacità di interfacciarsi a livello logico-applicativocon i sistemi sotto protezione, in modo da forzare il sal-vataggio automatico dei dati e lo shutdown ordinato deisistemi stessi. Di solito ciò avviene mediante collega-mento seriale o USB ed è richiesta l’installazione di unapposito software di supervisione. Tale software rara-mente è disponibile su molti sistemi operativi diversi,pertanto è importante valutare con attenzione la qualitàdel supporto software offerto dal fornitore dell’UPS.

7) la disponibilità di un sistema di controllo remoto per ilmonitoraggio dello stato di carica della batteria e per laconsultazione di un log degli eventi critici verificatisi.

8) il tipo di tecnologia. In ordine crescente di protezione, dirapidità di commutazione e di immunità dai disturbi sul-l’alimentazione primaria, ma anche di costo, citiamo il ti-po Passivo (ormai obsoleto) che interviene solo in casodi mancanza di alimentazione, ma non filtra l’alimenta-zione proveniente dalla rete primaria, il tipo On line in-teractive che regola e filtra tensione della rete primariamantenendo contemporaneamente in carica la batteriache interviene immediatamente in caso di blackout e in-fine il tipo Online a doppia conversione che alimenta ilcarico costantemente dalla batteria. Quest’ultimo tipo diunità trasforma costantemente in corrente continua lacorrente alternata in ingresso mediante un raddrizzato-re; la corrente continua così ottenuta viene in parte usa-ta per la carica di mantenimento della batteria, mentre ilresto viene nuovamente convertito in corrente alterna-ta per il carico, con parametri assolutamente stabili e to-tale disaccoppiamento da eventuali disturbi presenti sul-l’alimentazione primaria.

Anche la climatizzazione del locale macchine dev’esse-re curata con attenzione. Tutte le unità come PC, monitor,unità disco, apparati di rete, eccetera, riportano nella pro-pria documentazione il campo di temperatura (e in qualchecaso di umidità) ammissibile. Il sistema di condizionamen-to deve assicurare il mantenimento dei parametri ambien-tali (temperatura, umidità) entro l’intervallo tollerato dai si-stemi installati, tenendo conto anche di un adeguato mar-gine di tolleranza (per esempio si deve tener conto di unblack out durante il quale gli UPS proteggono i sistemi, maprobabilmente non l’impianto di condizionamento, checesserebbe di funzionare). Il progetto del sistema di con-dizionamento può altresì prevedere una qualche forma diridondanza dell’impianto, per fare fronte al possibile cedi-mento di un’unità refrigerante.

Per quanto riguarda il dimensionamento, una primagrossolana quantificazione del calore che il sistema dev’es-sere in grado di asportare deve tenere conto dell’assorbi-mento elettrico di tutti i sistemi, oltre naturalmente allequote dovute all’illuminazione dei locali e alla presenza delpersonale.

Una corretta definizione dei percorsi per i cablaggi, la lo-ro ridondanza e la scelta dei materiali più opportuni sonoaltri due aspetti che contribuiscono in modo importante al-la Business Continuity, riducendo il rischio di black out od’isolamento di rete in caso di accidentale danneggiamen-to dei cavidotti oppure riducendo la generazione di fumo incaso di incendio.

È bene che lo schema di cablaggio non sia il risultato diuna serie di disordinati interventi incrementali effettuati inun lungo arco di tempo intorno a una rete di base obsole-ta, ma che al contrario sia il frutto di un vero e proprio pro-getto di cablaggio strutturato dell’edificio, capace di sup-portare in modo ordinato e senza “forzature” o scompensi,entro limiti prefissati e noti, eventuali estensioni e poten-ziamenti della rete.

Un aspetto da non trascurare, a tale proposito, è il man-tenimento di documentazione aggiornata sullo schema dicablaggio dell’edificio, che rende più facile ed economicoun eventuale upgrade programmato, mentre in caso dievento critico permette di effettuare interventi di ripara-zione più rapidamente e a colpo sicuro. Specialmente nel-le installazioni più complesse risulta conveniente archi-viare e consultare questo tipo di documentazione sfrut-tando particolari applicazioni gestionali (Cable plant do-cumentation software).

Schemi di replicazione dei dati“a caldo” per dischi fissi

Uno dei modi per fare fronte al possibile rischio di gua-sto a una unità disco consiste nel mantenere una copiacompleta degli stessi dati su una unità disco diversa. Lo sipuò fare eseguendo regolarmente un backup, ma tale ap-proccio presenta almeno due inconvenienti. Innanzitutto

5.4.2.1 Essere alcorrente delle diversemetodologie direplicazione in temporeale delle unitàdisco (RAID etc)

Page 67: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it67

Lezione 4 IT Administrator - Sicurezza informatica

resterebbero comunque non protetti i dati modificati dopol’ultimo backup; in secondo luogo, il recupero dei dati daun backup è un’operazione “non trasparente”, che dev’es-sere eseguita esplicitamente, richiede tempo (lanciareun’applicazione, selezionare i dati da recuperare, attende-re che il recupero avvenga) e non si presta, per tali ragioni,a supportare in modo appropriato una strategia di Busi-ness Continuity.

Una soluzione convincente per il problema della prote-zione dei dati dei dischi fissi consiste invece nel mantene-re una “copia a caldo” dei dati, aggiornata in tempo reale,pronta a subentrare alla copia primaria senza causare la mi-nima interruzione del servizio. Il modo più economico perottenerlo è di ridondare le unità disco con altri dispositiviidentici, e gestire il tutto secondo una delle configurazionipreviste dalla tecnologia RAID (Redundant Array of Inex-pensive Disks: letteralmente: schiera ridondata di dischi abasso costo).

Va detto subito che molti degli schemi RAID esistenti af-frontano il solo problema della protezione dei dati, altri ilsolo problema del miglioramento delle prestazioni e altrientrambe le questioni.

Gli schemi che seguono mostrano il “bouquet” di confi-gurazioni RAID possibili.

Il concetto di base è duplice: da un lato la distribuzionedei dati fra più dischi (“striping”), finalizzata all’aumentodelle prestazioni (una determinata quantità di dati può in-fatti essere letta in parallelo, per metà da un disco e per l’al-tra metà da un secondo disco); dall’altro la ridondanza deidati, che consente di resistere a un guasto singolo o multi-plo ricostruendo i dati a partire da bit di parità, codici ECC(Error Correcting Code) oppure rileggendoli da una pura esemplice replica integrale. I codici ECC costituiscono un si-stema per monitorare l’accuratezza delle informazioni e ap-portare eventuali correzioni nel caso in cui si siano verifi-cate alterazioni rispetto al valore originale a seguito di di-fetti solitamente di natura fisica. La correzione è possibilepoiché il codice consente di risalire alla posizione del bit er-rato all’interno della “parola” ossia del gruppo di bit moni-torato.

Per ogni schema RAID è possibile quantificare l’aumen-to di prestazioni raggiungibile, così come il numero di gua-sti simultanei sopportabili. Generalmente poi è possibilesostituire i dischi guasti senza interruzione di servizio. Aseconda degli schemi RAID e delle prestazioni del control-ler, l’attività di compensazione automatica degli errori oguasti può avere un effetto da nullo a medio sulle presta-zioni del sistema.

La grande varietà di schemi RAID definiti nasce dal grannumero di possibili combinazioni dei vari schemi di ridon-danza (replica, parità, ECC) e di striping.

È interessante notare che con un investimento di entitàtutto sommato modesta è possibile realizzare un sistema dimemorizzazione che è al tempo stesso più veloce e di granlunga più sicuro del sistema di partenza.

� RAID 0 �Numero minimo dischi: 2Descrizione: striping (parallelismo senza ridondanza)Ridondanza: nessunaPrestazioni: aumentano grazie al parallelismo fra dischi,controller e canali DMAFault Tolerance: nessunaApplicazioni idonee: applicazioni ad alta intensità di

banda, per es. applicazioni video

� RAID 1 �Numero minimo dischi: 2Descrizione: Mirroring + DuplexingRidondanza: 100%. Richiede 2N drivesPrestazioni: su ogni tandem: raddoppiano in lettura,invariate in scritturaFault Tolerance: elevata. A certe condizioni sonosopportabili anche guasti multipli simultaneiApplicazioni idonee: applicazioni che richiedono altadisponibilità

� RAID 2 �Numero minimo dischi: -Descrizione: parallelismo + codici a correzione d’errore(ECC)Ridondanza: elevata ma minore di RAID 1. Interi dischisono dedicati alla memorizzazione dei codici ECC.Prestazioni: aumento delle prestazioni read/writedirettamente proporzionale al parallelismo esistente sulgruppo dei dischi dati Fault Tolerance: corregge al voloerrori singoli in una “parola” datiApplicazioni idonee: non è commercialmente convenientea causa dell’elevata ridondanza hardware

� RAID 3 �Numero minimo dischi: 3Descrizione: parallelismo + parità XOR a livello di stripe(generata durante le scritture, verificata durante le letture)Ridondanza: bassa. Richiede N+1 drives.Prestazioni: aumento delle prestazioni in letturadirettamente proporzionale al parallelismo esistente sulgruppo dei dischi datiFault Tolerance: corregge al volo gli errori senza rallentareil servizioApplicazioni idonee: applicazioni ad alta intensità di bandacon requisiti di disponibilità

� RAID 4 �Numero minimo dischi: 3

A B C DE F G HI J K LM N O etc...

A A E EB B F FC C G GD D H H

I I M MJ J N NK K O OL L P P

Coppia di dischidati in mirror

Coppia di dischidati in mirror

Coppia di dischidati in mirror

Coppia di dischidati in mirror

A0 A1 A2 A3B0 B1 B2 B3C0 C1 C2 C3D0 D1 D2 D3

Dischi dati

ECC A/aECC B/aECC C/aECC D/a

Dischi ECC

ECC A/bECC B/bECC C/bECC D/b

ECC A/cECC B/cECC C/cECC D/c

A0 A1 A2 A3B0 B1 B2 B3C0 C1 C2 C3D0 D1 D2 D3

Dischi dati 0 Dischi dati 1 Dischi dati 2 Dischi dati 3

GenerazioneXOR A parità

B paritàC paritàD parità

Disco parità(Stripe = RAID 3 Blocco = RAID 4)

A0 A1 A2 A3B0 B1 B2 B3C0 C1 C2 C3D0 D1 D2 D3

Dischi dati 0 Dischi dati 1 Dischi dati 2 Dischi dati 3

GenerazioneXOR A parità

B paritàC paritàD parità

Disco parità(Stripe = RAID 3 Blocco = RAID 4)

Page 68: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it68

ITAdministrator - Sicurezza informatica Lezione 4

Descrizione: parallelismo + parità a livello di blocco(generata durante le scritture, verificata durante le letture)Ridondanza: bassa. Richiede N+1 drivesPrestazioni: la granularità a livello di blocco fa sì che ognirichiesta di lettura o scrittura di blocco interessi un solodisco dati. Ciò permette potenzialmente di trattare piùrichieste in parallelo, cosa impossibile con RAID 3. Ilsingolo disco per la parità diventa però il collo di bottiglia(specie in scrittura)Fault Tolerance: la correzione degli errori ha le stessepotenzialità di RAID 3 ma avviene più lentamenteApplicazioni idonee: applicazioni RAID 3 bisognose di unaumento di prestazioni soprattutto in lettura

� RAID 5 �Numero minimo dischi: 3Descrizione: parallelismo + informazioni di paritàdistribuite fra i dischi datiRidondanza: bassa. Richiede N+1 drivesPrestazioni: massime prestazioni in lettura; medie inscritturaFault Tolerance: la correzione degli errori ha un impattomoderato sulle prestazioni In caso di guasto a un disco lasua ricostruzione è più difficoltosa che in altri schemiApplicazioni idonee: File servers - Application serversWeb servers - Database servers

� RAID 6 �Numero minimo dischi: 4Descrizione: parallelismo + parità distribuita fra i dischi +ECC distribuiti fra i dischiRidondanza: superiore all’overhead richiesto da RAID 5.Richiede N+2 drivesPrestazioni: prestazioni elevate a condizione che ilcontroller sia veloce a generare e verificare i codici ECC.Fault Tolerance: estrema protezione e sicurezza con ilminimo overhead possibile. Resiste anche a due guasti di disco simultaneiApplicazioni idonee: applicazioni mission critical

� RAID 10 �Numero minimo dischi: 4Descrizione: i dati sono gestiti in striping su un tandem ein mirroring su un secondo tandem

Ridondanza: richiede 2N drivesPrestazioni: veloce come un RAID 0 ma più affidabileFault Tolerance: sicuro come un RAID 1 ma più veloceApplicazioni idonee: applicazioni ad alte prestazioni conrequisiti di disponibilità

� RAID 50 �Numero minimo dischi: 5Descrizione: Abbinamento di uno schema RAID 3 e di unoRAID 0Ridondanza: molto elevataPrestazioni: prestazioni elevate come in RAID 0Fault Tolerance: sicuro come un RAID 3 ma più veloceApplicazioni idonee: -

� RAID 0+1 �Numero minimo dischi: 4Descrizione: mirroring di due tandem i cui dischi sonogestiti in striping.Ridondanza: richiede 2N drivesPrestazioni: prestazioni elevate come con RAID 0Fault Tolerance: Come RAID 5. Un singolo guasto rende l’intero array equivalente a unoschema RAID 0Applicazioni idonee: applicazioni che richiedono alteprestazioni ma non necessariamente la massimadisponibilità

Oltre agli schemi RAID, utilizzabili per aumentare l’affi-dabilità e/o le prestazioni di uno storage system localizza-to in una certa sede fisica, meritano un cenno gli schemi di“distributed storage” a ridondanza anche geografica (Sto-rage Area Networks, SAN).

Una SAN collega fra loro più unità disco (o nastro) e piùhost; in casi estremi, e usando le tecnologie di rete adatte,le entità collegate possono trovarsi a grandi distanze (al li-mite, anche a distanze di scala geografica). A differenza delpiù convenzionale schema Direct-Attached Storage (DAS),che fa un uso “punto-punto” delle tecnologie di intercon-nessione “locale” di unità disco a host, come SCSI in tuttele sue varianti, oppure FDDI, Firewire o USB, nelle SAN è im-portante la possibilità di realizzare una matrice che mettain comunicazione vari host e varie memorie di massa.

Una SAN può essere usata per consentire l’accesso a uncentro di memorizzazione dati a più host ubicati in luoghidifferenti, ma anche, simmetricamente, per ridondare susedi diverse le unità disco usate da uno o più host. In que-sto senso, in combinazione con altre tecnologie, è utilizza-bile come soluzione per migliorare la disponibilità dei da-ti. È chiaro però che per raggiungere tale risultato è neces-

Dischi dati A Dischi dati B Dischi dati C Dischi dati D

etc...etc...etc...

A0 B0 ECC 0A1 ECC 1 Parità 1

ECC 2 Parità 2 C2Parità 3 B3 C3

ParitàXOR

Parità 0D1D2

ECC 3etc...

CodiceECC

A A A BB B C DC C E FD D G H

Dischi dati inmirroring RAID 1

Dischi dati instriping RAID 0

A0 A1B0 B1C0 C1D0 D1

A paritàB paritàC paritàD parità

A BC DE FG H

Dischi dati instriping RAID 0

Dischi datiin RAID 3

p g

A E A EB F B FC G C GD H D H

Mirroring RAID 1 fra i due gruppi in striping RAID 0

Coppia di dischi datiin striping RAID 0

Coppia di dischi datiin striping RAID 0

E3D3C3B3

A0 B0 C0A1 B1 C1A2 B2 Parità 2A3 Parità 3 C2

Dischi dati A Dischi dati B Dischi dati C

GenerazioneXOR

D0Parità 1

D1D2

Dischi dati D

Parità 0E0E1E2

Dischi dati E

Parità 4

Page 69: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it69

Lezione 4 IT Administrator - Sicurezza informatica

sario che la “matrice” implementata dalla rete su cui si ba-sa la SAN possieda una ridondanza sufficiente per immu-nizzarla perlomeno da guasti singoli di link, switch di reteo schede di rete.

Infatti la minore affidabilità di una connessione di retea grande distanza rispetto a un collegamento diretto SCSIsignifica che oltre all’evenienza di guasto di disco si deveprevedere e poter gestire anche l’evento di malfunziona-mento (o congestione) della rete di interconnessione tra di-schi e host.

Schemi di ridondanza per le unità di elaborazionePer assicurare un’alta disponibilità dei dati non è suffi-

ciente assicurarsi che le unità di memorizzazione siano“tamponate” contro possibili guasti. L’archiviazione deidati in forma “grezza” non è tutto: l’accesso ai dati, infatti,quasi sempre comporta anche una qualche forma di ela-borazione.

Vediamo tre esempi classici di elaborazione necessaria:• per presentare i dati in forma comodamente fruibile (per

esempio, una pagina Web illustrata anziché un arido“elenco” di informazioni testuali provenienti diretta-mente dal database);

• per trasformare i dati “grezzi” in valori utilizzabili, attra-verso calcoli aritmetici o logici;

• per selezionare, ordinare, filtrare i dati da estrarre dal da-tabase.È quindi necessario anche garantire che l’elaborazione

dei dati non sia compromessa da un malfunzionamento(hardware o anche software) a un server. A tale scopo siutilizzano tecniche di “clustering” ossia il collegamentoreciproco di due o più computer in modo che funzioninocome se fossero uno solo. Il clustering, con filosofia ana-loga a quella RAID, aumenta il parallelismo con due pos-sibili scopi: aumentare le prestazioni ripartendo i compi-ti su più macchine, oppure aumentare l’affidabilità del-l’insieme, per esempio tenendo una macchina “in riservacalda” pronta a subentrare a una macchina che dovesseguastarsi.

Il primo schema è sfruttato soprattutto per quelle ap-plicazioni nelle quali prevale la necessità di aumentare almassimo le prestazioni rispetto all’esigenza di assicurareaffidabilità sulle singole transazioni. Il tipico esempio èquello del web server per siti ad alta intensità di traffico.Data la natura del traffico Web HTTP (composto da innu-merevoli richieste elementari, la stragrande maggioranzadelle quali è di sola lettura), l’esigenza primaria sta nellariduzione del tempo di latenza prima che una richiestavenga servita e, in subordine, nella riduzione del temponecessario per servire ogni richiesta; è invece una que-stione assai meno rilevante il concetto di transazionalità,ossia la garanzia che tutte le operazioni collegate a unadeterminata transazione vadano a buon fine prima che latransazione possa essere considerata completa oppurel’annullamento delle stesse in caso contrario.

Se il livello di throughput richiesto non risulta rag-giungibile con un singolo server, non resta che ricorrerea uno schema parallelo, con un raggruppamento (cluster)di unità di elaborazione gestito da politiche di bilancia-mento del carico di lavoro (load balancing), che assegna-no le richieste HTTP in arrivo all’unità di elaborazione inquel momento più scarica. Fra l’altro, a parità di capacitàdi calcolo complessiva del sistema, la soluzione parallela,basata su un gran numero di esecutori a medie presta-zioni, risulta generalmente più economica e certamentepiù scalabile di una soluzione “single CPU” ad elevatissi-me prestazioni.

Il clustering può essere, però, usato anche per miglio-rare la disponibilità del sistema nel suo complesso attra-verso un aumento di affidabilità. In sistemi di questo tipopossono essere ridondati le CPU, le schede di rete e altricomponenti hardware essenziali; la commutazione, a se-

conda dei casi, può avvenire in modo immediato e traspa-rente oppure con coinvolgimento del software e del siste-ma operativo (e quindi con minor immediatezza). Peresempio, nel primo caso, due schede di rete “normali” pos-sono essere viste dal software come una unica scheda direte ad affidabilità circa doppia; nel secondo caso, un’ap-plicazione di monitoraggio che rilevasse una condizioneanomala sull’istanza primaria in esecuzione del softwarepotrebbe decidere di far subentrare il server di riserva efar dirottare su di esso il futuro carico di lavoro.

Negli schemi con clustering è abbastanza normale chepiù unità di elaborazione accedano a un sottosistema distorage condiviso; per un ulteriore aumento di affidabilitàè possibile dotarsi anche di un sistema di memorie di mas-sa a sua volta totalmente ridondato, tuttavia questa scel-ta determina un rilevante aumento dei costi senza neces-sariamente riuscire ad eliminare la causa più probabile efrequente di disfunzione del sistema, che è dovuta alsoftware (applicazioni e sistema operativo).

Il funzionamento delle applicazioni in cluster richiedeaccortezze particolari in fase di progetto e sviluppo delsoftware, un’amministrazione di sistema più complessa ecompetenze specifiche per la risoluzione di eventuali mal-funzionamenti.

D’altra parte, l’utilizzo di sistemi cluster generalmentepuò aprire possibilità interessanti, come quella di effet-tuare l’upgrade delle macchine anche durante il loro fun-zionamento, senza interruzione totale del servizio graziealla possibilità di “allontanare” temporaneamente il caricodi lavoro dal server che deve essere oggetto di azioni dimanutenzione o aggiornamento.

Esiste una distinzione importante tra sistemi in clustera “high availability” (HA) e “fault tolerant”. Con High Avai-lability s’intende la capacità del sistema di superare un sin-golo punto di guasto a uno dei propri componenti me-diante l’impiego di soluzioni hardware o software che per-mettano di riprendere l’elaborazione dopo il guasto. FaultTolerant indica invece la capacità di un sistema di rispon-dere in maniera controllata a un guasto hardware o softwa-re, solitamente spegnendosi o fermandosi e trasferendo ilproprio carico di lavoro a un componente o sistema repli-cato (mirror) che è in grado di continuare l’elaborazioneiniziata.1) Negli schemi High Availability, la salvaguardia dello sta-

to del sistema è affidata ai dati salvati sulla memoria dimassa condivisa (o al database condiviso): si tratta diuna filosofia adeguata per le soluzioni applicative dovel’eventuale perdita dei dati in RAM non avrebbe che unimpatto circoscritto sulla funzionalità del sistema (clas-sico esempio, ancora una volta, i Web server). Il recu-pero della normale funzionalità potrebbe avvenire findalla prima transazione successiva all’evento critico,dopo che un apposito processo “failover” avesse prov-veduto a dirottare il lavoro su un altro processo server.

2) I sistemi fault tolerant sono invece progettati per man-tenere addirittura una copia “calda”, integrale, conti-nuamente aggiornata, anche dei dati in memoria cen-trale. In questo caso l’elaborazione può commutare eproseguire senza alcuna perturbazione significativa,ma tutt’al più con un leggero e momentaneo calo di pre-stazioni.

Un’altra distinzione riguarda l’architettura del sistemadi memorie di massa. Esistono tre schemi principali:1) Dischi condivisi: le CPU accedono in modo concorren-

te a un unico sistema dischi. Tale schema fornisce ga-ranzie strutturali di “allineamento” dei dati visti dai va-ri sistemi, ma presenta svantaggi. Per evidenti neces-sità di controllo della concorrenza, tale accesso deveessere regolato da un “arbitro” (Distributed Lock Ma-nager) che aumenta la complessità e riduce le presta-zioni del sistema. Generalmente la distanza fisica delle

5.4.2.2 Essere alcorrente delle diversemetodologie direplicazione host emeccanismi didistribuzione ebilanciamento delcarico (loaddistribution e loadbalancing)

Page 70: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it70

ITAdministrator - Sicurezza informatica Lezione 4

CPU dal sistema dischi deve essere bassa, per motivitecnici.

2) Dischi in mirroring: ogni CPU ha un proprio sistema di-schi e un apposito sistema di replicazione che provve-de a rilevare tutte le sue scritture su disco e a replicar-le sulle unità a disco dell’altra CPU, attraverso un col-legamento LAN. Rispetto allo schema precedente cala-no i costi, ma anche le garanzie di perfetta e costanteidentità dei dati tra le varie unità disco e anche la sca-labilità del sistema è minore.

3) Nessuna condivisione: in condizioni di funzionamentonormale, non vi sono risorse disco condivise fra le CPU:tali risorse sono controllate e utilizzate solo dalla CPUattiva. Solo in caso di malfunzionamento di quest’ulti-ma scatta un meccanismo che trasferisce la “pro-prietà” di tali risorse alla CPU “di riserva” che subentraa quella in crisi. Scalabilità e disponibilità sono simili a quelle ottenibi-li con la prima soluzione (anche se il “trasferimento diproprietà” può richiedere un tempo non trascurabile);la mancanza di un Distributed Lock Manager inoltre ri-duce la complessità del sistema.

Infrastrutture per la disponibilità della reteNon basta garantire la disponibilità dei dati memoriz-

zati su disco e la disponibilità delle unità di elaborazione,con schemi a ridondanza più o meno marcata, per assi-curare complessivamente la disponibilità del servizio. Unaspetto fondamentale riguarda infatti la disponibilità del-la connessione di rete attraverso la quale gli utenti acce-dono al servizio, oppure della LAN che interconnette i si-stemi che concorrono a erogare il servizio, oppure anco-ra della LAN (o SAN) che collega questi ultimi alle unità di-sco condivise.

Come ogni componente dell’architettura, anche la LANpuò guastarsi o semplicemente andare incontro a feno-meni di congestione, e ancora una volta le strategie peraumentare l’affidabilità o per migliorare le prestazionicondividono la filosofia di base: ridondanza.

Nel caso delle reti la ridondanza può attuarsi con mo-dalità diverse a seconda del tipo di tecnologia di rete (ve-

di la tabella sulla ridondanza).In generale, in un’infrastruttura di rete, i punti di criti-

cità riguardano:• La connessione al provider esterno• Il servizio offerto dal provider esterno• Il cablaggio interno• Le schede di rete• Gli apparati attivi di rete

Per quanto riguarda le cause esterne di malfunziona-mento, una prima forma di autotutela “non tecnologica”può consistere nel negoziare col provider un Service Le-vel Agreement (SLA) con tanto di penali in caso di mal-funzionamenti di entità e frequenza superiori a determi-nate soglie contrattuali. In tal caso assume particolare im-portanza poter disporre di strumenti di misura per rile-vare (ed eventualmente dimostrare in sede di contenzio-so) quando si producono tali malfunzionamenti.

Come accennato in tabella, inoltre, una strategia effi-cace consiste anche nel ridondare (almeno duplicare) ilcollegamento al provider esterno, oppure nel collegarsi adue provider diversi: rispetto alla prima, questa secondastrategia complica le cose dal punto di vista degli schemidi indirizzamento e può anche dare luogo a scompensiqualora la banda disponibile sia molto diversa sulle dueconnessioni, ma conferisce un interessante grado di pro-tezione dall’isolamento totale anche in caso di guasti se-veri al backbone (dorsale) del network provider.

I rischi dovuti a cause interne possono essere mitigaticon la ridondanza sui cavi, sulle schede di rete o sugli ap-parati attivi.

Per quanto riguarda il cablaggio in particolare è consi-gliabile che la ridondanza dei collegamenti sia sempre ac-compagnata anche da una differenziazione del percorso fi-sico seguito dal cavo. In sostanza, è preferibile che i duelink corrano in due cavidotti distinti e separati. Diversa-mente si correrebbe il rischio che una lesione strutturaleaccidentalmente prodotta a un unico cavidotto provochil’interruzione contemporanea sia del link primario sia diquello “di scorta”.

Tabella Ridondanza. Accorgimenti tecnologiciper conferire ridondanza

in vari tipi di rete

Tipo di rete

LAN

WLAN (WiFi)

WLAN (WiFi)

WAN

Reti di trasporto(SDH/WDM)

Schema di ridondanzaDuplicazione dellascheda di rete

Antenna Diversity(duplicazionedell’antenna)

Installazione di piùAccess Pointsoperanti su più canaliCollegamento a dueISP diversi (oppuredoppio collegamentoallo stesso ISP) perresistere amalfunzionamenti sul“last mile”

Network Protection;Network Restoration

Logica di funzionamento

Qualora l’autodiagnosi riveli un guasto auna delle due schede, un apposito sistemafa subentrare la scheda di scorta, con lostesso indirizzo di rete della scheda fuoriservizioUn circuito provvede a monitorarecostantemente il livello di disturbo, echi,riflessioni, etc., rilevato in ricezione suognuna delle due antenne e sceglie quellacon la migliore ricezioneLe schede di rete sui client possonocommutare automaticamente sul canale“migliore”Il router rileva eventuali interruzioni diservizio su uno dei due link e in base aregole precedentemente impostateprovvede a dirottare il traffico sull’altradirettrice Internet. In condizioni normali iltraffico può essere avviato a entrambe ledirettrici per aumentare la bandacomplessivaI circuiti sono completamente ridondati e iltasso d’errore è tenuto sotto sorveglianzahardware.Gli apparati di rete (protection) o i sistemi digestione di rete (restoration) provvedono adeviare il traffico su un path alternativo incaso di guasto o tasso d’errore eccessivo

Effetto “ai morsetti”

Le due schede di rete sono vistedal sistema operativo e dalleapplicazioni come un’unicascheda di rete a maggioreaffidabilitàIl link di rete wireless appare piùstabile e il throughput maggiore

I client osservano unmomentaneo disservizio solo incaso di passaggio ad altro canaleGli applicativi di rete “vedono”una connessione Internet condisservizi sporadici e facilmenterecuperabili

Gli strati di rete che si avvalgonodella rete di trasporto “vedono”connessioni affidabili. Lacommutazione comportaun’interruzione di servizio dipochi millisecondi

5.4.2.3 Conoscerediversi tipid'infrastrutture perla disponibilità dellarete (per LAN, WAN,WLAN etc)

Page 71: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it71

Lezione 4 IT Administrator - Sicurezza informatica

Il backup/restore locale e in reteDotarsi di un sistema di memoria di massa RAID di tipo

idoneo assicura di non poter mai perdere dati? Purtroppono. L’architettura RAID (escluso RAID 0, con puro striping,che è finalizzato soltanto all’aumento di prestazioni) forni-sce garanzie contro le perdite di dati dovute a guasto fisi-co di un certo numero prestabilito di unità disco.

Nulla può, però, contro la cancellazione o l’alterazione didati dovuta a un malfunzionamento software, sia esso sca-tenato da un bug dell’applicazione o del sistema operativo,oppure da un virus, da un malware o da altre minacce ana-loghe. Ironicamente, anche se nello schema RAID i dischifossero fisicamente raddoppiati o triplicati, in caso di at-tacco da parte di un virus che (per esempio) formatta il di-sco fisso, tutto quello che RAID ci garantirebbe sarebbe sol-tanto di replicare esattamente tale formattazione su tutte lecopie del disco!

È dunque necessario prendere contromisure anche perresistere all’alterazione dei dati dovuta a cause software eper assicurarsi la possibilità di regredire tale danno, alme-no entro un certo lasso di tempo. In questo caso, l’imme-diatezza o la simultaneità della copia dei dati che viene ef-fettuata dagli schemi RAID è l’esatto contrario di ciò che oc-corre. Serve in realtà una copia dei dati “fredda, ma nontroppo”: fredda, per tenerla fuori pericolo rispetto a mal-funzionamenti software che potrebbero danneggiarla irre-parabilmente “online” come la copia “calda”, rendendoladel tutto inutile ai fini di un eventuale ripristino; ma nontroppo fredda, perché una copia molto vecchia non dà con-to di troppe modifiche (legittime e intenzionali) intervenu-te sui dati prima del verificarsi dell’errore software o delloscatenarsi del virus. Sarebbe ovviamente desiderabile cheun recupero dei dati riuscisse a ricostruire tali informazio-ni dalla copia fredda. Tuttavia è importante rendersi contodel fatto che una ricostruzione di tutte le modifiche inter-venute sui dati, fino all’ultima modifica, quella “dannosa”(esclusa quest’ultima, ovviamente), non può avvenire sol-tanto con copie fredde periodiche dei dati. Occorre affian-carle, per esempio, con un log cronologico e non cancella-bile delle transazioni avvenute in seguito. Mediante tale ab-binata, si potrebbe ripartire dallo stato integrale salvatonell’ultima copia fredda e da lì proseguire, rieseguendo insequenza le transazioni memorizzate sul log fino alla pe-nultima transazione, compresa.

Tale schema logico può essere attuato usando l’ultimobackup integrale più l’ultimo backup differenziale, oppurel’ultimo backup integrale più tutti i backup incrementalisuccessivi ad esso.

Anche i file system con journaling (come NTFS nel mon-do Windows, oppure Ext3, ReiserFS, XFS e JFS nel caso di Li-nux) mantengono una storia delle modifiche elementari in-tervenute sulla struttura del file system stesso, ma con unoscopo differente: assicurare la transazionalità delle opera-zioni, che a livello logico-applicativo devono avvenire inmodo atomico (creazione di una directory, creazione di unfile, aumento delle dimensioni di un file, cancellazione), mache a basso livello si traducono in realtà in una sequenzadi passi elementari. Tali operazioni, sviluppandosi in modotransazionale, lasciano il disco in uno stato consistente op-pure, in caso di prematura interruzione del funzionamento,in uno stato inconsistente dal quale però ci si possa auto-maticamente riportare in uno stato consistente utilizzandoil log delle operazioni elementari effettuate (il journal, ap-punto). Per dirla con terminologia database, l’ultima tran-sazione, avvenuta sul file system in modo incompleto, su-birà un rollback.

La tecnica assicura che per il ripristino di uno stato per-fettamente consistente del file system bastino pochi se-condi, senza bisogno di effettuare ogni volta una scansioneintegrale del disco, “a forza bruta”, alla ricerca di possibili

errori. La disponibilità di tool di scansione resta comunquenecessaria per il recupero di situazioni in cui il deteriora-mento delle strutture su disco e dello stesso journal sianotali da rendere impossibile il recupero transazionale auto-matico.

Per approfondimenti sui journaling file systems (conparticolare riferimento a Linux) si veda ad esempiohttp://www.linux-mag.com/2002-10/jfs_01.html. Per NTFS siveda ad esempio http://www.microsoft.com/win-dows2000/community/centers/fileervices/fileervices_faq.mspx.

I backupLe “copie fredde, ma non troppo” a cui abbiamo poc’an-

zi accennato vanno tecnicamente sotto il nome di “copie diback-up” o “backup” tout court.

Nonostante si tratti “semplicemente” di copie dei filepresenti sul disco, esistono almeno tre strategie fonda-mentali per effettuarle, che differiscono per il criterio di se-lezione dei file da salvare: tutti o solo quelli recentementemodificati, con due sfumature di significato per “recente-mente”. (v. tabella Tipi di backup).

Oltre ai tipi di backup, che avvengono in modo puntua-le a scadenze regolari secondo un piano di backup apposi-tamente stabilito dall’amministratore di sistema, esiste unadiversa politica di backup secondo la quale la copia di si-curezza dei file avviene continuativamente durante il fun-zionamento dei sistemi. Il vantaggio consiste nel fatto chei sistemi non devono essere fermati durante il backup, inol-tre non vi è mai uno specifico momento del giorno in cui ilsistema è fortemente rallentato perché sta eseguendo ilbackup. Vi è invece un costante, ma minimo rallentamentodovuto all’attività di backup che procede regolarmente inbackground. Questo tipo di backup “continuo” è detto “on-line backup”, in contrapposizione con i backup effettuati inmodo “puntuale” che sono spesso chiamati “offlinebackup”.

Attenzione all’ambiguità dell’espressione “onlinebackup” che può anche essere usata per riferirsi a unbackup effettuato su un server di rete, magari addiritturasu un sito Internet, anziché su unità disco locali. Il vantag-gio del backup eseguito in tal modo consiste nel fatto chei dati possono risultare accessibili da molti punti diversi enon solo dall’interno dei locali dell’organizzazione. Si trat-ta quindi di una procedura utile per chi è spesso fuori se-de, ma pone anche seri problemi di riservatezza dei datisalvati: non soltanto il provider dello spazio su disco onli-ne usato per il backup deve garantire la privacy dei dati sal-vati sul suo sito, ma il controllo degli accessi dev’essereadeguato, per evitare che attacchi da Internet permettanoa chiunque di entrare in possesso dei dati salvati sul discoonline. In generale è bene usare cautela nell’impiego di ser-vizi di backup online e in particolare evitare i servizi gra-tuiti o a basso costo che non possono offrire il livello di pro-tezione necessario. Esistono provider che eseguono la ci-fratura integrale delle informazioni e che, di conseguenza,richiedono costi maggiori, ma pienamente giustificati.

Se il backup avviene con regolarità, a certe ore del gior-no (più spesso, della notte), su dischi condivisi in rete sul-la LAN aziendale, è possibile ed opportuno studiare l’entitàdei flussi di dati e tenerne sotto controllo l’evoluzione neltempo, anche per intervenire con opportune azioni primache si produca la saturazione della rete durante l’esecu-zione dei backup.

Le valutazioni per il dimensionamento della rete, per ladefinizione della concentrazione o distribuzione delle sta-zioni di backup, per la scelta della periodicità e del tipo dibackup da effettuare e per stabilire gli orari esatti ai qualifar scattare i backup delle varie macchine devono basarsisu quattro fattori.1) una stima della quantità di dati da trasferire, 2) una misura della banda mediamente disponibile sulla

5.4.3.1 Essere ingrado di definire edutilizzare efficaciprocedure di backup(locali e di rete)

5.4.3.2 Saperverificare il buonesito di un processodi backup. Conoscerele procedure per ilripristino

Page 72: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it72

ITAdministrator - Sicurezza informatica Lezione 4

LAN aziendale nella fascia oraria in cui si prevede di farscattare il backup,

3) il numero di macchine da sottoporre a backup, 4) la topologia della rete che interconnette le macchine e le

stazioni di backup.Se il servizio di backup per tutte le macchine è fornito da

un’unica stazione di memorizzazione connessa alla reteaziendale, il collo di bottiglia diventa immediatamente laconnessione di rete di tale sistema. Al crescere del nume-ro di macchine da sottoporre a backup e delle dimensionidel disco di ognuna di esse, anche adottando le politichepiù prudenti, si arriverà presto alla saturazione di tale col-legamento. Si dovrà allora pensare, ad esempio, a un up-grade dell’infrastruttura di rete, magari con una sua gerar-chizzazione, oppure all’installazione di più stazioni dibackup operanti in parallelo e attestate ognuna sul tron-cone di rete che ospita le macchine da servire, in modo ta-le da ripartire più efficacemente il traffico e il carico dibackup.

Le unità di backup possono essere basate su hard disk,nastri o dischi ottici. Queste tecnologie hanno caratteristi-che diverse sotto vari punti di vista (costo per GByte deisupporti, costo per GByte dei drive, throughput in lettu-ra/scrittura, tempo di accesso medio in modalità recupero,durata dei supporti, numero massimo di cicli dilettura/scrittura sopportabili).

La scelta di quale tecnologia impiegare deve farsi casoper caso, tenendo conto di cinque fattori.1) frequenza del backup. I dischi ottici riscrivibili hanno un

numero massimo di cicli lettura/scrittura sopportabili.2) velocità alla quale si prevede che affluiranno i dati. Il th-

roughput delle unità a nastro e hard disk è solitamentemaggiore di quello delle unità ottiche (specie in scrittu-ra).

3) stima della probabilità che si renda necessario un ripri-stino di dati: se queste operazioni sono molto frequenti,le unità a nastro, ad accesso sequenziale, non sarebbe-ro particolarmente indicate.

4) quantità totale di dati soggetti a backup. Se questa quan-tità è enorme, l’alta densità di memorizzazione e il bas-so costo per GByte delle unità a nastro possono essereideali.

5) lunghezza della “storia” di backup che si desidera man-tenere. Vedi punto precedente.

Effettuare backup e restore in ambienteWindows XP

Con riferimento a Windows XP e alla utility di backupche Microsoft fornisce insieme al sistema operativo, ve-diamo ora come si procede per effettuare un backup. Inquesto caso particolare effettueremo un backup integraledi una specifica cartella del PC locale (My Documents), sal-vando i dati in una cartella creata appositamente su un di-sco di rete.

1 - welcome to backup wizard.bmpAnzitutto lanciamo l’applicazione Backup con Start/Tutti iprogrammi/Accessori/Utilità di sistema/Backup. Se è laprima volta che utilizziamo il programma e non abbiamomai alterato le sue impostazioni predefinite, si presenteràquesta schermata. Consigliamo di fare clic su Modalitàavanzata per avere pieno controllo sulle numerose opzionidisponibili.

2 - Dopo aver selezionato Modalità avanzata, appare laschermata principale del programma. Consigliamo, almenola prima volta, di seguire la procedura guidata (Wizard)facendo clic sul primo dei tre pulsanti.

3 - Ci troviamo così nuovamente alla schermata di avviodel Wizard, ma questa volta è preimpostata la Modalità

Rappresentazioneschematica del volume didati trattato nel tempocon i tre tipi fondamentalidi backup. Con il backupintegrale i backup sethanno tutti dimensionielevate. I backupincrementali hannodimensioni dipendentidalle modificheintervenute sul filesystem dall’ultimobackup incrementale. I backup differenzialihanno generalmentedimensioni crescenti inquanto accumulano lemodifiche intervenute sulfile system dall’ultimobackup integrale; ledimensioni del backupset tornano modestesubito dopo che vieneeseguito un nuovobackup integrale

1 - Backupintegrale

2 - Backupincrementale

3 - Backupdifferenziale

Disco dati backup Tipo backup: incrementale - Che cosa viene salvato: tutti ifile creati o modificati dopo il più recente fra l’ultimo backupintegrale e l’ultimo backup incrementale - Come avviene ilrecupero: si prendono in considerazione l’ultimo backupintegrale e tutti i backup incrementali effettuati da allora inpoi - Vantaggi: il backup può essere eseguitofrequentemente in quanto richiede poco tempo e pocospazio su disco (v. figura). Si riduce così la “finestra” dilavoro fatto non protetta da backup - Svantaggi: il recuperodei dati richiede un tempo non breve, in quanto occorreprendere in considerazione l’ultimo backup integrale e tutti isuccessivi backup incrementali

Tipo backup: differenziale - Che cosa viene salvato: tutti ifile creati o modificati dopo l’ultimo backup integrale -Come avviene il recupero: Si prendono in considerazionel’ultimo backup integrale e solo l’ultimo dei backupdifferenziali effettuati dopo di esso - Vantaggi: il recuperodei dati è più veloce che con il backup incrementale -Svantaggi: Il recupero dei dati è leggermente più lento checon il backup solo integrale. La dimensione del backup differenziale non è mai inferiorea quella di un backup incrementale fatto nelle stessecondizioni e continua a crescere (v. figura) fino al prossimobackup integrale.

Tipo backup: integrale - Che cosa viene salvato: l’interocontenuto delle aree di file system per le quali è statoimpostato il backup - Come avviene il recupero: si prendein considerazione l’ultimo backup integrale - Vantaggi: Ilrecupero dei dati è facilitato in quanto il backup setcontiene un’immagine del file system completa di tutti i file- Svantaggi: l’esecuzione del backup è molto lenta erichiede una grande quantità di spazio (v. figura), perciò nonpuò essere eseguita troppo frequentemente. Non convieneusare questo schema di backup da solo, ma abbinarlo auno dei due successivi.

TIPI BACKUP

1

Page 73: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it73

Lezione 4 IT Administrator - Sicurezza informatica

avanzata. Premiamo Avanti per accedere alle primeopzioni.

4 - La prima scelta da compiere riguarda l’areamacroscopica interessata dal backup. È possibile salvaretutti i dati e impostazioni memorizzati sul computer, oppureun sottoinsieme specificato, oppure ancora le soleimpostazioni di sistema. Per il nostro esempio scegliamodi salvare un sottoinsieme dei file del disco (secondaopzione).

5 - Avendo deciso di salvare solo alcuni dei file su disco,nella fase successiva ci viene richiesto di scegliere quali.Nel nostro esempio supponiamo di voler salvare la cartellaDocumenti, perciò contrassegnamo la casella nell’elencodi sinistra. Il segno di selezione qui appare in blu, asignificare che l’oggetto è integralmente selezionato. Adestra vediamo invece che accanto all’unità C è apparsoun segno di spunta verde (e non blu), perché la cartellaDocumenti rappresenta solo un sottoinsieme del disco C:,

che risulta quindi solo parzialmente interessatodall’operazione

6 - Il passo successivo consiste nella scelta dell’unità distorage destinataria del backup. Se l’elenco a discesa diopzioni offerte non contiene quella desiderata, è possibileselezionare una destinazione diversa. Nel nostro casodesideriamo salvare i dati su un disco di rete noncompreso in elenco, quindi facciamo clic su Sfoglia... perselezionarlo.

7 - Nel dialog box che appare scegliamo l’unità disco direte ed eventualmente creiamo una cartella (Backup PC1)in cui depositare il backup. È inoltre necessario scegliereun nome per il backup, nella casella Nome file in basso.Scegliamo il nome “backup PC1” e facciamo clic suSalva.

2

3

4

5

6

7

Page 74: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it74

ITAdministrator - Sicurezza informatica Lezione 4

8 - Una volta selezionata l’unità disco e cartella didestinazione ed il nome del backup, veniamo riportati nellaschermata del wizard. Premiamo Avanti per passare allafase finale.

9 - Nella videata conclusiva vediamo un riepilogo delleimpostazioni di base relative al job di backup di imminenteattivazione. È tuttavia presente un pulsante “Avanzate” chedà accesso a ulteriori impostazioni per un controllo fine sutempi e modi dell’operazione. Premiamolo.

10 - La prima opzione riguarda il tipo di backup.Incrementale e Differenziale corrispondono alle tipologiediscusse nella Tabella Tipi di backup. “Normale”corrisponde a un backup integrale, in quanto salva i file e limarca tutti come archiviati. “Copia” salva i file, ma non limarca come archiviati. “Giornaliero” è una sorta di backupincrementale che salva i file creati o modificati in data

odierna, indipendentemente dal fatto che fossero già statisalvati da un precedente backup; inoltre, i file creati omodificati prima di oggi, ma dopo l’ultimo backupeffettuato resterebbero non salvati. Se si decide diutilizzare l’opzione Giornaliero, consigliamo di farlo soloquotidianamente e solo se si è ben certi dell’effetto che sista ottenendo.Per il nostro esempio selezioniamo “Normale”.

11 - Questa schermata consente di richiedere la verificadei dati scritti (vivamente raccomandato), di selezionare lacompressione hardware dei dati, ove disponibile, e diattivare o disattivare la modalità “copia replicata delvolume” che effettua comunque il backup dei file anche sesono aperti in scrittura da qualche processo.

12 - La schermata successiva consente di scegliere seaggiungere backup a quelli già esistenti nella cartella didestinazione oppure se rimpiazzare i backup vecchi conquelli nuovi. In questo secondo caso, date le implicazionidi sicurezza, è offerta un’ulteriore opzione per restringerel’accesso al solo proprietario o amministratore delsistema.

13 - Vi è poi una schermata che consente di scegliere seeseguire il backup subito o in un secondo tempo. Se sidesidera differirlo è sufficiente selezionare “In seguito” epremere “Imposta pianificazione”: apparirà una finestracon le necessarie regolazioni.

14 - Nella scheda “Pianificazione processo” è possibilescegliere tra varie possibili periodicità per l’esecuzione delbackup appena definito. Oltre alla periodicità è possibileselezionare l’orario di avvio. Premendo il pulsante“Avanzate” si ha accesso a ulteriori opzioni diprogrammazione.

8

9

10

11

12

Page 75: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it75

Lezione 4 IT Administrator - Sicurezza informatica

15 - Da questa finestra è possibile determinare il periododi tempo durante il quale deve considerarsi valida laprogrammazione espressa nella schermata precedente(per esempio: il backup giornaliero dovrà essere eseguitosolo per i prossimi 15 giorni). È anche possibile impostare una ripetizione continua deltask con una certa periodicità, o per un certo tempo, oancora fino a un certo momento.

16 - La scheda Pianificazione processo permette adesempio d’interrompere i backup la cui esecuzione stiaprendendo troppo tempo, o di farli eseguire solo se equando il computer è “scarico” di lavoro da un certotempo, di escludere le operazioni di backup quando il PCsta funzionando a batterie (per non rischiare di restare “asecco” a metà backup, compromettendone l’integrità erendendolo di fatto inutile).

17 - Una volta completate le impostazioni, il Wizardpresenta una schermata conclusiva con il riepilogo delleopzioni impostate. Controlliamole e premiamo Fine perprocedere (o Indietro, se desiderato, per correggerle).

18 - Così si presenta la schermata di monitoraggio dellostato di avanzamento del backup. La stima di tempomancante al completamento dell’operazione è importanteperché, nel caso di backup di rete, consente di studiare iltempo di impegno della LAN da parte di ogni PC soggetto abackup. In reti non troppo grandi, questo permetteall’amministratore di programmare l’ora di inizio e la duratadelle operazioni di backup dei singoli PC per evitare che,“accavallandosi”, esse causino congestione nella rete esovraccarico sul file server destinatario dei backup.

19 - Al termine dell’operazione viene generato un log informa testuale che può essere visualizzato in Blocco note

13

14

15

16

17

18

Page 76: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it76

ITAdministrator - Sicurezza informatica Lezione 4

premendo l’apposito pulsante. Nella figura vediamo comesi presenta il log generato dal nostro esempio di backupintegrale.

20 - L’operazione di ripristino (restore) è nettamente piùsemplice di quella di backup. Una volta lanciato lostrumento in Modalità avanzata e selezionata la scheda“Ripristino”, appare un’interfaccia per la selezione di uno opiù file o cartelle da recuperare. È sufficientecontrassegnare una cartella nell’albero di sinistra (oppureun file nell’elenco di destra) e scegliere la destinazionedall’elenco a discesa in basso: i file possono essereripristinati nelle posizioni originali (sovrascrivendo eventualimodifiche successive) oppure in una posizione differente,che andrà eventualmente specificata. L’opzione “Singolacartella” consente infine di ripristinare tutti i file selezionatiin una singola directory “piatta” specificata, perdendoquindi la strutturazione in cartelle del backup originario.Una volta fissate le opzioni si preme “Avvia ripristino” peravviare il processo. Da notare che l’interfaccia di controlloper il restore può essere usata (senza lanciare il restorevero e proprio) anche solo per controllare quali file sonostati effettivamente archiviati nel file di archivio.

21 - Così si presenta la quarta e ultima schedadell’interfaccia avanzata dello strumento dibackup/ripristino di Windows XP. Si tratta di un vero eproprio calendario per la pianificazione dei backup. Perprogrammare che un backup avvenga a una certa data èsufficiente selezionarla sul calendario e premere Aggiungiprocesso. Verrà così lanciato il wizard che benconosciamo, con le date preimpostate secondo laselezione appena effettuata. Le altre opzioni dovrannoessere impostate nel modo consueto. Alla fine si ritorneràa questa schermata, con un’icona nella casella della datainteressata dal job di backup appena programmato.

Effettuare backup e restore in ambiente LinuxAnche per il backup in ambiente Linux non mancano le

utility con interfaccia grafica “amichevole”, è bene abi-tuarsi ad usare gli strumenti che esistono sicuramente intutte le installazioni: il comando di archiviazione tar, le uti-lity di compressione/decompressione compress/uncom-press, gzip/gunzip, zip/unzip e il meccanismo di tempo-rizzazione-programmazione cron/crontab.

Il comando tar deve il suo nome all’acronimo “Tape AR-chive”: un nome risalente all’epoca in cui il backup, dato ilcosto proibitivo dei dischi di alta capacità, si faceva sempresu nastro. Si può pensare a questo comando come a un PK-ZIP privo d’interfaccia grafica. Come ZIP, tar è in grado dileggere un albero di cartelle e file e di salvarli in un unicofile archivio (normalmente con suffisso .tar e perciò detto“tar file”, in modo analogo al fatto che un file .ZIP è chia-mato “zip archive”), ricordando anche la struttura dell’al-bero. Il file archivio può venire salvato su un file system ba-sato su hard disk oppure, per esempio, su unità a nastro.Per esempio, nel caso del disco fisso:tar cvf mioarchivio.tar /usr/marco/cartella-da-archiviare/*

Il comando sopra crea il file mioarchivio.tar nella direc-tory corrente. Il file contiene un salvataggio completo del-l’albero di file system sotteso alla directory specificata co-me ultimo parametro. A tal fine la directory viene visitataricorsivamente e in modo esaustivo dal comando tar.

Il parametro cvf sta a indicare che il tar file deve essereCreato (“c”) con il Filename (“f”) specificato come para-metro immediatamente successivo e che durante il pro-cesso dovrà essere emesso un output diagnostico Verboso(“v”) che riferisca sulle operazioni in corso, sui file inte-ressati dall’archiviazione e sulla loro dimensione man ma-no che vengono inseriti nel tar file.

È possibile (e caldamente raccomandabile, allo scopo diverificare che l’archivio sia stato creato correttamente) ri-chiedere al comando tar di mostrare l’elenco integrale delcontenuto di un determinato tar-file, senza tuttavia estrar-re i file che vi sono contenuti: per esempio:tar tvf mioarchivio.tar

In questo caso la lettera “t” sta per “Table of contents”:ciò che si chiede è infatti di stampare il “sommario” del-l’archivio. L’elenco dei file viene stampato su “stdout” e nel-la probabile ipotesi che sia troppo lungo sarà bene man-dare l’output di tar in pipe a more: ciò consentirà la lettu-ra pagina per pagina (“spazio” per avanzare, “q” per inter-rompere).tar tvf mioarchivio.tar | more

Lo stesso comando tar usato per creare l’archivio svol-ge anche la funzione inversa, ossia a partire dal file archi-vio è in grado di ricostruire l’albero di file e cartelle origi-nario integralmente o parzialmente, o anche di estrarre sin-goli file specificati. tar xvf mioarchivio.tar

19

20

21

Page 77: IT Administrator Sicurezza informatica - CORE · di Giorgio Gobbi Introduzione alla sicurezza delle informazioni Diventate esperti di ... un altro utente o a un estraneo di accedere

PC Open www.pcopen.it77

Lezione 4 IT Administrator - Sicurezza informatica

Questa volta tar effettuerà un’operazione di eXtract(“x”) di tutto il contenuto del tar-File (“f”) specificato, sem-pre generando un diagnostico Verboso (“v”). L’albero di fi-le verrà ricreato sotto la directory corrente.

Se avessimo voluto estrarre solo un particolare file sa-rebbe stato sufficiente specificarne il nome come secondoparametro:tar xvf mioarchivio.tar soloquestofile.txt

Il comando tar esegue la compressione dei file con l'u-nico limite di non farlo se si scrive su una device, in tal ca-so è necessario concatenare - in pipe- il comando gzip.

Versioni recenti di tar supportano in forma nativa l’inte-grazione con gzip/gunzip. Per richiedere che il tar-file ven-ga compresso/espanso “al volo” durante l’operazione dicreazione/estrazione si aggiunge allora il qualificatore z:tar cvzf mioarchivio.tgz /usr/marco/cartella-da-archiviare/*per archiviare con compressione, etar xvzf mioarchivio.tgzper estrarre con espansione.

È molto frequente anche il caso di backup effettuati suunità a nastro (note anche come streamers). In tal caso lasintassi del comando resta invariata per quanto riguarda leopzioni fondamentali. L'unica differenza riguarda l'indica-zione dell'unità destinataria del backup (un device) cheprende il posto del nome del tarfile da creare o da leggere.Normalmente la prima unità a nastro installata sul sistemaè rappresentata dal file speciale /dev/st0 (di cui di solitoesiste un alias: /dev/tape). Quindi, per esempio, per ese-guire su questa unità a nastro il backup di cui all'esempioprecedente, senza compressione dati, si userà questo co-mando:tar cvf /dev/st0 /usr/marco/cartella-da-archiviare/*

Quanto visto finora consente di effettuare in modo inte-rattivo un backup o un restore dei propri file. Più interes-sante è però organizzare le cose in modo tale che il backupvenga effettuato in forma automatica dal sistema, magarinelle ore notturne. Per farlo si combina la capacità di tar diarchiviare dati (e quella di gzip di comprimerli) con il mec-canismo cron per l’esecuzione programmata di task.

Tecnicamente cron non è un comando, bensì un demo-ne. In Unix (e quindi in Linux) un demone è un processo disistema che gira in background per espletare qualche ser-vizio, spesso in base a file di configurazione. Nel caso di

cron, il servizio consiste nell’esecuzione temporizzata dicomandi di shell. Il relativo file di configurazione è crontab.crontab contiene righe di testo composte da campi sepa-rati da spazi:minute hour day-of-month month-of-year day-of-weekcommand

La tabella A qui sotto riporta la sintassi accettata perognuno di questi campi.

Per i campi che ammettono valori numerici è inoltre pos-sibile specificare:

1) intervalli, per esempio 5-15 (da 5 a 15, estremi inclusi)

2) intervalli multipli, per esempio 5-15,25-45 (da 5 a 15 e da25 a 45 estremi inclusi)

3) un asterisco (*), per indicare “per tutti i valori dell’in-tervallo ammissibile”

4) (in combinazione con intervalli o con asterisco) unostep, espresso come slash (/) seguito dal valore d’incre-mento. Per esempio: 0-10/2 significa 0,2,4,6,8,10. Per igiorni della settimana, 1-7/2 significa lunedì, mercoledì,venerdì, domenica.Ed ecco alcuni esempi riassuntivi per i valori dei primi

5 campi delle righe di crontab (tabella B).Per automatizzare l’esecuzione del backup della direc-

tory /usr/marco/dati tutti i giorni a mezzanotte e mezza,con creazione del tar-file /tmp/backup.tar, si crei anzituttoun file (per esempio: job.txt) contenente la seguente riga ditesto:0 1 * * 1-7 tar cvf /tmp/backup.tar /usr/marco/dati/*

Fatto ciò, per installare questo job negli “appuntamenti”serviti da crontab, si esegua il comando crontab job.txt

Per verificare che il job sia stato correttamente preso incarico si usa il comando crontab -l (“l” come “list”), che vi-sualizza il quadro della situazione attuale dei job. Per sop-primere l’attuale crontab si usa invece crontab –r (“r” co-me “remove”). Il file crontab non dovrebbe essere mai mo-dificato direttamente (eventualmente è disponibile il co-mando crontab –e) ma a titolo di informazione precisiamoche esso viene salvato dal sistema sotto /var/spool/cron/<username> �

Tabella A - sintassi accettata per ognuno i campi

Campo Intervalli di valori ammissibili o sintassiminute 0-59 hour 0-23 day-of-month 1-31 month-of-year 1-12 oppure prime tre lettere del nome inglese del mese (case insensitive)day-of-week 0-7 oppure prime tre lettere del nome inglese del giorno della settimana.

I valori 0 e 7 rappresentano entrambi la domenicacommand riga di comando sintatticamente accettabile per la shell. Qualora sia necessario specificare

una successione di comandi, questi andranno separati con punto e virgola. Sono ammessi costrutti con uso di pipe (“|”)

Tabella B - esempi per i valori dei primi 5 campi delle righe di crontab

10 0 * * * ogni giorno, a mezzanotte e 10 minuti30 15 2 * * alle 15:30 il secondo giorno di ogni mese0 21 * * 1-5 alle ore 21, dal lunedì al venerdì15 0-23/2 * * * un quarto d’ora dopo le ore pari (alle 0:15, 2:15, 4:15,...) ogni giorno30 12 * * sun alle 12:30 della domenica.