Le minacce alla sicurezza informatica si presentano in maniera sempre più sfaccettata e mutevole. I cybercriminali affinano nel tempo strategie, tattiche e tecnologie per colpire in modo sempre più efficiente i sistemi delle vittime, facendo leva sia sulle vulnerabilità del software che degli errori commessi dalle persone che utilizzano i sistemi ed accedono ai dati vitali per il business di un’organizzazione.

In questo contesto, i rootkit rappresentano un nome forse meno noto al grande pubblico rispetto ai generici virus informatici o ai temibili ransomware che ormai conquistano ogni giorno le pagine di cronaca per via dei devastanti effetti ai danni dell’operatività, delle finanze e della reputazione di un’organizzazione.

Rootkit è la combinazione di due parole, root + kit, dove root (radice) indica l’utente con privilegi da amministratore e kit equivale al software necessario per introdursi nel sistema della vittima.

Al di là dell’etimologia del termine, che offre una prima percezione sulla natura di questo agente malevolo, in questo approfondimento cercheremo di capire cosa sono i rootkit, quali tipologie esistono, come funzionano e quali rischi si corrono se non si adotta una efficace strategia difensiva nei loro confronti.

Cosa sono i rootkit?

Secondo la definizione del CSIRT dell’Agenzia per la Cybersicurezza Nazionale (ACN), i rootkit sono definibili quali una “Collezione di software, perlopiù malevoli, che permettono ad un attore ostile di accedere abusivamente ad un sistema informatico o a parte di esso, eludendo le protezioni di sicurezza e celando la propria presenza in modo tale da persistere nel corso del tempo”.

Appare evidente come tale tipologia di software possa essere utilizzata anche per scopi legittimi, come il controllo da remoto di una macchina per ragioni di assistenza, un’attività che vede per il resto i sistemisti IT impegnati praticamente ogni giorno. Ma quando si sente parlare di rootkit, la prima associazione è sempre nei confronti di un agente nocivo nei confronti dei sistemi IT.

La maggior parte dei rootkit, come vedremo, sfrutta delle backdoor presenti nei sistemi delle vittime per cercare di introdurre del software malevolo, come virus, ransomware, keylogger e altre tipologie di malware, che possono essere utilizzati dai cybercriminali in molti modi, per acquisire dati nel tempo, condurre attacchi di natura violenta o fare della macchina un nodo di una botnet.

Quelli citati sono soltanto alcuni degli scopi più diffusi dei rootkit, che nel tempo si sono evoluti al punto da riuscire, in alcuni casi, a disattivare anche i sistemi di protezione anti-malware installati sui sistemi, sfruttando vulnerabilità, situazioni di obsolescenza o configurazioni errate, spianando la strada agli attori malevoli.

Esistono molti modi di ottenere ed utilizzare un rootkit. Il canale più frequente per entrarne in possesso è oggi costituito dal dark web. I rootkit vengono utilizzati soprattutto nel contesto degli attacchi phishing e delle attività di social engineering, che hanno quale obiettivo quello di ingannare gli utenti legittimi e farsi rilasciare le cosiddette “rootkit permission”, che consentono ai cybercriminali di entrare a tutti gli effetti nelle macchine da remoto e poterle controllare attraverso il software malevolo da essi installato.

Una volta installato, un rootkit consente all’attore remoto di accedere e controllare quasi ogni aspetto del sistema operativo (OS)

Come funzionano

I rootkit possono essere installati in vari modi sui sistemi della vittima, e la modalità più diffusa consiste nel saper sfruttare una vulnerabilità di un sistema operativo o di un software applicativo presente su una macchina, che si tratti di un device personale o di un server.

Qualsiasi posizione di accesso nella rete può infatti rivelarsi utile ai cybercriminali per intraprendere una serie di movimenti laterali capaci di condurli all’obiettivo prefissato, che molto spesso coincide con i dati sensibili e le proprietà intellettuali di un’organizzazione. Quegli elementi che consentono di attivare strategie di ricatto nei confronti della vittima e/o vendere informazioni vitali ai suoi competitor.

Sfruttando una vulnerabilità nota, prima che venga risolta dagli sviluppatori, gli attaccanti utilizzano un exploit per penetrare all’interno del sistema e installare un rootkit, oltre ad altri componenti che consentono di controllare da remoto la macchina e soprattutto di conservare tale privilegio nel tempo.

Come le storie cybercriminali puntualmente ci insegnano, in merito alla diffusione dei rootkit vi è largo spazio per la creatività. Un altro metodo a lungo tempo e tuttora sfruttato per installare rootkit è stato l’impiego di unità USB infette, “dimenticate” di proposito negli spazi comuni dei luoghi di lavoro, come le zone dedicate alle stampanti o i tavolini delle zone caffè/relax.

