Password “comuniste”

Nicola Porro ha sfogato la sua frustrazione nel suo blog in merito alla complessità delle password imposte.

Non essendo un giornalista tecnico che scrive abitualmente in temi di sicurezza, possiamo, con presunzione di innocenza, classificare quell’articolo come uno sfogo a livello di chiacchiera da bar.

Purtroppo questo episodio è esemplificativo dell’ignoranza (etimologica) in materia di sicurezza informatica e di valore dei dati che accomuna molte professioni.

Il concetto più comune che viene urlato è “l’account è mio e la password la decido io”.

Questa affermazione vale solamente se l’account, il server e il nome a dominio utilizzato sono della stessa persona, in quel caso la persona è libera di utilizzare le password che desidera perché è lei stessa responsabile dell’utilizzo del server e del nome a dominio.

Se, però, l’infrastruttura appartiene al datore di lavoro o al fornitore di un servizio il discorso cambia perché il responsabile davanti alla giustizia e davanti ai media non è solamente l’utente, ma anche la persona titolare del dominio e il titolare del trattamento dei dati; ecco che, quindi, l’utente non può decidere in autonomia il livello di sicurezza sia perché non ne ha la capacità professionale sia perché non è il diretto responsabile.

Per chiarire con un esempio: se Pippo ha un account sul famoso servizio di condivisione immagini Condividi Foto e utilizza una password ovvia, quando (“quando”, non “se”) qualche cattivone gli hackera l’account e carica delle foto sconvenienti del politico Pluto, i giornali titoleranno “Foto sconvenienti di Pluto sul sito Condividi Foto“. Ecco quindi che Condividi Foto subisce un danno di immagine (e, quindi, economico) a causa del comportamento di Pippo che, nel nome di una presunta libertà, ha scelto una password facile da hackerare.

La libertà di scegliere una password facile finisce dove inizia la libertà di avere un sistema sicuro e affidabile.

Se si tratta della password di un account di lavoro, la password serve anche a proteggere gli accessi non autorizzati ai dati che vengono trattati sul lavoro, che possono andare dai dati sensibili (le iscrizioni ai sindacati, per citarne uno) a dati di valore economico per l’organizzazione, come rendiconti economici o bozze di brevetto.

Sempre nel caso di un contesto lavorativo è indubbio che il datore di lavoro debba adoperarsi per fare in modo che i suoi dipendenti vengano correttamente (in)formati in merito alla sicurezza. La formazione è spesso vista come un costo e non un investimento, ma più che mai in questo contesto un rapido (due o tre ore al massimo) corso sui pericoli informatici è più che mai un investimento.

Purtroppo è diffusa la mentalità secondo la quale se una persona utilizza un servizio o si appassiona ad un argomento, questa si considera ipso facto esperta di quel servizio o di quell’argomento. Nulla di più falso per quanto riguarda la tecnologia. Essere in grado di installare senza danni una scheda di rete su un PC non fa di una persona un esperto di networking.

Abbiamo già a che fare con sessanta milioni di Presidenti del Consiglio e sessanta milioni di CT della nazionale di calcio, per favore non aggiungiamo anche sessanta milioni di esperti di sicurezza informatica.

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

