Domanda:
Il vicepresidente IT afferma di aver eliminato il 100% delle PW di tutti i 16.000 dipendenti. Ci sta mentendo?
loneboat
2012-11-28 20:28:41 UTC
view on stackexchange narkive permalink

Lavoro per un'azienda che ha ~ 16.000 dipendenti. Periodicamente, il nostro vicepresidente IT invia una newsletter con "suggerimenti tecnici" e varie cose IT. L'argomento della newsletter di questa settimana era "sicurezza delle password". Il paragrafo introduttivo ha attirato la mia attenzione:

Abbiamo appena decrittografato tutte le password degli utenti in uso per vedere se i dipendenti utilizzano password complesse. Abbiamo utilizzato una combinazione di strumenti di forza bruta, rcracki, hashcat / oclHhashcat e john-the-ripper per decrittografare le password.

Questo è stato seguito da una tipica newsletter che parlava di buone pratiche per le password: Don ' t utilizzare parole del dizionario; assicurati di utilizzare maiuscole / minuscole / simboli misti; non scrivere la tua password su una carta adesiva gialla vicino al tuo monitor; ecc ...

Ora, non sono un mago della crittografia, ma ero scettico sul fatto che affermasse di aver "decrittografato tutte le password degli utenti". Posso credere che forse hanno eseguito tutti gli hash attraverso i loro strumenti e ne hanno "decrittografati" gran parte , ma è davvero ragionevole che abbiano le risorse informatiche per affermare di averli crackati > tutti ? (A proposito, "decrittografato" è persino corretto in questo contesto?)

Gli ho inviato un'e-mail chiedendogli se intendeva dire che avevano eseguito tutte le password ATTRAVERSO gli strumenti di cracking e ne hanno semplicemente trovato un gran numero più deboli . Tuttavia ha risposto che, no, avevano effettivamente decriptato TUTTE le password degli utenti.

Posso apprezzare la lezione sulla sicurezza che sta cercando di insegnare qui, ma la mia password è di 8 caratteri casuali, generati da KeePass. Ho pensato che fosse abbastanza buono, è qualcosa di simile a Q6&dt>w} (ovviamente non è proprio così, ma è simile a quello).

I moderni strumenti di cracking sono davvero così potenti? O questo tizio probabilmente mi sta solo prendendo in giro in nome di una buona lezione di sicurezza?

P.S. Ho risposto alla sua email chiedendogli se poteva dirmi quali erano gli ultimi due caratteri della mia password. Nessuna risposta ancora, ma aggiornerò se riuscirà a produrla!


EDIT: Alcune risposte stanno discutendo la mia particolare lunghezza della password. Nota che non solo sta affermando di aver violato la MIA password (il che è credibile se mi hanno individuato), ma sta affermando che lo hanno fatto per TUTTI gli utenti - e abbiamo oltre 10.000 dipendenti !! Non sono così ingenuo da pensare che ciò significhi 10.000 buone password sicure, ma se anche l'1% degli utenti ha una buona password, sono comunque 100 buone password sicure che affermano di aver violato!

