Chapter3-Authentication Flashcards

1
Q

Cos’è un Credential Service Provider (CSP)?

A

Un CSP è un servizio che si occupa di assegnare delle credenziali ad un utente che si vuole iscrivere ad un determinato servizio. Per poter entrare in comunicazione con un CSP un utente si deve rivolgere ad una registration authority.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cos’è una Registration Authority?

A

La base dell’user authentication è che l’utente sia registrato a un sistema. Per farlo l’utente si rivolge a una registration authority per diventare “iscritto” ad un credential service provider. In questo modello la RA è una entità trusted che stabilisce e fa valere l’identità dell’iscritto al CSP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cosa si intende per User Authentication

A

Si intende un processo che garantisce ad un utente l’accesso ad un sistema, attraverso l’autenticazione. In questo modo il sistema ottiene fiducia nei confronti dell’identità di un utente.

Risposta del tizio:

Per user authentication si intende un processo che permette di ottenere fiducia nell’identità di un utente, presente elettronicamente all’interno di un sistema.

L’autenticazione è articolata in due step:
- l’identification step: presenting an identifier to the security system;
- verification step: presenting or generating authentication information that corroborates the binding between entity and identifier.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cosa può essere usato per autenticare un utente?

A
  • Qualcosa che l’utente conosce (password, pin);
  • Qualcosa che l’utente possiede (carta magnetica, token);
  • Qualcosa che l’utente è (biometria);
  • Qualcosa che l’utente fa (riconoscimento vocale, scrittura a mano libera)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cos’è l’autenticazione a più fattori?

A

Tipo di autenticazione che unisce più metodi, è più sicuro rispetto all’autenticazione a singolo fattore. Mandatory:

1) something the user knows;
2) something generated by a device that the user owns (In band check).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cosa sono l’Assurance Level ed il Potential Impact?

A

Un assurance level descrive un grado di confidenza che un’azienda ha sul fatto che un determinato utente abbia presentato delle credenziali che si riferiscono alla sua vera identità. Si hanno 4 livelli di assurance, dal livello 1 che è quello in cui non si ha fiducia nella validità dell’identità inserita fino al 4 in cui si ha un’estrema fiducia che ogni utente abbia immesso le proprie effettive credenziali. Il potential impact è strettamente legato all’assurance level, e identifica l’impatto che un
errore di autenticazione potrebbe provare all’azienda (low, moderate, high).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Come funziona l’autenticazione basata su password?

A

L’autenticazione basata su password o chiave segreta lega l’ID di un utente a una parola chiave che solo l’utente conosce, in modo da certificare la sua identità e autorizzarlo a compiere determinate operazioni sugli asset. Quando l’utente vuole autenticarsi deve presentare sul sistema il suo ID (può essere qualsiasi cosa che identifichi l’utente, come una mail o il numero di telefono) e la password. Se la password coincide con la stessa password presente sul sistema (presumibilmente impostata durante la fase di
registrazione) l’utente è autenticato. L’ID è caratterizzato da 3 fondamentali aspetti:

  • certifica che l’utente è autorizzato ad accedere;
  • determina i privilegi dell’utente;
  • è utilizzato nel controllo degli accessi.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quali sono i metodi più utilizzati per attaccare l’autenticazione basata su password?

