Quando si parla di sicurezza hash vs forza bruta non dovremmo prendere un po 'di più in considerazione?
Prima di tutto, i dati offuscati md5 sono memorizzati nell'area attendibile oppure no. In altre parole, crediamo che il nostro amministratore di db non provi a leggere le password degli utenti dal database e la forza bruta li inverta. Questo può essere considerato attendibile o tecnicamente garantito tramite alcune procedure di sicurezza (l'amministratore di DB potrebbe non avere accesso alla tabella che memorizza gli hash delle password, questo può essere accessibile solo per il responsabile della sicurezza).
Un altro è la possibilità di login + password hash pair hijacking dalla transazione client o client-server. Se non ci sono cavalli di Troia nel client e la comunicazione tra client e server è protetta da TLS, la coppia deve essere protetta dagli attacchi man-in-the-middle.
Ciò che rimane per l'utente malintenzionato è (a parte l'ingegneria sociale, xss e l'interruzione di sicurezza dell'hosting) per inviare successivamente il numero di richieste generate al server di accesso e vedere se si è riusciti. Questo può essere gestito anche:
- dopo che entrambi login successo e insuccesso ci può essere qualche casuale tempo di ritardo prima che il servizio risponde a rallentare processo di forza bruta
- processo di login possono accodare le richieste d'accesso in parallelo da stesso IP e accessi in parallelo con lo stesso nome di login (di far rispettare la regola di cui sopra)
- ci può essere implementato limite per gli accessi non riusciti, dopo che è stato superato l'account è bloccato e avviso di sicurezza è stato lanciato
credo che quando sopra le regole sono implementate l'hash MD5 è abbastanza sicuro. In effetti è ugualmente sicuro come password semplice :) Per riassumere se crediamo che il nostro hash md5 sia sicuro possiamo semplicemente lasciare le password scoperte. La svolta è al giorno d'oggi non c'è affatto l'uso di md5 (in materia di password offuscante). Quello che dovresti fare è lasciarlo nella memoria nella zona fidata o usare uno strumento più potente (come SHA) quando non si deve gestire la zona fidata. E a mio parere, la zona di fiducia è ancora a rischio di interruzione della sicurezza del server (servizio di hosting), quindi non importa semplicemente confondere le password con SHA (o meglio) :) Questo non dovrebbe essere costoso per indurire l'hashing della password stessa e porta dei benefici (riduce i rischi) quindi il mio consiglio è di non rivedere mai più questa discussione.
Ancora con SHA hashing devono essere implementate tutte le regole di sicurezza parlate. Soprattutto TLS che impedisce di compromettere la coppia di login + password (non importa che la password sia inviata in chiaro o con hash con md5 o sha possa consentire l'accesso con successo). Anche i tentativi di accesso devono essere monitorati. Anche se riteniamo che il nostro sito sia a prova di forza bruta, è bene sapere che qualcuno sta cercando di infrangere la sicurezza.
fonte
2016-10-27 06:12:34
Grazie mille utile – user2160949
Se lo trovi utile, votalo! Non (solo) per la mia reputazione, ma per gli altri che hanno la stessa domanda. –