Chapter 3: User Authentication Flashcards
(33 cards)
Come funziona il Basic Challenge-Response Protocol nella Remote User Authentication?
Che vantaggi ha?
Un meccanismo di autenticazione in cui il server invia una “sfida” (challenge) al client, il quale deve rispondere correttamente per dimostrare la propria identità, senza trasmettere direttamente la password.
Ha il vantaggio che la password non viene mai trasmessa in chiaro sulla rete, riducendo il rischio di intercettazioni.
Inoltre assicura che l’utente possieda effettivamente la chiave segreta, senza necessità di trasmetterla.
Quali sono gli attacchi che minacciano la User Authentication?
Tentativi malevoli di ottenere accesso non autorizzato sfruttando vulnerabilità nei meccanismi di autenticazione possono essere:
- Phishing
- Brute Force
- Dictionary Attack
- Credential Stuffing
- Password Spraying
- Man-in-the-Middle (MitM)
- Session Hijacking
- Attacchi AitM: Proxy tra utente e sito legittimo per catturare credenziali e token.
- Keylogger
- MFA Fatigue: Invio ripetuto di richieste di autenticazione a più fattori per indurre l’utente a concedere l’accesso.
Cosa può essere usato per autenticare un utente?
Possono essere usate 4 categorie di metodi:
● Qualcosa che l’utente conosce (password, pin)
● Qualcosa che l’utente possiede, quindi un token (carta magnetica, smart card)
● Qualcosa che l’utente è, quindi dati biometrici (iride, volto)
● Qualcosa che l’utente fa (riconoscimento vocale, scrittura a mano libera)
Cosa dovrebbe fare un password checker?
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.
Cos’è John The Ripper?
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 passwd e shadow
(i due file unix contenente le varie informazioni sugli utenti). 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.
Sfrutta wordlist per effettuare un confronto con le password degli utenti.
Incrementale: utilizza un approccio di tipo bruteforce. Di questa modalità vi è una
variante, che sfrutta un wordlist con parole variate.
Cos’è un Credential Service Provider (CSP)?
Un CSP è un servizio che si occupa di assegnare delle credenziali a un utente che si vuole
iscrivere a un determinato servizio. Per entrare in comunicazione con un CSP un utente si
deve rivolgere a una registration authority.
Cosa sono i Client Attack (User Authentication)? Mentre gli Host Attack?
Un client attack è un attacco che non mira al server in cui è contenuto il file delle
password, ma che tenta di fare masquerade fingendosi uno user che appartiene al sistema.
L’attaccante prova a fingersi l’utente indovinando la password e accedendo come se fosse
lui.
Un host attack mira al server in cui sono contenute le password (hashate). Una volta
ottenuto si usano i soliti dictionary attack e altro.
Cosa si intende per Remote User Authentication?
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.
(anche LDAP(Lightweigth Directory Access Protocol) potrebbe essere in contesti locali come dentro la rete locale di una azienda)
Cosa si intende per User Authentication?
Per user authentication si intende un processo che
permette di ottenere fiducia nell’identità di un utente, presente elettronicamente
all’interno di un sistema.
Quali sono i metodi più utilizzati per attaccare l’autenticazione basata su password?
- Attacco Brute Force
- Attacco a Dizionario
- Password Spraying (tanti utenti stessa password)
- Attacco con Rainbow Table
- Pass the Hash
- Keylogger
- Phishing
- Replay Attack
In questo attacco, l’aggressore utilizza direttamente l’hash della password per autenticarsi, senza bisogno di conoscere la password in chiaro. È particolarmente efficace in ambienti Windows, dove gli hash delle password possono essere utilizzati per l’autenticazione tra sistemi.
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?
Una memory card è un token fisico passivo per l’autenticazione.
Non ha un PIN o password associato → Se persa o rubata, chiunque può usarla.
Non è sufficiente da sola e va combinata con un secondo fattore (PIN o biometria) per garantire la sicurezza dell’identità digitale.
Un esempio di memory card può essere la carta sanitaria elettronica con chip e badge aziendali/universitari.
Infine ha molti svantaggi:
Facilmente rubabile o clonabile.
Richiede un lettore fisico compatibile.
Può danneggiarsi o smagnetizzarsi.
Perché costringere gli utenti ad usare password lunghe ad esempio 16 caratteri (basic16) è
una scelta ragionevole ma è sconsigliata allo stesso tempo?
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.
Che metodo usano i sistemi UNIX per gestire le password?
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 codice hashato di dimensioni fisse, questo codice hashato 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.
in pratica salt + hash tutto salvato in chiaro in file nascosti
Quali vulnerabilità restano se criptiamo il file delle password?
- Compromissione della password
- Password Deboli o Riutilizzate
- Attacchi durante l’uso del sistema
Cosa cambia tra Contact e Contactless?
contact serve il contatto contacless usa nfc
Cos’è OpenBSD?
Sistema operativo derivato dalla Berkeley Software Distribution incentrato sulla sicurezza informatica. È predisposto per supportare di base diversi meccanismi avanzati di sicurezza.
Che problemi hanno le password generate dai computer?
Le password generate automaticamente dai computer, specialmente tramite strumenti affidabili e basati su algoritmi crittografici, sono generalmente più sicure rispetto a quelle create manualmente dagli utenti. Tuttavia, esistono alcune potenziali problematiche e considerazioni da tenere a mente:
- Difficoltà di Memorizzazione
- Conservazione Inadeguata
Come può tornare utile un attacco di tipo Replay nella User Authentication? Come si può
affrontare?
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.
Dove viene inserito il salt value? Quando viene generato? Varia nel tempo?
Nelle password, all’inserimento nel database e non varia nel tempo
Che cos’è una Smart Card? Cosa cambia da una Memory Card?
Smart Card = Memory Card + Intelligenza.
Offre un livello di sicurezza molto più elevato perché esegue operazioni critiche internamente e può partecipare attivamente a protocolli di autenticazione e crittografia.
Cos’è una Registration Authority (RA)?
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” a un credential service
provider. In questo modello la RA è una entità trusted che stabilisce e fa valere l’identità
dell’iscritto al CSP.
Cos’è l’Assurance Level? E il Potential Impact? (User Authentication)
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 3 livelli di assurance, secondo le linee guida del NIST dal livello 1 che è quello con fiducia limitata
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).
Come funziona l’autenticazione basata su Password?
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.