A
  • Offline dictionary attack: in genere, vengono utilizzati controlli di accesso avanzati per proteggere il file delle password del sistema.
    Tuttavia, gli hacker possono spesso aggirare tali controlli e ottenere l’accesso al file. l’aggressore ottiene il file della password di sistema e
    confronta gli hash della password contro gli hash delle password di uso comune. Se viene trovata una corrispondenza, l’attaccante può ottenere
    l’accesso tramite quella combinazione ID/password. Le contromisure includono controlli per impedire l’accesso non autorizzato al file delle password, rilevamento delle intrusioni per identificare una compromissione e una rapida remissione delle password nel caso in cui il file della password venga compromesso.
  • Specific account attack: l’attaccante prende di mira un account specifico e prova ad indovinare la password finché non viene scoperta. Una contromisura sarebbe quella di implementare un meccanismo di blocco dell’account, che blocca l’accesso all’account dopo una serie di
    tentativi di accesso non riusciti.
  • popular password attack: una variante dell’attacco precedente consiste nell’utilizzare una password e provala con un’ampia gamma di ID utente. La tendenza di un utente è scegliere una password che si ricordi facilmente; questo purtroppo rende la password facile da indovinare. Le contromisure includono politiche per disincentivare la selezione da parte
    degli utenti di password comuni.
  • password guessing against a single user: l’attaccante tenta di acquisire informazioni sul titolare dell’account al fine di indovinare la password. Le contromisure comprendono l’applicazione di criteri di password che rendono le password difficili da indovinare. Tali politiche riguardano la segretezza, la lunghezza minima della password, il set di caratteri.
  • workstation hijacking: l’attaccante attende che una workstation connessa sia incustodita. La contromisura standard blocca la macchina della postazione.
  • exploiting user mistake: se il sistema assegna una password, l’utente è più probabile che la scriva da qualche parte perché è difficile da
    ricordare. Questa situazione crea la possibilità per un avversario di leggere la password scritta. Un utente può condividere intenzionalmente
    una password, per consentire a un collega di condividere file, per esempio. Inoltre, gli aggressori riescono spesso a ottenere le password utilizzando tattiche di social engineer che ingannano l’utente facendoli così rivelare la password. Le contromisure comprendono la formazione degli utenti, rilevamento delle intrusioni e l’uso di password semplici combinate con un altro meccanismo di autenticazione.
  • exploiting multiple password use: gli attacchi possono anche diventare molto di più efficaci o dannosi se diversi dispositivi di rete condividono la stessa password o una password simile per un determinato utente. Le contromisure includono una politica che vieta di usare password uguali o
    simili su particolari dispositivi di rete.
  • electronic monitoring: se viene comunicata una password attraverso una rete, è vulnerabile alle intercettazioni. La crittografia semplice non risolve il problema, perché la password crittografata è, di fatto, la password e può essere osservata e riutilizzata da un avversario.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cos’è il salt value nell’autenticazione? A cosa serve?

A

Il salt value è un valore in plain text che viene assegnato all’utente durante la fase di registrazione al sistema. Può essere generato pseudo casualmente o in base al momento in
cui l’utente si registra. Il salt viene usato come input insieme alla password della funzione di hash per generare l’hash della password. Il salt è mantenuto insieme al record dell’utente in modo da poter calcolare l’hash nel momento dell’autenticazione. Il salt non varia nel tempo.
Il salt è fighissimo, serve a:
1) prevenire che due password uguali abbiano lo stesso hash nel file delle password.
2) La difficoltà di attacchi offline cresce di brutto, per un salt di n bit il numero di password da provare aumenta di 2^n
3) Diventa molto difficile capire se un utente ha usato la stessa password su sistemi
diversi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Dove viene inserito il salt value? Quando viene generato? Varia nel tempo?

A

Viene inserito all’interno del db delle password hashate, in chiaro. Viene generato durante l’iscrizione dell’utente ad un servizio, per poi essere passato ad una hash function, insieme alla password. Non varia nel tempo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Che metodo usano i sistemi UNIX per gestire le password?

A

I sistemi UNIX fanno ricorso a delle password hashate e a dei salt values, con la seguente
procedura: per inserire una nuova password nel sistema essa sarà combinata con un salt value di dimensione fissa, questi due valori fanno da input per una funzione hash che restituirà in output un digest di dimensioni fisse, questo sarà memorizzato insieme ad una versione in chiaro del salt value utilizzato. Quando un utente proverà a loggare in un sistema UNIX immetterà un ID che servirà per identificare il salt value della password relativa, e una password, che sarà data in input insieme al salt value appena trovato alla funzione di hash, allo scopo di confrontarla con quella già in memoria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cos’è un dizionario di password?

A

È un documento che contiene una grande quantità di testo che corrisponde a password
utilizzate da vari utenti e che sono definite come molto semplici o usate spesso. Viene utilizzato da un attaccante per effettuare attacchi a dizionario offline o anche da chi gestisce un sistema per impedire agli utenti di scegliere determinate password vulnerabili.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cos’è OpenBSD?

A

Si tratta di una versione di UNIX molto incentrata sulla sicurezza informatica. È predisposto per supportare di base diversi meccanismi avanzati di sicurezza. “Our effort emphasize portability, standardization, correctness, proactive security and integrated cryptography.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cos’è John The Ripper?

A

