Sicurezza informatica - Europa Digital School

Transcript

Sicurezza informatica - Europa Digital School
Sicurezza informatica
Prof. Fabrizio d’Amore
Università di Roma “La Sapienza”
Dip. di Informatica e Sistemistica
premessa
• qualunque sia lo scenario di riferimento,
l’innalzamento del livello di sicurezza
comporta la riduzione delle funzionalità rese
disponibili agli utenti
• in qualunque discorso relativo alla sicurezza
occorre valutare i costi e benefici
relativamente ad entrambi gli aspetti
• un computer totalmente immune da rischi è
un computer non connesso in rete, in una
stanza chiusa, possibilmente non alimentato
Sicurezza informatica – F. d’Amore
2
generalità
• sebbene il termine sicurezza nell’informatica sia
utilizzato da oltre 30 anni, il suo significato nel tempo
è andato modificandosi
• una possibile definizione della sicurezza è
l’insieme delle misure atte a garantire disponibilità,
integrità e riservatezza delle informazioni gestite
• sostanzialmente il tema della sicurezza può essere
considerato e sviluppato in due maniere differenti, a
seconda dello scenario di riferimento
– sistemi di elaborazione centralizzati
– sistemi di elaborazione distribuiti
Sicurezza informatica – F. d’Amore
3
sicurezza nei sistemi di
elaborazione centralizzati
• nelle architetture
centralizzate la sicurezza è
di tipo “fisico”
– tutto l’hardware risiede di
norma in un ambiente ristretto
e facile da proteggere
– l’interazione con il sistema di
elaborazione si svolge
• nell’ambiente protetto
• fuori dall’ambiente tramite
terminale (mero dispositivo di
ingresso/uscita)
Sicurezza informatica – F. d’Amore
4
sicurezza nei sistemi di
elaborazione distribuiti
• l’avvento delle moderne tecnologie
informatiche e telematiche, che ha causato il
ricorso sempre più frequente alle architetture
distribuite, che fanno uso intenso della rete
ha sostanzialmente modificato il concetto di
sicurezza
• la sicurezza fisica non può più essere
facilmente realizzata in quanto il sistema
distribuito interagisce profondamente con altri
sistemi e utenti arbitrariamente collocati
Sicurezza informatica – F. d’Amore
5
le vulnerabilità
elementi presenti nel sistema che possono essere
sfruttati per condurre un attacco
– tecnologiche
• errori del software
• difetti di configurazione
• ...
– procedurali
• password sotto il tappetino
• spedizione combinata di smart-card e pin
• ...
Sicurezza informatica – F. d’Amore
6
tipologie di attacco comuni
• IP spoofing / shadow server
– qualcuno si sostituisce ad un host
• packet sniffing
– si leggono password di accesso e/o dati riservati
• connection hijacking / data spoofing
– si inseriscono / modificano dati durante il loro transito in rete
• alterazioni del software
– virus e cavalli di Troia
• negazione di servizio (denial-of-service)
– si impedisce il funzionamento di un servizio
sovraccaricandolo o mandandolo in errore
Sicurezza informatica – F. d’Amore
7
altri attacchi
•
•
•
•
•
•
password cracking
basati su file di accesso privilegiato
dirottamento di sessioni
corruzione di librerie condivise
all’organizzazione aziendale
basati su bug o su tecnologie imperfette
Sicurezza informatica – F. d’Amore
8
Computer Emergency Response Team – CERT
Sicurezza informatica – F. d’Amore
9
obiettivi della sicurezza informatica
(ISO/IEC TR13335-1)
•
•
•
•
•
•
Affidabilità
Disponibilità
Riservatezza
Integrità
Imputabilità
Autenticità
Sicurezza informatica – F. d’Amore
10
affidabilità
• il sistema deve sempre comportarsi in modo
conforme alle specifiche
il comportamento del
sistema è prevedibile
anche in presenza di
guasti e in caso di valori
errati dei dati
Sicurezza informatica – F. d’Amore
11
disponibilità
• il sistema deve rendere disponibili a ciascun
utente abilitato le informazioni alle quali ha
diritto di accedere, nei tempi e nei modi
previsti
nei sistemi informatici, i requisiti di
disponibilità sono legati anche a
quelli di prestazione e di
robustezza
Sicurezza informatica – F. d’Amore
12
riservatezza
• nessun utente deve poter ottenere o dedurre
dal sistema informazioni che non è
autorizzato a conoscere
il fatto stesso che una
informazione risulti protetta, o che
esista una comunicazione in atto
fra due utenti o processi in un
certo contesto, può essere
sufficiente per dedurre
informazioni riservate
Sicurezza informatica – F. d’Amore
13
integrità
• 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
anche la perdita di dati (p.es. a
seguito di cancellazione o
danneggiamento), viene
considerata come alterazione
Sicurezza informatica – F. d’Amore
14
imputabilità
• deve sempre essere possibile risalire
all’entità che ha eseguito una specifica
azione
il sistema deve provvedere alla
registrazione degli eventi
significativi e proteggere le
registrazioni dalle manomissioni
Sicurezza informatica – F. d’Amore
15
l’autenticazione
CREDITO INFORMATICO
Sono il Credito Informatico
Sono
Mario
GIOVANNI
Sicurezza informatica – F. d’Amore
16
politiche di sicurezza
• RFC1244
– Site Security Handbook
– FYI 8
• scopi della politica di sicurezza
– definire le aspettative di uso proprio dei computer
e della rete
– definire procedure per prevenire incidenti
riguardanti la sicurezza
– definire procedure per rispondere ad incidenti
riguardanti la sicurezza
Sicurezza informatica – F. d’Amore
17
politiche di sicurezza - risorse
• per definire una politica di sicurezza occorre
considerare gli risorse da includere nella
pianificazione
–
–
–
–
–
hardware
software
dati
documentazione
supporti
Sicurezza informatica – F. d’Amore
18
politiche di sicurezza - aggressori
• utenti interni
– necessità di proteggere le risorse fisicamente
– autenticazione forte
• utenti esterni
– uso di firewall
– uso di VPN (Virtual Private Channel)
• sia fra i primi sia fra i secondi possono essere
presenti degli hacker
• una misura considerata oggi molto efficace è la
protezione delle applicazioni
Sicurezza informatica – F. d’Amore
19
chi sono gli hacker?
• hacker
– studenti brillanti e in generale persone spinte da motivazioni
positive
• cracker
– hanno l’obiettivo di infrangere sistemi di sicurezza
• phreaker
– utilizzano informazioni telefoniche per accedere ad altri
computer
• phracher
– tentano di ottenere servizi telefonici gratuitamente ed
illecitamente
Sicurezza informatica – F. d’Amore
20
politiche di sicurezza – tipi di minacce
• accesso non autorizzato
• rivelazione di informazioni
• negazione di servizio (denial-of-service)
Sicurezza informatica – F. d’Amore
21
politiche di sicurezza – protezione
• la politica di sicurezza definisce cosa proteggere,
valutando anche la priorità
–
–
–
–
punti di accesso
sistemi mal configurati
minacce interne
difetti del software
• come proteggere le risorse sarà definito da
opportune procedure di sicurezza
–
–
–
–
–
procedure biomedico
accounting
logging
monitoring
accesso fisico
Sicurezza informatica – F. d’Amore
22
politiche di sicurezza – controllo uso del sistema
• analisi file di log e confronto con i file di log passati
– è rispettata la regolarità nell’uso del sistema?
• login falliti
– attacco alle password?
• analisi elenco processi
– uso improprio di qualche applicazione?
• checklist permessi
– sono stati modificati i permessi e le dimensione di file critici
per il sistema?
Sicurezza informatica – F. d’Amore
23
politiche di sicurezza – le contromisure
azioni in grado di ridurre la possibilità che una
vulnerabilità possa essere sfruttata per condurre un
attacco
– fisiche
• locali ad accesso controllato
• sistemi di allarme
• ...
– logiche
• ACL (Access Control List)
• crittografia
• …
– procedurali
• accesso combinato
Sicurezza informatica – F. d’Amore
24
politiche di sicurezza – le verifiche
• controllo della configurazione
• rispetto delle procedure
• analisi delle minacce
• test di impenetrabilità
Sicurezza informatica – F. d’Amore
25
politiche di sicurezza – revisione continua
del processo
• evoluzione delle strategie di
attacco
analisi
rischio
• disponibilità di strumenti
innovativi per contrastare
gli attacchi
verifica
• incidenti di sicurezza sicurezza
Sicurezza informatica – F. d’Amore
attuazione
misure
26
standard per la sicurezza
• a partire dagli anni ’80 sono condotti vari studi volti a
definire livelli di sicurezza attribuibili ai sistemi
informatici sulla base di criteri predefiniti
• nel 1980 vengono introdotti negli USA dei criteri
denominati TCSEC (Trusted Computer System
Evaluation Criteria), a cura del DoD (Department of
Defense), e pubblicati in un volume con la copertina
arancione
– di qui il nome “Orange Book” con cui questi criteri sono
diventati celebri
• nell’85 viene adottato dal DoD come standard
Sicurezza informatica – F. d’Amore
27
Orange book (TCSEC)
• D, sicurezza assente
• C, sicurezza media
quattro famiglie di livelli
– C1, sicurezza discrezionale – il sistema può essere configurato in modo
da fornire livelli base di sicurezza
– C2, sicurezza obbligatoria – il sistema fornisce comunque livelli base di
sicurezza
• B, sicurezza media-alta
– B1, supporta sicurezza di differenti livelli, nega la possibilità di modificare
i permessi di accesso ai file
– B2, richiede che a ogni dispositivo hw sia assegnato un livello si
sicurezza
– B3, usa hw specifico per proteggere risorse importanti da accessi non
autorizzati
• A, sicurezza massima – certificata
– per ora, mai raggiunta
Sicurezza informatica – F. d’Amore
28
gli standard si moltiplicano: i Common Criteria
• ITSEC, 1991, Europa
– Francia, Germania, Olanda e Regno Unito
• CTCPEC, 1993, Canada
– TCSEC + ITSEC = CTCPEC
• 1993, inizia negli USA la “fusione” degli standard…
• CCITSE (Common Criteria for Information
Technology Security Evaluation), 1996, noti più
semplicemente come “Common Criteria”
– ISO/ICI 15408
– 7 livelli di sicurezza, denominati EAL1…EAL7,
approssimativamente corrispondenti ai livelli TCSEC
Sicurezza informatica – F. d’Amore
29
normativa italiana
documentazione alla URL
http://www.aipa.it
• legge 675/96
– “privacy” nel trattamento di dati personali
• Art. 15, comma 2, legge 15-3-1997, n. 59
– atti e documenti elettronici
• DPR 513-97
– regolamento per attuazione firma elettronica
• DPCM 8-2-1999
– regole tecniche per formazione, trasmissione e gestione dei
documenti informatici
• DPR 318-99
– regolamento recante norme per l’individuazione delle misure
minime di sicurezza per il trattamento dei dati personali
• DPCM 31-10-2000
– regole tecniche per il protocollo informatico
Sicurezza informatica – F. d’Amore
30
strumento di base per la sicurezza: la crittografia
• obbiettivo primario della crittografia è la cifratura di un
testo
testo in chiaro
algoritmo di
cifratura
testo cifrato
chiave1
• il testo cifrato non è utile all’intercettatore in quanto la
decifratura può avvenire “solo” tramite l’apposita
chiave di decifratura
Sicurezza informatica – F. d’Amore
31
decifratura
• la decifratura può avvenire “solo” qualora si sia in possesso
della chiave di decifratura chiave2
testo cifrato
algoritmo di
decifratura
testo in chiaro
chiave2
• e se l’intercettatore ha un computer potente per provare tutte le
chiavi possibili per decifrare il testo?
– basta usare chiavi sufficientemente lunghe: per esempio, esistono oltre
340 miliardi di miliardi di miliardi di miliardi di chiavi a 128 bit
– risulta egualmente laborioso dedurre la chiave con cui è stato cifrato un
documento confrontandolo con la sua versione in chiaro
Sicurezza informatica – F. d’Amore
32
crittografia e sicurezza informatica
• l’uso opportuno della crittografia consente di
realizzare servizi di più alto livello
– riservatezza
– firma autentica
– integrità di documenti
• nella realizzazione prendono parte anche le
tecniche di message digest (o hashing)
Sicurezza informatica – F. d’Amore
33
esempio di sostituzione polialfabetica a
scostamento progressivo
Da un testo sorgente
(“Siamo sei…”)
si ottiene un testo cifrato
(“Vigor tot…”)
con un algoritmo
(sostituzione alfabetica a scostamento progressivo)
mediante una chiave di cifratura
(“30623 189…”)
Sicurezza informatica – F. d’Amore
34
algoritmi a chiave privata e pubblica
• gli algoritmi di crittografia possono essere
classificati come
– simmetrici, anche detti a chiave privata
• chiave1 = chiave2
– asimmetrici, anche detti a chiave pubblica
• chiave1 ≠ chiave2
Sicurezza informatica – F. d’Amore
35
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
– essendo un algoritmo simmetrico, richiede che il mittente di
un documento cifrato comunichi in qualche modo al
destinatario la chiave di cifratura
Sicurezza informatica – F. d’Amore
36
DES
• cifrario a blocchi, poiché opera su seuqnze di 64 bit,
mediante l’uso di una chiave di 56 bit, più 8 bit di
parità
chiave di 56+8
bit
blocco di 64 bit
in chiaro
algoritmo
simmetrico DES
blocco di 64 bit
cifrati
• per cifrare un testo con più di 64 bit?
Sicurezza informatica – F. d’Amore
37
Electronic CodeBook (ECB)
testo in chiaro
k
k
k
k
testo cifrato
Sicurezza informatica – F. d’Amore
38
Cipher Block Chaining (CBC)
testo in chiaro
XOR
XOR
XOR
k
k
k
seme
testo cifrato
Sicurezza informatica – F. d’Amore
39
Triple-DES
• con la crescita della potenza di calcolo degli
elaboratori una cifratura con una chiave di 56 bit non
è più inviolabile
– 256 è poco più di 76 milioni di miliardi
• nasce il Triple-DES (o TDES o 3DES), in cui si
applica in pratica l’algoritmo DES tre volte,
sequenzialmente, usando tre chiavi differenti
– tre chiavi di 56 bit ciascuna sono composte da 168 bit
– il livello di sicurezza di TDES è eguale a quello di DES con
una chiave a 168 bit?
– no, è pari a quello che sarebbe garantito da DES utilizzando
una chiave a 112 bit (questo è un risultato matematico,
sebbene non intuitivo)
Sicurezza informatica – F. d’Amore
40
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
• in tutto n(n-1)/2 chiavi
• per n = 1000 circa 500.000 chiavi diverse
• 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
Sicurezza informatica – F. d’Amore
41
algoritmi asimmetrici
• di recente concezione (1976), 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
Sicurezza informatica – F. d’Amore
42
Diffie-Hellman
• algoritmo di cifratura asimmetrica
• concepito per concordare pubblicamente una
chiave segreta con un partner
– nato per risolvere i problemi della crittografia a
chiave privata ha gettato le basi per la nuova
crittografia, a chiave pubblica
Sicurezza informatica – F. d’Amore
43
algoritmo di Diffie-Hellman (1)
s è detta radice primitiva di N se accade che
s mod N, s2 mod N, s3 mod N, …, sN-1 mod N,
è una permutazione di 1, 2, …, N-1
1. A e B scelgono pubblicamente un numero primo N
2. A e B scelgono pubblicamente un numero intero s
in [1, N-1] che sia una radice primitiva di N
3. B sceglie casualmente un intero b in [1, N-1],
calcola XB = sb mod N e lo invia pubblicamente ad
A
4. A sceglie casualmente un intero a in [1, N-1],
calcola XA = sa mod N e lo invia pubblicamente a
B
Sicurezza informatica – F. d’Amore
44
algoritmo di Diffie-Hellman (2)
5.
6.
7.
8.
B calcola YB = (XA)b mod N
A calcola YA = (XB)a mod N
in base alle proprietà dell’algebra modulare risulta YA = YB
la chiave segreta è proprio YA = YB, e non è mai stata
inviata sulla rete
•
il punto di forza dell’algoritmo risiede nel fatto che un
intercettatore dei dati trasmessi, per calcolare la chiave ha
bisogno di uno dei due numeri segreti pensati da A e da B
calcolare b noto XB o a noto XA è un problema
computazionalmente difficile, chiamato calcolo del
logaritmo intero
•
Sicurezza informatica – F. d’Amore
45
RSA (1)
• 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 1024 bit sono un buon compromesso fra
sicurezza e prestazioni
Sicurezza informatica – F. d’Amore
46
RSA – generazione chiavi
1.
2.
3.
4.
5.
6.
7.
scegliere due grandi interi primi, p e q
calcolare N = p·q
calcolare T = (p-1)·(q-1)
scegliere un intero c primo rispetto a T
sia KP = c (chiave pubblica)
calcolare l’intero d tale che (c·d) mod T = 1
sia KS = d (chiave segreta, o privata)
Sicurezza informatica – F. d’Amore
47
RSA – cifratura e decifratura
• sia M il messaggio da cifrare
• il messaggio cifrato X corrispondente ad M si ottiene
calcolando X = Mc mod N
– M è interpretato come un numero
• la decodifica procede come segue
– Xd mod N = (Mc mod N)d mod N = Mc·d mod N = M
– anche X è interpretato come un numero
• si è cifrato con la chiave pubblica e decifrato con quella
privata, ma avremmo potuto fare l’esatto contrario
– cifrare con la privata e decifrare con la pubblica
• che differenza c’è?
Sicurezza informatica – F. d’Amore
48
i due utilizzi della cifratura asimmetrica
• comunicazione da A (chiavi AP e AS) a
B (BP e BS)
• se A cifra con BP, per decifrare
occorrerà BS e solo B ne è a
conoscenza
riservatezza
– A dunque cifra in modo che solo B possa
decifrare
• se A cifra con AS, chiunque può
decifrare usando AP, e questo ci
assicura che è stato proprio A a cifrare
firma digitale
– l’identità di A è certa ed il messaggio non
può essere alterato
Sicurezza informatica – F. d’Amore
49
chiavi per 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
Sicurezza informatica – F. d’Amore
50
introduzione di riservatezza
Informazione
Informazione
in
inchiaro
chiaro
Chiave
ChiaveRSA
RSApubblica
pubblica
del
destinatario
del destinatario
Chiave
ChiaveDES
DES
casuale
casuale
DES
DES
RSA
RSA
Informazione
Informazione
cifrata
cifrata
Chiave
ChiaveDES
DEScasuale
casuale
cifrata
cifrata
Sicurezza informatica – F. d’Amore
51
rimozione di riservatezza
Chiave
ChiaveDES
DES
cifrata
cifrata
Chiave
ChiaveRSA
RSAprivata
privata
del
destinatario
del destinatario
RSA
RSA
Chiave
ChiaveDES
DES
in
chiaro
in chiaro
Informazione
Informazione
cifrata
cifrata
DES
DES
Informazione
Informazione
in
inchiaro
chiaro
Sicurezza informatica – F. d’Amore
52
algoritmi di message digest
• permettono di creare, a partire da un documento D,
una sequenza di bit, detta message digest,
strettamente correlata a D e di lunghezza fissa h
(cioè indipendente dalla dimensione di D)
• sono detti anche algoritmi di hashing e basati su
funzioni di hashing
• 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
• vari altri algoritmi
– MD2 e MD5
• il digest è una sorta di riassunto del documento
Sicurezza informatica – F. d’Amore
53
insieme dei documenti
lunghi N bit
(2N documenti diversi)
funzione hash
invertibilità del digest
insieme dei digest
lunghi h bit
(2h digest diversi)
• se N > h, come è naturale, i fenomeni di collisione
saranno inevitabili
• ciò significa che esisteranno riassunti corrispondenti
a più di un documento
• la funzione hash dunque è non iniettiva e non
invertibile
Sicurezza informatica – F. d’Amore
54
requisiti delle buone funzioni di hashing
• facili da calcolare
• pienamente deterministiche
• debbono mediamente bilanciare le collisioni
Sicurezza informatica – F. d’Amore
55
firma digitale (1)
• informazione crittografata che, allegata ad un
documento informatico, ne garantisce:
– integrità, ossia l’assenza di modifiche successive alla
sottoscrizione
– provenienza, ossia l’identità del sottoscrittore
• il sottoscrittore usa la sua chiave crittografica privata
(segreta) per firmare
• i destinatari usano la chiave crittografica pubblica del
sottoscrittore per verificare la firma
Sicurezza informatica – F. d’Amore
56
firma digitale (2)
• 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
• il medesimo procedimento può in teoria essere applicato
sfruttando un qualunque algoritmo di hashing e una
qualunque tecnica di codifica asimmetrica
Sicurezza informatica – F. d’Amore
57
firma digitale - generazione
Documento
Documento
SHA
SHA
Digest
Digest
Chiave
ChiaveRSA
RSAprivata
privata
di
chi
firma
di chi firma
RSA
RSA
Firma
Firma
Sicurezza informatica – F. d’Amore
58
firma digitale - verifica di autenticità
Chiave
ChiaveRSA
RSApubblica
pubblica
di
chi
ha
firmato
di chi ha firmato
Firma
Firma
Documento
Documento
RSA
RSA
SHA
SHA
Digest
Digestdel
deldocumento
documento
alalmomento
momentodella
dellafirma
firma
Digest
Digestdel
deldocumento
documento
nella
versione
nella versionecorrente
corrente
=
Comparazione
Comparazione
Firma
valida
Sicurezza informatica – F. d’Amore
!=
Firma falsa, oppure autentica ma apposta
su un documento diverso da quello allegato
59
timbratura (time-stamp)
Informazione
Informazione
da
datimbrare
timbrare
Data
Dataed
edora
oracorrente
corrente
del
server
di
timbratura
del server di timbratura
SHA
SHA
Digest
Digestcon
contime-stamp
time-stamp
Chiave
ChiaveRSA
RSAprivata
privata
del
server
di
timbratura
del server di timbratura
RSA
RSA
Timbro
Timbro
Sicurezza informatica – F. d’Amore
60
gli attori
CERTIFICATORE
ALICE
Certifica e rende pubblico
il fatto che le chiavi
generate
da Alice appartengono
effettivamente a lei
Genera e fa certificare le
chiavi con cui firma moduli
di richiesta di servizi
Sicurezza informatica – F. d’Amore
BRUNO
Impiegato che riceve le
richieste e le verifica
61
servizi di notariato
• offerti da una Autorità di Certificazione (CA)
che sia riconosciuta come riferimento valido
per definizione da tutti gli utenti del sistema
informativo
• come ogni altro utente, anche la CA dispone
di una coppia (privata, pubblica) di chiavi
asimmetriche
Sicurezza informatica – F. d’Amore
62
CA
• identifica il soggetto proprietario di una coppia di
chiavi di sottoscrizione
• verifica che il proprietario delle chiavi abbia le
caratteristiche necessarie per divenire titolare del
certificato richiesto
• emette il certificato che attesta la corrispondenza tra
chiavi di sottoscrizione ed identità del titolare
• pubblica il certificato nel proprio elenco dei certificati
che può essere consultato telematicamente
Sicurezza informatica – F. d’Amore
63
certificazione chiavi pubbliche (1)
• la CA deve garantire la effettiva corrispondenza di
una chiave pubblica con il soggetto che la espone
• la CA pubblica, in un apposito registro, certificati
firmati con la propria chiave privata che includono
–
–
–
–
–
il nome della CA
la data di emissione del certificato
la data di scadenza del certificato
il nominativo del soggetto (distinguished name)
la chiave pubblica del soggetto
VeriSign
09/11/1998
Mario Rossi
JDF78EH9834
HF903NF0H3
48H39GFH8
H3948H
Sicurezza informatica – F. d’Amore
64
certificazione chiavi pubbliche (2)
• la verifica di una firma impone
– la conoscenza della chiave pubblica del soggetto firmatario
al momento della firma
• possibile richiedendo alla CA il relativo certificato
– la certezza della reale appartenenza della chiave al soggetto
firmatario
• la firma della CA garantisce la validità del certificato e quindi la
effettiva corrispondenza fra chiave pubblica e soggetto
– tale sequenza di operazioni viene tipicamente svolta in modo
automatico dal software che gestisce le firme digitali, a
partire da informazioni contenute nella firma stessa
Sicurezza informatica – F. d’Amore
65
certificazione chiavi pubbliche (3)
• le chiavi pubbliche possono essere sospese o
revocate (ad esempio a seguito di furto o
smarrimento delle corrispondenti chiavi private)
– in generale, quindi, i certificati relativi vanno richiesti alla CA
al momento della verifica della firma
• la CA deve gestire un registro storico delle chiavi
pubbliche revocate (CRL, Certificate Revocation
List), al fine di garantire nel tempo la verificabilità
delle firme generate utilizzando le corrispondenti
chiavi private
Sicurezza informatica – F. d’Amore
66
certificazione temporale (timbratura)
• il servizio base di timbratura ricade fra i servizi di
notariato in quanto richiede che il time-stamp sia
generato ed apposto da una CA riconosciuta da tutti
gli utenti del sistema
– il cliente sottopone al servizio di timbratura un digest del
documento da timbrare
– il servizio di timbratura ottiene un time-stamp da un orologio
che, in quanto gestito dalla CA, tutti gli utenti del sistema
convengono di riconoscere come valido
– il servizio di timbratura allega il time-stamp al digest, cifra il
tutto con la chiave privata della CA e lo restituisce al cliente
Sicurezza informatica – F. d’Amore
67
la registrazione presso la CA (1)
• è l’operazione che stabilisce il rapporto tra titolare
delle chiavi e e la CA
• comporta le seguenti azioni
– compilazione della richiesta da parte del titolare
– generazione della coppia di chiavi di sottoscrizione
– verifica dell’identità e dei requisiti del titolare
– emissione del certificato relativo alla coppia di chiavi
generate
Sicurezza informatica – F. d’Amore
68
la registrazione presso la CA (2)
coppia di
chiavi
chiave
privata
chiave
pubblica
chiave
pubblica
certificata
Sicurezza informatica – F. d’Amore
69
sottoscrizione e verifica (1)
sottoscrizione
• il documento viene elaborato con la chiave segreta
producendo un valore cifrato che costituisce la firma
digitale
– la firma digitale è unica perché dipende dal documento e
dalla chiave segreta
– la firma digitale viene allegata al documento
verifica
• la firma digitale viene decifrata mediante la chiave
pubblica e si verifica che corrisponda al documento
Sicurezza informatica – F. d’Amore
70
sottoscrizione e verifica (2)
C
Sicurezza informatica – F. d’Amore
D
71
X.509
• standard per crittografia a chiave pubblica e e
firma digitale
– non impone un particolare algoritmo ma
raccomanda RSA
• il nucleo dello standard è costituito dai
certificati a chiave pubblica
Sicurezza informatica – F. d’Amore
73
struttura (semplificata) certificati X.509
• Version
– esistono tre versioni
• Serial Number
– identificativo unico – usato nelle CRL come riferimento
• Signature Algorithm Identifier
– identifica l’algoritmo usato dalla CA per apporre la firma
• Issuer Name
– nome X.500 della CA che ha firmato il certificato
• Validity Period
– ogni certificato ha una data di scadenza
• Subject Name
– nome X.500 del proprietario della chiave pubblica
• Subject Public Key Information
– chiave pubblica certificata
Sicurezza informatica – F. d’Amore
74
Public Key Infrastructure (PKI)
• le PKI sono definite attraverso gli standard PKCS
(Public Key Cryptography Standards) e le specifiche
X.509
• un insieme di protocolli e standard che descrivono la
struttura dei certificati di chiave pubblica, le
procedure di sicurezza per il trattamento delle chiavi
private, la struttura delle richieste per l’emissione di
certificati di chiave pubblica da parte della CA, e molti
altri aspetti per l’implementazione di sistemi di
sicurezza
Sicurezza informatica – F. d’Amore
75
interoperabilità delle CA
?
RootCA1
SubCA1.1
SubCA1.3
RootCA2
SubCA1.2
SubCA2.1
SubCA1.4
Sicurezza informatica – F. d’Amore
SubCA2.2
SubCA2.3
76
autenticazione
• è il problema della verifica dell’identità
• tre tipi di autenticazione
– user-to-host
• l’host identifica l’utente prima di erogare servizi
– host-to-host
• l’host identifica con certezza un host partner
– user-to-user
• per accertare che i dati elettronici originino con certezza
dal supposto utente (un metodo è la firma digitale)
Sicurezza informatica – F. d’Amore
77
autenticazione user-to-host
• password statiche
• one-time password (OTP)
– S-Key
– smart card
• terze parti di fiducia
Sicurezza informatica – F. d’Amore
78
password statiche
1. il sistema detiene in un apposito DB l’elenco delle
username registrate e quello delle relative
password, trasformate tramite una cosiddetta
funzione “one-way hash”
•
non dissimile da un funzione di hashing per produrre
message digest
2. l’utente immette username e password
3. il sistema verifica la username – se sconosciuta
l’accesso è negato
4. il sistema applica la funzione one-way hash alla
password e ottiene un valore che viene confrontato
con quello registrato nel DB delle password
5. l’accesso viene consentito/negato sulla base
dell’esito del confronto
Sicurezza informatica – F. d’Amore
79
password statiche – debolezze
• le password possono essere comunicate
intenzionalmente o per errore
• le password possono spesso essere
indovinate
– la funzione one-way hash è nota!
– attacchi “a dizionario”
– se è disponibile il file DB con username e
password codificate gli attacchi a dizionario sono
efficacissimi
Sicurezza informatica – F. d’Amore
80
password statiche – miglioramenti
• password “aging”
– le password sono soggette a scadenza temporale
• password history
– vengono memorizzate (in forma codificata) tutte le vecchie
password di un utente per impedirgli di cambiare password
scegliendone una vecchia
• uso di shadow password
– le password codificate sono memorizzate in file difficilmente
accessibili (occorrono privilegi del system manager)
– (tradizionalmente, nei sistemi Unix, il file delle passwrod
codificate era accessibile in lettura, per facilitare l’operatività
del protocollo finger)
Sicurezza informatica – F. d’Amore
81
one-time password (OTP)
• l’utente ha una lista di password da usare,
ciascuna delle quali può essere utilizzata una
volta soltanto, e su precisa richiesta del
sistema (“dammi la password n. 52!”)
• spedite sempre in chiaro poiché non
riutilizzabili
Sicurezza informatica – F. d’Amore
82
meccanismi OTP
• S-Key – vengono generate (staticamente o
dinamicamente) a partire da una frase segreta scelta
dall’utente e da una password scelta dal system manager
– l’algoritmo di generazione è spesso una funzione hash per
message digest (es., MD5)
– ogni OTP viene costruita codificando la precedente tramite un
codice segreto
• sono numerate e ad ogni login il sistema domanda la
“prossima” nella sequenza
– viaggiano in chiaro
– si inizia dalla OTP col numero più alto
• se si fa uso di una smart card questa è in grado di
generare la OTP richiesta al momento opportuno, in
alternativa l’utente è provvisto di un supporto cartaceo
– per tale motivo, dopo la verifica della OTP, il sistema chiede di
norma anche la password statica
Sicurezza informatica – F. d’Amore
83
terze parti di fiducia
• sia l’utente che l’host hanno fiducia in una
terza entità detta KDC (Key Distribution
Center)
– entrambi condividono una chiave segreta con
KDC, sulla cui base KDC è in grado di garantire
l’autenticità dei due partner
• solo KDC ha la fiducia di tutti
• utente ed host non hanno in questo schema
fiducia reciproca
Sicurezza informatica – F. d’Amore
84
host-to-host
tre possibilità
• nessuna autenticazione
– es., IPv4
• autenticazione tramite password in chiaro nei
pacchetti
– basso livello di sicurezza
• uso di firma digitale e cifratura
– incluse in IPv6
Sicurezza informatica – F. d’Amore
85
user-to-user
• firma digitale
• terze parti (KDC)
– es., kerberos, progettato al MIT sul finire degli
anni ’70
• si basa su un KDC per effettuare autenticazione tramite
terzi
• il KDC condivide una chiave segreta con ciascun client e
ciascun server della rete cui il KDC dà servizio
Sicurezza informatica – F. d’Amore
86
kerberos – descrizione semplificata (1)
un client chiede servizio a un server
1. firma la richiesta del client con la chiave pubblica
del KDC – la richiesta contiene
–
–
–
nome client
nome server
timestamp
2. KDC verifica che il client sia autorizzato al servizio e
gli invia una chiave (ticket) cifrata con la chiave
pubblica del client – il ticket contiene
–
–
–
chiave di sessione (chiave simmetrica)
istante di scadenza
nome client
Sicurezza informatica – F. d’Amore
87
kerberos – descrizione semplificata (2)
3. KDC invia messaggio al server con
•
•
•
copia del ticket
ora corrente (autenticante)
checksum (autenticante)
client invia a server la propria copia del ticket (con
un sistema di cifratura asimmetrica)
server controlla il timestamp per verificare se la
chiave di sessione è ancora valida e quindi verifica
il checksum
4. client e server possono comunicare (cifrando con
chiave simmetrica o asimmetrica, fornita da KDC, o
in chiaro)
alla fine il server comunicherà a KDC che il ticket va
distrutto
Sicurezza informatica – F. d’Amore
88
attacchi alla sicurezza a livello applicativo
• la trattazione sistematica è lunga e
complessa
• verrà esaminato il mail spoofing
• sfrutta la semplicità del protocollo SMTP
(Simple mail Transfer Protocol) con cui due
host scambiano un messaggio di posta
elettronica
Sicurezza informatica – F. d’Amore
89
mail spoofing
telnet athena smtp
Trying 151.100.16.10...
Connected to athena.dis.uniroma1.it.
Escape character is '^]'.
220 athena.dis.uniroma1.it ESMTP Sendmail 8.9.3/8.9.3; Mon, 30
Jul 2001 16:44:52 +0200 (MET DST)
helo hermes
250 athena.dis.uniroma1.it Hello hermes.dis.uniroma1.it
[151.100.16.20], pleased to meet you
mail from:<[email protected]>
250 <[email protected]>... Sender ok
rcpt to:<damore>
250 <damore>... Recipient ok
data
354 Enter mail, end with "." on a line by itself
ciao
.
250 QAA20887 Message accepted for delivery
quit
221 athena.dis.uniroma1.it closing connection
Connection closed by foreign host.
Sicurezza informatica – F. d’Amore
90
prevenire il mail spoofing
• uso di firma digitale
– problema pratico: le CA italiane registrate nell’albo
dei certificatori presso l’AIPA hanno avuto un
avvio lento
• uso di un firewall
– occorre competenza specialistica: un firewall è un
sistema hardware/software che è in grado di
controllare il traffico in ingresso/uscita dalla rete
bloccandone le componenti che non soddisfano
determinati requisiti, descritti in una tavola di
“regole”
Sicurezza informatica – F. d’Amore
91
Firewall
Firewall
Rete
Protetta
Internet
policy
Sicurezza informatica – F. d’Amore
92
Firewall: componenti
Packet-Filtering
Routers
OSI
Model
Proxy
Servers
Application
+ Low Cost
+ High Performance
+ (Usually) Not UNIX
+ Transparent
Presentation
Session
Transport
- Client Addresses Exposed
- Stateless —> Spoofable
- Error-Prone Rulesets
+ Stateful
+ Client Addresses Hidden
Network
Data Link
- Costly
- Low Performance
- Shares UNIX Problems
- Intrusive on Client Side
Physical
Sicurezza informatica – F. d’Amore
93
Packet filtering
FTP
TELNET
DNS
TCP
NFS
Application layer
Transport layer
UDP
IP
PING
ICMP
Network layer
IP Packet
Sicurezza informatica – F. d’Amore
94
Packet Filtering: pro e contro
Pro
Contro
• Bassi costi di
implementazione
• Alto throughput
• Trasparenza agli utenti
• Flessibile
•
•
•
•
•
Sicurezza informatica – F. d’Amore
L’ACL può diventare molto
complessa
Nessuna visibilità dei dati
applicativi
No User Authentication
Visibilità della rete protetta
Problemi di filtraggio di
applicazioni FTP
95
Proxy Server
External
server
Internet
3
2
Proxy
Proxy
server
Application
protocol
analysis
Proxy
client
Application
layer
proxy
service
4
Internal
network
1
Client
Sicurezza informatica – F. d’Amore
96
Proxy Server: pro e contro
Pro
Contro
•
•
•
• Non trasparenza agli
utenti
• Basse prestazioni
• Non supportano ogni
possibile servizio, ma
soltanto quelli per cui
esiste il relativo Security
Proxy (FTP, Telnet,
HTTP, SMTP, ...)
•
•
Strong User authentication
Full logging
Nasconde gli indirizzi della
rete interna
Content filtering
Caching
Sicurezza informatica – F. d’Amore
97
i virus
• un virus informatico è un insieme di istruzioni che
possono costituire un programma autonomo ovvero
essere inserite all’interno di un programma lecito che
ignora di essere il portatore del virus stesso
(annidamento in programmi eseguibili)
• un virus informatico ha la proprietà di potersi
autoriprodurre
• un virus è di norma costituito di due parti: la parte
responsabile dell’autoriproduzione e la parte
responsabile delle azioni dannose
Sicurezza informatica – F. d’Amore
98
dove si annidano i virus (1)
• S.O. Dos/Win 3.x
•
•
•
•
•
•
1. loader principale
2. Kernel (IO.sys, MSDOS.sys)
3. COMMAND.COM
4. nei file .exe e .com
5. nei driver .drv e .sys
6. nei file .dll e .ovl
Sicurezza informatica – F. d’Amore
99
dove si annidano i virus (2)
• ambiente OFFICE
• nelle Macro inserite nei file .doc
• nel codice javascript, VBS, java e Activex,
all’interno di documenti HTML
• nei file NORMAL.DOT
• nelle Macro inserite nei file .XLS
• nei file .ZIP
Sicurezza informatica – F. d’Amore
100
classificazione dei virus
•
•
•
•
•
•
•
BOOT Infector
Generic Application Infector (DOS,
WIN3.x,WIN95/98, WINNT, OS/2, Unix)
Macro Virus
Java/ActiveX Virus
Internet Worms
Trojan Horses / Logic Bomb
Hoaxes
Sicurezza informatica – F. d’Amore
101
boot infector
• questi virus utilizzano il settore di bootstrap
del S.O.
• al momento dell’attivazione il virus prende il
controllo del computer trasferendosi nella
RAM prima del S.O. acquisendo il controllo
sulle supervisor call e quindi sulle risorse
• in tal modo si riproduce sui dischi del
computer infettato
Sicurezza informatica – F. d’Amore
102
Generic Application Infector
• questi virus sono quelli che infettano i file
.EXE, .COM, .DLL, .OVL ecc.
Sicurezza informatica – F. d’Amore
103
macro virus
• utilizzano le potenzialità offerte dai linguaggi
di macro (p.es. il MS Visual Basic for
Application di Word)
• lo svantaggio presentato da questa categoria
è di essere application dependent e non O.S.
dependent e quindi di poter girare sotto S.O.
diversi
– es. “I Love You”
Sicurezza informatica – F. d’Amore
104
Java/ActiveX virus
• rientrano in questa categoria i virus scritti con
tecnologia Java, Javascript o ActiveX.
Sicurezza informatica – F. d’Amore
105
Internet worms
• la categoria di virus Internet più antica
• lo scopo principale è la propagazione in rete
al fine rallentarne le prestazioni
Sicurezza informatica – F. d’Amore
106
Trojan horses
• icavalli di Troia sono programmi che hanno
funzioni illecite nascoste all’interno di un
programma apparentemente lecito (p.es. uno
screen saver)
• un esempio noto è BackOrifice prodotto
dall’associazione The cult of the dead cow
Sicurezza informatica – F. d’Amore
107
logic bomb
• le bombe logiche sono varianti dei Trojan con
attivazione su base evento
Sicurezza informatica – F. d’Amore
108
hoaxes
• falsi virus (generalmente delle mail) che
annunciano l’esistenza di presunti virus
• il vero scopo è provocare una perdita di
tempo nel lettore (che dovrà verificare la
veridicità della mail ecc.)
Sicurezza informatica – F. d’Amore
109
la diffusione dei virus
30
25
20
15
10
5
0
assicur.
Banche
Sicurezza informatica – F. d’Amore
PAC/PAL
110
legislazione di riferimento
• L. 547/93 ha modificato l’art. 615/quinques del
Codice Penale :
– “chiunque diffonde comunica o consegna un programma
informatico da lui stesso o da altri redatto, avente per scopo
o per effetto il danneggiamento di un sistema informatico o
telematico, dei dati o dei programmi in esso contenuti o ad
esso pertinenti, ovvero l’interruzione, totale o parziale, o
l’alterazione del suo funzionamento, è punito con la
reclusione sino a due anni e con la multa sino a lire 20
milioni”
Sicurezza informatica – F. d’Amore
111
antivirus
• software specifici che rilevano la presenza di virus
– non capaci di rilevare nuovi virus
– debbono essere aggiornati costantemente, spesso
attraverso la rete
• possono essere configurati in modo da controllare in
tempo reale tutti i file che arrivano sul sistema (dalla
rete, da supporti di memoria secondaria ecc.)
• possono essere integrati con il mail server, ottenendo
così il controllo centralizzato sulla presenza di virus
nella posta elettronica
• quando rilevano un virus sono di norma in grado di
prendere opportune contromisure, eliminandolo
Sicurezza informatica – F. d’Amore
112
siti di riferimento
• Symantec
– http://enterprisesecurity.symantec.com
• Micro Trend
– http://www.trend.com/
• Computer Associates
– http://antivirus.cai.com/
• McAfee
– http://www.mcafee.com/
Sicurezza informatica – F. d’Amore
113