Password Cracking

Ecco, sinteticamente, gli ultimi studi sulla sicurezza delle password.

Premesso che:

  • le velocità computazionali delle macchine a nostra disposizione ma soprattutto quelle a disposizione dei criminali aumenta vertiginosamente;
  • i tool di password cracking come HASHCAT (uno dei più famosi e open source) sono ottimizzati per utilizzare le GPU (quindi la potenza delle schede grafiche) nel calcolo parallelo, molto più efficienti rispetto ad utilizzare la potenza delle CPU;
  • HASHCAT, con l’ultima release, ha comunicato di recente (13 febbraio 2019) di aver raggiunto la velocità di cracking delle password  di 100 GH (Giga Hash) al secondo
  • Il Bruteforce consiste nel provare tutte le combinazioni fino a trovare quella giusta (quindi metodo infallibile, tranne che in certi liminti) che ha come variabile solo il tempo di riuscita che dipende anche dalla sicurezza del protocollo utilizzato (NTLM, SHA1, scrypt)

La situazione di un Bruteforce (tentare tutte le combinazioni), ad esempio su HASH delle password NTLM è questa:

  • Password di 8 numeri 0-9 – tempo per craccarle 0,1 secondi
  • Password di 8 lettere a-z – tempo 2 secondi
  • Password di 8 caratteri con numeri 0-9 e lettere minuscole a-z – 10 secondi
  • Password di 8 caratteri con numeri 0-9 e lettere minuscole a-z e maiuscole A-Z – 16 minuti
  • Password di 8 caratteri con numeri 0-9, lettere minuscole a-z e maiuscole A-Z e caratteri speciali – 2,7 ore
  • Password di 10 caratteri con numeri 0-9, lettere minuscole a-z e maiuscole A-Z e caratteri speciali – 31 anni
  • Password di 15 caratteri solo numeri 0-9 e lettere minuscole a-z – 31.000 anni
  • Password di 15 caratteri con numeri 0-9, lettere minuscole a-z e maiuscole A-Z e caratteri speciali – 30 miliardi di anni

Esistono delle tecniche avanzate di Bruteforce “intelligente” su parole da dizionario

  • Password di 8 caratteri, Prima lettera maiuscola e carattere speciale alla fine ([email protected], Ubuntu86, ..) – 3 secondi
  • Password di 8 caratteri, Prima lettera maiuscola e due numeri alla fine (Andrea68, Summer15, ..) – <1 secondo
  • Password di 9 caratteri, Prima lettera maiuscola e carattere speciale alla fine (Password!, [email protected], ..) – 1 minuto
  • Password di 10 caratteri, Prima lettera maiuscola e carattere speciale alla fine (Microsoft+, Comobella$, ..) – 30 minuti
  • Password di 12 caratteri, Prima lettera maiuscola, 6 minuscole, 4 numeri e 1 carattere speciale alla fine (Napoli2018!, Firenze2000$, ..) – 7 ore

Tecniche su parole composte da dizionario

  • pastoreaustraliano, newyorkroma, paolafrancesca, .. – da < di u1 secondo a 30 secondi

Esiste poi la ritrattazione di Bill Burr del NIST (National Institute for Standards and Technology), colui che inventava le regole dei caratteri speciali, maiuscole e cambio delle password ogni 90 giorni, che invece ammetteva già nel 2017 che non è il sistema più sicuro.

Vedi link: https://www.lastampa.it/2017/08/11/tecnologia/il-teorico-delle-password-complicate-ammette-ho-sbagliato-tutto-25c1UxNdfIYgrJKOlzXkrI/pagi a.html

Inoltre vanno assolutamente evitate password già utilizzate su portali che sono stati attaccati e quindi tali password potrebbero essere finite in elenchi pubblici

Caso specifico è il più grande furto di dati della storia, proveniente da vari portali hackerati nella storia, e diffuso recente chiamato “Collection 1”

Vedi link: https://www.agi.it/blog-italia/cybersecurity/attacco_hacker_mail_password_collection1-4861900/post/2019-01-17/

Di conseguenza:

  • E’ PIU’ SICURA UNA PASSWORD LUNGA CON NUMERI E MINUSCOLE (SOPRA I 15 CARATTERI) RISPETTO AD UNA COMPLESSA DI 8
  • CONSIDERIAMO L’USO DI CARATTERI NON ASCII (ES. UNICODE: è, é, ì, ò, ù, …) RENDONO MOLTO PIU’ SICURA LA PASSWORD
  • NON UTILIZZARE PASSWORD GIA’ UTILIZZATE IN PRECEDENZA
  • NON UTILIZZARE PASSWORD DA DIZIONARI ANCHE AGGIUNGENDO CARATTERI
  • NON UTILIZZARE PAROLE COMPOSTE
  • OBBLIGARE GLI UTENTI A CAMBIARE SPESSO LA PASSWORD NON E’ SEMPRE POSITIVO
    Esiste da Luglio 2017 la direttiva del NIST 800-63B che lo dice https://pages.nist.gov/800-63-3/sp800-63b.html