E’ uno strumento per il controllo della bontà delle password, al fine di limitare il rischio di intrusioni nel sistema. E’ il sw più famoso per questo scopo, è open source e disponibile per diversi SO. JTR usa in input un unico file, ottenibile dalla fusione di password e shadow (a system file in Linux that stores encrypted user passwords and is accessible only to the root user, preventing unauthorized users or malicious actors from breaking into the system). La bontà delle password si può testare in diversi modi:

  • Single crack mode: Permette di trovare le pw più banali usando unicamente il file combinato.
  • Wordlist: sfrutta un dizionario
  • Incrementale: utilizza un approccio di tipo bruteforce. Di questa modalità vi è una
    variante, che sfrutta un wordlist con parole variate (ad esempio con numeri e caratteri
    aggiunti) sulla base di “mangling rules”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quali vulnerabilità restano se criptiamo il file delle password?

A

Il file delle password può sempre esseere sottratto al sistema da un malintenzionato e portato su un altro sistema sul quale viene utilizzato un approccio a brute force per la decrittazione.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Che strategie adottare per scegliere una password?

A

Per scegliere una password è consigliato seguire diverse indicazioni:

1) Scegliere una password di una buona lunghezza
2) Inserire caratteri speciali e numeri, anche più di uno.
3) Evitare password comuni
4) Utilizzare combinazioni di lettere minuscole e maiuscole
5) Non utilizzare parole presenti in dizionari famosi
6) Evitare nomi comuni e propri

In alternativa è sempre possibile e consigliato generare una password con un password
manager.

16
Q

Che problemi hanno le password generate da computer?

A

Le password generate dai computer utilizzano algoritmi particolari per generare caratteri utilizzando numeri pseudocasuali. Se un attaccante ha il controllo dell’algoritmo di generazione può riuscire a intercettare la password generate ed utilizzarle. Si consiglia l’uso di numeri casuali e non pseudocasuali per la generazione di password. Inoltre gli utenti scemi non sono in grado di ricordarle e tendono a scriverle da qualche parte.

17
Q

Perché costringere gli utenti ad usare password lunghe ad esempio 16 caratteri (Basic 16) è una scelta ragionevole ma sconsigliata allo stesso tempo?

A

Perché password lunghe sono più difficilmente attaccabili utilizzando un approccio brute
force. Utilizzando una lunghezza password fissa tuttavia stiamo anche dando informazioni aggiuntive all’attaccante, che saprà di conseguenza quali password escludere dallo spazio di password da provare.

Remember:
A longer password is a more secure password only if it has a greater amount of entropy. Setting a high minimum length requirement will actually reduce the amount of entropy in user-chosen passwords by encouraging key repetition and keyboard patterns. As a general rule, users will choose the weakest passwords allowable. An attacker will know your minimum requirements, too, so they will not waste time guessing shorter passwords.

18
Q

Cosa dovrebbe fare un password checker?

A

E’ uno strumento di cui si serve un sistema il cui compito è quello di rifiutare le password più “indovinabili” e banali. Il sistema molto spesso si limita a rifiutare le password presenti in dei dizionari di password considerate a rischio. In un sistema ideale gli utenti non possono scegliere password banali ma non necessitano di tanti tentativi per immetterne una che il password checker lasci passare.

19
Q

Cos’è la token based authentication?

A

La token based authentication è un tipo di accesso basato su oggetti di cui è in possesso l’utente, come memory card o smart card.

20
Q

Cos’è una Memory Card? Perché non è una buona idea usarla da sola? Con cosa viene combinata di solito? Un esempio di Memory Card? Che svantaggi ha?

A

Una memory card è una carta che può immagazzinare dati ma non processarli. Non è generalmente una buona idea utilizzarla da sola perché un semplice furto permetterebbe ad un malintenzionato di accedere ad un sistema. Solitamente essa viene combinata con un PIN o con una password. Un esempio di memory card può essere quella utilizzata per accedere al proprio conto corrente tramite servizi come bancomat. I principali svantaggi di questo token sono:
● la necessità di un lettore apposito
● la possibile perdita della carta
● la accettabilità degli utenti, qualora dovessero utilizzare la carta anche per accessi ad un sistema da terminale.

21
Q

Cos’è una smart card? Cosa cambia da una memory card?

A

