Security WatchPassword e carte di credito, Parte 1

Jesper M. Johansson

Indice

Consigli impraticabili sulla sicurezza
Consigli impraticabili e inesatti
Consigli incomprensibili
Insidie dell'autenticazione dei siti basata sulle immagini

Recentemente sono stato contattato dalla University of Minnesota per un'intervista da pubblicare sulla rivista universitaria. A quanto pare, volevano pubblicare un numero su alcuni dei loro ex studenti di successo e, non avendone trovato nessuno, si erano accontentati di me. L'intervistatrice mi ha chiesto quale fosse il mio lavoro e io sono andato avanti per alcuni minuti tentando di descrivere il

software dell'infrastruttura di sicurezza. A un certo punto la sento esclamare: "Sembra tutto così complicato! Io ho sempre pensato che la sicurezza riguardasse le password e le carte di credito".

Per alcuni minuti ho riflettuto sulla sua reazione, poi ho capito che la sua osservazione era tutt'altro che ovvia. La sicurezza riguarda davvero le password e le carte di credito. Almeno, questa è la percezione che ne ha l'utente finale. Quelli di noi che lavorano nel campo pensano che la sicurezza sia una questione di algoritmi di crittografia, di Kerberos che può essere o meno una scelta migliore rispetto a TLS o NTLMv2, dei vantaggi offerti da WS*, di hash password da utilizzare con o senza sale e di tutte le altre questioni esoteriche di cui ci piace così tanto discutere. Godiamo senz'altro di una prospettiva diversa e più dettagliata rispetto agli utenti finali, ma è altrettanto sicuro che abbiamo perso di vista un aspetto fondamentale: per coloro che in teoria usufruiscono dei frutti del nostro lavoro, la sicurezza riguarda le password e le carte di credito.

Non c'è dubbio che tutti gli esoterismi di cui ci piace così tanto parlare e le nuove tecnologie che amiamo inventare siano tutti pensati per proteggere i dati dell'utente finale. Eppure, sono convinto che in qualche modo abbiamo smarrito la strada. Noi, la sottocultura della sicurezza nel mondo IT, esistiamo per soddisfare un'esigenza specifica dei nostri clienti: la necessità di mantenere i dati al sicuro. Ovviamente, ciò include la garanzia che le risorse IT possano essere utilizzate in tutta sicurezza. Il punto è davvero questo.

In alcuni precedenti articoli della rubrica, ho affermato che nessuno va ad acquistare un computer per avere la possibilità di eseguirci un software antivirus. L'utente acquista un computer per effettuare operazioni di online banking, distrarsi con i giochi, scambiare messaggi di posta elettronica, fare i compiti o qualche altra attività di importanza primaria. Analogamente, nessuna azienda ha creato un gruppo addetto alla sicurezza IT così da poter implementare NTLMv2. Le aziende finanziano i gruppi per la sicurezza IT perché questi riescano a proteggere le risorse dell'organizzazione, consentendo all'azienda nel suo insieme di utilizzare in modo sicuro le proprie risorse IT e raggiungere gli obiettivi aziendali.

Esistiamo esclusivamente per fornire un servizio.

Allora devo veramente porre l'interrogativo se in questi tempi stiamo assolvendo bene il nostro compito di "servire". Oppure se noi, la sottocultura della sicurezza, siamo diventati di intralcio più che di aiuto. E se i legislatori e gli enti di vigilanza non stiano in realtà dandoci una mano a essere di intralcio. Non sono affatto convinto che tutta la tecnologia che stiamo adottando aiuti davvero gli utenti finali. Perciò vorrei esplorare alcuni degli ambiti nei quali noi, i provider IT del mondo, stiamo effettivamente producendo più danni che vantaggi.

In certi giorni sembra che la maggior parte dei consigli sulla sicurezza e molte delle tecnologie di sicurezza che infliggiamo ai nostri utenti siano impraticabili, inesatti, incomprensibili o (in molti casi) una qualche combinazione di questi tre difetti. In questa serie di tre articoli, analizzerò alcuni dei modi in cui riusciamo a confondere gli utenti offrendo consigli e distribuendo tecnologie che possono essere deplorevolmente classificati con una o più di queste tre "I".

Consigli impraticabili sulla sicurezza

Uno dei modi migliori per confondere le persone è offrire consigli sulla sicurezza che risultano impraticabili. Si può anche riuscire nell'impresa di aggiungere al danno dell'impraticabilità la beffa dell'inesattezza. La Figura 1 illustra un consiglio molto diffuso, collaudato negli anni, teoricamente valido e totalmente inutile.

fig01.gif

Figura 1 Consiglio impraticabile sulla sicurezza (fare clic sull'immagine per ingrandirla)

Si riesce a vedere la parte che suggerisce di servirsi di una password diversa per ogni account di cui si dispone? Trenta anni fa era un consiglio che ancora aveva senso. Allora il numero delle persone collegate a quella rete che alla fine sarebbe diventata Internet si aggirava intorno alle poche centinaia. Ed erano tutte persone brillanti che tuttavia non sceglievano password particolarmente buone. Purtroppo, il consiglio è sopravvissuto al passare degli anni e viene ancora oggi ripetuto in continuazione, senza che ci sia stato nessuno sforzo evidente di riconciliarlo con il modo in cui vengono attualmente utilizzati i computer.

Ad esempio, tu quanti account in linea hai? Personalmente, ne ho 115, più o meno qualche altro di cui non riesco a tenere il conto. Il consiglio nella Figura 1 suggerisce non solo che dovrei avere 115 password diverse, ma anche che le dovrei cambiare tutte a intervalli variabili dai 30 ai 60 giorni. In altre parole, ogni giorno dovrei cambiare dalle 2 alle 4 password. (È facile fare i conti: significa anche che avrei dalle 690 alle 1380 password l'anno).

Mentre il personale tecnico di alcuni dei siti che offrono questo consiglio può essere in grado di inventare quattro buone password al giorno e conservare 115 password correnti nella memoria a breve termine, si può stare certi che il 99,99% degli utenti che naviga in rete non è in grado di farlo.

Da un punto di vista puramente teorico, il consiglio di utilizzare ovunque delle password diverse è corretto e sensato, così come lo è quello di cambiare tutte le password a intervalli compresi tra 30 e 60 giorni. Ma sono consigli impraticabili. Dato il numero di password di cui dispongono oggigiorno, gli utenti semplicemente non riescono a tradurre in pratica il consiglio senza un qualche genere di supporto, come ad esempio un foglio di carta o un software. Il che introduce l'esempio successivo.

Consigli impraticabili e inesatti

Il consiglio mostrato nella Figura 2, tratto dal sito Web di una delle più grandi banche del mondo, rientra in due categorie: è impraticabile e inesatto. Le informazioni fornite sotto l'intestazione rossa che invita a leggere i consigli sulla sicurezza sono un'imitazione della riga che suggerisce di utilizzare ovunque delle password diverse di cui abbiamo parlato sopra. Inoltre, consigliano anche di non prenderne mai nota per iscritto.

fig02.gif

Figura 2 Consiglio impraticabile e inesatto sulla sicurezza (fare clic sull'immagine per ingrandirla)

Allora vediamo, ho 115 password diverse, ne devo creare quattro nuove ogni giorno e non posso annotarle. Per qualche tempo ho pensato di essere stupido, visto che non riuscivo a ricordare tutte le password. Poi ho scoperto che anche tutti gli altri si trovavano esattamente nella mia stessa condizione. Più semplicemente, il punto è che gli esseri umani non riescono a ricordare 115 password. Riusciamo a ricordare ed elaborare circa sette blocchi di informazioni - siamo programmati in questo modo. Stando alla maggior parte dei consigli sulle password presenti in Internet, questo non sarebbe neanche sufficiente per una sola password (vedere il famoso saggio "Il magico numero sette più o meno due" di George A. Miller, disponibile in rete nella sua versione originale in inglese all'indirizzo musanim.com/miller1956).

Il fatto spiacevole è che quando si tratta di consigli sulle password, il nostro settore fornisce informazioni fuorvianti agli utenti, in modo molto ricorrente. Se la sottocultura della sicurezza intende dire agli utenti che devono utilizzare ovunque password diverse, allora dobbiamo anche spiegare loro come fare, ovvero come registrare e conservare quelle password in un luogo sicuro. Scriverle su un foglio di carta, utilizzare un documento protetto o avvalersi di uno strumento specializzato, come ad esempio PasswordSafe (è possibile consultarne la pagina Web all'indirizzo sourceforge.net/projects/passwordsafe; in inglese). Ammettiamolo, tutti annotiamo le nostre password oppure utilizziamo la stessa password ovunque. Di fatto, un'indagine recente ha rilevato che l'88% degli utenti ha la stessa password in tutti i sistemi nei quali deve eseguire un'autenticazione (a questo proposito, vedere l'articolo disponibile all'indirizzo msnbc.msn.com/id/24162478; in inglese).

I consigli che scoraggiano l'abitudine di annotare le password sono sicuramente tra i fattori che contribuiscono a favorire questa tendenza. Ciò che invece dovremmo fare è insegnare agli utenti come gestire efficacemente le password (e gli altri dati sensibili), anziché insegnare loro a non gestire affatto questo tipo di informazioni. Solo allora diventeranno molto meno disposti a compromettere i loro dati personali.

Consigli incomprensibili

Nelle prime due figure vengono ripetuti consigli vecchissimi che potevano funzionare negli anni Sessanta, Settanta e Ottanta. Cioè prima che la massa degli utenti comuni si collegasse in linea per utilizzare i servizi Web. A tutt'oggi, ancora nessuno si è lamentato apertamente di questo tipo di consigli perché è ormai entrato a far parte del bagaglio del buonsenso comune.

Ma è un tipo di consigli che confonde gli utenti e può farli sentire colpevoli di dover conservare le password da qualche parte. Offrendo consigli del genere, anziché aiutare gli utenti a fare quello che devono, i professionisti della sicurezza provocano danni. Dopo tutto, non rientra nelle responsabilità di un utente immaginare il modo per gestire la sicurezza. Quello è il compito dei professionisti della sicurezza, appunto. Dobbiamo riuscire a pensare a modi accettabili da indicare agli utenti per gestire tutti i loro account in linea. Ma dal momento che la maggior parte delle guide offerte dagli esperti ripete gli stessi consigli antiquati, gli utenti finiscono per ricorrere ai foglietti adesivi e ai fogli di calcolo per tenere traccia delle molte password di cui dispongono.

Come meccanismo di autenticazione, le password hanno molto da offrire. Tuttavia, il problema principale delle password è che gli esseri umani incontrano difficoltà enormi quando si tratta di ricordarle. Anziché tentare di risolvere un problema insito nella natura umana, il mondo IT continua a inventare ogni genere di nuovo meccanismo per sostituire le password o, peggio ancora, per aumentarne il numero. Questo non fa altro che confondere gli utenti ancora di più.

È facile immaginare la mia sorpresa l'ultima volta che ho eseguito l'accesso a un certo sito di servizi finanziari e mi sono visto presentare una schermata di accesso che conteneva soltanto una casella di testo per il nome utente (vedere la Figura 3).

fig03.gif

Figura 3 Dove digito la password?

Sulle prime ho pensato di aver aperto un qualche sito Web dal contenuto dannoso. Non ci è voluto molto per convalidare il sito. Era un passaggio facile perché il sito era dotato di certificato e così ho constatato che mi trovavo davvero nel posto giusto. Il problema è che, quando eseguono l'accesso a un sito, le persone sono abituate a vedere due campi di testo insieme, uno per il nome utente e uno per la password. Questo deriva da anni di applicazione dello stesso flusso di lavoro. Perciò quando per accedere a un sito viene richiesto soltanto di immettere il nome utente, tutto si blocca. Poi si scopre che in quel caso specifico il provider, nel tentativo di prevenire il phishing, aveva implementato una tecnologia che utilizza le immagini per l'identificazione del sito da parte degli utenti. Nella pratica, quando si immette il nome utente, nel sito viene visualizzata una schermata contenente un'immagine identificabile, come mostrato nella Figura 4.

fig04.gif

Figura 4 Oggi alcuni siti utilizzano le immagini per l'identificazione da parte dell'utente (fare clic sull'immagine per ingrandirla)

In teoria, l'utente dovrebbe conoscere l'immagine associata a ogni sito. Se non viene visualizzata l'immagine giusta, il sito può essere riconosciuto come sito contraffatto. In sé per sé, l'idea è valida. Presumendo che l'utente conosca l'immagine da associare ai diversi siti, la strategia sembra avere una certa dose di ragionevolezza.

Ovviamente, il lettore più attento avrà notato la barra degli indirizzi verde nella Figura 4. Questo significa che il sito utilizza i certificati SSL e di convalida estesa, motivo per cui la barra degli indirizzi è verde. Significa anche che l'intera premessa basata sull'uso dell'immagine per identificare il sito di fatto non fornisce alcun valore aggiunto. Al contrario, l'immagine fa poco più che aggiungere confusione, almeno per alcuni utenti finali. L'utente ha già avuto modo di identificare il sito, che infatti ha fornito un certificato contenente il nome dell'azienda, l'indirizzo del sito Web e il nome di un'autorità di emissione attendibile. E il fatto che la barra degli indirizzi sia verde mi conferma che l'azienda ha persino fatto uno sforzo ulteriore per la sicurezza, pagando un importo tre volte maggiore per ottenere un certificato di convalida estesa.

Senza contare poi che, ovviamente, anche le immagini possono essere contraffatte. Se l'utente può inviare la sua immagine, probabilmente ci saranno anche modi in cui l'hacker può immaginare quale immagine venga utilizzata. È anche molto probabile che l'utente possa utilizzare la stessa immagine in ogni sito, perciò tutto quello che l'hacker dovrà fare è creare un sito con un contenuto interessante per l'utente (lascio ai lettori il compito di trovare gli esempi del caso) e chiedergli un'immagine da utilizzare per la convalida del sito. Se l'utente usa la stessa immagine per tutti i siti, il sito nuovo avrà accesso all'immagine che l'utente utilizza, ad esempio, anche in quello della banca.

Sebbene alcuni siti consentano di scegliere l'immagine preferita, altri si avvalgono di una raccolta di fotografie stereotipate. Ad esempio, il sito mostrato nella Figura 4 offre 318 foto da cui scegliere. Il trucco descritto sopra non funziona nei siti che non consentono all'utente di inviare la propria foto. Tuttavia, è anche vero che la probabilità che l'utente ricordi l'associazione sito-immagine è molto ridotta nel caso dei siti non visitati di frequente. Onestamente non saprei dire quale immagine io utilizzi nel sito mostrato nella Figura 4, sebbene possa assicurare che non è quella riportata nella schermata.

Il problema dell'approccio basato sulle immagini è che un hacker potrebbe mostrarne praticamente una qualunque delle 318, o semplicemente sceglierne una a caso da Flickr, e molti utenti presumerebbero trattarsi di quella giusta. Se per la maggior parte delle persone fosse possibile ricordare cose come l'immagine da associare ai diversi siti, oggi non ci troveremmo a dover fronteggiare tutti i ben noti problemi legati al phishing e alla sicurezza.

Allora perché servirsi di un'immagine per l'autenticazione del sito da parte dell'utente quando il sito ha già ricevuto un'autenticazione tramite il certificato? Perché non utilizzare soltanto i certificati e insegnare agli utenti come convalidarli? I certificati già comprovano l'identità del sito.

Il processo per procurarsi un certificato è di certo molto più sicuro di quello necessario per ottenere dall'utente un'immagine per l'autenticazione del sito. Se il certificato è uno di quelli di convalida estesa e se si utilizza Internet Explorer® 7 o Firefox 3, il browser evidenzierà le apposite informazioni relative al certificato nella barra degli indirizzi. Purtroppo, però, l'evidenziazione funziona soltanto con i certificati di convalida estesa, che sono molto costosi.

Insidie dell'autenticazione dei siti basata sulle immagini

La tecnologia di autenticazione tramite le immagini presenta svariati problemi. Per prima cosa, diventa molto facile "mietere" i nomi utente da un sito. Difatti, se il nome utente immesso è sbagliato, nel sito mostrato nella Figura 4 viene visualizzata la finestra riportata nella Figura 5. Dopo aver immesso il nome utente corretto di un utente che ha scelto un'immagine segreta, si riesce a vederla. Ovviamente, si tratta di una forma di conoscenza estremamente preziosa per un hacker che tenti di raccogliere informazioni su un utente.

fig05.gif

Figura 5 I siti autenticati tramite immagini consentono di raccogliere facilmente i nomi utente

Il tipo di implementazione mostrato qui non ha praticamente alcun valore ai fini della sicurezza. All'hacker è sufficiente duplicare lo stesso flusso di lavoro per l'accesso all'interno di un sito contraffatto. Questo sito richiederà un nome utente e lo passerà al sito vero. Per assicurare un aspetto ancora più attraente, è persino possibile utilizzare AJAX nel client per aggiornare il modulo in tempo reale. Inoltre, se per il modulo di accesso il sito autentico non dispone di prevenzioni dagli attacchi con contraffazione delle richieste intersito, il codice AJAX potrà persino inviare la richiesta direttamente al sito vero, a meno che il browser non disponga di prevenzioni per le richieste XML-HTTP intersito.

A questo punto, quando vengono restituiti i risultati, l'hacker può analizzare i dati, estrarre l'immagine e visualizzarla all'utente finale. In altre parole, qualunque hacker in grado di presentare all'utente un sito con accesso contraffatto è anche capace di visualizzare l'immagine segreta dell'utente. Il risultato ultimo è che l'uso dell'autenticazione dei siti basata sulle immagini non offre alcun valore aggiunto. L'immagine viene visualizzata prima dell'autenticazione dell'utente nel sito e, pertanto, l'immagine è disponibile per un hacker che disponga, o possa ottenere, il nome utente necessario.

Presumendo che all'utente non sia mai stato insegnato a cercare un certificato prima di inviare i moduli (è questa è un'ipotesi alquanto realistica, considerato il fatto che anche l'uso dell'autenticazione del sito tramite un'immagine la assume come fondamento), ottenere il nome utente dall'utente è davvero semplice. Inoltre, poiché molti schemi di autenticazione dei siti tramite le immagini rispondono in modo diverso all'immissione di un nome utente valido oppure non valido, anche la raccolta dei nomi utente è davvero semplice. L'hacker può persino effettuarla "fuori banda", prima ancora che inizi l'attacco.

Alla fine, ci ritroviamo con utenti che credono di essere più protetti o che sono soltanto più confusi. Abbiamo speso quantità notevoli di utili degli azionisti per implementare l'autenticazione dei siti basata sulle immagini e non siamo minimamente riusciti a rendere un po' più difficile la vita agli utenti malintenzionati che convincono gli utenti finali a inviare le loro credenziali a siti Web contraffatti.

Ho finito lo spazio a disposizione per questo numero della rubrica Security Watch. L'appuntamento è per il mese prossimo, con la Parte 2 della serie, nella quale illustrerò altri esempi di regole di sicurezza fuorvianti e implementazioni dell'autenticazione inefficaci.

Jesper M. Johansson, Software Architect, si occupa dei problemi di protezione software e collabora con TechNet Magazine in qualità di redattore. Ha conseguito un dottorato in gestione dei sistemi informatici, vanta un'esperienza più che ventennale sul tema della sicurezza ed è Microsoft MVP per la protezione delle aziende. Il suo ultimo libro è Windows Server 2008 Security Resource Kit.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.