La tattica consiste nel far sì che il ritrovatore dell’unità, del tutto ignaro dei rischi, la colleghi al proprio sistema per tentare di risalire all’identità del presunto proprietario ai fini di restituirla. Questa operazione si rivela tuttavia fatale in quanto il malware contenuto nell’unità USB è in grado di attivarsi mediante la semplice connessione e procedere all’installazione del rootkit.

In ogni caso, è importante evidenziare come un rootkit non sia in grado di diffondersi in maniera autonoma, deve pertanto esserci un agente in grado di installarlo sul sistema vittima, previo ottenimento delle autorizzazioni necessarie per farlo. Questa osservazione è da considerarsi la base di tutte le strategie preventive e difensive da adottare nei confronti dei rootkit, ancor prima di pensare a come identificarli e rimuoverli dal sistema infetto.

Oltre ai metodi già citati, tra i principali canali di diffusione dei rootkit ritroviamo i file eseguibili, le macro dei documenti Word / Excel e i file PDF malevoli, spesso diffusi attraverso campagne phishing via mail, oltre all’accesso distratto e non sicuro a pagine web in grado di attivare procedure di installare del malware.

Oltre alle vulnerabilità contenute nel software, il fattore umano costituisce pertanto quell’anello debole che i cybercriminali cercano in tutti i modi di sfruttare per diffondere i rootkit, indispensabili per lo svolgimento delle attività malevole.

Quali sono i rischi

Le varie tipologie di rootkit finora create contengono agenti malevoli di varia natura per rubare password e credenziali di accesso a siti e servizi finanziari. Esistono inoltre rootkit che agiscono da keylogger, in grado di disabilitare i sistemi anti-malware e software in grado di trasformare la macchina in un nodo di una botnet, che i criminali utilizzano per diffondere altri malware o per condurre attacchi di natura DDoS.

Tra i principali rischi che le vittime di un rootkit si ritrovano puntualmente ad affrontare ritroviamo:

Infezione malware

Il rootkit può installare ransomware, spyware, adware e altri software malevoli, agendo a discapito delle performance, dell’integrità dei dati o violando in maniera evidente la privacy del sistema.

Esfiltrazione e rimozione di file

I rootkit possono eseguire software in grado di acquisire o cancellare file sul sistema della vittima. Queste operazioni sono alla base dei famigerati attacchi ransomware, ed in particolare alla tipologia a doppia estorsione, che consente ai criminali di bloccare operativamente la vittima e chiedere contestualmente un riscatto sia per riabilitarla che per non diffondere i dati illecitamente sottratti.

Furto di dati sensibili

Una volta installato, il rootkit è in grado di eseguire software in grado di consentire al criminale di controllare remotamente la macchina. Si tratta di una presenza in molti casi silenziosa, finalizzata ad esfiltrare continuamente dati. Per questo scopo vengono utilizzati spyware, adware, keylogger, screen scraper e altri sistemi capaci di ottenere illecitamente i dati sensibili e monetizzarli in vari modi.

Compromissione configurazioni di sistema

Mediante il controllo da remoto, i cybercriminali possono modificare le configurazioni di sistema, in primo luogo per garantirsi una presenza persistente al suo interno, eludendo una serie di possibili controlli. Tale condizione porta a prediligere quali vittime i server attivi 24/7, ma i rootkit moderni sono ormai facilmente in grado di ripristinare il proprio stato anche nel caso di riavvio di una macchina.

Le tipologie di rootkit

Vi sono molte tipologie di rootkit, che offrono agli attaccanti altrettanti approcci per penetrare all’interno delle macchine e compromettere l’integrità dei sistemi.

Firmware Rootkit

Altrimenti noto come rootkit hardware, prende di mira il BIOS di una macchina, contenuto all’interno di un’unità di memoria sulla scheda madre. Viene principalmente utilizzato per intercettare ed esfiltrare i dati sulle unità disco.

Bootloader Rootkit

Sostituisce il bootloader legittimo della macchina con uno contraffatto e procede all’infezione a basso livello del MBR (master boot record), impedendo al sistema di rilevarlo, persino da un software anti-rootkit, in quanto questi opera ad un livello superiore.

Memory Rootkit

Si colloca nella RAM (random access memory) del sistema. Si tratta di un rootkit concepito per un ciclo di vita breve, in quanto viene automaticamente rimosso al primo riavvio della macchina, anche se in grado di reinstallarsi. Solitamente utilizzato per sfruttare le capacità computazionali del sistema a favore di applicazioni illegittime.

Application Rootkit

