Perché non hashing e salting password?

3

Quando stavo implementando la mia webapp, ho deciso di usare le password di hash e salt per proteggerle, anche se sapevo che non ce ne saranno mai molte ... se ce ne sono. Naturalmente, non sto dicendo che la mia implementazione sia perfetta e resisterà ai potenziali aggressori, ma almeno ci ho provato.

Ho pensato che questo è il modo in cui funzionano le cose.

Ma dopo che molti grandi nomi del settore tecnologico sono stati violati (Sony, Adobe, Yahoo!), ho scoperto che non sono password di hashing e se lo fanno, non le saltano. Ho persino letto da qualche parte sulla notizia che OkCupid sta memorizzando le password in PLAINTEXT!

Non sono un ragazzo della sicurezza, ma sono certo che alcuni di voi lavorano (o) per queste aziende o per quelle che sono tanto grandi (e altrettanto spericolate). Quindi, forse puoi rispondere alla mia domanda:

Perché una grande azienda con tanti utenti decide di NON prendere le misure necessarie per proteggerli? Cosa mi manca?

    
posta ahmed 08.12.2013 - 01:44
fonte

3 risposte

7

Questa è una speculazione, naturalmente, ma potrebbero aver implementato il loro sistema originale prima che la sicurezza fosse nella mente di tutti.

Una volta implementato un sistema come questo, si tende a riutilizzarlo in molti punti, e così si accumulano molte dipendenze su di esso. E una volta che hai delle dipendenze, apportare modifiche diventa molto costoso. Anche se avessero avuto delle persone ben informate che dicevano che era insicuro e avrebbero dovuto cambiarlo, il costo sarebbe probabilmente stato superiore al rischio percepito.

Fino a quando il rischio non si realizza. Poi hanno imparato a fondo che hanno bisogno di prendere molto seriamente queste cose.

    
risposta data 08.12.2013 - 02:56
fonte
4

Dei sistemi e dei siti che sono stati sviluppati di recente, ci sono due ragioni principali per cui qualsiasi azienda memorizzerebbe le password in testo non cifrato e senza virgolette.

Opzione 1: non ci hanno pensato durante la creazione del supporto di memorizzazione. Come è stato visto spesso in passato, la sicurezza (sia informatica che di altro tipo) non è qualcosa a cui la gente pensa fino a quando non sente di averne bisogno. In alcune parti del mondo, le persone lasciano le loro porte anteriori sbloccate, ei loro vicini si avvicinano e si preparano una tazza di tè mentre aspettano che il proprietario torni. Solo una volta che hanno rubato qualcosa, ripensano a quel piano. Allo stesso modo, quante volte hai usato, o visto qualcun altro, una password non sicura per accedere a qualcosa ... come la tua data di nascita o 1234 per il PIN della carta di credito, "password" per un sito web, ecc.? È lo stesso che chiudere la porta principale ma non bloccarla. Bene, fino a quando qualcuno malintenzionato vuole ottenere l'accesso.

Opzione 2: ci hanno pensato e hanno deciso che non ne avevano bisogno. Ho visto le aziende dire "Se abbiamo un sito che non memorizza informazioni personali, non gestisce transazioni monetarie e non ha nulla di valore, quindi non c'è alcun problema con la mancanza di sicurezza, vero?". Purtroppo hanno sempre torto in questo per una ragione, e qualche volta anche per un secondo. Il primo è che le persone riutilizzano le password. Se hanno la stessa password su questo supporto di memorizzazione non sicuro come fanno per le loro e-mail o bancarie, hanno un problema. Sebbene non sia la responsabilità dell'azienda, è una piccola cosa che potrebbero fare per aiutare il settore della sicurezza nel suo complesso. La seconda ragione per cui questo è sbagliato è che le cose senza valore reale spesso hanno un valore percepito. Prendi ad esempio la tua reputazione - spesso i forum su Internet sono completamente anonimi e non contengono informazioni personali sull'utente. Se qualcun altro potrebbe accedere al tuo account e fare commenti sprezzanti sugli altri, la reputazione della tua identità digitale verrebbe danneggiata, anche se non hai perso nulla con un valore quantificabile reale.

In termini semplici, la sicurezza è qualcosa di spesso imbullonato alla fine di qualsiasi sviluppo del ciclo di vita del software, piuttosto che pensare attentamente da zero. Molti sistemi avranno il metodo "sicuro" di password salate e hash aggiunte al sistema poco prima del rilascio per il test. Anche se è positivo che ce l'abbiano, ci sono dei difetti con questo modo di pensare, poiché il resto del sistema potrebbe avere delle vulnerabilità che precludono le misure di sicurezza che hanno preso dall'essere di qualche utilità. L'autenticazione NTLM per Windows è un esempio. Questa password hash è protetta in modo molto efficace dagli attacchi brute-force, tuttavia se il sistema ha ancora il vecchio hash della password LM (per la stessa password) memorizzato insieme al metodo migliore , puoi ridurre drasticamente il tempo necessario per rompere l'hash della password NTLM rompendo prima l'hash della password LM.

Anche le persone che dovrebbero conoscere meglio stanno memorizzando le password in chiaro. Ogni volta che ricevi un'email di conferma da un sito web che hai registrato e ti dicono quale password hai utilizzato, la mia raccomandazione è di eliminare immediatamente il tuo account. Un bell'esempio di questo fino a un paio di anni fa era nientemeno che la British Computing Society (che dovrebbe sicuramente conoscere meglio!)

    
risposta data 08.12.2013 - 19:50
fonte
2

Non è possibile per nessuno che non ha preso la sua decisione di fare un commento autorevole sul motivo per cui ha scelto di non fare hash & salate le password. Detto questo, le società che non hanno hash & Salt ha fatto la cosa "sbagliata" dal punto di vista della sicurezza. L'unica volta che crittografate è se hai bisogno del segreto originale. L'unica volta che hai hash senza salting è se hai bisogno dello stesso valore di hash per lo stesso hash ogni volta (o per compatibilità con le versioni precedenti in rari casi).

    
risposta data 08.12.2013 - 02:11
fonte

Leggi altre domande sui tag