• Non ci sono risultati.

La sicurezza nei sistemi informatici Esigenza della sicurezza

N/A
N/A
Protected

Academic year: 2022

Condividi "La sicurezza nei sistemi informatici Esigenza della sicurezza"

Copied!
7
0
0

Testo completo

(1)

La sicurezza nei sistemi informatici

Esigenza della sicurezza

• Nasce dalla evoluzione dei Sistemi Informatici e del contesto nel quale operano

– Maggiore importanza nei processi aziendali

• Dalla produzione alla gestione, dal marketing alla pianificazione, al supporto alle decisioni.

– Maggiore esposizione ad eventi indesiderati

• Maggiore interconnessione (reti locali, InterNet)

• Maggiore complessità (architetture distribuite)

Sicurezza

• L’insieme delle misure (di carattere organizzativo e tecnologico) tese ad assicurare a ciascun utente autorizzato (e a nessun altro) tutti e soli i servizi previsti per quell’utente, nei tempi e nelle modalità previste.

• Più formalmente, l’insieme delle misure atte a proteggerei requisiti che si desidera il sistema soddisfi, in termini di

– disponibilità – integrità – riservatezza

Requisiti per la sicurezza

•Il sistema deve impedire la alterazione diretta o indiretta delle informazioni, sia da parte di utenti e processi non autorizzati, che a seguito di eventi accidentali.

•Il sistema deve impedire la alterazione diretta o indiretta delle informazioni, sia da parte di utenti e processi non autorizzati, che a seguito di eventi accidentali.

•Nessun utente deve poter ottenere o dedurre dal sistema informazioni che non è autorizzato a conoscere.

Politiche di siscurezza

• Occorre partire dal presupposto che, a dispetto delle misure attuate,

un evento indesiderato possa comunque violare i requisiti di disponibilità, integrità e riservatezza, attraverso meccanismi che non avevamo previsto.

• Proteggere i requisiti di sicurezza di un sistema significa, in termini realistici,

– Ridurre ad un valore accettabile la probabilità che vengano violati.

– Individuare tempestivamente quando ed in quale parte del sistema questo accade.

– Limitare i danni e ripristinare i requisiti violati nel minor tempo possibile.

Il rischio legato ad un evento

• Esprime:

– la probabilità che un certo evento accada – il danno direttamente e indirettamente

arrecato quando accade

• Si vuole:

– ridurre la probabilità che gli eventi indesiderati accadano.

– limitare il danno che arrecano al sistema

nel caso in cui accadano.

(2)

Analisi del Sistema Informatico

– Risorse fisiche

• Il sistema visto come insieme di dispositivi che vanno protette da furti e danni materiali.

– Risorse logiche

• Il sistema come insieme di informazioni, flussi e processi.

Vanno classificate in base al loro valore per l’organizzazione, al contesto in cui si opera, al grado di riservatezza

– Analisi delle dipendenze fra risorse

• Per ciascuna risorsa del sistema, fisica o logica, occorre individuare di quali altre risorse ha bisogno per funzionare correttamente.

• Questa analisi tende ad evidenziare, almeno in prima battuta, le risorse potenzialmente critiche del sistema, cioè quelle da cui dipende il funzionamento di un numero rilevante di altre risorse

Classificazione utenti

• Un presupposto essenziale per la sicurezza di un sistema, è che gli utenti possano controllarlo ed accedere alle informazioni esclusivamente attraverso i servizi da lui stesso messi a disposizione.

• È quindi fondamentale individuare con precisione tutti i servizi offerti dal sistema informatico, al fine di verificare poi, in maniera sistematica, che ogni servizio risponda pienamente a tutte e sole le specifiche di progetto (e non presenti, ad esempio, pericolosi side-effects).

Classificazione utenti

• La assegnazione di una classe di appartenenza a ciascun utente permette poi di raggruppare gli utenti di una medesima classe e definire per loro vincoli comuniai fini della sicurezza.

• Gli utenti possono essere classificato a partire dal ruoloche rivestono all’interno della organizzazione.

Tale ruolo delinea infatti, in genere, anche i servizi e le informazioni alle quali hanno diritto di accedere.

• Occorre definire esplicitamente a quali servizi ed informazioni può accedere ciascuna tipologia di utente, e con quali modalità

• La definizione dei diritti di accesso permette al sistema di valutare se l’accesso di un certo utente ad un certo servizio sia autorizzabile o meno

Diritti di accesso: esempio di matrice utenti/servizi)

Classi di utente

Servizi

CU 3

S 4