Rimuove alcuni file legittimi di applicazioni standard o molto diffuse di Windows, come Notepad o Word, con elementi contraffatti che consentono ai criminali di accedere all’interno della macchina infetta. Per l’utente finale, anche nel caso di utilizzo di tali applicazioni, non vi sono modifiche al comportamento del sistema che potrebbero far sospettare la presenza di agenti malevoli. Tuttavia sono piuttosto semplici da rilevare con software anti-rootkit.

Kernel Mode Rootkit

Si tratta dei rootkit più complessi, che ha quale obiettivo l’infezione del cuore del sistema operativo di una macchina: il kernel, per consentire al criminale di modificare il modo con cui lo stesso sistema operativo lavora, agendo direttamente sul codice. La scrittura di tale rootkit richiede conoscenze molto avanzate dell’OS e delle sue vulnerabilità, che risultano essenziali per rendere ostico il rilevamento e soprattutto la rimozione da parte dei sistemi di sicurezza informatica.

Alcuni famosi esempi di rootkit

Alcuni rootkit sono diventati negli anni delle vere e proprie celebrità, conquistando l’attenzione dei media per via dei loro devastanti attacchi. Tra i rootkit più noti possiamo senza indugi citare:

  • Zeus (2007): un trojan utilizzato per condurre attacchi man-in-the-middle (MITB) per intercettare informazioni bancarie agli utenti legittimi.
  • Machiavelli (2009): principalmente noto per essere il primo kernel mode rootkit operativo ai danni di MacOS.
  • Stuxnet (2010): rootkit in grado di colpire i sistemi IT-OT, causando malfunzionamenti nei sistemi industriali.
  • ZeroAccess (2011): rootkit utilizzato per la creazione dell’omonima botnet, capace di infettare oltre 2 milioni di macchine per acquisire risorse computazionali per il mining di Bitcoin e spam ads. La botnet originale non è più attiva, ma persistono tuttora alcune derivazioni.
  • Flame (2012): prese di mira Windows con funzioni avanzate di keylogger e acquisizione screenshot, oltre alla capacità di intercettare conversazioni audio e traffico di dati in rete.
  • Necurs (2014): rootkit utilizzato per alimentare una botnet responsabile di numerosi attacchi ransomware (Locky, Dridex, ecc.), con funzioni avanzate per evitarne la rimozione.

Come proteggersi

Il metodo più ricorrente per proteggersi dai rootkit è ricorrere a software di scansione anti-rootkit, ovviamente concepiti per tale scopo. Tuttavia, questo accorgimento non consente con certezza di risolvere un problema che di fatto rimane di difficile risoluzione nell’ambito della sicurezza informatica, per via della sua natura intrinseca.

La capacità dei rootkit di integrarsi profondamente nei sistemi operativi e gli accorgimenti che utilizzano per evitare di essere rilevati costituiscono un avversario duro da sconfiggere anche per i sistemi anti-malware più evoluti, che rimangono una base valida ma non sufficiente, se non vengono affiancati da sistemi di behavioral analysis, capaci appunto di analizzare e rilevare le anomalie legate all’abituale comportamento delle macchine e degli utenti che vi accedono.

Di fronte ad una minaccia come i rootkit è fondamentale una strategia di cybersecurity in grado di combinare scansione, analisi comportamentale ed igiene informatica da parte degli utilizzatori dei sistemi IT.

Una volta rilevato, un rootkit si rivela mediamente ostico da rimuovere, ma è consigliabile adottare una strategia articolata su più fasi:

  • Costante Backup dei dati, a prescindere dal fatto che un attacco si verifichi o meno
  • Avvio del sistema in modalità “safe mode”
  • Utilizzare più tecnologie di scansione anti-rootkit
  • Mettere in quarantena il malware impossibile da rimuovere
  • Utilizzare sistemi di rimozione rootkit avanzati, soprattutto se vi è certezza diagnostica sulla tipologia di minaccia rootkit utilizzata dagli attaccanti

Qualora le precedenti misure non dovessero rilevarsi utili a rimuovere determinate tipologie di rootkit è possibile procedere con la reinstallazione dei sistemi operativi e il ripristino del BIOS.

In merito ad una efficace strategia di prevenzione per quanto concerne le infezioni da rootkit, è consigliabile:

  • Elevata attenzione nei confronti dei phishing, con un’adeguata attività di formazione per i dipendenti, affinché non cadano in trappole come l’apertura di allegati malevoli
  • Aggiornare sistemi operativi e software applicativi con gli update di sicurezza che vengono resi disponibili dagli sviluppatori
  • Utilizzare soluzioni di sicurezza informatica capaci di combinare l’azione del “tradizionale” antivirus con sistemi di analisi comportamentale
  • Monitorare e filtrare in maniera puntuale il traffico di rete, sia in ingresso che in uscita.