Guida

Cosa sono i rootkit. Tecniche per individuarli e rimuoverli

Acquisiscono privilegi di amministratore per occultare la propria presenza e permettere a se stessi o ad altri malware di effettuare azioni malevole sul computer infettato. Sono i rootkit e ve ne sono di diverse tipologie, alcune più facili e altre più difficili da scoprire ed eliminare dai sistemi

Pubblicato il 05 Mar 2020

rootkit image

Iniziamo questa guida con la definizione di rootkit.

Che cos’è un rootkit?

Per rootkit si intende un singolo programma o un pacchetto di software uniti che consentono di accedere e controllare da remoto un computer o un altro sistema. Esistono anche rootkit concepiti per utilizzi legittimi, come fornire supporto remoto a un utente finale o proteggere la proprietà intellettuale del contenuto di un supporto come un CD. Ma maggior parte dei rootkit sono codici malevoli che, dopo aver acquisito il controllo di un computer, aprono backdoor per introdurre software malevoli.

Cosa fa un rootkit e da chi viene utilizzato

Come ricorda la prima parte del nome, il primo obiettivo di un rootkit è quello di ottenere l’accesso alla root, lo strato più profondo del software di un computer, dove si trovano il sistema operativo e vari altri servizi di amministrazione. Per accedere a questo strato il malware deve ottenere i permessi root, ossia i privilegi di amministratore. Una volta ottenuti – con un’unica mossa o tramite una escalation di privilegi a seguito dell’infezione – i rootkit consentono agli hacker di controllare un pc a distanza e agire su quasi tutti gli aspetti del sistema operativo (SO).

Data l’ampia gamma di codici maligni che possono essere introdotti grazie al rootkit, gli utilizzatori possono essere molteplici: cybercriminali che diffondono ransomware che crittografano dati e applicazioni per poi chiedere pagare un riscatto per decrittarli; organizzazioni che utilizzano keylogger (programmi che intercettano i dati inseriti su una tastiera) per ottenere dati sensibili da rivendere sul dark web; stati-nazione che i pc di moltissimi utenti con virus quali i Fireball, che rendono i computer nodi di una rete da cui vengono scatenati attacchi di tipo Distributed Denial of Service, DDoS, contro infrastrutture critiche di altri paesi campagne di fake news; attivisti, terroristi e così via.

Tipologie di Rootkit

Ecco le più utilizzate tipologie di rootkit.

Rootkit user-mode

Se immaginiamo il software su un computer come se fosse disposto in diversi strati concentrici, i programmi di root si trovano nel nucleo (kernel) mentre gli altri sono collocati in strati utente sempre più lontani dal centro. I rootkit più comuni sono eseguiti in questi strati e sono definiti user-mode, ma è necessario che ottengano o abbiano i permessi di root. Una volta ottenuti questi, possono modificare lo spazio di memoria di altre applicazioni (al fine di mascherare ciò che sta accadendo all’interno del sistema operativo), intercettare le chiamate di sistema e filtrare le interazioni fra API (Application Programming Interface) per nascondere processi, file, driver di sistema, porte di rete, chiavi e percorsi di registro e servizi di sistema.

Rootkit in modalità kernel

I rootkit kernel-mode sono quelli che vengono installati direttamente nel kernel. In questo modo possono avere un completo accesso ai servizi di sistema, alla memoria di sistema e al set completo di istruzioni della CPU. Sono anche in grado di rimuovere agevolmente tutto ciò che può facilitare l’individuazione e la rimozione.

Bootkit

Variante di rootkit in modalità kernel sono i bootkit, che infettano il codice di avvio (boot) di un computer, come il Master Boot Record (MBR), il Volume Boot Record (VBR) o il settore di avvio. Un esempio è il Trojan Mebroot, che copia l’MBR originale nel settore 62 sul disco rigido, installa il proprio caricatore del kernel nei settori 60 e 61 e copia un driver rootkit vicino alla fine della partizione di avvio attiva. Al primo riavvio del computer viene così caricato il driver rootkit. Mebroot non ha file eseguibili, chiavi di registro e moduli driver, il che rende più difficile il rilevamento di software antivirus. Inoltre può essere utilizzato per attaccare i sistemi di crittografia del disco.

Rootkit del firmware o dell’hardware

I rootkit del firmware, o dell’hardware, utilizzano il firmware di un dispositivo (come un router, una scheda di rete, disco rigido o il BIOS di sistema) per installare un’immagine persistente del malware. Viene scelto di utilizzare un firmware poiché, di solito, questi software non sono sottoposti a controlli per l’integrità del codice.

Installazione e occultamento di un rootkit

L’installazione di un rootkit può essere automatizzata, utilizzando come trojan programmi apparentemente legittimi, oppure eseguite da malintenzionati che hanno rubato le credenziali di amministrazione. Questi dati possono essere ricavati da un cracker attraverso attacchi di tipo brute-force (tentativi ripetuti dopo aver avuto accesso a una rete o a un sistema) oppure da attraverso tattiche di ingegneria sociale come il phishing.

Come individuare un rootkit nel proprio PC

La presenza di rootkit user-mode può essere rilevata o resa individuabile dal software presente nel kernel e che questi malware non possono alterare. I rootkit kernel-mode possono dare segnali della propria esistenza grazie all’instabilità che possono causare sui sistemi e che devono mettere in allarme.

Fra i metodi di rilevamento si segnala la prova di un computer apparentemente infettato riavviando con un sistema operativo alternativo memorizzato su un supporto affidabile (Alternative trusted medium).

Esistono anche metodi di behavioral detection (come il monitoraggio dell’uso della CPU o del traffico di rete), signature-based (scansione delle firme dei virus effettuata con un anti-virus), difference-based detection (consistente nella comparazione fra i risultati attesi da un sistema con quelli effettivi), integrity checking (controllo che nessun file sia stato modificato rispetto a quanto è stato installato) e analisi dei dump della memoria (che si verificano all’inizio di diversi processi).

Come rimuovere i rootkit dal computer: software e consigli

I programmi antivirus più vecchi hanno spesso avuto difficoltà a rilevare i rootkit, ma la maggior parte dei programmi antimalware oggi hanno capacità di rilevazione e di rimozione dei rootkit nonostante il loro occultamento all’interno di un sistema.

Nei casi in cui il rootkit risiede nel kernel, la rimozione può essere complicata o praticamente impossibile: la reinstallazione del sistema operativo potrebbe essere l’unica soluzione disponibile al problema. Quando si ha a che fare con i rootkit del firmware, la rimozione potrebbe richiedere la sostituzione dell’hardware o l’utilizzo di apparecchiature specializzate da parte di tecnici qualificati.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3