Privacy Policy

Ricerca in FOLBlog

Paradosso sulla sicurezza

 Scritto da alle 00:02 del 08/03/2008  Aggiungi commenti
Mar 082008
 

image
Un’informazione apparentemente sorprendente in tema di sicurezza: paradossalmente, un computer con Windows XP è più sicuro se per il account non si specifica alcuna password.
Detta così sembra una cavolata, no?
Invece, utilizzare un account privo di password lo rende più sicuro da attacchi remoti perchè, con le impostazioni di default(*), è impossibile da utilizzare per l’accesso via rete o Internet.
Perciò, dato che per utilizzare il PC con l’account privo di password occorre essere fisicamente presenti al computer, è meglio non specificare alcuna password, piuttosto che specificarne una troppo semplice da individuare.

Come è facilmente intuibile, perchè la cosa abbia senso, occorre rispettare alcuni vincoli:
– Si utilizza un solo PC, oppure se si è collegati in rete ad altri PC, non si ha la necessità di condividere informazioni con gli altri PC.
Il computer è fisicamente al sicuro. Chiunque abbia accesso ad esso deve avere la vostra piena fiducia.

Perciò, l’utilizzo di un computer con un account privo di password non è una buona idea quando il PC può essere utilizzato da persone non fidate. Ad esempio è sconsigliabile utilizzare questo “trucco” con un notebook, dato che, per sua natura, può trovarsi in un luogo qualunque (o scordato) in balia di chiunque.

Detto ciò, mi sento comunque di dare un banale consiglio: utilizzate password complicate (per gli altri).
Una buona password deve essere:
– lunga più di 8 caratteri (da 10 a 14);
– dato che viene memorizzata suddivisa in due tronconi da 7 caratteri ciascuno, nessun insieme di 7 caratteri, preso da solo, dovrebbe fornire indicazioni sul resto della password;
– una password ben ideata dovrebbe contenere lettere (maiuscole e minuscole), numeri e caratteri speciali (*,$,%,£, ecc).

Vi sembra troppo dificile?
Solo apparentemente: immaginate di chiamarvi Mario Rossi e di essere nati il 13 Aprile del 1987.
Una password facile da ricordare (per voi) e difficile da scoprire (per altri) potrebbe essere:
m13$04$1987R (iniziale del nome minuscola + giorno di nascita + $ + mese di nascita + $ + anno di nascita esteso+ iniziale cognome maiuscolo)
o una combinazione simile.

(*)
E’ possibile modificare un’opzione in modo da consentire di utilizzare un PC con Windows XP Professional in rete anche dopo aver impostato una password nulla:
– in Start->Esegui digitare gpedit.msc e premere invio;
– In Configurazione Computer->Impostazioni di Windows->Criteri locali->Opzioni di protezione impostare su “Disattivato” l’opzione “Account: limita l’uso locale di account con password vuote all’accesso alla console

Technorati Tag: sicurezza,Windows,password,trucchi

Articoli simili:

  13 Risposte a “Paradosso sulla sicurezza”

