strumento in grado di intercettare e catturare segretamente tutto ciò che viene digitato sulla tastiera senza che l'utente si accorga di essere monitorato Da Wikipedia, l'enciclopedia libera
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.[1] Può essere usato per studiare l’interazione uomo-computer. L'attività viene definita keystroke logging, keylogging o keyboard capturing.
Negli anni 1970, delle spie installarono dei primi modelli keylogger nell'ambasciata USA e al consolato di Mosca e San Pietroburgo,[2][3] all'interno di macchine per scrivere Selectric II e Selectric III.[4] 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.[5]
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.[6]
Nel 2000, l'FBI utilizzò FlashCrest iSpy per ottenere la passphrase PGP del figlio del malavitoso Nicodemo Scarfo.[7] 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.[8]
Nel 2011 sono stati trovati alcuni keylogger USB sul retro dei pc di due biblioteche britanniche della contea del Cheshire.[9] 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.[10][11]
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.
Esistono due tipi di keylogger:
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.[12]
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.[13]
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.[14]
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.
È 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 aziendale[31][32][33] è 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.
Esistono keylogger anche per smartphone e tablet dotati di sistemi operativi come Android o iOS, in grado di monitorare anche la cronologia di navigazione web, i testi inseriti, registri delle chiamate, l'utilizzo delle applicazioni completo di durata temporale, il segnale gps.[34][35][36]
GetAsyncKeyState()
, GetForegroundWindow()
e simili sono utilizzate per acquisire in modo attivo lo stato della tastiera o per registrarsi a questi eventi.[37] Può anche essere effettuato il polling dal BIOS dei codici di autenticazione precedenti al boot, non ancora eliminati dalla memoria.[38]Possono essere utilizzati per vari scopi: ad esempio anche da un datore di lavoro per controllare l’uso dei loro computer da parte dei propri dipendenti, oppure per attività di spionaggio o di investigazione, anche da privati, sebbene ciò implichi il rispetto della normativa a tutela della privacy. Esistono numerosi metodi keylogging: variano da approcci hardware e software all’analisi acustica.
Nel 2015 il ricercatore di sicurezza informatica Samy Kamkar ha sviluppato KeySweeper, un dispositivo basato su Arduino che appare e funziona a tutti gli effetti come un caricatore USB di uno smartphone, ma di nascosto registra, decripta e memorizza i dati digitati sulle tastiere wireless Microsoft[41]. Il dispositivo è dotato di una batteria ricaricabile, quindi rimane attivo anche in caso non sia stato inserito in una presa elettrica. Il progetto include anche un tool web-based per il monitoraggio in tempo reale delle digitazioni, capace di inviare avvisi tramite SMS per digitazioni particolari come nomi utente o indirizzi URL.[41]
Gli schemi per la costruzione dell'hardware e l'intero software del dispositivo sono a disposizione online, completi di spiegazioni approfondite[42]; di conseguenza nell'aprile del 2016 l'FBI ha emanato un comunicato alle aziende private, per avvisare del pericolo di questi keylogger decisamente insospettabili in quanto appaiono come innocui oggetti di uso comune. Nel documento sono incluse informazioni tecniche e strategie per difendersi, come ad esempio l'uso di tastiere cablate per le postazioni di lavoro sensibili o di moderni modelli dotati di crittografia AES (Advanced Encryption Standard), molto più resistenti ai tentativi di decriptazione.[43]
Nel sistema Linux è possibile installare vari programmi di questo tipo, presenti in uno o più repository. Ad esempio nelle distribuzioni Debian e derivate aprendo un emulatore di terminale si può installare utilizzando il comando apt in modalità root:
apt install logkeys
Come ogni altro problema di sicurezza informatica, la prima e la più efficace difesa contro un keylogger, sia hardware o software, è l'uso consapevole del computer da parte dell'utente.
La comodità di utilizzare un computer non conosciuto per effettuare operazioni delicate può permettere a un malintenzionato di carpire informazioni, tramite keylogger o anche con numerose altre tecniche di sniffing; è quindi buona norma eseguire tali operazioni dal proprio computer o da un computer fidato, la cui sicurezza sia comprovata. Nel caso del keylogging in Windows 10 della Microsoft, basta modificare alcune impostazioni relative alla privacy nel computer.[44]
Esistono diverse possibili contromisure a seconda della diversa natura della tipologia di keylogging da combattere, di conseguenza la loro efficacia può variare sensibilmente.
Seamless Wikipedia browsing. On steroids.