Condizioni alle quali un utente appartenente alla classe CU3 può accedere al servizio S4.

•Per ogni coppia

•(Classe di utente CU, Servizio S),

•si definiscono le condizioni che regolano se, come e quando un utente appartenente alla classe CU può accedere al servizo S.

Eventi indesiderati

• Un qualsiasi accesso (a servizio o informazione) che non sia esplicitamente permessodalla rispettiva matrice dei diritti.

• L’insieme degli eventi indesiderati, tuttavia, è più estesoin quanto comprende eventi che non sono affatto degli accessi, dal guasto di un disco all’attacco di un virus.

• Occorre condurre una indagine sistematica al fine di individuare il maggior numero possibile di eventi indesiderati.

• A tal fine è possibile in generale distinguere – Attacchi intenzionali

Attacchi

• Classifichiamo gli attacchi intenzionali in funzione di

• la risorsa, fisica o logica, oggetto dell’attacco

• la tecnica utilizzata per condurre l’attacco.

• E’ naturale pensare che una risorsa puo’ essere attaccata con un piu’ tecniche

contmporaneamente ed un sistema sara’

attaccato su piu’ risorse contemporaneamente

• Le tecniche di attacco possono essere classificate

in funzione del livello al quale operano (logico o

fisico)

(3)

Tecniche di attacco

• Gli attacchi a livello fisico sono

principalmente tesi a sottrarre o danneggiare risorse critiche.

– Furto. Prevedibile per nastri di backup, dischi o interi server. È un attacco alla disponibilità ed alla riservatezza.

– Danneggiamento. Prevedibile per

apparecchiature e cavi di rete, più difficilmente per calcolatori, dischi ed apparecchiature di supporto come trasformatori di corrente ed impianti di condizionamento. È un attacco alla disponibilità ed alla integrità.

Tecniche di attacco

• Gli attacchi a livello logico sono principalmente tesi a sottrarre informazione o degradare la operatività del sistema.

• Dal punto di vista dei risultati che è indirizzato a conseguire, un attacco logico può essere classificato come di

– Intercettazione e deduzione (attacco alla riservatezza).

– Intrusione (attacco alla integrità ed alla riservatezza).

– Disturbo (attacco alla disponibilità).

Tecniche di intercettazione

– Possono richiedere un attacco preventivo

• a livello fisico per installare dispositivi pirata o per agganciarsialla rete.

• di intrusione (livello logico), per installare software di supporto alla intercettazione.

– Possono basarsi su

• Analizzatori di traffico (su LAN e WAN)

• Applicazioni di analisi del traffico (sniffing)

• Server pirata che si spacciano come router (spoofing)

• Programmi che emulano servizi del sistema (tipicamente il login)

Tecniche di deduzione

• Gli attacchi basati su queste tecniche sono condotti incrociando informazioni tratte dall’osservazione del sistema con informazioni ottenute per altre vie.

• Alcuni esempi sono gli attacchi condotti – confrontando informazioni presenti nel sistema,

individualmente configurate come poco riservate.

– a partire dal fatto stesso che un certo servizio o una certa informazione sia negata dal sistema.

– a partire dal monitoraggio dei volumi di traffico nella comunicazione fra componenti del sistema.

Tecniche di intrusione

• Accesso con password di altro utente, ottenuta – con un preventivo attacco di intercettazione.

– sfruttando il fatto che quell’utente abbia disatteso qualche norma comportamentale imposta dalla politica di sicurezza.

– per tentativi, utilizzando programmi appositamente progettati per generare combinazioni di caratteri ed utilizzarle come password per tentare l’accesso al sistema

• Sfruttamento di debolezze nei protocolli di rete e nel software di rete.

– Su reti TCP/IP, ad esempio, si possono generare in modo raw pacchetti IP falsificati, nei quali l’indirizzo del mittente è alterato, per far credere al destinatario che i pacchetti provengano da un’altro calcolatore. Questa tenica è detta IP- spoofing.

Tecniche di intrusione

• Installazione di una backdoor.

Una volta ottenuti in qualche modo (anche temporaneamente) i diritti di amministratore, è possibile installare nel sistema un meccanismo che permetta anche in seguito di mantenere un accesso privilegiato.

Si tratta di un attacco insidioso in quanto la backdoor, finchè non viene individuata e rimossa, continua a garantire l’accesso all’intrusore anche se il primo accesso illegale viene scoperto e la password di amministratore viene cambiata

.

(4)

Tecniche di disturbo

• Gli attacchi che fanno uso di queste tecniche non sono tesi ad accedere a servizi ed informazioni, ma semplicemente a degradare

la operatività

del sistema.

• Alcune tecniche di disturbo spesso utilizzate sono

– Virus – Worms – Denial of service

Virus

• I virus sono programmi auto-replicanti, spesso inseriti nel sistema come cavalli di troia, generalmente pericolosi per la integrità del file- system e per la disponibilità dei servizi.

• Sono molto diffusi sui Sistemi Operativi mono-utente, decisamente meno frequenti su quelli multi-utente

• I virus sono principalmente caratterizzati da

• logica del payload (cioè dal modo in cui arrecano danno al sistema. Il payload è la parte del codice virale che arreca direttamente il danno.)

• modalità di infezione (cioè dal modo in cui si inseriscono e si duplicano nel sistema)

• modalità di mimetizzazione (cioè dal modo in cui si sottraggono alla identificazione da parte dei programmi anti- virus)

Worms

• I Worms sono virus particolari che si limitano a degradare le prestazioni del sistema, ad esempio lanciando molte immagini di uno stesso processo.

– Quando il rallentamento del sistema supera una certa soglia, alcuni servizi possono risultare di fattoinutilizzabili, ed in questo caso si ha una violazione dei requisiti di disponibilità.

– L’attacco con Worms è particolarmente subdolo su sistemi batch, nei quali è più probabile che il degrado delle prestazioni sia rilevato con un ritardo inaccettabile.

Denial of service

• Si tratta di una famiglia di tecniche tese a fare in modo che il sistema neghi l’accesso a servizi ed informazioni anche ad utenti regolarmente autorizzati.

• Gli attacchi che usano queste tecniche minacciano quindi i requisiti di disponibilità del sistema

Contromisure

• Individuare l’insieme degli eventi indesiderati e valutare il rischio ad essi associato.

• Conviene talvolta (nel caso in cui la probabilità

combinatasia significativa) valutare anche il rischio legato ad eventi composti, costituiti cioè da un insieme di eventi elementari che accadono in sequenza o in parallelo.

• Prevedere un insieme di contromisure per neutralizzarli, valutando il rapporto costo/efficacia di ciascuna contromisura, evitando in particolare quelle contromisure con un costo ingiustificato rispetto al rischio dal quale proteggono.

• Verificare che la tecnologia a protezione di un sistema informatico sia utilizzata nel modo corretto da personale pienamente consapevole della sua importanza

Integrazione contromisure

• Individuazione del sotto-insieme di costo minimo che al contempo rispetti alcuni vincoli essenziali:

– Completezza. Il sotto-insieme delle contromisure scelte deve comunque far fronte a tutti gli eventi indesiderati individuati per il sistema in esame.

– Omogeneità. Tali contromisure devono essere compatibili ed integrabili tra loro in modo da minimizzare il costo della loro attuazione congiunta.

– Ridondanza controllata. La ridondanza delle contromisure ha un costo e deve quindi essere rilevata e vagliata accuratamente. Può accadere, ad esempio, che più contromisure siano inutilmente ridondanti, che ad esempio neutralizzino un medesimo evento valutato a basso rischio. D’altra parte, è anche possibile che un evento ad alto rischio, che potrebbe e dovrebbe essere

(5)

Cifratura delle informazioni

• La tecnologia alla base dei meccanismi di sicurezza è quella degli algoritmi di crittografia e di hashing sicuro.

• Combinando opportunamente questi algoritmi è possibile realizzare servizi di più alto livello, come quelli di autenticazione e di riservatezza.

Algoritmi di crittografia

• Sono algoritmi matematici in grado di trasformare (cifrare) reversibilmente un insieme di dati, ad esempio un documento, in modo da renderlo inintellegibile.

• Gli algoritmi sono tali che

– la trasformazione avviene in funzione di una variabile detta chiave.

– le operazioni di cifratura e decifratura sono relativamente semplici nel caso in cui si conosca la chiave; in caso contrario risultano laboriose al punto da risultare praticamente inattuabili.

– risulta egualmente laborioso dedurre la chiave con cui è stato cifrato un documento confrontandolo con la sua versione in chiaro (cioè non cifrata).

• Gli algoritmi di crittografia possono essere classificati come – simmetrici, anche detti a chiave privata.

– asimmetrici, anche detti a chiave pubblica.

Algoritmi simmetrici

• Gli algoritmi simmetrici utilizzano la stessa (ed unica) chiave privata, per cifrare e decifrare.

Un algoritmo di questo tipo generalmente utilizzato al momento è il DES (Data Encription Standard), nelle sue versioni normale e triplo, con