Commenti (12) Pingbacks (1)
  1. Usando Mozilla Mozilla 1.9b5pre con Mac OS X Mac OS X 10

    Le password che seguono un determinato pattern non mi piacciono.
    Quando ho bisogno di una password, apro un generatore casuale, scelgo la sicurezza massima e la lunghezza (16 per il mio account utente, 24 per l’account amministratore e mediamente 8 per le caselle e-mail, client im ecc…).
    Dopo qualche giorno in cui le si digita tutto diventa normale e non si corre neppure il rischiodi dimenticarle.

    Ad ogni modo per le password relative ai servizi Web sto provando Windows CardSpace su Vista e XP, secondo me è una bella rivoluzione, peccato che al momento siano pochi i servizi che permettano di farne uso.

  2. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows XP

    Non e’ piu’ sicuro, invece, usare una password con lunghezza superiore ai 14 caratteri (disabilita l’hash LM e gli attacchi mirati su di esso, tipo le rainbow table precompilate [1]) o, meglio ancora, una passphrase come, ad esmpio, un motto, un proverbio o un aforismo con citazione: piu’ facile da ricordare di una sequenza piu’ o meno astrusa di caratteri e non troppo difficile da digitare.

    Edward

    [1] http://en.wikipedia.org/wiki/Rainbow_table

  3. Usando Opera Opera 9.26 con Windows Windows Vista

    @Edward
    In teoria una password più è lunga meglio è.
    In pratica occorre vedere quanti caratteri della password vengono memorizzati ed in che modo.
    Di sicuro una password, anche molto lunga, ma che ricalca una frase famosa, un motto o un aforisma è più facilmente individuabile rispetto ad una sequenza di caratteri alfanumerici casuali.

  4. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows XP

    @Enrico
    Non capisco perche’ la passphrase sia certamente piu’ facilmente individuabile: una persona che mi spia alle spalle puo’ dedurre la frase se la conosce, questo si, ma un attacco automatizzato si trova un muro che puo’ aggredire o con un dizionario dedicato agli aforismi o tramite brute force.
    Nulla impedisce di utilizzare affermazioni poco famose, fantasiose oppure create per l’occasione. Ad esmpio, combino i titoli di due romanzi in un’unica passphrase intervallandoli con punteggiatura e cifre (l’anno di prima pubblicazione) per proteggere un disco criptato.

    Edward

  5. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows Vista

    @Edward
    Perchè per crackare si usano anche dei dizionari di parole note.
    E’ quindi meglio se le parole usate per comporre la password non sono tra quelle.
    Se usi una pass phase con parole o nomi comunti, crei una password più debole che se utilizzi parole senza senso.
    Un trucco per prendere capra e cavoli è quello di sostituire ad alcune lettere delle cifre che gli somigliano.
    “homo sapiens” diventerebbe “h0m0 5ap1ens”.
    In questo modo hai il vantaggio di una passphrase mnemonica ma le cui parole non saranno certamente incluse in alcun dizionario.

  6. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows XP

    @Enrico
    Sicuro sicuro che “h0m0 5ap1ens” sia piu’ difficile da indovinare? Il vecchio l0phtcrack partiva con un approccio basato su dizionario, poi provava varie varianti delle parole del dizionario per contrastare le minime modifiche [1]: questo metodo si chiama hybrid attack. La “lamerizzazione” delle parole non e’ una politica di sicurezza seria.

    Ignorando per ora eventuali debolezze del sistema di autenticazione che permettono, in teoria o in pratica, di ridurre il numero di tentativi per indovinare la password (es. la conversione in maiuscolo della passord e la divisione in due parti dell’hash LM e’ la chiave di volta che permette di sferrare con successo attacchi a dizionario o con le rainbow table) e ipotizzando che l’utente sia abbstanza intelligente da evitare le parole piu’ comuni del dizionario, l’attacco possibile e’ il brute force: il numero di combinazioni da provare dipende dal set di caratteri scelto e dalla lunghezza della password.
    L’approccio “password difficile” basa la sua forza sul set di caratteri: in teoria, potresti inserire qualsiasi carattere come lettere (a-z e A-Z, quindi 52 lettere latine; potresti anche utilizzare altri alfabeti compresi nei set Unicode (cirillico, ebraico, arabo, giapponese, cinese, …) inserendo l’appopriata combinazione [AltGR] + codice numerico), numeri (0-9, quindi 10 cifre), punteggiatura, caratteri non stampabili: ti concedo l’intero set Unicode 16, cioe 65536 caratteri (stima per eccesso, perche’ non tutti i caratteri sono presenti).
    L’approccio passphrase punta tutto sulla lunghezza: i caratteri sono pochi (lettere, cifre e punteggiatura: circa 70 caratteri appartenenti all’Ascii ristretto, quindi rappresntabili su qualsiasi piattaforma anche vecchia – l’ecbdic dei mainframe Ibm e’ leggermente poco diffuso 🙂 ) e tutti digitabili da tastiera, la lunghezza scelta e’ elevata (> 20 caratteri).
    Le combinazioni possibili sono alfabeto^lunghezza: una password difficile da 8 caratteri ha 65536^8 = 3,40 * 10^38 combinazioni, un ordine di grandezza paragonabile alla complessita’ di una passphrase da 21 caratteri (70^21 = 5,59 * 10^38 combinazioni). Una password da 12 caratteri, come “h0m0 5ap1ens”, ha 6,28 * 10^57 combinazioni, confrontabili con quelle di una passphrase da 31 caratteri (1,58 * 10^57).
    Difficile trovare citazioni o frasi celebri piu’ corte di 20 caratteri: la poesia “Mattina” di Ungaretti e’ lunga 20 caratteri (“M’illumino d’immenso”) e aggiungendo punteggiatura, autore e anno ottengo 46 caratteri (“M’illumino d’immenso – Giuseppe Ungaretti 1917”).
    Il mio quesito e’ semplice: quanto tempo impiego per digitare la passphrase e quanto per la password (considera che ogni carattere Unicode non ottenibile con la tastiera richiede 5 tasti, [AltGR] + 4 cifre, e che non posso accelerarne la battitura)? Quale ha maggiore probabilita’ di essere memorizzata, anche e soprattutto tramite associazioni mentali?
    Ho utilizzato Unicode proprio per sottolineare che e’ l’esponente (cioe’ la lunghezza) il fulcro della robustezza della password: se volessi limitarmi a set di caratteri Ascii (255 caratteri quello esteso, 127 quello ristretto) il confronto sarebbe molto umiliante (una passphrase da 20 caratteri ha un numero di combinazioni simile ad una password ascii estesa da 16!).

    Edward

    [1] http://packetstormsecurity.org/Crackers/NT/l0phtcrack/l0phtcrack2.5-readme.html , paragrafo “How To Crack the Password Hashes”

  7. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows Vista

    @Edward
    “Sicuro sicuro che “h0m0 5ap1ens” sia piu’ difficile da indovinare?”

    Mi pare oggettivamente più difficile di “homo sapiens”.
    E, nonostante questo, mi confermi che sarebbe comunque più semplice di due parole senza alcun significato (e quindi non presenti nei dizionari).
    Che è la mia affermazione iniziale.

    Per il resto concordo pienamente.
    Il problema è che la complessità della password e la facilità di inserimento sono in trade off.
    Occorre trovare un sistema per far inserire relativamente pochi caratteri (più caratteri si digitano più è statisticamente probabile commettere un errore), possibilmente facili da ricordare (per chi li digita) e difficili da scoprire (per chi non li conosce).
    Il mio era solo un esempio.
    Se la password è “Oggi è una bellissima giornata e ciò mi rende molto felice”, è chiaramente fortissima dal punto di vista di un brute force attack.
    Quante sono però le probabilità di sbagliare uno dei caratteri?

  8. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows XP

    @ Enrico

    Quante sono però le probabilità di sbagliare uno dei caratteri?

    Non conosco statistiche che correlino la lunghezza alla probabilita’ di commettere un errore di digitazione e ne derivino una legge: intuitivamente posso assumere che piu’ tasti digito e maggiore e’ la probabilita’ di sbagliarne uno.
    Non credo che la differenza sia cosi’ nettamente a favore della password difficile, comunque: in una password completamente priva di senso logico alcuni dei caratteri che inserisco non sono digitabili direttamente dalla tastiera ma devo inserirne il codice corrispondente (in Windows tramite [Alt] + 4 cifre digitate sul tastierino numerico, non [AltGR] come avevo erroneamente scritto in un precedente post). Ad esempio, “hõmÔ ?ap?ens” richiede la digitazione di h, ALT+0245, m, ALT+0212, , ALT+0351, a, p, ALT+0305, n, s: in totale 22 tasti (escludo ALT dal conteggio) per una password da 8 caratteri.
    Se, invece, opti per una passphrase o una password che impiega solo caratteri direttamente digitabili come “h0m0 5ap1ens”, il discorso cambia: n tasti per n caratteri. Ricordando la spiegazione, una passphrase da 22 caratteri e’ (appena) piu’ robusta della password da 8 appena scritta (circa equivalente ad una passphrase da 21): non sostengo implicitamente che a parita’ di tasti premuti corrisponda una eguale probabilita’ di commettere errori di digitazione (non considero, ad esempio, la posizione dei tasti, la facilita’ di digitazione, abitudini personali ecc.), pero’ una password con molti caratteri non digitabili richiede la pressione di piu’ tasti rispetto ad una passphrase di uguale numero di combinazioni. Intuitivamente ritengo che, all’aumentare dei tasti premuti, la possibilita’ di sbagliare per una passphrase sia uguale o inferiore a quella di una password parimenti robusta: sottolineo, e’ una opinione personale.

    Tornando al tuo discorso, la sostituizione di alcune lettere con cifre o simboli graficamente simili (che io chiamo ironicamente lamerizzazione, linguaggio da cracker e da sedicenti acher nei sensi piu’ ironici della parola) implica la creazione di un pattern mentale per la sostituzione che distrugge completamente l’intuitivita’ della passphrase. Non solo, impedisce di sfruttare molte delle scorciatoie che inconsciamente si adoperano durante la digitazione (ad esempio posizione delle dita e completamento meccanico delle sillabe); il fatto che le parole siano presenti nel dizionario non e’ un vero punto a sfavore perche’ il programma per il cracking prova molte (se non tutte) delle sostituzioni possibili: come detto, e’ la lunghezza che aumenta in modo esponenziale il numero di combinazioni e il tempo necessario per l’attacco.

    Edward

  9. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows Vista

    @Edward
    “…intuitivamente posso assumere che piu’ tasti digito e maggiore e’ la probabilita’ di sbagliarne uno.”
    Esatto. Il tuo intuito ti ha portato ad individuare una legge statistica.
    E in matematica, le opinioni personali trovano scarso spazio.

    Il resto del tuo commento mi trova completamente d’accordo.
    ma forse stiamo un po’ allargando il discorso, oltre quelle che erano le mie iniziali intenzioni.
    Il mio articolo voleva solo portare all’evidenza un fatto apparentemente assurdo che invece ha fondamenti solidi.
    Un altro concetto che volevo esprimere era il fatto che password troppo lunghe o troppo difficili da digitare sono controproducenti perchè spingono l’utente a modificarle semplificandole, troppo.
    La password ideale è una combinazione casuale di caratteri senza il minimo nesso logico, di lunghezza maggiore possibile.
    Ma questa è pura utopia.
    Secondo me occorre trovare un compromesso tenendo presente l’utente a cui ci si rivolge: è chiaro che tutte le nostre elucubrazioni in materia vanno a farsi benedire in un ambiente dove la sicurezza è “roba seria” e per quegli ambienti le soluzioni son ben più complesse.
    Normalmente l’utente medio ha bisogno di una password che abbia senso (per lui e solo per lui!), che sia abbastanza facile da inserire, da ricordare (per lui!), abbastanza lunga (ma non troppo), in modo che sia in grado di scoraggiare i tentativi degli “hacker della domenica”, cioè di quei “vandali informatici” che prendono gusto ad accedere in posti solo perchè è vietato, cancellando dati solo per il gusto di farlo.
    Perciò ho proposto un metodo che, pur non avendo ambizioni di essere “la” soluzione definitiva, mi sembra in grado di ostacolare certe pratiche e di andare incontro alle esigenze degli utenti che, altrimenti, utilizzerebbero probabilmente password debolissime.

    I tuoi appunti mi hanno stimolato e mi è venuta voglia di fare un’articolo un po’ più approfondito sulla questione (sperando di non annoiare troppo).

  10. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows XP

    Grazie: un approfondimento sia da un punto di vista tecnico che sociale e’ benvenuto.

    Ironia della sorte, ho guardato solo ora il filmato che hai linkato nell’articolo e ne sono rimasto sorpreso in quanto sostiene la mia stessa posizione, porta come esempio L0phtcrack, ne sviscera le tecniche e mostra un esempio di attacco concludendo con: “Scegliete una passphrase abbastanza lunga”. Non so perche’, ma trovo il tutto paradossale e divertente.

    Tuttavia lo speaker non spiega come Windows memorizzi le password di login e perche’ password di 14 o 7 caratteri siano meno vulnerabili di lunghezze inferiori, ne’ perche’ quelle di 15 o piu’ caratteri siano molto meno vulnerabili di quelle da 14: l’intuito non aiuta perche’ effettivamente una password da 12 o 13 caratteri e’ meno sicura di una da soli 7.

    Quindi ecco uno spunto per l’approfondimento: come impostazione di default la famiglia Windows NT (NT 3.x, NT 4.0, 2000 e XP) salva due hash della password in un database (SAM) in forma non criptata; Vista ha la possibilita’ di farlo, ma di default non salva il primo hash e cio’ e’ bene.
    Il primo hash, presente per garantire il collegamento a client o server di vecchia generazione (tutte le versioni di Dos, Windows 3.1 e 3.11 sia normali che WfW, la famiglia Win 9x benche’ per quest’ultima MS abbia rilasciato un aggiornamento di nome Directory Services Client), e’ chiamato hash LM dal nome del primo protocollo di rete locale usato dai sistemi Windows, il Lan Manager (compatibile con il LAN Server di IBM, ma non identico ad esso per motivi commerciali: nei primi anni ’90 la collaborazione fra IBM e MS per OS/2 stava volgendo al termine, ma ufficialmente non vi era ancora aperta rottura e MS aveva bisogno di far funzionare le reti LAN faticosamente introdotte nel MS DOS 3.2 e, nel contempo, dare filo da torcere al Novell Netware. Il LAN Server era il server dedicato per OS/2 …): esso accetta password fino a 14 caratteri di lunghezza (se supera qusto limite, tronca la password) che converte in lettere maiuscole, cifre e alcuni caratteri di punteggiatura (nota: per carattere intendo un carattere Ascii a 8 bit, quindi gli alfabeti non latini hanno password di lunghezza dimezzata perche’ ogni carattere occupa 16 bit); se la password supera non e’ di 7 o 14 caratteri, aggiunge degli spazi alla fine fino a raggiungere una lunghezza complessiva di 14 caratteri; la divide in due tronconi da 7 caratteri cadauno e provvede a calcolare una funzione Des a 7 byte (56 bit) su ogni pezzo, riservandosi l’ottavo byte per la parita’; infine riunisce i due valori in un unico hash a 16 byte.
    Il secondo hash e’ il NT hash, dal protocollo NT Lan Manager o NTLM (nessuna correlazione con il Lan Manager eccetto il nome): introdotto con NT 3.1, non esegue le operazioni disastrose per la sicurezza dell’hash LM ma non e’ completamente sicuro, in quanto si appoggia a funzioni crittografiche vulnerabili (MD4 per NTLM v1, MD5 per il v2) e non usa un salt, che ostacola gli attacchi basati su tabelle precompilate (rainbow table). Nonostante cio’, e’ ancora la colonna portante dell’autenticazione di Windows 🙁
    Inutile dire che l’hash LM e’ decisamente piu’ facile da violare rispetto all’altro …

    Ho scritto anche troppo: a te la palla. Se puoi, parla anche delle contromisure da adottare per evitare la memorizzazione dell’hash LM e di un minimo di hardening, che non fa mai male.

    Edward

  11. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows Vista

    @Edward
    “…l’intuito non aiuta perche’ effettivamente una password da 12 o 13 caratteri e’ meno sicura di una da soli 7…”

    La risposta la dai tu stesso successivamente (ma l’avevo già scritta nell’articolo):
    “…la divide in due tronconi da 7 caratteri cadauno e provvede a calcolare una funzione Des a 7 byte (56 bit) su ogni pezzo, riservandosi l’ottavo byte per la parita’; infine riunisce i due valori in un unico hash a 16 byte…”

    Se la password è di 12 caratteri, sarà divisa in 7 + 5 caratteri ed ovviamente la parte da 5 caratteri sarà più vulnerabile ad un attacco brute force.
    Se poi dai 5 caratteri così scoperti si riesce ad avere qualche indicazione sul resto della password ecco che diventa più semplice anche scoprire gli altri 7 caratteri.

    “…aggiunge degli spazi alla fine fino a raggiungere una lunghezza complessiva di 14 caratteri…”
    Sicuro? Mi ricordavo che concatenava degli zeri, non degli spazi.

  12. Usando Mozilla Firefox Mozilla Firefox 2.0.0.12 con Windows Windows XP

    La risposta la dai tu stesso successivamente (ma l’avevo già scritta nell’articolo)

    Doh, e’ vero 🙂 .

    Sicuro? Mi ricordavo che concatenava degli zeri, non degli spazi.

    Corretto anche su questo: This password is null-padded to 14 bytes [1], quindi aggiunge degli zeri. Chiedo scusa, ogni tanto la memoria confonde i ricordi.

    Edward

    [1] http://davenport.sourceforge.net/ntlm.html#theLmResponse

 Lascia un commento

Puoi usare questi tag e attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(richiesto)

(richiesto)

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: