Le principali minacce e come difendersi - Parte 3: Trojan, Backdoor, Rootkit e Keylogger
Trojan
Un trojan o trojan horse (in italiano Cavallo di Troia), nell'ambito della sicurezza informatica, indica un tipo di malware. Il trojan nasconde il suo funzionamento all'interno di un altro programma apparentemente utile e innocuo. L'utente, eseguendo o installando quest'ultimo programma, in effetti attiva anche il codice del trojan nascosto. Vediamo nel dettaglio.
L'etimologia della parola deriva da Cavallo di Troia ed indica il modo in cui il programma penetra nel sistema: presentandosi come un software utile e apparentemente sicuro, l'utente lo esegue di sua spontanea volontà, avviando al contempo anche il virus.
Nel 1985 uno dei primi trojan, denominato Gotcha, fu in grado di creare molti danni. Il programma si presentava come un visualizzatore grafico di file, mentre il suo vero intento era di eliminare i dati presenti sul disco.
L'attribuzione del termine "cavallo di Troia" ad un programma (o file eseguibile) è dovuta al fatto che esso nasconde il suo vero fine. È proprio il celare le sue reali "intenzioni" che lo rende un trojan. In questo modo l'utente inconsapevolmente è indotto ad eseguire il programma.
In questo modo, come i troiani fecero entrare in città gli achei celati nel mitico cavallo di legno progettato da Ulisse, così la vittima è indotta a far entrare il programma nel computer.
Spesso il trojan viene installato dallo stesso attaccante, quando prende il controllo del sistema, acquisendone i privilegi amministrativi. In questo caso il trojan serve a "mantenere lo stato di hacking", cioè a mantenere il controllo remoto del computer, senza che il legittimo proprietario si accorga che alcuni programmi nascondono altre funzioni, per esempio di intercettazione di password o altri dati sensibili.
Oggi col termine Trojan ci si riferisce ai malware ad accesso remoto (detti anche RAT dall'inglese Remote Administration Tool), composti generalmente da 2 file: il file server, che viene installato nella macchina vittima, ed un file client, usato dall'attaccante per inviare istruzioni che il server esegue.
I Trojan sono sempre più diffusi e non tutti sono riconoscibili prontamente dagli antivirus. Per aumentare la loro efficacia possono nascondersi in modo tale che nemmeno l'antivirus sia in grado di eliminarli. Permettendo così di danneggiare il computer. Se questo accade, il Trojan può essere individuato e rimosso solo tramite la reinstallazione totale del sistema operativo ad opera di un informatico esperto.
I trojan non si diffondono autonomamente come i virus o i worm e non sono in grado di replicare se stessi. Quindi richiedono un'azione diretta dell'aggressore per far giungere il software maligno alla vittima. A volte però agiscono insieme: un worm viene iniettato in rete con l'intento di installare dei trojan sui sistemi. Spesso è la vittima stessa che involontariamente, non prestando attenzione ai siti che sta visitando, ricerca e scarica un trojan sul proprio computer. Una tecnica che i cracker amano usare è quella di inserire queste "trappole", ad esempio, nei videogiochi piratati, che generalmente sono molto richiesti. In generale sono riconosciuti da un antivirus aggiornato, come un normale malware. Se il trojan in questione non è ancora stato scoperto dalle software house degli antivirus, comunque potrebbe essere rilevato con una scansione esaustiva e segnalato come "probabile malware". Altre volte gli stessi trojan possono essere usati per diffondere virus all'interno di una rete difficile da attaccare per gli hacker. Oppure possono essere usati per aprire porte di comunicazione in sistemi o server che normalmente dovrebbero essere chiuse.
Come si può essere infettati, prevenire e curare i danni?
La prima cosa importante da capire è che un Trojan è un programma eseguibile che per installarsi necessita dell'input da parte di un utente. Purtroppo ci sono molti modi in cui un programma può fingersi benevolo quindi l'unico modo per evitarlo è imparare a diffidare dei programmi dalla provenienza dubbia o sospetta e a non fidarsi ciecamente della presenza nel proprio sistema di un software antivirus, che può non essere "infallibile" nella rilevazione dei trojan.
In Windows ad esempio i file eseguibili hanno estensione ‘exe','vbs','bat','js' ecc. È molto importante prestare attenzione ai file con questa estensione, in particolare se arrivano attraverso email, anche da mittenti conosciuti. Un trucco utilizzato di solito è quello di rinominare il file con diverse estensioni ad esempio ‘Documento.txt.exe'. Questo file non è un documento testuale ma un eseguibile che potrebbe portare codice malevolo.
Un altro modo per trasmettere un trojan è quello di usare le macro di un documento: è possibile usare tale sistema in molti documenti, per esempio nei formati di Word, Excel, PDF e altri. Bisogna quindi prestare attenzione ai file che possono contenere macro. Se arrivano dall'esterno, anche da mittenti conosciuti, sarebbe buona regola accertarsi che l'antivirus li possa esaminare, altrimenti usare una scansione manuale alla ricerca di potenziali macro pericolose.
La regola principale per evitare di essere infettati è di essere sicuri della sorgente e del contenuto di ogni file che si scarica. Attenzione però che alcuni trojan possono essere inviati come allegati di posta elettronica da computer di conoscenti che sono stati infettati da un virus. In questo caso si dovrebbe dubitare della ricezione di file non richiesti da persone conosciute.
Nel caso non si sia sicuri di cosa si fa la scelta migliore e quella di chiedere aiuto ad una persona più esperta e competente. In ogni caso è una buona norma non inserire o dare dati o informazioni personali come mail, password, numeri di telefono o carte di credito a siti o applicazioni di cui non si è sicuri o che non possono garantire una adeguata sicurezza delle informazioni.
Riparare o rimuovere l'infezione di un trojan non è semplice. Per prima cosa bisogna sapere da che tipo di trojan si è stati infettati. Nel caso di trojan semplici è possibile usare sistemi di rimozione specifici a pagamento o l'antivirus nel caso quest'ultimo possieda delle funzioni del genere. In ogni caso se non si è utenti esperti è consigliato chiedere aiuto a persone più esperte.
Backdoor
Una backdoor (dal termine inglese per porta di servizio o porta sul retro) è un metodo, spesso segreto, per passare oltre (aggirare, bypassare) la normale autenticazione in un prodotto, un sistema informatico, un crittosistema o un algoritmo.
Le backdoor sono spesso scritte in diversi linguaggi di programmazione e hanno la funzione principale di superare le difese imposte da un sistema, come può essere un firewall, al fine di accedere in remoto a un personal computer, ottenendo per mezzo di un sistema di crittografia un'autenticazione che permetta di prendere il completo o parziale possesso del computer vittima.
Una backdoor può celarsi segretamente all'interno di un ignaro programma di sistema, di un software separato, o può anche essere un componente hardware malevolo come: apparati di rete, sistemi di sorveglianza e alcuni dispositivi di infrastruttura di comunicazione che possono avere celate al loro interno backdoor maligne permettendo l'intrusione di un eventuale criminale informatico.
Normalmente tali stratagemmi sono installati furtivamente, in alcuni casi sono deliberatamente e ampiamente volute, per esempio possono essere intenzionalmente create da un gestore di sistema informatico (amministratori di rete o sistemista) permettendo una più agevole opera di manutenzione dell'infrastruttura informatica, agendo sul sistema software del computer da remoto oppure per ripristinare password dimenticate dagli utenti.
Spesso però tali buchi vengono utilizzati da hacker intenzionati a manomettere il sistema.
Possono anche essere installate autonomamente da alcuni malware (come virus, worm o trojan), in modo da consentire ad un utente esterno di prendere il controllo remoto della macchina senza l'autorizzazione del proprietario, consentendo così agli hacker l'accesso a tutti i processi attivi, alla webcam, al mouse, alla tastiera.
E' molto difficile rimuovere una backdoor manualmente. Infatti, una backdoor, sfruttando porte già aperte nel sistema è pressoché invisibile agli antivirus. E' consigliabile, pertanto, utilizzare software appositi per la rimozione di malware, e tenere sempre aggiornato il siste ed i softare di protezione.
Al fine di impedire una backdoor è buona regola, nonché buon senso, evitare di cliccare su link di cui non si è sicuri, aprire e-mail di dubbia provenienza ed installare programmi che possono nascondere malware all'interno (ad esempio crack per software pirata) o scaricati da canali non sicuri (P2P).
Rootkit
Il rootkit è una collezione di software, tipicamente malevoli, realizzati per ottenere l'accesso ad un computer o ad una parte di esso, che non sarebbe altrimenti possibile (per esempio da parte di un utente non autorizzato ad effettuare il login). Questi software, oltre a garantire tali accessi, si preoccupano di mascherare sé stessi o altri programmi utili per raggiungere lo scopo.
Il termine inglese "Rootkit" deriva dalla concatenazione di due termini: "root" (che indica, tradizionalmente, l'utente con i maggiori permessi) e "kit" (che si riferisce al software che implementa lo strumento). Il termine rootkit generalmente assume una connotazione negativa, perché spesso associato ad un Malware.
L'installazione di un Rootkit può essere automatizzata oppure un attaccante (cracker) può installarla personalmente, una volta ottenuti i permessi di root o l'accesso come Amministratore. Ottenere questo tipo di accesso può essere il risultato di un attacco diretto verso il sistema sfruttando, per esempio, una vulnerabilità nota o scoprendo una password. Una volta installato il Rootkit, è importante mantenere nascosta l'intrusione così da poter mantenere i privilegi ottenuti. La chiave di questo attacco sta quindi nei permessi di root o Amministratore. Con questi permessi è possibile avere un controllo completo del sistema, questo include anche modificare software, compreso quello nato per rilevarli e bloccarli (come gli antivirus).
I rootkit moderni non si preoccupano più di elevare i permessi, ma piuttosto mascherano il caricamento di un altro software aggiungendo funzioni per renderlo invisibile. La maggior parte dei rootkit sono classificati come malware, perché sono legati a software malevolo. Per esempio il carico (payload) che si porta dietro un rootkit potrebbe segretamente rubare le password dell'utente, informazioni sulle carte di credito, risorse dal computer oppure potrebbe svolgere attività non autorizzate. Un numero ridotto di rootkit può essere utile all'utente: per esempio, potrebbe mascherare un driver di emulazione dei CD-ROM, permettendo di superare le misure anti-pirateria di un videogioco che richiedono, ad esempio, di inserire il CD nell'apposito lettore per verificare l'autenticità del programma (questa misura di protezione potrebbe risultare fastidiosa anche a chi ha legalmente comprato il software).
I rootkit impiegano varie tecniche per prendere il controllo di un sistema. La tecnica più comune è quella di fare leva su una vulnerabilità di sicurezza per ottenere un aumento dei privilegi non desiderato. Un altro approccio è quello che utilizza un cavallo di troia (trojan), ingannando l'utente di un computer facendogli credere che l'installazione del rootkit è in realtà un'installazione benigna.
Alcuni rootkit possono anche essere installati intenzionalmente dal proprietario del sistema o da qualcun altro autorizzato dal proprietario, con lo scopo, ad esempio, di monitorare gli impiegati, rendendo le tecniche sovversive inutili.
Una volta installato un rootkit prende misure attive per oscurare la sua presenza all'interno del sistema ospite attraverso la sovversione o l'evasione degli strumenti standard di sicurezza del sistema e delle API usate per la diagnosi, scansione e monitoraggio.
Rilevare un Rootkit può essere complicato, perché la prima preoccupazione di questi software è bloccare i programmi che possono trovarli. Il problema fondamentale nella scoperta dei rootkit è che il sistema operativo stesso viene compromesso, specialmente dai rootkit a livello kernel, esso quindi non è attendibile per quanto riguarda la ricerca di modifiche non autorizzate a se stesso o ai suoi componenti.
Azioni come richiedere una lista di processi in esecuzione, o una lista di file nelle directory, non sono affidabili, le risposte potrebbero non essere quelle previste. In altre parole, i programmi che identificano rootkit che lavorano mentre il sistema infetto è in esecuzione, sono efficaci solo contro i rootkit che hanno qualche difetto nel loro occultamento, o che operano con privilegi più bassi rispetto al programma incaricato di scoprirli. Come con i virus, la scoperta e l'eliminazione dei rootkit è una lotta costante tra le due parti.
La identificazione può utilizzare diversi approcci differenti, incluse firme (es. Software Antivirus), check di integrità (es. firme digitali), rilevamento basato su differenze (es. risultato del confronto atteso vs risultati effettivi) e rilevamento comportamentale (es. monitoraggio dell'utilizzo della CPU o del traffico di rete).
I metodi per rilevare rootkit includono l'utilizzo di un sistema operativo alternativo e fidato, metodi di analisi comportamentale ed altro. La rimozione può essere davvero complicata se non quasi impossibile, specialmente nei casi in cui il rootkit risiede nel kernel; formattare la macchina e reinstallare il sistema operativo potrebbe essere l'unica soluzione possibile. Quando però si ha a che fare con dei rootkit nel firmware, la rimozione potrebbe richiedere la sostituzione di parti hardware, oppure l'utilizzo di strumenti specializzati.
La rimozione manuale di un rootkit è spesso troppo complessa per un utente medio, ma molti software di sicurezza contengono tool specifici per la loro ricerca e rimozione, tipicamente questi tool fanno parte delle suite antivirus. Una via affidabile per rimuovere un rootkit è reinstallare il sistema operativo tramite un mezzo fidato. Questo perché gli antivirus e gli antimalware operano su un sistema non fidato e potrebbero quindi rivelarsi loro stessi inefficaci contro rootkit ben scritti. Anche se il tipo e la natura del rootkit sono noti, un intervento manuale potrebbe essere poco pratico, mentre reinstallare il sistema operativo e le applicazioni è più sicuro, semplice e veloce.
Keylogger
Un keylogger, in informatica, è uno strumento hardware o software in grado di effettuare lo sniffing della tastiera di un computer, cioè è in grado di intercettare e catturare segretamente tutto ciò che viene digitato sulla tastiera senza che l'utente si accorga di essere monitorato. Può essere usato per studiare l’interazione uomo-computer. L'attività viene definita keystroke logging, keylogging o keyboard capturing.
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:
- 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.
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.
Il 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 aziendale è 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 informazioni 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.
Come difendersi? Come ogni altra problematica 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.
Esistono diverse possibili contromisure a seconda della diversa natura della tipologia di keylogging da combattere, di conseguenza la loro efficacia può variare sensibilmente.
- Antikeylogger, antivirus o antispyware: un antikeylogger è un software di protezione specificamente creato per rilevare keylogger software su un computer. Spesso è anche in grado di cancellare o bloccare l'esecuzione del programma spia. Questo tipo di software di sicurezza effettua una verifica più stringente di un comune antivirus o antispyware, che invece potrebbe non rilevare o addirittura trascurare alcuni keylogger quando sono parte di software legittimi; esso però non fa distinzione tra keylogger legittimi e malware, tutti vengono identificati e rimossi quando possibile.
- Monitor di Rete: può essere usato per avvertire l'utente quando un'applicazione tenta di connettersi alla rete, per non permettere al sospetto keylogger di "chiamare casa" per trasmettere le informazioni recuperate sul computer.
- Usare il riempimento automatico dei form.
- Usare password monouso o token di sicurezza.
- Tastiera USB alternativa o tastiera su schermo.
- Riconoscimento vocale e calligrafico.
Fonti: