In che modo i siti Web proteggono le tue password?
Raramente passiamo un mese senza sentire parlare di una sorta di violazione dei dati. Potrebbe essere un servizio popolare come Gmail o qualcosa di cui la maggior parte di noi si è dimenticata, come MySpace.
Una delle cose peggiori che un hacker può scoprire è la tua password. Ciò è particolarmente vero se si va contro i consigli standard e si utilizzano le stesse credenziali di accesso su piattaforme diverse. Ma prendersi cura della tua password non è solo tua responsabilità.
Quindi, come fanno i siti Web a memorizzare le tue password? Come tengono al sicuro le tue credenziali di accesso? E qual è il metodo più sicuro che possono utilizzare per prendersi cura della tua password?
Lo scenario peggiore: testo normale
Considera questo: un sito Web importante è stato violato. I criminali informatici hanno violato tutte le misure di sicurezza di base adottate, forse approfittando di una falla nella loro architettura. Sei un cliente. Quel sito ha memorizzato i tuoi dati. Per fortuna, ti è stato assicurato che la tua password è sicura.
Tranne che il sito memorizza la tua password come testo normale.
Le password in testo semplice aspettano solo di essere saccheggiate. Non usano alcun algoritmo per renderli illeggibili. Gli hacker possono leggerlo semplicemente come stai leggendo questa frase.
Non importa quanto sia complessa la tua password: un database di testo semplice è un elenco delle password di tutti, spiegate chiaramente, inclusi i numeri e i caratteri aggiuntivi che usi.
E anche se gli hacker non violano il sito, vuoi davvero che un amministratore di un sito web senza volto sia in grado di vedere i tuoi dettagli di accesso riservati?
Potresti pensare che questo sia un problema molto raro, ma si stima che il 30% dei siti Web di e-commerce utilizzi questo metodo per “proteggere” i tuoi dati: in effetti, c’è un intero sito dedicato a evidenziare questi trasgressori !
Un modo semplice per scoprire se un sito lo utilizza è se, subito dopo la registrazione, ricevi un’email da loro che elenca i tuoi dettagli di accesso. In tal caso, potresti voler modificare tutti i siti con la stessa password e contattare l’azienda per avvisarli che la loro sicurezza è scarsa.
Non significa necessariamente che li memorizzino come testo normale, ma è un buon indicatore.
E comunque non dovrebbero inviare quel genere di cose nelle e-mail. Potrebbero sostenere di avere dei firewall firewall e altre precauzioni di sicurezza per proteggersi dai criminali informatici, ma ricorda loro che nessun sistema è impeccabile e fa penzolare la prospettiva di perdere clienti di fronte a loro. Presto cambieranno idea. Fiduciosamente…
Non buono come sembra: crittografia En
Tratta la tua password come il tuo spazzolino da denti, cambiala regolarmente e non condividerla!
— Anti-Bullying Pro (dall’organizzazione benefica The Diana Award) (@AntiBullyingPro) 13 agosto 2016
Quindi cosa fanno molti di questi siti Web per proteggere le tue password?
Molti si rivolgeranno alla crittografia. Questo confonde le tue informazioni, rendendole illeggibili fino a quando non vengono presentate due chiavi, una in tuo possesso (che sono i tuoi dettagli di accesso) e l’altra dalla società in questione.
Dovresti usare la crittografia anche altrove. Face ID su iPhone è una forma di crittografia. Qualsiasi codice lo è. Internet funziona con la crittografia: l’HTTPS che puoi vedere negli URL significa che il sito in cui ti trovi utilizza i protocolli SSL o TLS per verificare le connessioni e confondere i dati.
Ma nonostante quello che potresti aver sentito, la crittografia non è perfetta.
Dovrebbe essere sicuro, ma lo è solo quanto il luogo in cui sono conservate le chiavi. Se un sito Web sta proteggendo la tua chiave (cioè la password) utilizzando la propria, un hacker potrebbe esporre quest’ultima per trovare la prima e decrittografarla. Richiederebbe uno sforzo relativamente piccolo da parte di un ladro per trovare la tua password; ecco perché i database chiave sono un obiettivo enorme.
Se la loro chiave è memorizzata sullo stesso server del tuo, la tua password potrebbe anche essere in testo normale. Ecco perché il suddetto sito PlainTextOffenders elenca anche i servizi che utilizzano la crittografia reversibile.
Sorprendentemente semplice (ma non sempre efficace): l’hashing
Ora stiamo arrivando da qualche parte. L’hashing delle password suona come un gergo, ma è semplicemente una forma di crittografia più sicura.
Invece di memorizzare la tua password come testo normale, un sito la esegue tramite una funzione hash, come MD5, Secure Hashing Algorithm (SHA)-1 o SHA-256, che la trasforma in un insieme di cifre completamente diverso. Questi possono essere numeri, lettere o altri caratteri.
La tua password potrebbe essere IH3artMU0. Potrebbe trasformarsi in 7dVq$@ihT, e se un hacker entrasse in un database, questo è tutto ciò che possono vedere. E funziona solo in un modo. Non puoi decodificarlo indietro.
Sfortunatamente, non è così sicuro. È meglio del testo normale, ma è ancora abbastanza standard per i criminali informatici.
La chiave è che una password specifica produce un hash specifico. C’è una buona ragione per questo: ogni volta che accedi con la password IH3artMU0, passa automaticamente attraverso quella funzione di hash e il sito web ti consente di accedere se quell’hash e quello nel database del sito corrispondono.
Significa anche che gli hacker hanno sviluppato tabelle arcobaleno. Considerali come dei cheat sheet: sono elenchi di hash, già utilizzati da altri come password, che un sistema sofisticato può eseguire rapidamente come un attacco di forza bruta .
Se hai scelto una password davvero errata, sarà in cima ai tavoli arcobaleno e potrebbe essere facilmente decifrata. Quelli più oscuri (combinazioni particolarmente estese) impiegheranno più tempo.
Il meglio che c’è in questo momento: salatura e hash lenti
Niente è inespugnabile: gli hacker lavoreranno per violare qualsiasi nuovo sistema di sicurezza. Ma le tecniche più potenti implementate dai siti più sicuri sono hash più intelligenti.
Gli hash salati si basano sulla pratica di un nonce crittografico, un set di dati casuali generato per ogni singola password, in genere molto lungo e molto complesso.
Queste cifre aggiuntive vengono aggiunte all’inizio o alla fine di una password (o combinazioni email-password) prima che passi attraverso la funzione hash, al fine di contrastare i tentativi effettuati utilizzando le tabelle arcobaleno.
Generalmente non importa se i salt sono memorizzati sugli stessi server degli hash; decifrare una serie di password può richiedere molto tempo agli hacker, e diventa ancora più difficile se la tua password è già complicata.
Ecco perché dovresti sempre usare una password sicura, non importa quanto ti fidi della sicurezza di un sito.
I siti Web che prendono particolarmente sul serio la loro e, per estensione, la tua sicurezza utilizzano anche hash lenti come misura aggiuntiva. Le funzioni hash più note (MD5, SHA-1 e SHA-256) esistono da un po’ di tempo e sono ampiamente utilizzate perché sono relativamente facili da implementare e applicano gli hash in un batter d’occhio.
Pur applicando ancora i sali, gli hash lenti sono ancora più efficaci nel combattere gli attacchi che si basano sulla velocità. Limitando gli hacker a un numero sostanzialmente inferiore di tentativi al secondo, impiegano più tempo a craccare, rendendo quindi i tentativi meno utili, considerando anche la ridotta percentuale di successo.
I criminali informatici devono valutare se vale la pena attaccare i sistemi di hash lenti che richiedono tempo piuttosto che “soluzioni rapide”: le istituzioni mediche in genere hanno una sicurezza inferiore, ad esempio, quindi i dati ottenuti da lì possono ancora essere venduti per somme sorprendenti.
È anche molto adattivo: se un sistema è sottoposto a particolari sollecitazioni, può rallentare ulteriormente. Coda Hale , l’ex principale sviluppatore di software di Microsoft, confronta MD5 con forse la funzione di hash lento più notevole, bcrypt (altri includono PBKDF-2 e scrypt):
“Invece di craccare una password ogni 40 secondi [come con MD5], la craccherei ogni 12 anni circa [quando un sistema utilizza bcrypt]. Le tue password potrebbero non aver bisogno di quel tipo di sicurezza e potresti aver bisogno di un confronto più veloce algoritmo, ma bcrypt ti consente di scegliere il tuo equilibrio tra velocità e sicurezza.”
E poiché un hash lento può ancora essere implementato in meno di un secondo, gli utenti non dovrebbero essere interessati.
Perché l’archiviazione delle password è importante?
Quando utilizziamo un servizio online, stipuliamo un contratto di fiducia. Dovresti essere al sicuro sapendo che le tue informazioni personali vengono mantenute al sicuro.
Conservare la password in modo sicuro è particolarmente importante. Nonostante i numerosi avvisi, molti usano ancora la stessa password per siti diversi, quindi se, ad esempio, il tuo Facebook viene violato, i dettagli di accesso per qualsiasi altro sito che utilizza la stessa password potrebbero anche essere un libro aperto per i criminali informatici.