I rootkit sono pericolosi file malware che si inseriscono in profondità nei sistemi operativi, nelle applicazioni, nel firmware e nei bootloader, apportando modifiche fondamentali ai dispositivi dell’utente e riuscendo a nascondersi dalle tradizionali tecniche di scansione del malware.
La maggior parte dei file malware (come virus, trojan, worm, ransomware) vengono eseguiti come file di programma eseguibili sul dispositivo – il sistema operativo li riconosce come file di programma, e uno scanner di malware può analizzare il comportamento di questi file analizzando i processi in esecuzione, i file di sistema, i file di programma e i dati salvati sul disco.
Purtroppo, un rootkit è sepolto in profondità nel sistema operativo e riesce a ingannare efficacemente lo scanner dei malware spacciandosi come facente parte del sistema operativo stesso. A causa dell’accesso privilegiato del rootkit, il sistema operativo non lo identificherà come componente estranea, e il programma antivirus potrebbe non essere in grado di rilevare l’infezione. Per questi motivi, i Rootkit sono molto difficili da identificare e rimuovere.
Alcuni rootkit possono essere rimossi con un riavvio del dispositivo, mentre altri non possono essere rimossi nemmeno riformattando completamente il disco rigido. I rootkit possono essere utilizzati per una varietà di scopi, tra cui il cryptojacking, il furto di identità e il sabotaggio di reti e dispositivi.
Tipologie di Rootkits
Ci sono molti tipi diversi di rootkit, ma tutti hanno una cosa in comune: sono in grado di mascherare la loro attività sul dispositivo di un utente, di solito sovvertendo la sicurezza integrata del dispositivo e gli strumenti di analisi.
Ecco alcuni esempi dei più famosi rootkit degli ultimi 20 anni.
Rootkit in modalità kernel
Il kernel è la parte centrale di un sistema operativo – è come il tronco cerebrale o il sistema limbico del vostro computer. Il codice del kernel e l’uso della memoria sono completamente separati dallo “spazio utente”, che è il codice e lo spazio su disco dedicato alle applicazioni utente, processi, programmi e file. Il sistema operativo è segmentato in spazi kernel e spazi utente in modo che gli errori e i bug dell’utente non possano influenzare il sistema operativo nel suo complesso.
I rootkit in modalità kernel approfittano di questa segmentazione ingannando il sistema operativo spacciandosi per una parte del kernel – questo è il modo in cui sono in grado di evitare tutti gli strumenti di scansione, indicizzazione e diagnostica che un antivirus utilizzerebbe. Questi tipi di rootkit possono apportare modifiche al software e all’hardware, scaricare e installare altri malware, fornire agli hacker l’accesso ai dati dell’utente e persino permettere agli hacker di utilizzare il vostro dispositivo a distanza. I rootkit del kernel possono anche creare cache di memoria nascoste sul disco rigido che sono completamente nascoste dal sistema operativo.
Uno dei più notevoli rootkit in modalità kernel è il rootkit ZeroAccess. Questo rootkit trova la sua strada sui dispositivi degli utenti attraverso l’installazione di un trojan malware – una volta che un utente viene ingannato nell’esecuzione del trojan, ZeroAccess si nasconde a livello del kernel del dispositivo dell’utente e inizia a deviare le risorse della CPU, incorporando il dispositivo dell’utente infetto in una massiccia botnet. Al suo apice, c’erano diversi milioni di computer nella botnet ZeroAccess, utilizzati per compiti che richiedono una massiccia energia di calcolo, come il mining di Bitcoin, l’avvio di attacchi DDoS o l’aumento dei clic sulle pubblicità pay-per-click.
Sappi che il rootkit ZeroAccess è ancora in circolazione!
Rootkit in modalità utente o applicazione
I rootkit in modalità utente vengono eseguiti nello “spazio utente”, intercettano e modificano il comportamento dei file eseguibili, come i file di programma e le applicazioni. Anche se non sono così difficili da rilevare e distruggere come i rootkit in modalità kernel, gli hacker possono comunque utilizzare i rootkit in modalità utente per distribuire malware, manipolare i vostri file e applicazioni e accedere ai vostri dati.
Su Windows, la maggior parte dei rootkit in modalità utente, sono in grado di infiltrarsi in programmi affidabili attraverso un processo chiamato iniezione DLL. I file DLL (dynamic link library) sono file eseguibili che eseguono funzioni di cui possono usufruire più programmi. Usando l’iniezione di DLL, il rootkit inganna sia la DLL che il vostro sistema operativo “agganciandosi” a una DLL legittima. Per esempio, se un rootkit si inietta nella DLL della tua stampante, il tuo computer permetterà al rootkit di agire perché ha già dato il permesso alla tua stampante di fare cambiamenti sul tuo dispositivo. Il vostro computer sarà ingannato nel pensare che il rootkit sia un driver della stampante.
Il più famoso rootkit in modalità utente è il rootkit Zacinlo. Questo rootkit basato su adware si nasconde nella directory System32 dell’utente e viene utilizzato per fare screenshot dei dispositivi dell’utente, inviare informazioni al suo centro di controllo e inserire contenuti pubblicitari nel browser dell’utente. Utilizza un falso codice di registro dei driver per ingannare i computer con sistema operativo Windows 10 ed è spesso in grado di reindirizzare gli scanner antivirus al fine di proteggere il suo payload adware.
Bootloader Rootkits (Bootkits)
I rootkit del bootloader (bootkit) sono un tipo di variante di rootkit in modalità kernel che infetta il Master Boot Record (MBR). L’MBR è il primo settore del disco rigido del computer. Quando si avvia il computer, prima che il sistema operativo inizi a funzionare. L’MBR dice al computer come è partizionato il disco rigido e come caricare il sistema operativo.
In termini semplici, un bootkit si carica prima del sistema operativo e dà agli hacker la possibilità di sostituire il legittimo boot loader del computer con uno che è sotto il loro controllo.
Anche se si disinstalla completamente il sistema operativo e lo si reinstalla, l’infezione di un rootkit del bootloader persisterà sul dispositivo e cercare di rimuoverlo può anche causare danni al MBR. Fortunatamente, la funzione Secure Boot di Windows 8 e 10 e gli standard industriali per l’autenticazione del firmware sono ora in grado di prevenire i bootkit (anche se uno studio del 2020 di Kaspersky Labs ha scoperto un bootkit che è stato in grado di aggirare queste misure di sicurezza, il che potrebbe indicare sviluppi significativi nella tecnologia dei bootkit nei prossimi anni).
Rootkit firmware o hardware
I rootkit firmware sono molto simili ai bootkit ma sono progettati per infettare il BIOS e i chip UEFI che eseguono i processi più basilari di un computer. Questi rootkit possono essere installati in un router, un disco rigido o una scheda di rete, e colpiscono una parte ancora più basilare del dispositivo rispetto ai rootkit del kernel. Possono anche sopravvivere a una completa riformattazione del disco.
Uno dei più famosi attacchi di rootkit hardware si è verificato nel 2008, quando gli hacker hanno installato rootkit nei lettori di carte di credito che sono stati spediti da una fabbrica in Cina ai negozi in tutta Europa. I rootkit inviavano automaticamente tutte le informazioni delle carte di credito che scansionavano agli hacker in Pakistan, con diverse centinaia di milioni di dollari che si stima siano stati rubati nell’attacco.
I rootkit firmware sono estremamente difficili da rimuovere, ed è improbabile che anche un utente tecnico esperto possa disinfettare un’infezione firmware. Bitdefender e Kaspersky offrono entrambi software di rimozione rootkit, ma se pensate di avere un rootkit nel firmware del vostro dispositivo o in uno qualsiasi dei vostri dispositivi IoT (Internet of Things), probabilmente dovreste chiedere aiuto a un professionista IT competente nella vostra zona per assicurarne la rimozione.
Rootkit virtuali o hypervisor
Un hypervisor, noto anche come virtual machine monitor (VMM), è uno strumento per gestire le macchine virtuali (VM). Le macchine virtuali sono sistemi operativi sandboxed che sono ospitati sul tuo disco ma si comportano come computer separati. Per esempio, molti utenti Linux eseguono macchine virtuali separate per Windows e Mac sui loro computer Linux, e i ricercatori di cybersicurezza possono eseguire test di malware su una macchina virtuale senza preoccuparsi che il malware infetti il loro sistema operativo.
L’hypervisor ha autorità assoluta su tutte le VM che sta gestendo – può intercettare il traffico, bloccare o alterare le informazioni in entrata e in uscita, spegnere il sistema e/o cancellare tutti i dati associati. Gli hypervisor sono uno strumento necessario per gli utenti che lavorano con le VM, poiché questi utenti hanno bisogno di una funzionalità di livello superiore per gestire più VM su un singolo dispositivo.
I rootkit degli hypervisor sfruttano questa funzionalità, eseguendo il sistema operativo dell’utente come una macchina virtuale con il rootkit hypervisor. L’hypervisor si avvia prima del sistema operativo e può bloccare o alterare qualsiasi comportamento del sistema operativo grazie ai suoi privilegi.
Il rootkit hypervisor più famoso è noto come BluePill, che è stato progettato nel 2006 da un ricercatore di cybersicurezza a Singapore. BluePill è in grado di installarsi come hypervisor del sistema e apportare modifiche senza che il sistema operativo ne sia a conoscenza. Tuttavia, i rootkit hypervisor non sono stati distribuiti come malware (ancora) ed esistono ancora solo come progetti di ricerca per i team di sicurezza informatica.
Come fa un rootkit a infettare un computer?
I rootkit possono essere installati su un dispositivo in diversi modi, come ad esempio:
Download ingannevoli. La maggior parte delle infezioni da malware si verifica quando gli utenti scaricano ed eseguono file da fonti non affidabili. I rootkit possono essere forniti in bundle con supporti o software pirata, o possono essere allegati inviati da indirizzi email falsificati, progettati per ingannare gli utenti e fargli credere che stanno scaricando file da una fonte affidabile.
- Siti di phishing. I siti di phishing sono siti web falsi che imitano le pagine web legittime per rubare le informazioni degli utenti o convincerli a scaricare file malware, compresi i rootkit.
- Download drive-by. Sfruttando le vulnerabilità del browser (specialmente browser e plugin non aggiornati), gli hacker possono effettivamente forzare il malware sul tuo dispositivo.
- Attacchi Exploit. Gli exploit sfruttano le vulnerabilità del software nel tuo browser, nel sistema operativo o in qualsiasi applicazione collegata a Internet, permettendo agli hacker di accedere al tuo dispositivo.
- Manomissione fisica. I rootkit hardware devono essere installati a mano, o dagli hacker che intercettano i dispositivi prima che arrivino nei negozi o manomettendo i dispositivi usati e rubati.
Come tutti i software, un rootkit inizia come un file eseguibile. Una volta che un rootkit viene eseguito sul tuo dispositivo, inganna il tuo sistema in una varietà di modi. I rootkit in modalità utente utilizzano l’iniezione di DLL, mentre i rootkit dell’hypervisor virtualizzano il sistema operativo e i rootkit del kernel si inseriscono nello spazio del kernel convincendo il sistema operativo che il rootkit è un processo legittimo del sistema.
Non importa quale parte del sistema infetti, un attacco rootkit inizia sempre “agganciando” il rootkit a un processo di sistema legittimo e poi convincendo quel processo che il rootkit dovrebbe essere lì.
Come rilevare un rootkit
Rilevare e rimuovere i rootkit è estremamente difficile, e in alcuni casi, può essere praticamente impossibile senza un’attrezzatura avanzata di rilevamento anti-rootkit. Questo perché, una volta installato, un rootkit prende misure per garantire la sua sopravvivenza nascondendo la sua presenza all’interno del sistema ospite. I rootkit possono eludere gli strumenti standard del sistema operativo utilizzati per la scansione e il monitoraggio, e possono sovvertire il software anti-malware che è destinato a trovarli. Un dispositivo compromesso potrebbe non essere in grado di trovare modifiche non autorizzate a se stesso o ai suoi componenti.
A causa di queste complicazioni tecniche, il rilevamento dei rootkit può prendere una serie di approcci diversi, tra cui:
1 – Cercare bug e difetti
I rootkit si inseriscono nei processi di sistema, intercettando e talvolta alterando le attività di quei processi. A causa di questo, i rootkit sono spesso instabili, causando problemi evidenti al computer come ad esempio il rallentamento del sistema, crash del software, sequenze di avvio lente, e anche il famigerato “Blue Screen of Death”. Se il dispositivo viene utilizzato come parte di una botnet, noterai un utilizzo significativo della CPU anche senza eseguire alcuna applicazione, così come un rapido consumo della batteria e persino il surriscaldamento del dispositivo. Fondamentalmente, se il computer si rompe improvvisamente, è necessario indagare ulteriormente alla ricerca di un infezione da malware, compresi i rootkit.
2 – Installazione del software antivirus
I migliori antivirus sono dotati di strumenti di scansione rootkit proprietari (uno dei miei preferiti per il rilevamento di rootkit è Bitdefender). In primo luogo, questi scanner confrontano i tuoi file con un database di malware conosciuti – questo può aiutare a trovare un rootkit prima che si sia incorporato nel tuo dispositivo, ma non una volta che ha ottenuto l’accesso root.
Successivamente, gli scanner utilizzano l’analisi del comportamento per determinare se qualcuno dei vostri file sta eseguendo attività insolite sul vostro disco. Questo può essere particolarmente efficace per rilevare i rootkit in modalità utente, che si agganciano a file di applicazioni affidabili. Bitdefender offre anche una speciale modalità di salvataggio, che riavvia il sistema e lo esegue prima che il sistema operativo si avvii per rilevare i rootkit in modalità kernel.
3 – Usare un supporto alternativo fidato
Un supporto alternativo fidato è un altro dispositivo (può essere un altro computer o una chiavetta USB) che può essere usato per scansionare un dispositivo infetto. Poiché il supporto alternativo fidato viene eseguito prima dell’avvio del sistema, il rootkit non è in grado di utilizzare il sistema operativo del dispositivo infetto per nascondere la sua presenza. Panda Dome include un Rescue Kit avviabile via USB che può scansionare il PC durante la sequenza di avvio.
4 – Analizzare i dump di memoria
I dump di memoria contengono un elenco della memoria volatile del computer (memoria ad accesso casuale). I dati volatili sono i dati memorizzati nella memoria temporanea di un computer mentre è in funzione. I dump di memoria contengono preziosi dati volatili che mostrano lo stato del dispositivo prima di un incidente come un crash o una compromissione della sicurezza. L’analisi dei dump di memoria può fornire dati unici come le connessioni di rete, le credenziali degli account, i messaggi di chat, i processi in esecuzione, i frammenti di codice iniettato, la cronologia internet e altri dettagli chiave che possono essere utilizzati per identificare un attacco rootkit. L’analisi del dump di memoria è piuttosto complicata e non dovrebbe essere eseguita da utenti non esperti.
5 – Eseguire un controllo di integrità
La maggior parte dei file ha una firma digitale creata da un editore legittimo – questo è essenzialmente un ID o un passaporto che permette ad un’applicazione di apportare modifiche specifiche al vostro sistema. I rootkit in modalità utente, che dipendono dall’iniezione di DLL, possono eseguire ogni sorta di attività sul vostro sistema fingendo di essere software legittimo, ma un’attenta analisi della firma e del comportamento dell’applicazione violata può rivelare se si sta comportando normalmente o no. Windows 10 ha controlli di integrità integrati che si verificano periodicamente durante l’avvio e l’esecuzione, e alcuni scanner rootkit dedicati come RootkitRemover di McAfee eseguono anche controlli di integrità.
Come rimanere protetti contro i rootkit
Sfortunatamente, ogni metodo di rilevamento e rimozione dei rootkit comporta alcune vulnerabilità e rischi. Microsoft ha fatto sforzi significativi per rafforzare Windows a livello di avvio, kernel e utente contro l’infezione da malware, ma gli hacker sono sempre pronti con soluzioni innovative per aggirare il lavoro dei professionisti della sicurezza informatica.
A causa della loro natura quasi impercettibile, gli attacchi rootkit sono meglio gestiti attraverso la prevenzione; è molto più facile tenere i rootkit fuori dal tuo computer che rimuoverli una volta che si sono nascosti nel tuo sistema.
Usa un software anti-malware con il rilevamento dei rootkit
Windows ha fatto passi significativi con le sue protezioni – caratteristiche come Boot Guard, UEFI hardening, e System Guard forniscono un potente strato di protezione anti-rootkit. Ma programmi anti-malware avanzati come Norton 360, Bitdefender e McAfee hanno una protezione contro i malware migliore di Windows Defender. Queste suite anti-malware utilizzano l’analisi del comportamento, firewall avanzati e l’apprendimento automatico per fornire una protezione in tempo reale contro il download e la distribuzione di rootkit. Bitdefender e McAfee forniscono anche strumenti avanzati di rilevamento e rimozione dei rootkit.
NON ignorare gli aggiornamenti
Gli aggiornamenti possono sembrare fastidiosi, ma di solito contengono patch di sicurezza che chiudono le vulnerabilità note: è molto meno probabile che tu venga violato da un rootkit se tutto il tuo software (compreso il sistema operativo) è aggiornato. Le vulnerabilità del software possono fornire un percorso per gli hacker per creare una backdoor nel tuo sistema, usare exploit per installare malware sul tuo sistema, o fare un facile bersaglio per i rootkit per agganciare i tuoi file e ottenere l’accesso al tuo sistema operativo. Alcune suite anti-malware come Norton e Avira includono scanner di vulnerabilità che possono darti aggiornamenti dal vivo se uno qualsiasi dei tuoi software non è aggiornato.
Ottieni una protezione anti-phishing
I siti di phishing possono essere utilizzati per rubare le informazioni degli utenti o per convincerli a installare malware sui loro dispositivi. I siti di phishing sono progettati per imitare perfettamente i siti legittimi, e possono essere molto difficili da rilevare (ma alcuni siti di phishing sono palesemente fraudolenti e si possono identificare usando il buon senso). Gli strumenti anti-phishing di antivirus come Avira utilizzano un enorme database di siti di phishing conosciuti, così come la scansione dei certificati e il blocco dei tracker per aiutare a prevenire gli attacchi di phishing e bloccare i siti sospetti.
Evita software e media piratati
I software craccati e i media pirata possono essere gratuiti, ma sono spesso l’esca usata dai criminali informatici per installare rootkit e altri malware sui dispositivi delle vittime. Una volta che esegui un file pirata sul tuo disco, stai dando a un agente sconosciuto il permesso di apportare modifiche al tuo dispositivo, che possono includere l’installazione di rootkit (e una volta che un rootkit ha ottenuto il permesso di essere eseguito, può rapidamente nascondersi sulla tua macchina).
Naturalmente, i migliori scanner antivirus eseguono scansioni di virus in tempo reale, e dovrebbero essere in grado di bloccare i file malware prima che tu abbia la possibilità di eseguirli. Ma con nuove varianti di malware che vengono rilasciate ogni giorno, è meglio essere prudenti ed evitare software e media pirata.
Domande frequenti sui rootkit
I rootkit possono essere rimossi?
Sì, ma è molto, molto più facile prevenire che i rootkit infettino il tuo dispositivo che rimuoverli. Questo perché ogni tipo di rootkit è in grado di convincere il computer di essere parte di un processo di sistema essenziale, come il livello kernel del sistema operativo, il master boot record, un hypervisor o un file DLL.
Ci sono strumenti di rilevamento e rimozione dei rootkit – Bitdefender e McAfee producono entrambi software anti-rootkit specializzati, che possono rimuovere la maggior parte dei rootkit dal disco.
Tuttavia, se pensate che il vostro sistema sia stato infettato da un rootkit, dovreste consultare un esperto di sicurezza informatica, poiché molti rootkit possono sopravvivere alla deframmentazione del disco rigido o a una reinstallazione totale del sistema operativo.
Dove si nascondono i rootkit?
Se vi state chiedendo se potete trovare un rootkit usando il Task Manager o Resource Monitor, la risposta è “No”. I rootkit manipolano i sistemi di monitoraggio del vostro sistema operativo per nascondere la loro attività, quindi una volta che un rootkit è in esecuzione sul vostro sistema, non è possibile utilizzare gli strumenti di rilevamento del vostro computer per trovarlo.
I rootkit possono nascondersi in una grande varietà di posizioni sul vostro disco, come ad esempio:
- File in modalità kernel. La parte del sistema operativo dedicata ai processi fondamentali del sistema.
- File DLL (dynamic link library). I file che sono utilizzati da più programmi per eseguire funzioni importanti.
- Master boot record. L’area che dice al disco quale sistema operativo e quali file eseguire durante l’avvio.
- Livello di hypervisor. Il processo che esegue e controlla le macchine virtuali.
- Chip BIOS e UEFI. L’hardware fondamentale del computer.
Quali sono gli esempi più famosi di rootkit?
Gli esempi più famosi di rootkit nell’ultimo decennio includono ZeroAccess e Zacinlo:
- ZeroAccess. Nel 2012, è stato scoperto che ZeroAccess ha infettato circa 4 milioni di dispositivi. Questo ibrido bootkit/rootkit è utilizzato principalmente per il cryptomining e la frode dei click.
- Zacinlo. Nel 2018, Bitdefender ha pubblicato le sue scoperte su Zacinlo, uno strumento spyware che è in grado di infettare lo spazio utente di Windows 10 utilizzando un falso codice di registro delle app. Zacinlo è usato principalmente per rubare i dati dell’utente, ma può anche inserire risultati di ricerca e contenuti nel tuo browser.
Gli antivirus possono rilevare i rootkit?
A volte sì. Alcuni dei rootkit più noti lasciano alcuni segni sui dispositivi degli utenti, che li rendono rilevabili dagli scanner antivirus.
Per esempio, sia Bitdefender che i rootkit remover di McAfee sono in grado di rilevare la famiglia di rootkit ZeroAccess, TDSS e Necurs sui dispositivi degli utenti. Nei miei test, le suite anti-malware come Norton e TotalAV sono state anche in grado di rilevare questi rootkit noti.
Tuttavia, poiché i rootkit sovvertono i sistemi di rilevamento del computer per nascondere la loro presenza sui dispositivi dell’utente, è sempre possibile che un nuovo tipo di rootkit sia in grado di sfuggire al rilevamento.
Conclusioni
Come hai avuto modo di apprendere, il rootkit è un virus informatico tra i più pericolosi. Se pensi di essere stato infettato da un rootkit, ti consiglio di scaricare un software antivirus e anche di portare il tuo dispositivo da uno specialista IT per assicurarti che il rootkit sia completamente rimosso dal tuo dispositivo.