Una smart card è un token smart che pertanto è dotato di un microprocessore e che solitamente presenta un’interfaccia adatta all’uomo se presentata ad un sistema informatico. Oltre a questa, presenta anche un interfaccia elettronica per dialogare con dispositivi come reader/writers. La smart card, oltre ad essere notevolmente più costosa di una memory card a banda magnetica, è anche molto più sicura. Una memory card è solamente una carta che ha memorizzato un segreto, nel momento dell’utilizzo questo segreto viene passato al sistema ricevente che farà tutte le verifiche del caso, in una smart card invece, il segreto viene processato all’interno della smart card stessa, non ci sono divulgazioni di informazioni e quello che il terminale riceve è solamente un ok o ko per l’operazione richiesta. Una tipica smart card include tre tipi di memoria. Memoria di sola lettura (ROM) memorizza i dati che non cambiano durante la vita della scheda, come il numero della scheda e il nome del titolare della carta. ROM programmabile cancellabile elettricamente (EEPROM) contiene dati e
programmi applicativi, come i protocolli che la carta può eseguire. Contiene anche dati che possono variare nel tempo. Memoria (RAM) contiene i dati temporanei generati durante l’esecuzione delle applicazioni. Le smart card possono essere di tipo contact o contactless.

22
Q

Cosa cambia fra contact e contactless?

A

Si parla di Contact nel caso di smart card che devono essere inserite all’interno di un lettore (facendo si che avvenga un contatto tra i pin della carta e quelli del lettore), al contrario le schede contactless necessita solo della prossimità per dialogare con un dispositivo adibito, utilizzando delle radiofrequenze e delle antenne.

23
Q

Il protocollo di autenticazione di uno smart token può essere statico, generato dinamicamente e di tipo challenge-response. Cosa cambia?

A
  • Statico: l’utente autentica sé stesso al token, che poi gli dà accesso a servizio;
  • Generatore di password dinamico: In questo caso, il token genera un’unica password periodicamente (ad es. ogni minuto). Questa password viene quindi inserita nel sistema informatico per l’autenticazione, manualmente da parte dell’utente o elettronicamente tramite il token. Il token e il sistema informatico devono essere inizializzati e mantenuti sincronizzati in modo che il computer conosca la password che è corrente per questo token.
  • Challenge-response: in questo caso, il sistema informatico genera una sfida, come una stringa casuale di numeri. Il token intelligente genera una risposta basata sulla sfida. Ad esempio, la crittografia a chiave pubblica potrebbe essere utilizzata e il token potrebbe
    crittografare la stringa di sfida con la chiave privata del token.
24
Q

Cosa si intende per remote user authentication?

A

Parliamo di Remote User Authentication quando l’autenticazione avviene attraverso reti, come Internet. Questo tipo di autenticazione comporta problematiche aggiuntive come ad esempio attacchi di eavesdropping(ascolto/cattura password in rete) e replay attack. Solitamente vengono utilizzati protocolli challenge-response. Per rendere più sicura l’autenticazione over Internet, si utilizzano protocolli di autenticazione multi-step, come ad esempio la richiesta di un OTP generato da un device posseduto dall’utente oppure inviato via SMS (sconsigliato dal Nist).. ma apprezzato dal prof.

25
Q

Come funziona il Basic Challenge-Response Protocol nella Remote User Authentication? Che vantaggi ha?

A

La forma più semplice di Challenge-response protocol consiste nell’inviare il proprio ID a un server di autenticazione, il server risponde richiedendo la password e fornendo un Nonce, il client risponderà e il server controllerà la bontà della risposta autenticando oppure no il client. I vantaggi sono i seguenti:

  • il processo di autenticazione richiede la conoscenza di una informazione che solo l’utente legittimo può generare correttamente;
  • domande/risposte sono generate dinamicamente, rendendo difficile l’intrusione;
  • un attaccante, in seguito ad un’intrusione , ha l’eventuale accesso alla sfida, non ai dati in chiaro;
  • l’uso di un numero casuale come uno degli argomenti di f difende da un attacco di replay, in cui un avversario cattura la trasmissione dell’utente e tenta di accedere a un sistema ritrasmettendo i messaggi dell’utente.

Potrebbe essere soggetto ad attacchi man in the middle, se la comunicazione non è crittografata.

26
Q

Quali sono gli attacchi che minacciano la user authentication?

A
  • client attack;
  • host attack;
  • eavesdropping (intercettazione);
  • replay;
  • trojan horse attack.