chiavi a 56 e 112 bit.

– Il DES è un algoritmo non particolarmente costoso, in termini di tempo di calcolo, e ne esistono

implementazioni molto veloci anche su PC (circa 1Mb/sec su Pentium 60).

– Essendo un algoritmo simmetrico, richiede che il mittente di un documento cifrato comunichi in qualche modo al destinatario la chiave di cifratura.

Algoritmi simmetrici

Come tutti gli algoritmi simmetrici, DES, non si presta bene a garantire la riservatezza nella comunicazione continuativa fra n soggetti indipendenti.

– Occorre una chiave privata per ogni coppia di soggetti – Ogni soggetto è costretto a possedere n-1 chiavi, a mantenerle

segrete ed a ricordare quale sia la chiave da utilizzare per comunicare con ciascuno degli altri soggetti.

– Nel caso in cui la chiave sia generata autonomamente dal soggetto che avvia la comunicazione, è necessario che venga trasmessa al destinatario affinché questo possa decifrare i messaggi che riceve. E durante il trasferimento la chiave potrebbe essere intercettata.

Algoritmi asimmetrici

• Gli algoritmi asimmetrici sono di concezione recente (1976) ed utilizzano due chiavi distinte per cifrare e decifrare, con alcune proprietà fondamentali:

– un documento cifrato con una chiave può essere decifrato con l’altra e viceversa.

– le chiavi vengono generate in coppia da uno speciale algoritmo ed è di fatto impossibile ottenere una chiave a partire dall’altra.

– Una qualsiasi delle due chiavi viene detta pubblica, è può essere distribuita. L’altra, detta privata, deve essere mantenuta segreta.

Algoritmi asimmetrici

• L’algoritmo RSA, proposto da Rivest, Shamir e Adleman nel 1978, è attualmente considerato come standard per la crittografia a chiave pubblica.

– RSA basa la sua robustezza sulla complessità algoritmica della scomposizione in fattori primi, operazione per la quale non è attualmente noto un algoritmo efficiente.

– Esistono varie implementazioni di RSA, che variano in funzione della dimensione in bit delle chiavi, e quindi del grado di sicurezza offerto.

Chiavi di 512 bit sono un buon compromesso fra sicurezza e prestazioni.

(6)

Algoritmi asimmetrici

• Essendo asimmetrico, RSA risulta molto più versatile di DES, ed è alla base di tutti i servizi di sicurezza.

• Nella comunicazione fra n soggetti, ad esempio, RSA garantisce riservatezza con 2n chiavi, una coppia (pubblica,privata) per ciascun soggetto.

Se il soggetto A vuole inviare un messaggio riservato al soggetto B, ad esempio, cifra il messaggio con la chiave pubblica di B che, in quanto pubblica, è nota a tutti. In questo modo il messaggio sarà decifrabile soltanto con la chiave privata di B che, in quanto privata, solo B conosce.

A B

Algoritmi asimmetrici

• A causa della complessità algoritmica, le

implementazioni di RSA sono generalmente troppo lente per cifrare direttamente i documenti

– Per questo motivo RSA si utilizza spesso in congiunzione con DES e con algoritmi di message digest come lo SHA.

– Per inviare un documento di grandi dimensioni in modo riservato, ad esempio, si genera una password casuale, si cifra il documento con DES utilizzando la password casuale, poi si cifra la password stessa (112 bit al massimo) con RSA, ed infine si invia il tutto (documento e password entrambe cifrati) al destinatario.

Algoritmi di hashing sicuro

• Questi algoritmi permettono di creare, a partire da un documento D, una sequenza di bit, detta digest, strettamente correlata a D e di lunghezza fissa (cioè indipendente dalla dimensione di D).

• Un algoritmo di questo tipo generalmente utilizzato dai servizi sicurezza è lo SHA (Secure Hash Algorithm), sviluppato a partire da un lavoro di ricerca di Rivest.

• Esistono versioni implementate di SHA che generano digest di 160 bit ad una velocità piuttosto soddisfacente nella maggioranza delle applicazioni .

• L’utilizzo più immediato di SHA è nelle verifiche di integrità. Confrontando digest ottenuti da uno stesso documento a distanza di tempo, è possibile verificare facilmente se il documento ha subito alterazioni.

Utilizzo nella firma digitale

• SHA è spesso utilizzato insieme ad RSA per generare e validare firme digitali.

• Generare la firma è semplice:

– si estrae un digest SHA dal documento da firmare, – si cifra RSA il digest con la chiave privata del firmatario.