13 pensieri riguardo “Password “comuniste””

  1. Aggiungo: col tuo account, caro Porro, hai accesso a informazioni riservati di altre persone. Un esempio su tutti: magari non voglio pubblicare urbi-et-orbi le foto di mio figlio su Facebook, ma mi fa piacere condividerle con i miei amici. Se tra i miei amici di Facebook c’è uno scemo come Porro, ecco che la MIA privacy è messa a rischio da altre persone.
    E di esempi così ce ne sono mille, anche solo l’elenco dei contatti di un account di posta, basta che io e il genio della sicurezza informatica ci siamo scritti almeno una volta, che nel suo account di posta c’è nome, cognome, e indirizzo email MIEI.
    Nel dubbio, che a gente come questa non condivido nulla… MI dava l’idea di essere un somaro già a vederlo in televisione, questa è una scontata conferma…

    1. Luca, metti in luce un problema molto importante: non bisogna condividere nessuna informazione con persone che non hanno alcuna cura in merito alla tutela della privacy allo stesso modo in cui non presteremmo un libro a chi sappiamo che lo tratta male.

  2. Troppa policy nelle pasword fa si che che l’utente debba scriverla e che la password scelta diventi pasword ovvia…
    Ci sono sistemi molto più furbi in ambito lavorativo che mettere la solita password e obbligare gli utenti a cambiarla stupidamente in modo diverso… La cosa che trovo più stupida è il fatto che ci siano persone che ogni macchinario (pc di ditta che controlla un macchinario) mettono una password per la manutenzione con 2 conseguenze: uno chi fa manutenzione non la conosce l’ha normalmente scritta da qualche parte nelle istruzioni e si deve scervellare a trovarla. 2 l’operatore del macchinario normalmente ne è a conoscenza (in pratica non ci fosse nessuna autenticazione sarebbe meglio) considerando il fatto che proprio chi opera al macchinario non avendo certi privilegi (ma avendoli conoscendo e guardando cio’ che fa chi tenta di fare riparazioni) ha un motivo in più di arrabbiatura e di non collaborazione.

    1. Il problema dei PC sulle linee di produzione l’ho affrontato fin da quando c’era Windows NT 4.0 e ci sono vari metodi per risolverlo, in relazione al livello di liberta’ che deve avere l’utente e al tipo di software per la gestione della produzione.

      In alcuni casi l’autologon risolve allegramente il problema, in altri non puoi perche’ devi identificare l’operatore sia per tracciabilità sia per sfruttareil sigle-signon dello strato applicativo (programma di gestione della produzione, mail, accesso alle risorse di rete). Nel secondo caso gli operatori avevano ricevuto opportuno training sull’importanza delle password ed erano stati opportunamente responsabilizzati.

      Ancora una volta, devi istruire davvero le persone se vuoi che si comportino nel modo corretto.

  3. Per capire la necessità di avere una password complessa caro Porro ti presento uno scenario abbastanza diffuso:

    una ditta che decide di fornire uno spazio web con posta compra un server.
    La macchina, per quanto potente possa essere, ha memoria, tempo di elaborazione e spazio con un valore finito progettato per un numero di siti, per quanto di successo, hanno un traffico di mail razionale.
    Tralascio volutamente tutta la parte tecnica e di progettazione, semplifico al massimo.

    Tizio ha uno spazio web, usa una password breve ( aaa ) per l’accesso FTP che gli permette di gestire lo spazio web.

    Un malintenzionato fa dei tentativi, tramite un semplice programma, trova la password, carica un programma che manda email a tappeto ( e parlo sull’ordine della decina di migliaia!).

    Questa operazione di fatto incide sul tempo macchina rallentando considerevolmente le prestazioni della macchina e questo influisce anche sulle prestazioni di tutti gli altri clienti che hanno uno spazio web sulla stessa macchina.

    L’attacco a forza bruta, utilizzato dal malintenzionato, avrà sicuramente trovato la combinazione ( basta un semplice script php per generare le combinazioni) nei primi secondi di elaborazione.

    Questa è una delle tante motivazioni per cui una password deve essere complessa.
    Il fatto che poi questa venga cambiata con una certa frequenza ti mette al riparo dal fatto che la stessa password possa essere ottenuta per via traverse (nonostante si chieda di non usare la stessa password in sistemi diversi invariabilmente questa si propaga)

    In pratica la potenza della password dipende dal numero di caratteri e dalle possibili combinazioni.
    Semplificando con una sola lettera e combinazioni di maiuscole e minuscole.

    Con un solo carattere avrò solo due possibili combinazioni: a / A
    Con due caratteri ne avrò 4 /aa AA aA Aa
    Con tre caratteri ne avrò 8 /aaa AAA aAA AaA AAa aaA aAa Aaa
    e via dicendo

    Il calcolo delle combinazioni dovrebbero semplificando, nel caso dei due) 2 x 2 x 2 ( il numero delle combinazioni moltiplicato per se stesso tante volte quante sono le posizioni)

    Nel campo informatico sono 126 i caratteri stampabili ma lo spazio non viene usato per le password ( così come quelle dell’ASCII esteso)
    (http://www.asciitable.it/ascii.asp) quindi abbiamo a disposizione per ogni posizione della password 125 caratteri

    Quindi una password di 8 caratteri che utilizzano i caratteri stampabili del codice ASCII meno lo spazio avrebbe

    125 x 125 x 125 x 125 x 125 x 125 x 125 x 125 possibili combinazioni ovvero, se non ho sbagliato 59.604.644.775.390.600 di possibili combinazioni.

    Provare quel numero di combinazioni presume una grossa potenza di elaborazione rispetto al PC di casa che deve trovare combinazioni di ordine notevolmente inferiore.

  4. @Luigi Rosa
    Mi chiedevo: se un sito o un software implementa un meccanismo per cui dopo 3 volte che immetti la password sbagliata sospende l’account per 5 minuti o più, e magari se sbagli le successive 3 volte scatta una sospensione più “cattiva” che richiede uno sblocco più complicato, con una qualche procedura da seguire, dicevo, in questo modo non si è dato una bella mazzata al possibile attacco a forza bruta? Restano sempre gli altri metodi, ma un meccanismo del genere dovrebbe permettere di allentare almeno un pochino i requisiti per una password valida, togliendo magari quello dei caratteri speciali, che secondo me fa sbroccare la gente. Sbaglio o dimentico qualcosa? Grazie.

    1. Windows Server permette di implementare una policy come quella che descrivi sui domini Active Directory.

      Per citare un sito a caso, l’accesso degli utenti di Siamo Geek e’ protetto da una policy simile (molto cattiva)

      1. Scusa se insisto, mi spiego meglio. È possibile che molti siti non abbiano implementato un meccanismo come quello che ho descritto, e perciò siano facilmente soggetti ad attacchi di forza bruta, con la conseguenza che per proteggersi devono chiedere agli utenti password meno vulnerabili a quel tipo di attacco che loro non hanno “parato” in primis? (come avrebbero dovuto fare)
        Per inciso, non voglio dire che la password debba poter essere “pippo”, vorrei semplicemente evitare che mi venissero chiesti “caratteri speciali” (che tra l’altro secondo me servono a poco). Un piccolo aumento di debolezza della password compensato dalla robustezza dell’algoritmo anti-bruteforce. Dimmi se sbaglio.

        1. Non e’ vero che servono a poco i caratteri speciali peche’ aumentano in maniera geometrica le possibilita’ e. quindi, la facilita’ di attacchi a forza bruta. Sempre disponibile a ricredermi se mi porti degli studi scientifici.

          Inoltre l’attacco a forza bruta puo’ essere anche portato ad un eventuale dump del database.

          Chi usa solamente le 26 lettere minuscole in una password con <10 caratteri e’ un po’ incosciente, data la tecnologia attuale, poi uno puo’ decidere anche di lasciare la porta di casa aperta.

  5. Non fraintendere il mio spirito critico, io vengo qui per imparare e capire, e ritengo interessante il tuo parere di esperto.
    Evidentemente il dump del database apre un fronte interessante e indebolisce la mia argomentazione, ma non la estingue.
    Di studi scientifici non ne ho :-), ho soltanto fatto due conti e mi vien fuori che 70^n/62^n = 1.13^n, cioè su una password di 10 caratteri, introducendo gli 8 caratteri speciali oltre alle 26 minuscole, 26 maiuscole e 10 cifre (= 62), ottengo poco più di un X 3 sul numero totale delle combinazioni, non moltissimo (ma magari il mio calcolo è troppo semplicistico).
    Io preferirei l’obbligo di una password lunga (>15 o anche di più), tutto qui.

    1. Facciamo due conti.

      Se le password fossero di sole cifre decimali, una password di 8 cifre decimali avrebbe 10^8 combinazioni.

      Se aggiungo i caratteri minuscoli (36 simboli possibili), le combinazioni sarebbero 36^8, ovvero 2,82 * 10^12

      Se aggiungo i caratteri maiuscoli (62 simboli possibili), le combinazioni sarebbero 62^8, ovvero 2,18 * 10^14 che e’ un salto di due ordini di gradezza (100 volte)

      Se considero tutti gli ASCII stampabili (e li ho tutti disegnati sulla tastiera (USA) che sto utilizzando), le combinazioni sono 95^8 ovvero 6,63 * 10^15 (1000 volte)

      Se un aumento di solo 10 volte puo’ sembrare “poco”, significa che un attaccante per scardinare una password con la forza bruta ci mette anziche’ un’ora 10 ore oppure per scardinarne un certo tot ci mette anziche’ un mese 10 mesi. Se poi uno la password deve cambiarla ogni 6 mesi, ecco che l’attaccante resta con un pugno di mosche.

      Ma non siamo piu’ nel 1985 e adesso ci sono UNICODE e UTF-8, il che significa che uno puo’ mettere nella password una è ma anche una ų, o una ç, ȯ, Ä… I caratteri dell’insieme LATIN di UNICODE che estendono l’ASCII sono 64 quelli base (vocali con accenti dell’ovest Europa piu’ una manciata di altri caratteri), altri 128 il set Extended A (caratteri usati nell’Est Europa piu’ altre cose esotiche) a cui si potrebbero aggiungere altri 208 caratteri dell’Extended B.

      Nel nostro conto di prima solo con il primo set andiamo da 95 a 159, quindi 4,08 * 10^17

      Certo una password come ŞĩåmōĠĕėk non la scriverebbe nessuno, ma non dimentichiamoci che alcuni carattari, come ad esempio ħ, sono usati in ambito scientifico e, quindi, noti alle persone.

      Poi non e’ detto che una persona sia italiana, potrebbe essere greca, o araba e avere la tastiera e la localizzazione che le permettono di aggiunegre caratteri diversi.

      E’ indubbio che se si mette una password lunga le combinazioni possibili aumentano esponenzialmente (e’ gia’ stato scritto su questo blog), ma ammettere _anche_ caratteri non-ASCII aggiunge ulteriore complessita’ al sistema e permette alle persone di usare tutti i simboli che hanno sulla loro tastiera, sia essa italiana, svizzera, francese, tedesca…

      E’ vero che 10 caratteri ASCII hanno piu’ combinazioni di 8 caratteri del set LATIN, ma ammettere password lunghe _e_ con qualsiasi carattere rende la vita di chi attacca MOLTO difficile perche’ non è noto all’attaccante l’insieme di caratteri utilizzabili (questo e’ il vero punto).

      1. Prima di scrivere una password del genere, pero`, mi accerterei di doverla usare solo e soltanto su computer con la tastiera appropriata 🙂

Spazio per un commento