Sicurezza II Prof. Dario Catalano Autentica di Umani.

45
Sicurezza II Prof. Dario Catalano Autentica di Umani

Transcript of Sicurezza II Prof. Dario Catalano Autentica di Umani.

Page 1: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Sicurezza IIProf. Dario Catalano

Autentica di Umani

Page 2: Sicurezza II Prof. Dario Catalano Autentica di Umani.

User Authentication

Fino ad ora abbiamo trattato il caso in cui una macchina si autentica presso un’altra macchina (via rete).

Adesso considereremo il caso in cui un umano voglia autenticarsi presso una macchina.

Page 3: Sicurezza II Prof. Dario Catalano Autentica di Umani.

User Authentication Authentication dipende dalle

caratteristiche di chi deve essere autenticato. Capacita’ di memorizzare chiavi

crittografiche (di alta qualita’) Abilita’ nel fare calcoli crittografici

I computer hanno queste capacita’ Gli umani sono pessimi in

entrambe

Page 4: Sicurezza II Prof. Dario Catalano Autentica di Umani.

User Authentication User Auth. consiste in un computer che

verifica se l’utente e’ chi dice di essere Tre tecniche principali

Cosa conosci Es. pwds

Cosa possiedi Es. Bancomat

Chi sei Es. Biometric devices

Page 5: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Passwords Concetto antichissimo Usare una pwd per autenticarsi ha

diversi problemi Un adv puo’ “vedere” la pwd Puo’ leggere il file che le conserva La pwd puo’ essere facile da indovinare La pwd puo’ essere soggetta a dictionary

attacks Forzare gli utenti a scegliere pwd “difficili”

puo’ generare altri problemi.

Page 6: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Passwords

Oggi studieremo meccanismi per evitare che utenti non autorizzati accedano alle pwds

Linee di difesa Proteggere la comunicazione Limitare il numero di tentativi possibili Rendere le pwd difficili da indovinare

Page 7: Sicurezza II Prof. Dario Catalano Autentica di Umani.

On line pwd guess Spesso indovinare la pwd di un utente non

e’ difficile In alcuni sistemi la pwd e’ inizialmente settata

ad un attributo (noto) dell’utente. E’ sorprendente quante poche frodi

effettivamente abbiano luogo. Anche se la pwd non e’ ovvia, puo’ essere

facile da indovinare. Se chi attacca ha abbastanza tentativi a

disposizione. In pratica bisogna vedere cosa tale

“abbastanza” significa.

Page 8: Sicurezza II Prof. Dario Catalano Autentica di Umani.

On line attacks Dato che errare e’ umano e’ importante

dare piu’ di una possibilita’. Esistono diversi modi per limitare il

numero di tentativi (o l’intervallo tra diversi tentativi). Fare in modo che a provare sia un umano. Contare gli insuccessi, se oltre una data

soglia bloccare il sistema. Tale accorgimento puo’ creare altri problemi

(in determinati contesti).

Page 9: Sicurezza II Prof. Dario Catalano Autentica di Umani.

On line attacks

Frenare l’attaccante permettendo solo un num. limitato di

tentativi per sessione. Le pwd scorrette vengono verificate

molto lentamente.

Page 10: Sicurezza II Prof. Dario Catalano Autentica di Umani.

On line attacks

“Catturare” l’intruso Determinati comportamenti possono

destare sospetto. Tali comportamenti possono essere

rilevati grazie (anche) alla collaborazione degli utenti. All’avvio, segnalare eventuali login avvenuti

senza successo all’utente. Tale strategia non funziona per i cosiddetti

“stale accounts”.

Page 11: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Rendere le pwd difficili da indovinare. Se l’insieme di possibili pwd e’ troppo

grande, provare a caso diventa inutile. Se la pwd e’ una stringa random di 10

caratteri, un attaccante che puo’ testare una pwd ogni millesimo di sec avrebbe bisogno di circa tre anni per trovare quella giusta.

Problema: chi usa stringhe casuali come pwd?