• Chiunque può verificare la validità della firma – decifrando la firma con la chiave pubblica del firmatario, – generando a parte un digest SHA del documento firmato – confrontando il digest ottenuto dalla firma con quello

ottenuto dal documento.

Introduzione di riservatezza

Informazione in chiaro

DES

Chiave RSA pubblica del destinatario

Chiave DES casuale

Informazione cifrata RSA

Chiave DES casuale cifrata

DES:algoritmo di cifratura e decifratura simmetrico: usa 1 sola chiave privata RSA alfgoritmo di cifratura

asimmetrico: uso di due chiavi:

la pubblica per cifrare, la privata per decifrare

Rimozione di riservatezza

Informazione cifrata

DES Chiave RSA privata

del destinatario

Informazione in chiaro RSA

Chiave DES cifrata

Chiave DES in chiaro

(7)

Autenticazione (firma digitale)

Chiave RSA privata

di chi firma RSA

Documento

SHA

Digest

Firma

SHA: hashing sicuro, permette di stabilire una sequenza di bit, digest, strettamente correlata al documento D di lunghezza fissa

Verifica di autenticità (firma digitale)

Documento

SHA

Digest del documento nella versione corrente Chiave RSA pubblica

di chi ha firmato

Firma

RSA

Digest del documento al momento della firma

Comparazione

Firma falsa, oppure autentica ma apposta su un documento diverso da quello allegato

= !=

Firma valida

Servizi di notariato

• I servizi di notariato sono offerti da una Autorità di certificazione che sia riconosciuta come riferimento valido per definizione da tutti gli utenti del sistema informativo.

• Come ogni altro utente, anche l'Autorità di certificazione dispone di una coppia (privata, pubblica) di chiavi asimmetriche.

• L'Autorità di certificazione deve garantire la effettiva corrispondenza di una chiave pubblica con il soggetto che la espone.

• A tal fine, l'Autorità pubblica, in un apposito registro, certificatifirmati con la propria chiave privata.

Protocolli sicuri per il Web

• Schema a chiave pubblica (S-HTTP) – il client richiede un documento protetto

– il server replica con un messaggio di tipo “Unauthorized” al quale allega la propria chiave pubblica

– il client genera una chiave casuale (session-key), vi associa i dati identificativi dell’utente ed un time-stamp, cifra il tutto con la chiave pubblica del server e glielo invia.

– il server decifra il messaggio del client con la sua chiave privata, estrae la session-key del client, la usa per cifrare il documento riservato, ed invia il documento cifrato al client.

– Il client decifra il documento con la stessa session-key e lo presenta all’utente.

Protocolli sicuri per il Web

• Schema SSL (Secure Socket Layer)

– A differenza del protocollo S-HTTP, la chiave pubblica del server é fornita al client attraverso un certificato rilasciato e firmato da una Autorità di certificazione.

– Anche il client può essere autenticato laddove disponga di un certificato valido per la sua chiave pubblica.

– Come per S-HTTP, la riservatezza delle comunicazioni é realizzata attraverso la cifratura simmetrica del traffico con una chiave di sessione generata casualmente. SSL supporta inoltre la firma digitale dei documenti scambiati fra client e server.

– SSL é indipendente dal protocollo di applicazione, e può quindi supportare qualsiasi servizio che usi il protocollo TCP, quindi non solo HTTP ma anche News, Telnet, FTP, etc.

Riferimenti

Documenti correlati

delle otto coordinate puo’ essere espressa in funzione di altre sono tra loro indipendenti.. due qualsiasi variabili

• La crittografia del collegamento può essere resa più sicura utilizzando la tecnica Traffic Padding: in assenza di testo in chiaro viene comunque prodotto un output. cifrato

Nella tabella sottostante sono riportati gli indici di rifrazione assoluti di alcune sostanze, assumendo come primo mezzo il vuoto a cui, convenzionalmente,

maggiori probabilità di essere ascoltati. Se pure scalfire certezze iden- titarie è molto difficile, infatti, ognuno ha o assume identità multiple e si colloca di volta in volta

Questi algoritmi a chiave pubblica vengono detti anche asimmetrici, poiché a differenza di quelli a chiave privata (o simmetrici) ,vengono usate due tipi di chiavi:pubblica e

CARTELLONE MURALE SULLA COMPRENSIONE DELLE PAROLE CHIAVE NELLA RISOLUZIONE.

Si tratta di sistemi crittografici, proposti in modo solo teorico nel 1976 da Diffie e Hellman, in cui la chiave di cifratura è pubblica (quindi nota a tutti) mentre