Un keylogger, in informatica, è uno strumento hardware o software in grado di effettuare la registrazione (logging) della tastiera di un computer, cioè è in grado di intercettare e catturare segretamente tutto ciò che viene digitato sulla tastiera senza che l'utente se ne accorga. Può essere usato per studiare l’interazione uomo-computer. L'attività viene definita keystroke logging, keylogging o keyboard capturing.
Storia Negli anni 1970, delle spie installarono dei primi modelli keylogger nell'ambasciata USA e al consolato di Mosca e San Pietroburgo, all'interno di macchine per scrivere Selectric II e Selectric III. Una prima versione di keylogger è stata scritta da Perry Kivolowitz e pubblicata sui newsgroup Usenet net.unix-wizards e net.sources il 17 novembre 1983.
Le ambasciate sovietiche usavano macchine per scrivere manuali, al posto delle elettriche, per le informazioni classificate, in quanto apparentemente immuni a questi attacchi. Al 2013, i servizi speciali russi utilizzano ancora macchine da scrivere.
Nel 2000, l'FBI utilizzò FlashCrest iSpy per ottenere la passphrase PGP del figlio del malavitoso Nicodemo Scarfo. Sempre nel 2000, l'FBI attirò due sospetti criminali informatici negli USA con un elaborato stratagemma, riuscendo a catturare i loro username e password con un keylogger installato segretamente su una macchina che essi utilizzavano per accedere ai loro computer in Russia. L'FBI utilizzò queste credenziali per violare i computer dei sospettati e ottenere le prove per perseguirli.
Nel 2011 sono stati trovati alcuni keylogger USB sul retro dei pc di due biblioteche britanniche della contea del Cheshire. Nell'ottobre del 2014 alcuni tecnici dell'Università di Birmingham, mentre eseguivano delle procedure di aggiornamento di un computer in un auditorium, hanno scoperto che uno studente aveva utilizzato un keylogger per rubare le password degli amministratori. Le indagini hanno portato a rintracciare il colpevole, che ne aveva approfittato per alzare i voti di cinque esami. Si ritiene sia il primo caso in cui uno studente inglese viene imprigionato per una truffa di questo genere.
Descrizione generale La scrittura di applicazioni software semplici per il keylogging può essere banale e, come qualsiasi altro programma informatico, può essere distribuito come un trojan o come parte di un virus. Ciò che non è banale per un utente malintenzionato, tuttavia, è installare un logger segreto di tastiera senza essere catturato e scaricare i dati registrati senza essere tracciati. Un attaccante che si connette manualmente a una macchina host per scaricare le battute registrate rischia di essere rintracciato. Un trojan che invia i dati keylogged a un indirizzo e-mail o un indirizzo IP fissi rischia di esporre l'attaccante.
Spesso i keylogger software sono trasportati e installati nel computer da worm o trojan ricevuti tramite Internet e hanno in genere lo scopo di intercettare password e numeri di carte di credito e inviarle tramite posta elettronica al creatore degli stessi. Un programma di keylogging può inserirsi fra il browser ed il World Wide Web. In questo caso intercetta le password, comunque vengano inserite nel proprio PC. La password viene catturata indipendentemente dalla periferica di input (tastiera, mouse, microfono): sia che l'utente la digiti da tastiera, sia che l'abbia salvata in un file di testo prima di collegarsi a Internet, che si limiti a inserirla con un copia/incolla in modo da evitarne la digitazione, sia che la password venga inserita tramite un programma di dettatura vocale. Anche in caso di connessione sicura (cifrata), se sul computer è presente un keylogger che invia le password in remoto, tali password potranno essere utilizzate dalla persona che le riceve.
Tipologia
Esistono due tipi di keylogger: Hardware: un dispositivo che viene collegato al cavo di comunicazione tra la tastiera ed il computer o all'interno della tastiera. Software: un programma che controlla e salva la sequenza di tasti che viene digitata da un utente su un computer.
Keylogger hardware Il classico keylogger hardware consiste in un dispositivo elettronico da collegare sul cavo di comunicazione tra la tastiera ed il computer o è posizionato direttamente all'interno della tastiera stessa. Il dispositivo contiene un circuito elettronico che rileva la sequenza di segnali corrispondenti ai pulsanti utilizzati sulla tastiera e la memorizza nella memoria interna. Alcuni possono inviare i dati in rete o essere monitorati e comandati in remoto, in alternativa il dispositivo può essere recuperato fisicamente o i dati possono essere copiati accedendo alla memoria tramite una sequenza chiave segreta.
I keylogger hardware sono molto efficaci in quanto la loro installazione è molto semplice e il sistema non è in grado di accorgersi della loro presenza, infatti non c'è necessità di alcun software installato sul sistema operativo del computer da monitorare, di conseguenza il dispositivo risulta invisibile ai software antivirus. Quando installati fra la tastiera e il PC hanno le sembianze di un adattatore o appaiono come dei cavi di prolunga. Quando sono nascosti nella tastiera risultano del tutto invisibili.
Una importante misura di sicurezza è infatti utilizzare con cautela i computer pubblici di ambienti come biblioteche o internet point, considerarli inaffidabili ed evitare di inserire credenziali e password, in quanto non si ha il controllo completo della macchina.
Il vantaggio dei keylogger hardware risiede nel fatto che sono completamente indipendenti dal sistema operativo e sono in grado di intercettare anche le password di bootstrap, la cui digitazione avviene in fase di avvio prima del caricamento del sistema operativo e quindi non può essere rilevata via software.
Lo svantaggio principale al suo utilizzo è che è necessario ottenere l'accesso fisico alla tastiera o al computer. In un ambito aziendale può essere sfruttata la complicità di dipendenti, di esterni o del personale di servizio, che in pochi secondi possono installare dispositivi su postazioni di lavoro non monitorate.
Firmware malevolo: Un firmware modificato a livello del BIOS del sistema gestisce gli eventi del controller della tastiera e li registra quando vengono processati. Si deve avere necessariamente l'accesso fisico al computer o quantomento un accesso di livello amministratore per poter caricare il firmware modificato nel BIOS, il quale è creato appositamente per la specifica tastiera in uso. Sniffing di una tastiera wireless: si sfrutta uno sniffer per intercettare i pacchetti, dei dati trasferiti da una tastiera o un mouse senza fili e il suo ricevitore. Quando la comunicazione tra i dispositivi è criptata, è necessario un attacco per decifrarla o sfruttare eventuali falle di sicurezza per poter accedere ai dati. Una volta che l'attacco ha avuto successo è possibile non solo la lettura delle informazioni ma anche il controllo diretto del computer attraverso l'invio di comandi. Tastiera di overlay: Un dispositivo con tastiera di forma adatta può essere posto al di sopra della tastiera degli sportelli automatici ATM per catturare i codici PIN dei clienti; il suo aspetto è tale che il dispositivo si integra visivamente con il resto dello sportello e difficilmente viene notato. Keylogger acustico: Sfruttando tecniche di crittoanalisi acustica è possibile distinguere il suono differente che ogni singolo tasto di una tastiera produce quando viene premuto. Non è necessario registrare singolarmente i suoni di una tastiera per l'identificazione; è possibile associare le singole firme acustiche con i relativi caratteri con metodi statistici come l'analisi frequenziale. La ripetività delle firme acustiche e i ritardi tra i diversi rumori dei pulsanti assieme ad altre informazioni di contesto come le caratteristiche della lingua in cui scrive l'utente o il contesto delle comunicazioni rendono possibile l'analisi per mappare i singoli suoni alle lettere. Il numero di dati registrati migliora l'efficacia del riconoscimento, è quindi richiesta la registrazione di una consistente quantità di campioni (almeno un migliaio di digitazioni). Emissioni elettromagnetiche: Una comune tastiera, come ogni altro dispositivo elettronico, emette radiazioni elettromagnetiche. È possibile catturare queste emissioni fino alla distanza di 20 metri, senza essere connessi fisicamente ad essa. Nel 2009, alcuni ricercatori svizzeri hanno testato 11 diverse tastiere con interfaccia USB, PS/2 e di computer portatili in una camera semi-anecoica, dimostrando che tutte erano vulnerabili a questo tipo di attacco, principalmente per il costo eccessivo di una schermatura aggiuntiva in fase di costruzione. I ricercatori hanno usato un ricevitore a banda larga per sintonizzarsi alla specifica frequenza di emissione delle tastiere. Sorveglianza video: Non è un vero e proprio attacco di keylogging, ma rimane un valido sistema per la cattura di password e codici PIN. Una semplice videocamera ben piazzata, come una di quelle per la sorveglianza di uno sportello automatico, può permettere a un criminale di ottenere PIN o password digitate dall'ignaro utente. Uso di prove fisiche: In un tastierino utilizzato per inserire un unico codice di sicurezza, come quello di un allarme casalingo, i pulsanti utilizzati frequentemente avranno un numero di impronte digitali decisamente superiore agli altri. Questo riduce i tentativi necessari per un attacco a forza bruta. Ad esempio: un codice di quattro cifre ha 10.000 possibili permutazioni, ma conoscere le quattro cifre di cui è composto limita a soli 24 (4!, 4 fattoriale) i tentativi necessari per indovinare la sequenza. Tecniche di ingegneria sociale possono aiutare a ridurli ulteriormente (ad esempio scoprendo eventuali significati dei numeri della sequenza). Sensori di uno smartphone: Alcuni ricercatori hanno dimostrato che è possibile catturare le vibrazioni delle digitazioni sulla tastiera di un vicino computer utilizzando gli accelerometri di uno smartphone. L'attacco è reso possibile collocando uno smartphone vicino alla tastiera sulla stessa scrivania o tavolo. L'accelerometro può rilevare le vibrazioni create dalla digitazione sulla tastiera e tradurre il segnale grezzo in frasi leggibili con una percentuale di accuratezza dell'80%. La tecnica implica il lavoro sulla probabilità per rilevare coppie di digitazioni piuttosto che digitazione di pulsanti singoli. Modella questi eventi tastiera in coppie e calcola se la coppia di pulsanti premuti è sul lato destro o sinistro della tastiera, se sono vicini o lontani tra loro sullo schema QWERTY. Una volta effettuata l'elaborazione, i risultati sono comparati con un dizionario precaricato in cui ogni parola è stata ottenuta nello stesso modo. Tecniche simili sono state dimostrate efficaci anche per la cattura di digitazioni su tastiere touch screen, mentre in alcuni casi in combinazione con giroscopi.
Keylogger software
È un software creato appositamente per rilevare e memorizzare la sequenza dei pulsanti che viene digitata sulla tastiera del computer che deve essere monitorato. Questi dati possono anche venire trasmessi in remoto senza la necessità di dover accedere fisicamente al computer. Normalmente l'esecuzione del programma è nascosta.
Vengono utilizzati da aziende informatiche per la risoluzione di problemi tecnici per computer e reti aziendali; anche l'uso a livello familiare o aziendaleEN Use of legal software products for computer monitoring, keylogger.org è legittimo quando vi sono esigenze di monitoraggio dell'uso delle risorse informatiche, senza che gli utenti ne siano a conoscenza. La potenza di questa tipologia di strumenti è sfruttata anche in modo illecito su computer di accesso pubblico per impadronirsi di password o dati sensibili.