Page 12: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Pwd casuali Io odio queste pwd

Non le ricordo e tendo a scriverle da qualche parte

Cio’ apre la via a tutta una nuova serie di attacchi.

Password pronunciabili La pwd e’ una stringa pronunciabile. Una stringa pronunciabile di 10 caratteri e’

piu’ facile da memorizzare di una stringa casuale di 8.

Fattibile soprattutto con la lingua inglese.

Page 13: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Un approccio migliore

Lasciare che gli utenti scelgano le proprie pwds. Si suggerisce una scelta adeguata. Ad es imporre qualche numero o

errori di ortografia. Il programma di selezione della pwd

dovrebbe impedire l’utilizzo di pwd facili da indovinare.

Page 14: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Off-line pwd guessing A volte l’avversario ha la possibilita’

(spiando comunicaz. o accedendo ad un DB) di acquisire informzioni che gli permettono di verificare la validita’ di una pwd, OFF-LINE L’attacco puo’ essere fatto con calma,

senza che nessuno sappia che un attacco e’ in corso.

Vera spina nel fianco degli schemi basati su pwd.

Page 15: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Un altro problema e’ che le pwd devono essere memorizzate (in qualche modo) nel server.

Il file delle pwd deve essere adeguatamente protetto e adeguatamente gestito. Ad es. una poco accurata gestione del

back-up puo’ creare problemi.

Page 16: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Unix Come abbiamo visto in Unix (vecchie

versioni) il file pwd contiene l’hash di ogni pwd ed e’ pubblicamente disponibile.

Quest’ultima e’ una pessima scelta. Le nuove implementazioni sono state

modificate in modo che gli utenti non autorizzati non abbiano tale accesso.

Page 17: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Memorizzare le hash Un problema di tale approccio e’ che il

system manager non ha accesso diretto alle pwd. Se un utente dimentica la pwd, deve

interagire con il SM per installarne una nuova.

Questo puo’ essere un problema se l’utente non sa se ha dimenticato la pwd o e’ vittima di un attacco.

Poter verificare la pwd in uso sarebbe utile.

Page 18: Sicurezza II Prof. Dario Catalano Autentica di Umani.

L’uso di semi Un modo utile per limitare i danni

quando si intende rendere pubblico il file pwd e’ di usare un seme.

Ad ogni utente e’ associato un valore casuale seed (pubblico) di, per es., 4 cifre.

La funzione hash della pwd di Alice e’ dunque hash(seedAlice||pwdAlice).

Tale accorgimento permette di evitare attacchi ad utenti “generici”.

Page 19: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Quanto deve essere grande un segreto?

Con la tecnologia attuale una stringa casuale di 80 bit e’ (computaz.) impossibile da indovinare.

Un num di 80 bit ha piu’ di 20 cifre (espresso in decimale)

Nessuno riuscira’ mai a ricordare un segreto cosi’ grande.

Page 20: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Stringhe casuali

Assumendo di avere a disposizione 64 caratteri distinti, cio’ vuol dire una stringa (casuale) di 13 caratteri (circa). Nessuno puo’ ricordare qualcosa del

genere!

Page 21: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Stringhe pronunciabili Limitiamoci a stringhe pronunciabili Una consonante seguita da vocale (in

linea di massima una vocale ogni due parole).

Possiamo scegliere le vocali in 6(<23) modi e le consonanti in 20(<25).

Per avere una probabilita’ di successo minore di 280, dovremmo considerare stringhe di 20 caratteri.

Page 22: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Stringhe scelte dall’utente

L’esperienza suggerisce che per ogni carattere si hanno 2 bit di randomness.

Per avere una stringa non indovinabile si dovrebbe donque considerare una password di 40 caratteri.

Anche questa soluzione e’ improponibile!

Page 23: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Utenti disattenti Uno dei problemi della sicurezza e’ che

anche gli utenti legittimi possono comportarsi da avversari.

Molti utenti guardano alla sicurezza (e alle conseguenti limitazioni) piu’ come ad un problema che ad un servizio.

Usi sbagliati delle pwd sono estremamente frequenti. Pwd accessibili on line, o memorizzate in

email Script che contengono pwd (in chiaro) per

automatizzare accessi.

Page 24: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Password multiuso

Dilemma: usare sempre la stessa pwd o una per ogni applicazione.

In teoria sarebbe meglio usare una stessa pwd il meno possibile.

In pratica tale approccio potrebbe condurre a tanti problemi Scrivere le pwd per ricordare a cosa

corrispondono.

Page 25: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Cascade Break-ins

Un argomento a favore dell’approccio multipassword e’ che se un attaccante ottiene una pwd universale, puo’ entare ovunque tale pwd e’ usata.

Usare pwd diverse permette di limitare i danni di una intrusione.

Page 26: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Cambiare le pwd Anche questa e’ una questione

spinosa In linea di principio e’ buona abitudine

cambiare regolarmente la pwd. Alcuni sistemi obbligano l’utente a

cambiare regorlarmente pwd ogni tot giorni.

In pratica questa soluzione puo’ introdurre problemi sorprendenti.

Page 27: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Guardia e ladri Il SM obbliga l’utente a cambiare pwd ogni 4

mesi. L’utente utilizza il comand passwd ma introduce

sempre la stessa pwd. Il SM obbliga l’utente a cambiare davvero la

pwd L’utente crea dapprima una pwd temporanea e

subito dopo ritorna alla pwd iniziale. Il SM tiene traccia delle n pwd piu’ recenti e

costringe l’utente a scegliere una pwd non usata da almeno n cambi. L’utente crea n pwd temporanee per poi ritornare

alla pwd iniziale.

Page 28: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Guardia e ladri Il SM obbliga l’utente a cambiare pwd

ma non permette ulteriori cambi per (qualche) giorno a seguire L’utente crea una nuova pwd che e’ diversa

dalla precedente nell’ultimo carattere. Il SM impedisce di scegliere una nuova

pwd troppo simile alla precedente. L’utente si arrende. Sceglie una pwd

impossibile da ricordare e la scrive su un post-it da attaccare al monitor.

Page 29: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Login Trojan Horses

Programma che simula una schermata di login Una volta inserita la pwd, il

programma simula un errore, esce (ma conosce la pwd).

Se l’utente e’ “sprovveduto” non c’e’ nulla che si possa fare contro un tale attacco.

Page 30: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Contromisure minime In molti sistemi esistono svariati modi per

interrompere programmi in esecuzione. Win NT (e seguenti) richiede all’utente di premere

CTRL-ALT-CANC prima di fare il log-in. Pero’ molti sistemi permettono ai programmi che

eseguono di disabilitare gli interrupt In ogni caso, e’ importante capire che la

collaborazione dell’utente e’ fondamentale.

Page 31: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Distribuzione iniziale delle pwd Tutto quanto detto sino ad ora assume

che utenti e sistemi condividano (in qualche modo) una pwd

Come arrivare a tale stato? L’utente si “presenta” al SM

(fisicamente) e sceglie una pwd. Potrebbe essere complicato per l’utente

incontrare il SM Potrebbe essere pericoloso lasciare un

utente agire sulla macchina del SM

Page 32: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Altre soluzioni

Il SM sceglie una “buona” pwd per l’utente, e ricorda a quest’ultimo di cambiarla. Alcuni sistemi impongono all’utente di

cambiare la pwd come procedura di primo login.

Alternativamente la stessa procedura puo’ essere fatta via posta (ordinaria).

Page 33: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Una soluzione molto diffusa (e insicura) e’ di scegliere una prima pwd facilmente derivabile dai dati dell’utente.

Tale soluzione puo’ comunque essere accettata in contesti in cui la perdita di sicurezza ha conseguenze limitate.

Page 34: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Authentication Tokens Oggetto che puo’ essere utilizzato per