Se la tua azienda esegue l'hashing delle password con algoritmi deboli come MD5 senza sali invece di buoni come bcrypt, potrebbe essere possibile. In tal caso, tuttavia, il ragazzo non è in grado di fornire consigli sulla gestione delle password.
Se hanno decrittografato tutte le password, il problema non sono le password, è il modo in cui sono state crittografate e archiviate (cioè ha problemi, non tu).
Si. Questa è un'affermazione sorprendente, e la spiegazione più ragionevole è che in realtà non è affatto una persona tecnica, non ha fatto questo lavoro da solo, e sta riportando erroneamente i risultati che il suo subalterno più tecnico gli ha inviato. Tecnico: Sì, li abbiamo eseguiti su tutte le tue password e siamo stati in grado di recuperare alcune password. PHB: Grande Scott! Devo postarlo su Twitter!
Penso che chiederei perché i loro sistemi sono configurati in un modo che consente password che considerano deboli.
@Blrfl È molto difficile eliminare tutte le password veramente deboli, soprattutto quando si ha poco o nessun controllo su come l'applicazione le filtra. Ad esempio, anche seguendo le migliori pratiche del settore per i criteri password di Windows (minimo 12 caratteri, tipi di 3/4 caratteri, ecc.) "Password1234" è ancora valido. Anche proibendo la ripetizione delle password su 24 iterazioni, potresti comunque avere la prossima password "Password5678".
Penso che ti stia agitando un po 'su questa affermazione. A chi importa se la risposta vera è 90% vs 100%? Come cambierà in qualche modo le tue azioni? Come cambierà le lezioni o il messaggio da portare via? Non è. Sembra che tu stia solo infastidendo il tuo vicepresidente perché, beh, "Qualcuno si sbaglia su Internet". Potrebbe non essere una mossa per migliorare la carriera. Penso che sia un errore comune dei tecnici interpretare le affermazioni in modo eccessivamente preciso. È importante imparare a comunicare in modo efficace con altri che non sono come te.
@Iszi: Bene, certo, ma non è questo il punto. Il VP IT dell'OP ha i pantaloncini in un nodo perché pensa che il 100% delle password sul suo sistema siano "deboli". Se la percentuale è così alta, significa che non sta nemmeno facendo le basi per eliminare quelle veramente facili.
@Blrfl: Giusto per essere chiari, non ha affermato che il 100% delle password fosse debole, ha affermato che molte di esse erano deboli dopo averne decifrato il "100%" per verificare la loro sicurezza.
@loneboat: Buon punto. Tuttavia, se ce ne fosse abbastanza per meritare di dover agitare il dito contro i suoi utenti, la sua posizione di sicurezza non è molto forte.
@D.W. : Forse ho frainteso la mia posizione su questo. Non sono "agitato" su di esso. La mia email iniziale a lui era per curiosità onesta e genuina. Mi dispiace di aver seguito solo una lezione di crittografia a scuola, poiché mi affascina davvero. Sono rimasto sbalordito dal fatto che affermasse di averne decifrato il "100%"; Quando ha riaffermato via e-mail, ha risposto che "Sì, era davvero il 100% di loro", non stavo "interpretando le dichiarazioni in modo eccessivamente preciso" - questo è quello che ha detto (e confermato!). Non è che "qualcuno ha torto su Internet": onestamente mi chiedevo se fosse plausibile, quindi l'ho portato su SE.com
@Blrfl: Forse. Per essere onesti con lui, tuttavia, questo era nel contesto di una newsletter regolare che invia comunque, quindi forse era meno un "scodinzolio" e più un "Accidenti, ho dimenticato di inventare qualcosa per il newsletter. " :-)
Se avesse davvero decifrato il 100% delle password, non lo direi a nessuno, perché ciò significherebbe che anche la sua password è debole e anche tutte le password del reparto IT. Quindi non credo che, o se è corretto, l'azienda ha davvero un problema.
Può aver decrittografato _tutte_ le password? Immagino sia possibile, ma c'è una domanda molto più importante: ** cosa guadagni indicandolo se il vicepresidente ha mentito? ** Otterrai una promozione? Verrà licenziato? O infastidirai qualcuno molto più anziano di te facendogli perdere la faccia e snervando la tua carriera?
Probabilmente intendeva solo "tentato di decrittografare", come in, li ha eseguiti tutti attraverso quei programmi e quelli che erano abbastanza deboli sono stati decrittati.
+1 Andrew. Qualcuno che si vanta di aver decifrato 16k password memorizzate dalle sue app dovrebbe vergognarsi di usare un cattivo meccanismo di hashing. Più che password errate, ci sono problemi tecnici.
Hai controllato questo articolo di Ars Technica: [Perché le password non sono mai state più deboli e i cracker non sono mai stati più forti] (http://arstechnica.com/security/2012/08/passwords-under-assault/)?
Con abbastanza core CUDA o pochi FPGA, è fattibile. Ma altamente improbabile. E se afferma di averlo fatto con le CPU, sta mentendo. Anche con il semplice vecchio MD5 non salato. È solo hardware desktop, ma il cracking di un singolo hash MD5 a 8 caratteri sui miei 8 core a 4,2 GHz può richiedere molte ore.
Tredici risposte:
Rory McCune
2012-11-28 20:59:26 UTC
view on stackexchange narkive permalink

L'unico modo realistico in cui il 100% delle password è stato violato è archiviare gli hash LM su Windows. Gli hash LM si dividono in 2 blocchi da sette caratteri rendendo praticabili attacchi di forza bruta / tavolo arcobaleno (sono anche case insensitive per una maggiore facilità). Le tabelle arcobaleno esistono per questo ed è facilmente realizzabile.

Al di là di ciò, chiunque abbia più di 10 caratteri password che non sono in un dizionario (o individuabili mutando le parole del dizionario) non verrà decifrato su qualsiasi sistema ragionevole, anche con algoritmi deboli (es. md5) e senza sale. Per quanto ne so, le tabelle arcobaleno non sono pratiche con password così lunghe (per riferimento, le tabelle arcobaleno gratuite hanno un pacchetto da 2,8 TB di hash MD5 che supera le password di circa nove caratteri (non il set di caratteri completo).

Un punto che vorrei sottolineare è che se fossi il vicepresidente IT mi concentrerei sull'eliminazione degli hash LM piuttosto che parlare alla gente delle buone pratiche per le password proprio per il motivo che è stato in grado di recuperare il 100% di password :)

Penso che non gli sia venuto in mente così strano di aver saltato tutte le 16.000 password dei dipendenti e ha scelto di presumere che nessun dipendente in azienda si preoccupasse abbastanza da inventare una password complessa, rendendolo un tipico / pessimo manager IT.
Si noti che se le password sono 15 caratteri o più, la compatibilità LM è disabilitata.Quindi, anche se LM è l'impostazione predefinita, non vi è alcuna garanzia al 100%.
Thomas Pornin
2012-11-28 21:22:36 UTC
view on stackexchange narkive permalink

"Decrypted" non è il termine corretto. Cioè, le password potrebbero essere crittografate invece di essere sottoposte ad hashing, ma la decrittazione sarebbe semplice da parte di chiunque conosca la chiave di crittografia (che è anche la chiave di decrittazione); non avrebbe senso applicare strumenti di cracking come John the Ripper.

Pertanto, il tuo vicepresidente utilizza una terminologia approssimativa. È quindi plausibile che abbia usato anche la sintassi e la grammatica approssimative. Molto probabilmente, hanno presentato le 10k + password agli strumenti di cracking e ne hanno rotto alcune (una proporzione abbastanza sostanziale da richiedere un intervento del vicepresidente, ma non tutte). Il suo uso di "tutto" è solo, diciamo, un entusiasmo eccessivamente enfatico.

Ora sono pronto a credere che potrebbe violare metà delle password. È stato documentato che il worm Morris, nel 1988, poteva violare circa il 10% delle password esistenti con un dizionario di meno di mille parole ...

Nota che gli ho mandato un'e-mail a riguardo, e lui ha risposto insistendo sul fatto che li aveva effettivamente risolti "tutti". Questa stessa affermazione è ciò che mi fa chiedere se sia un'affermazione dubbia.
La trovo ancora un'affermazione dubbia. Tuttavia, sfidarlo a rivelare gli ultimi due caratteri della _tua_ password è il modo giusto per provarla. Ha rispettato?
in realtà con una crittografia a chiave pubblica la chiave di crittografia non è la chiave di decrittazione (un buon sale lungo e questo può essere sicuro)
@ratchetfreak: sfortunatamente, la crittografia a chiave pubblica di solito non è deterministica (ad esempio, la crittografia RSA ha un riempimento casuale) quindi non è utilizzabile per la _verifica_ della password senza la chiave di decrittazione - a meno che il sale non sia _ il riempimento casuale, ma questo inizia a sembrare una modifica fatta in casa di un algoritmo di crittografia e queste cose richiedono un'attenzione particolare.
La stessa RSA non ha il riempimento è che gli standard aggiungono il riempimento, RSA con n abbastanza grande (2048 bit per esempio) puoi riempire i bit rimanenti con il sale, essenzialmente un hash a 2048 bit
@ThomasPornin: No, non ha risposto alla mia seconda email. Vedo 3 possibilità: (1) Ha la risposta, ma dato che è un VP, sono stato fortunato ad aver ricevuto la PRIMA risposta, figuriamoci aspettarmi un secondo, (2) Ho chiamato il suo bluff e lui non vuole lasciarlo su rispondendo senza la risposta, o (3) è andato a noleggiare diverse istanze di Amazon EC2 e sta eseguendo furiosamente SOLO la MIA hash della password attraverso i suoi strumenti in modo da non dover ammettere di aver mentito. :-)
Una volta che assumiamo che stia usando "terminologia approssimativa", è probabile che con "crackato", o "decriptato", intenda - "eseguito attraverso JtR". O forse "tutti" significa "troppi".
@AviD - Nessun tecnico dovrebbe usare "tutti" per significare "troppi" o anche "molti". In realtà, nessuno dovrebbe: si chiama "mentire".
@NathanLong ovviamente, ma ovviamente * non * tecnico, e probabilmente non sa nemmeno di meglio. Quindi, non mentire, solo all'oscuro. O forse mentire.
@AviD - Si è fatto assumere come "VP of IT" e ha appena inviato un'e-mail con l'elenco delle tecniche di cracking delle password. Se non è veramente tecnico, è un bluffatore professionista.
@NathanLong vedere i commenti precedenti. Non è empiricamente accurato nella sua formulazione, mentendo o fraintendendo.
Iszi
2012-11-28 21:33:14 UTC
view on stackexchange narkive permalink

Ci sono alcune possibilità qui, alcune delle quali sono già state richiamate. Ognuno di questi renderebbe abbastanza banale per il tuo vicepresidente (IT) aver "decrittografato tutte le password degli utenti" indipendentemente dalla definizione che sta usando per "decrittografato".

  1. Le password in questione sono, in infatti, essendo archiviato con crittografia reversibile.
    • Il tuo vicepresidente potrebbe riferirsi alle password di un'applicazione web interna, dove ha scelto di utilizzare la crittografia anziché l'hashing.
    • Il tuo vicepresidente potrebbe effettivamente fare riferimento alle password di Windows e i criteri di gruppo della tua azienda consentono l'archiviazione con crittografia reversibile.
  2. Le password a cui si riferisce il tuo vicepresidente sono archiviate utilizzando algoritmi di hashing deboli e / o sono hash senza sali per utente.
    • L'hash LM è un esempio di algoritmo debole, comune alle implementazioni di Windows ottimizzate per la compatibilità con le versioni precedenti.
    • Mancato utilizzo di un il sale per utente rende gli attacchi alla tabella arcobaleno di & del dizionario molto più facili.
  3. Le password a cui si riferisce il tuo vicepresidente potrebbero effettivamente essere s in chiaro e sta solo dicendo che sono stati "decrittografati" per nascondere il fatto che non sono mai stati crittografati / sottoposti ad hashing in primo luogo.
  4. I dipendenti della tua azienda fanno tutti Password molto deboli.
    • Indipendentemente da quanto casuale sia la tua password, 8 caratteri non sono stati considerati "forti" per un bel po 'di tempo.

Considero l'elemento 4 di quella lista piuttosto improbabile, quindi a meno che uno qualsiasi degli altri tre non sia vero, è possibile che il tuo VP esageri solo un po '. Tuttavia, a meno che tu non abbia l'orecchio di qualcuno al livello C della tua azienda, dubito che ci sia molto che puoi fare per cambiare qualsiasi cosa tranne la forza effettiva della tua password. A tal fine:

  • Alcune persone dicono "12 è il nuovo 8". Dico di andare per 15. Ciò non solo renderà la password naturalmente più forte, ma impedirà anche a Windows di memorizzarla nel debole formato hash LM. L'hash LM può gestire solo password lunghe fino a 14 caratteri. Windows potrebbe visualizzare un messaggio di avviso quando modifichi la password in modo che contenga 15 caratteri o più, ma questo può (nella maggior parte dei casi) essere tranquillamente ignorato.
  • Non utilizzare la stessa password su più applicazioni. Per lo meno, suggerisco di mantenere la tua password di lavoro diversa dalle password utilizzate per gli account personali. Idealmente, due applicazioni non dovrebbero utilizzare la stessa password.
  • Continua con il resto delle cose buone che stai facendo. La generazione casuale delle tue password da un set completo di caratteri ASCII è fantastico. Assicurati solo che il prodotto finale includa tutti e quattro i tipi di carattere e nessuna parola reale.
In realtà considero il numero 4 il colpevole più probabile. In passato, in IT abbiamo detto agli utenti più e più volte di utilizzare una stringa di 8 caratteri casuali invece di parole / nomi, quando era una password abbastanza decente. Anche se la sicurezza di quelle password è cambiata, l'abitudine esiste ancora, anche tra gli utenti IT.
@Izkata Vero, ma è molto improbabile che 16.000 utenti di un'organizzazione abbiano password così deboli da essere facilmente danneggiabili quando viene utilizzato un metodo hash & salt appropriato.
Polynomial
2012-11-28 20:41:39 UTC
view on stackexchange narkive permalink

Decriptato non è la parola giusta, ma probabilmente voleva leggibilità piuttosto che accuratezza tecnica. Sono anche d'accordo sul fatto che probabilmente non li abbia ricevuti tutti , ma piuttosto una parte alta.

Ora, la tua password ha un problema: 8 caratteri non sono molto lunghi se la tua azienda utilizza un hash veloce come MD5 o LM. Un decente cracker basato su GPU può raggiungere circa 50 milioni di hash MD5 / sec. Se si assumono 100 caratteri stampabili su una tastiera QWERTY, è uno spazio chiave di 10.000.000.000.000.000 per una password di otto caratteri, che è un tempo di cracking previsto di ~ 3,15 anni. È improbabile che abbia catturato il tuo, ma non è particolarmente sicuro.

In alternativa, potrebbe avere un gigantesco tavolo arcobaleno di 8 caratteri per un set completo di caratteri, che catturerebbe immediatamente la tua password.

Nota che l'utilizzo di una tabella arcobaleno non è esattamente _immediato_. Se la tabella copre _N_ password ma ha dimensioni di archiviazione _N / t_ (quindi un'ottimizzazione dell'archiviazione _t_ volte), l'applicazione implica _t_ ricerche (un disco rigido meccanico può eseguire circa 100 ricerche al secondo) e _t²_ sforzi di calcolo. Una tabella arcobaleno efficiente in termini di spazio (ad esempio _t = 100000_) può essere un po 'costosa da usare. Soprattutto per usare 16000 volte ...
@ThomasPornin Certo, ma è praticamente immediato quando lo paragoni a una forza bruta.
`Un decente cracker basato su GPU può raggiungere circa 50M di hash MD5 / sec`. 500 milioni sono facilmente ottenibili su una GPU da $ 100 e [5 miliardi di hash / sec] (http://www.golubev.com/hashgpu.htm) su hardware di fascia alta. [28 miliardi di hash / sec per $ 2700] (http://blog.zorinaq.com/?e=42)
Numeri impressionanti di @FrankFarmer. Interessante.
Lucas Kauffman
2012-11-28 20:37:39 UTC
view on stackexchange narkive permalink

C'è qualcosa a cui riesco a pensare su come li hanno risolti così velocemente:

  • Stanno usando gli hash LM nella tua azienda per Windows (molto pericoloso e quindi hai un problema più grande del semplice semplici password deboli)
  • Hanno usato un attacco con tabella arcobaleno e hanno una tabella arcobaleno molto grande (8 caratteri è possibile)
  • Hanno le tue password archiviate crittografate anziché hash e decifrati con la loro chiave

Comunque 8 caratteri sono considerati dagli standard attuali abbastanza forti per la maggior parte degli utenti normali, ma consiglio sempre di usarne almeno 12. Se parliamo di amministratori di sistema o persone con l'accesso ad alcuni sistemi critici, consiglio sempre 16. Alcune persone considerano questo "eccessivo" ma preferisco renderli "troppo" forti che troppo deboli. Se stai usando KeePass per proteggere le tue password, non devi davvero preoccuparti di cosa sono perché non devi ricordarlo comunque.

Callum Wilson
2012-11-28 21:35:21 UTC
view on stackexchange narkive permalink

Ho fatto un esercizio simile su un client (hash Windows LM) e ho ottenuto oltre il 75% delle password degli utenti con strumenti simili menzionati nel poster originale. Questo tipo di attacco di solito ottiene oltre il 90% di password derivate da 8 caratteri umani (lingua inglese occidentale &). Più lunga è la password, più ampio è il set di caratteri: più difficile diventa e più bassa è la velocità di passaggio. Al mio cliente, molte delle password erano 8 caratteri o meno, il che mi ha reso la vita abbastanza facile. Il 25% era lungo o conteneva caratteri non nelle tabelle arcobaleno.

Se il tuo vicepresidente IT avesse speso soldi per questo, avrebbe potuto utilizzare uno degli elenchi di passwd commerciali o una soluzione SaaS che ha davvero enormi archivi di tutte le password disponibili per set di caratteri ampi (la maggior parte non include £, ad esempio) e se le password erano generalmente inferiori a 10 caratteri, ci sono buone probabilità che abbia ottenuto un tasso di successo che si avvicina al 100%.

JZeolla
2012-11-28 23:24:16 UTC
view on stackexchange narkive permalink

Molte persone lo hanno menzionato in modo molto più elaborato mentre sto per farlo, e molti di loro sono tecnicamente corretti con le opzioni fornite (presta particolare attenzione alla risposta di Iszi in quanto è tecnologicamente valida e completa). Tuttavia, volevo solo dare i miei due centesimi e dire che probabilmente sta succedendo una delle due cose.

  1. Stanno memorizzando le password utilizzando la crittografia reversibile (un'opzione di Criteri di gruppo AD), quindi utilizza solo la crittografia e lui le ha realmente "decrittografate". Questa è un'idea orribile, ma le persone lo fanno per il controllo delle password o per la compatibilità con le applicazioni legacy.

  2. Sta mentendo e hanno decifrato la maggior parte delle password, ma non tutte.

C'è anche la possibilità che memorizzino gli hash LM; il motivo per cui non credo sia quello che stanno facendo è perché in quel caso avrebbero una grave mancanza di sicurezza adeguata.

Creo password continuamente al mio lavoro e devo dire che non le ho MAI violate tutte. Lavoro per un'azienda con circa 50.000 dipendenti e in genere creiamo circa 8.000 password con 1 ora di sforzo, ovvero il frutto a bassa pendenza.

Una volta superata la fase di 1 ora di sforzo, diventa esponenzialmente più difficile decifrare le password (poiché in genere sono parole complesse non del dizionario di lunghezza sufficiente a quel punto), quindi di solito ci fermiamo qui a meno che stiamo cercando di dimostrare un punto o violare una password specifica. Non c'è modo che la maggior parte dei team di sicurezza possa monitorare e controllare le password di ogni singolo dipendente tutto il tempo in una grande azienda, quindi scegliamo il più facile da crackare e re-crackare le password su base trimestrale.

KeithS
2012-11-29 04:53:54 UTC
view on stackexchange narkive permalink

Lasciatemi dire che se il vostro vicepresidente IT ha effettivamente violato il 100% delle password, avete alcuni vistosi buchi di sicurezza MOLTO al di là della relativa debolezza o forza della password in chiaro scelta dagli utenti.

Alcune possibilità:

  • In realtà non stai usando un hash. Molte librerie di sicurezza "integrate", ad esempio Criteri di gruppo o ASP.NET, rendono le password crittografate anziché con hash un'opzione. Lo scopo è consentire a un amministratore di recuperare un account la cui password è stata persa senza eliminare completamente l'account. Ma se è progettato per essere reversibile in modo efficiente, allora, beh, può essere invertito in modo efficiente. Se qualcuno ha questo tipo di accesso per decrittografare le password in modo legittimo, è il CIO, ma potrebbe aver utilizzato gli strumenti di cracking solo per dimostrare che non aveva bisogno dell'accesso come amministratore.
  • Stai usando un hash compromesso. MD5, LMHash e così via sono danneggiati e non dovrebbero mai essere utilizzati per l'archiviazione delle password.
  • Stai utilizzando un hash tecnicamente criptato, ma non adatto per le password, ad esempio SHA1 / 2. Questo di solito è per uno dei due motivi:
    • L'hash è troppo veloce da calcolare, rendendo fattibile un attacco parallelo come una GPU o un cracker basato su botnet.
    • Password, anche buone , hanno un'entropia relativamente bassa rispetto ad altre cose per cui viene utilizzato un hash sicuro, come digest / checksum dei messaggi. A meno che l'entropia non venga aumentata artificialmente utilizzando un sale casuale, in genere un cracker a forza bruta impiega meno tempo per trovare una password in collisione che per trovare un messaggio in collisione di dimensioni di input più grandi.

Chiedi al vicepresidente di mostrarti cosa ha fatto per ottenere le password in chiaro e le password stesse. NON avrebbe dovuto essere così facile. Se hai un controllo sulla funzione di hashing utilizzata (il che significa che non è integrata, come per Criteri di gruppo), vorrei passare a un hash progettato specificamente per l'hashing delle password, come bcrypt o scrypt. Questi due funzionano bene perché sono molto lenti, e non solo sono lenti ora, possono essere configurati per essere sempre lenti, utilizzando funzioni di derivazione chiave che prendono il sale ed eseguono un'operazione di complessità esponenziale variabile su di esso per "riscaldare up "l'hash basato su cifratura. BCrypt è un hash completo, con KDF e cifratura incorporati; scrypt è solo il KDF, che può essere accoppiato con qualsiasi crittografia sicura, come AES.

Phillip Schmidt
2012-11-29 00:09:32 UTC
view on stackexchange narkive permalink

Dubito fortemente che lo abbiano fatto senza un'enorme (irraggiungibile) quantità di potenza di elaborazione (per la parte della forza bruta, a meno che non costituisse solo una piccola parte dell'intero processo. Un algoritmo di hashing di qualità è quasi impossibile da decifrare, quindi se ha "decrittografato" le password, probabilmente ha dovuto usare principalmente la forza bruta.

Inoltre, "decrittografare" non è il termine corretto, decrittografare ovviamente implica che le password erano una volta crittografate , e la crittografia implica una funzione bidirezionale. L'hashing è solo una funzione unidirezionale, cioè non può essere decodificata (beh, più o meno, ma questo va oltre lo scopo di questa risposta).

Happy
2012-11-29 03:43:30 UTC
view on stackexchange narkive permalink

8 caratteri non sono sufficienti! (permettimi di spiegare di seguito)

Prima però vorrei aggiungere, per tutta la correttezza che le password da 16k possono essere tutti crackati se vengono sottoposti a hashing con un algoritmo debole. In primo luogo, si romperà quello che a volte può essere anche più della metà di loro (a seconda del QI medio e della disattenzione dei colleghi) con un attacco del dizionario, quindi si forzerà il resto usando le tabelle arcobaleno (diciamo che è MD5 non salato). Ci vorrà tempo, ma non anni, a meno che, ovviamente, diverse persone non abbiano una password complessa molto lunga. Questo richiederà molto tempo alla forza bruta, forse troppo a lungo, ma quali sono le probabilità, "la maggioranza intellettuale" non si preoccupa delle buone password, e anche quando gli piacciono, ad esempio, usano 8 caratteri. ;)

-E torna alla lunghezza della password-

Anche se dipenderà molto da ciò che l'amministratore usa per eseguire l'hashing della tua password con

Come ad esempio bcrypt, o forse anche scrypt migliore, con un numero elevato di iterazioni migliorerà drasticamente la sicurezza di qualsiasi password (accettabile).

Ma quando parli di un'azienda con 16k dipendenti, c'è una possibilità di cose come lo spionaggio aziendale. Le persone che fanno queste cose sono il più delle volte molto esperte di tecnologia e molto probabilmente avranno una botnet non molto grande ma comunque decente che hanno acquisito con un piccolo virus scritto e distribuito personalmente, ad esempio un videogioco che hanno messo nella baia dei pirati.

Ho usato questo esempio per illustrare come si rivolgono ai giocatori con questo, il che significa che avranno molte GPU da sfruttare quando necessario .

In questo modo il "tempo di cracking previsto di ~ 3,15 anni", come suggerito sopra da Polynomial, è diviso rapidamente per diciamo un migliaio di computer con schede gpu molto decenti che possono essere attivate quando sono inattive.

Ora la tua password con hash MD5 viene violata in soli ~ 1.149 giorni

(quindi supponiamo che l'1% abbia una password generata casualmente di 8 caratteri come tu, è 160 x 1,149 = 221,37 giorni, quindi gli ci vorrà poco più di sei mesi per testare tutte le password.)

Anche se Lucas Kauffman sopra ha affermato correttamente che un 12 o anche meglio La password di 16 caratteri è tecnicamente la più appropriata, io stesso tuttavia preferisco una passphrase .

Jeff Atwood, il creatore di questo stesso sito web, li sostiene da tempo!

Quindi inizia a usarne uno! Facile da ricordare, improbabile da decifrare.

Tuttavia, questo non risolve le domande effettive nel PO. :-(
@loneboat oh hai ragione, ho un po '(a torto) anche se quella parte era ovvia ora con le altre risposte contenenti spiegazioni decenti, non ci ho pensato, ma ora ho aggiunto la mia, fondamentalmente ripetendole xD
@Happy per favore leggi [risposta] - le risposte dovrebbero, beh, * rispondere alla domanda *. L'OP non ha chiesto come usare password complesse, infatti [ci sono molte di queste domande qui] (http://security.stackexchange.com/questions/tagged/password-policy). Hai qualcosa da aggiungere pertinente a questa domanda o aggiungi queste informazioni a una di quelle domande che ne sono state poste?
Eran Medan
2012-11-30 09:57:53 UTC
view on stackexchange narkive permalink

Poche cose che mi infastidiscono in questa storia e che mi fanno credere che stia bluffando (o almeno così voglio credere)

  • Esistono strumenti per applicare la politica delle password a livello aziendale , è più veloce ed economico usarli che decifrare tutte le password degli utenti solo per istruirli sull'uso di password migliori / più sicure

  • Ha detto di aver decrittografato le password, che è un pessimo segno, allude che stanno usando una crittografia bidirezionale e non un hash unidirezionale + casuale, per sale utente (e una funzione di hashing lento come bcrypt, scrypt o PBKDF2) di nuovo, probabilmente è più facile aggiustarlo che andare e decifra tutte le 16.000 password. Dimostrare che la mancanza di attenzione alla terminologia relativa alla sicurezza non va di pari passo con le capacità di hacker rock star necessarie per decifrare 16.000 password.

  • Qualunque sistema non sia protetto da queste password sembrano avere un meccanismo di ritardo per tentativi falliti (che consente attacchi di forza bruta) quindi o hanno avuto accesso a qualche database interno e hanno aggirato qualsiasi meccanismo di blocco / ritardo, oppure non hanno alcuna protezione di questo tipo sul loro sistema.

Spero davvero che la tua azienda non stia gestendo i soldi delle persone, operando processi medici sensibili o qualsiasi cosa abbia a che fare con la vita delle persone, poiché è un paradiso per gli hacker. Assicurati che il nome della tua azienda rimanga anonimo in quanto non suona bene da qui.

Per quanto riguarda il vicepresidente IT, spero davvero che stesse scherzando, ma è un problema 22, se è riuscito a fare cosa lo ha fatto, significa solo che non sta facendo bene il suo lavoro, e se non l'ha fatto, allora è solo disonesto ed è altrettanto cattivo.

GdD
2012-11-28 20:37:03 UTC
view on stackexchange narkive permalink

Con una serie di tabelle arcobaleno è del tutto possibile che abbiano violato tutte le password dell'azienda. Le tabelle arcobaleno sono insiemi di hash precalcolati creati prima dei tentativi di cracking delle password che vengono utilizzati per decifrare le password molto più velocemente dei metodi di forza bruta. rcracki è uno degli strumenti elencati nella tua domanda che fa proprio questo. hashcat e JtR sono strumenti a forza bruta sebbene possano essere utilizzati anche per creare tabelle arcobaleno.

Quindi non c'è dubbio che quello che dice sia del tutto possibile.

A proposito, una password di 8 caratteri oggigiorno non è sufficiente, usane almeno 9.

+1 per tutto tranne l'ultima frase, -1 per l'ultima frase. La lunghezza è uno scarso indicatore di sicurezza per iniziare e 9 caratteri ASCII stampabili non sono particolarmente sicuri. Preferisco 12 caratteri casuali come minimo se ci si aspetta un qualsiasi tipo di margine di sicurezza.
@Polynomial, Sono d'accordo sul fatto che 9 caratteri non siano l'ideale, ma è un ordine di grandezza più complesso di 8, ed è sempre difficile convincere gli utenti a utilizzare password più lunghe. 9 non vale quanto> 12, ma a volte riguarda ciò che è realizzabile.
Nick
2012-11-28 20:38:30 UTC
view on stackexchange narkive permalink

Non sono un esperto di sicurezza, ma a quanto mi risulta, la crittografia delle password salvate nel database è unidirezionale, non può essere annullata. Quindi la password viene sottoposta ad hashing e salvata nel DB.

Tutto quello che puoi fare quindi è quando una persona vuole accedere, la password appena inserita viene sottoposta ad hashing e confrontata con l'hash nel DB e se corrisponde, la password è corretta.

Puoi trovare un altro valore che crittografa lo stesso valore - questo è il motivo per cui ha elencato gli strumenti - hanno l'effetto di decrittografare le password.
L'hashing invece della crittografia è davvero una best practice del settore. Tuttavia, nonostante ciò, molte applicazioni vengono ancora scritte per crittografare le password. O peggio, possono mantenere le password in chiaro. Dai un'occhiata a http://plaintextoffenders.com/ per numerosi esempi da Internet.
Puoi eseguire l'hashing di tutto ciò che desideri, ma se usi MD5 / SHA-1 (algoritmi veloci) e non imponi la policy sulle password, qualsiasi hacker principiante con un dizionario può decifrare la maggior parte delle password usando la forza bruta su un'istanza EC2 forte in pochi minuti / ore / giorni (dipende dalla lunghezza media della password e dal numero di utenti) tutti sotto i 100 $. O se non li salate, è ancora più facile usare i tavoli arcobaleno. Linked-in utilizzava hash unidirezionali senza sale e ha ottenuto la maggior parte delle password violate quando il database è trapelato. Ma il vero problema non sono le password, tutto ciò di cui hai bisogno è l'assistente del CEO per fare clic su un collegamento malware e sei dentro.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...