27
Q

Cosa sono i client e gli host attack?

A
  • Gli attacchi client: sono quelli in cui un avversario tenta di raggiungere l’autenticazione utente senza accesso all’host remoto. L’avversario tenta
    di mascherarsi da utente legittimo. Per un sistema basato su password, l’avversario può tentare di indovinare la probabile password dell’utente. Si possono fare più ipotesi. All’estremo, l’avversario passa attraverso tutte le possibili password in un tentativo esaustivo di successo. Un modo per contrastare tale un attacco consiste nel selezionare una password lunga e imprevedibile. Un’altra contromisura è limitare il numero di tentativi che possono essere effettuate in un determinato periodo di tempo da una determinata fonte. Un token può generare un passcode da un PIN o da un password. L’avversario può essere in grado di indovinare o acquisire il PIN o la password, ma per avere successo è necessario acquisire anche il token fisico.
  • Gli attacchi dell’host: sono diretti al file utente sullo host dove password, token, codici di accesso o modelli biometrici vengono memorizzati . Per i token, c’è l’addizionale difesa dell’uso di codici di accesso una tantum, in modo che i codici di accesso non vengano memorizzati in un host. Le caratteristiche biometriche di un utente sono difficili da proteggere perché sono caratteristiche fisiche dell’utente. Per una caratteristica
    statica, l’autenticazione del dispositivo biometrico aggiunge una misuradi protezione. Per una funzionalità dinamica, un protocollo challenge-response può essere utile per migliorare la sicurezza.
28
Q

Cos’è un attacco eavesdropping (intercettazione)?

A

Si tratta di un tipo di attacco online e passivo che mira a raccogliere informazioni (origliare) su una rete di comunicazione. Si può generalmente counterare utilizzando la crittografia ma l’attaccante può comunque effettuare criptoanalisi e puttanate varie. In realtà sul libro ho trovato anche “in the context of passwords refers to an adversary’s attempt to learn the password by observing the user, finding a written copy of the password, or some similar attack that involves the physical proximity of user and adversary.”

29
Q

Come può tornare utile un attacco di tipo Replay nella User Authentication? Come si può affrontare?

A

Gli attacchi di tipo replay coinvolgono un avversario che ripete una risposta utente
precedentemente catturata. Ad esempio se monitorando le interazioni tra client e server ci si accorge di un particolare pattern, l’attaccante può trovare quale richiesta è associata all’autenticazione e poi sfruttarla per autenticarsi illegalmente. Ci si può proteggere da tali attacchi utilizzando un protocollo chiamato challenge-response.

30
Q

Cos’è un Trojan Horse attack?

A

In un attacco a cavallo di Troia, un’applicazione o un dispositivo fisico si maschera da un’applicazione o un dispositivo autentico allo scopo di acquisire una password utente, codice di accesso o biometrico. L’avversario può quindi utilizzare le informazioni acquisite per mascherarsi da utente legittimo. Un semplice esempio di questo è un bancomat rouge utilizzato per acquisire combinazioni di ID utente/password.

31
Q

Descrivere queste tecniche e fornire pro e contro di ognuna: Computer-generated
passwords, Reactive password checking, Proactive password checking.

A

Computer generated password:
Vantaggi:
1) Le password generate sono molto più complesse di quelle scelte dagli utenti
rendendo più difficili attacchi di tipo dizionario.
Svantaggi:
1) Gli utenti non ricorderanno bene la password e probabilmente tenderanno a
segnarla da qualche parte rendendo più facili attacchi Exploiting user mistakes e
eavesdropping.
2) Le password generate utilizzando generatori di numeri casuali non sono sicure se
il generatore è corrotto o è stato attaccato.

Reactive password checking:

Il sistema lancia periodicamente il suo password cracker per trovare password deboli.
Vantaggi:
1) Se vengono trovate password deboli, le password vengono cancellate e l’utente
viene notificato, rendendo il sistema più sicuro
Svantaggi:
1) Consuma risorse
2) Gli hacker possono usare le proprie macchine con una copia del file con le password, riescono ad arrivare a quel file?

Proactive password checking:

Il sistema controlla al momento dell’inserimento se la password è accettabile.
Vantaggi:
1) con l’aiuto del sistema l’utente può trovare password difficili da indovinare
Svantaggi:
2) aggiunge complessità