sabato 8 dicembre 2007

Tastiere wireless

"lovogliolovogliolovoglio!"
Quando vedo un gadget tecnologico, dal mouse con 50 bottoni, rotelline, lampadine etc... al disco esterno più capiente e veloce, scatta in me un certo non so che, che mi spinge all'acquisto. Nel 99% dei casi, resisto, tuttavia qualche volta cedo all'istinto animalesco:-)

Poco tempo fa è uscita una tastiera, non dico il prodotto, che ha scatenato l'improvvisa frenesia. Uno degli aspetti che la rendevano accattivamente era il fatto che fosse wireless. Il fatto che non si trovi sulla scrivania dipende essenzialmente dal fatto che non me la sono proprio sentita di diffondere sull'etere i contenuti delle mie email, le password digitate etc...

Naturalmente, il vendor assicurava che la comunicazione fosse cifrata, con chiave addirittura a 128 bit, ma non era scritto da nessuna parte il reale funzionamento del sistema di cifratura.

Ora, 128 bit sono dimensioni per una chiave di cifratura simmetrica che garantiscono per una adeguata protezione dei dati: un attacco a forza bruta comporta per esempio un tempo assolutamente improponibile per tentare una decifratura.

In realtà, quando si parla di crittografia e ci si concentra sullo spazio delle chiavi si assume implicitamente che lo spazio dei dati da cifrare sia notevolmente più ampio o addirittura potenzialmente infinito.

Nel caso di una tastiera, tuttavia, questo non è assolutamente vero: un attaccante ha a disposizione poche centinaia di messaggi (immagino: 102 tasti di base + i tasti funzione + le combinazioni) tra i quali scegliere quando vede passare un pacchetto cifrato. Se la funzione di cifratura non prevede almeno un banale meccanismo che consente di variare nel tempo la chiave ed il testo da cifrare (facendo sì, per esempio, che la pressione dello stesso tasto più volte si traduca in messaggi cifrati molto diversi tra loro), risalire al testo in chiaro è un'operazione possibile anche con un attacco delle frequenze (per intenderci, quello che ha efficacia con il sistema di cifratura di Cesare).

Il tutto può essere complicato cifrando, ad esempio, un buffer di caratteri anzichè un carattere alla volta, tuttavia anche in questo caso lo spazio delle combinazioni possibili può essere esiguo, se il buffer non è sufficientemente grande e considerato che si tratta di testi nella maggior parte dei casi appartenenti al dizionario.

D'altro canto, scopo di un attaccante non è ottenere la chiave di cifratura, compito che rimane comunque arduo: lo scopo è associare ad ogni "tasto cifrato" il relativo "tasto in chiaro". Banalmente, potrei attendere una combinazione del tipo
  • tre volte lo stesso tasto (chiamiamolo "y")
  • un tasto diverso (chiamiamolo "x")
  • un pò di tasti diversi
  • il tasto "x"
  • tre o quattro digitazioni diverse

non è che lo schema di una URL www.qualchecosa.com[invio]

e già in questo modo sarei in grado di ricavare almeno due codici ("w" e "."). Facilmente, l'utente potrebbe aver digitato "http://". Stessa considerazione per gli indirizzi email. Sempre per le URL, ".it" sarà più ricorrente in Italia, mentre ".com" lo sarà per i siti internazionali.

Naturalmente, se non ho comprato una tastiera wireless non è perchè ho fatto tutte queste riflessioni. Ho accantonato l'idea come opportunisticamente poco vantaggiosa in termini di sicurezza, punto e basta.

Stupisce che un ragionamento, se vogliamo, così banale non sia effettivamente stato affrontato da (alcuni?) produttori di tastiere, da come si deduce in questo articolo, dove una serie di test della società DreamLab Technologies hanno messo in evidenza che per alcuni prodotti è possibile, intercettato il flusso dati wireless, risalire poi al testo digitato.

Per adesso, l'attacco ha avuto successo perchè sui modelli testati non solo la chiave non cambia MAI a seguito dell'associazione tra il dispositivo e il ricevitore, ma si scopre essere usata per cifrare individualmente i singoli tasti mediante, banalmente, uno XOR dei bit... La chiave, udite udite, è di soli 8 bit, ma questo non è importante come non lo è la qualità della funzione random che l'ha generata. Non vi è neppure protezione nella fase di associazione, nella quale la chiave di cifratura è trasmessa, ovviamente in chiaro, tra la tastiera ed il ricevitore.

E' evidente quindi che il problema non è stato praticamente affrontato dal vendor.
E' l'ennesima dimostrazione che indipendentemente dall'ambito tecnologico, si continuano a commettere gli stessi errori.
E' poi abbastanza tragico che il test sia stato condotto sui prodotti di un vendor che dovrebbe conoscere molto bene cose come "key logger", "spyware" & Co, attacchi logici che molto hanno in comune con quanto appena raccontato...

Resta da vedere se quelli presentati nell'articolo siano casi isolati (mhmm) o pratiche diffuse di tutti i vendor (!). Se così fosse, è evidente che l'utenza dei prodotti informatici avrebbe buoni motivi per riconsiderare il rapporto di fiducia verso i prodotti che, pur di natura tradizionale, vengono riproposti in tutte le salse per irrinunciabili funzionalità minori. Se così probabilmente non sarà, è certo che un certo disagio nel doversi sforzare di comprendere una tale incuranza l'avranno, sopratutto quando gli sarà detto che la soluzione al problema c'è: cambiare tastiera.

Eventi a cui partecipo