autenticarsi Es. Bancomat, Chiavi di casa, chiavi della

macchina, documenti. Il problema di tali oggetti e’ che in

generale non sono indissolubilmente legati all’utente. Possono essere rubati,persi,…

Inoltre richiedono spesso hardware dedicato. Puo’ essere costoso

Per questo si ricorre talvolta ad un ulteriore meccanismo.

Page 35: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Carte di credito

Nella vers. tradiz. non offrono nessuna sicurezza contro chi origlia la comunicazione. Qualunque informazione inviata puo’

essere memorizzata ed utilizzata. Le piu’ recenti smart card sono

molto migliori.

Page 36: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Smart Cards Molto simile alle carte di credito. Dotate di piccola CPU e memoria. Quando inserite nel lettore la carta

comincia una protocollo con il lettore Le carte magnetiche si limitano a leggere il

contenuto della propria memoria. Tre tipi di smart cards: PIN protected,

Crypto challenge/response e Crypto Calculator.

Page 37: Sicurezza II Prof. Dario Catalano Autentica di Umani.

PIN Protected Cards L’info in memoria puo’ essere letto solo

dopo che il PIN e’ inserito correttamente. Dopo un certo num di errori la carta si

blocca. Una carta senza il PIN e’ del tutto inutile Carte piu’ difficili da duplicare rispetto a

quelle magnetiche (soprattutto senza il PIN)

Page 38: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Challenge Response La memoria contiene una chiave k (usata

per cifrare e decifrare) La carta non rivela la chiave nemmeno se

il PIN corretto e’ inserito. Un computer che conosce k, puo’

autenticare la carta (utente) chiedendo di cifrare (o decifrare) un messaggio random. Se la risposta e’ corretta il server conclude

che il PIN inserito e’ quello giusto e la carta e’ letta dall’apposito lettore.

Page 39: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Challenge Response (cont)

Possono essere costruite in modo da essere praticamente impossibili da copiare

Non avendo alcun modo diretto per estrarre la chiave, l’unica possibilita’ e’ di disassemblarla.

In pratica cio’ le rende molto sicure.

Page 40: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Crypto Calculator Esegue calcoli crittografici usando una

chiave (non rivelata esplicitamente) Diversa da smart card, perche’ non

deve essere collegata ad un lettore. Ha un display, (talvolta) una tastiera e

interagisce col sistema tramite l’utente. Non aver bisogno di hardware dedicato

e’ un bel vantaggio in pratica.

Page 41: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Esempio Simula una smart card L’utente inserisce il PIN (per iniziare) Il server genera un valore random A e

chiede all’utente di rispondere per autenticarsi.

L’utente inserisce A nella CC e ottiene una risposta R da inviare al server. Es. CC cifra A e restituisce il crittotesto.

Page 42: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Esempio (cont.) Un modo per migliorare l’efficienza

del protocollo descritto e’ cifrare l’ora attuale e usare tale crittotesto per autenticarsi. Bisogna pero’ fare in modo che il

computer e la CC siano sinconizzati. La tastiera puo’ essere eliminata

permettendo una connessione diretta computer CC.

Page 43: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Accesso Fisico

Un buon modo per proteggere la sicurezza di un sistema e’ Isolare il sistema. Porre una guardia armata (o qualcosa

di simile) a sua custodia. Alcuni sistemi adottano soluzioni

simili a questa.

Page 44: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Biometric Devices Misurano caratteristiche fisiche e

le confrontano con quelle memorizzate in archivio. Es. Impronte digitali

In generale richiedono hardware dedicato (e costoso) Lettori di impronte digitali, Scanner di

retina o dell’iride, riconoscitori vocali, tempo di battitura, firme etc…

Page 45: Sicurezza II Prof. Dario Catalano Autentica di Umani.

Biometric Devices

Un altro problema di tale approccio e’ che i dati biometrici sono difficili da tenere segreti.

Chiunque ha visto la mia firma potrebbe duplicarla con non troppe difficolta’.