Cos'è un rootkit?

17 Giugno 2024

I rootkit sono un tipo di software dannoso progettato per ottenere l'accesso non autorizzato a un sistema informatico e mantenerne il controllo nascondendo la propria presenza all'utente e al software di sicurezza. Spesso utilizzato da i criminali informatici per rubare informazioni sensibili, i rootkit manipolano i file sistema operativo per evitare il rilevamento e la rimozione.

cos'è il rootkit

Cos'è un rootkit?

Un rootkit è una forma di software dannoso che consente agli utenti non autorizzati di ottenere il controllo su un sistema informatico senza essere rilevati. Raggiunge questo obiettivo integrandosi profondamente nel sistema operativo, spesso a livello Kernel livello e modificando le funzionalità del sistema per nasconderne la presenza.

I rootkit possono intercettare e alterare le chiamate di sistema standard, rendendo le loro attività dannose invisibili sia agli utenti che alle tradizionali misure di sicurezza. Gli aggressori in genere li utilizzano per mantenere l'accesso a lungo termine a un sistema compromesso, consentendo loro di eseguire comandi in remoto, rubare dati, monitorare le attività degli utenti e installare ulteriori il malware. La complessità e la segretezza dei rootkit li rendono particolarmente difficili da rilevare e rimuovere, motivo per cui rappresentano una seria minaccia per la sicurezza e l'integrità dei sistemi interessati.

Tipi di rootkit

I rootkit possono essere classificati in diversi tipi in base al loro metodo di funzionamento e al livello al quale compromettono il sistema:

  • Rootkit a livello di kernel. Questi rootkit prendono di mira il nucleo del sistema operativo, noto come kernel. Operando a questo livello profondo, intercettano e modificano le chiamate di sistema, rendendole estremamente difficili da rilevare e rimuovere. Hanno il più alto livello di privilegio e controllo sul sistema.
  • Rootkit in modalità utente. Questi rootkit operano a livello di utente, nel senso che infettano applicazioni e processi eseguiti con privilegi utente regolari. Sebbene siano più facili da rilevare e rimuovere rispetto ai rootkit a livello di kernel, possono comunque causare danni significativi intercettando il sistema API e modificare il comportamento dell'applicazione.
  • Bootkit. Un sottoinsieme di rootkit a livello di kernel, i bootkit prendono di mira il file stivale settore o il Master Boot Record (MBR) del disco rigido. Si caricano prima dell'avvio del sistema operativo, consentendo loro di eludere il rilevamento da parte dei tradizionali software antivirus eseguiti a livello del sistema operativo. I bootkit possono persistere durante il riavvio del sistema e persino la reinstallazione di alcuni sistemi operativi.
  • Rootkit basati sulla memoria. Questi rootkit risiedono nella RAM del sistema e non scrivono alcun file sul disco rigido. Sono progettati per scomparire al riavvio, rendendoli temporanei ma più difficili da rilevare con le tradizionali soluzioni antivirus basate su file.
  • Rootkit del firmware. Questi rootkit infettano il firmware of hardware componenti come il BIOS o schede di rete. Poiché il firmware viene eseguito prima del sistema operativo, questi rootkit possono controllare il sistema a un livello molto basso e sono difficili da rimuovere, richiedendo spesso la sostituzione dell'hardware o strumenti specializzati.
  • Rootkit hypervisor (rootkit virtualizzati). Questi rootkit creano un ambiente virtualizzato ed eseguono il sistema operativo originale come ospite. Controllando il hypervisor, possono intercettare le chiamate hardware effettuate dal sistema operativo guest, rendendo le loro attività quasi invisibili al sistema operativo e alla maggior parte dei software di sicurezza.
  • Rootkit delle applicazioni. Questi rootkit sostituiscono i file binari delle applicazioni standard con versioni dannose o modificano i file binari esistenti per includerli backdoor. Possono dirottare le applicazioni di uso comune per svolgere le loro attività dannose, spesso senza destare sospetti.

Esempi di rootkit

I rootkit sono disponibili in varie forme e sono stati utilizzati in numerosi attacchi informatici di alto profilo. Ecco alcuni esempi notevoli di rootkit che hanno avuto un impatto significativo sia sui sistemi consumer che su quelli aziendali.

HackerDefender

HackerDefender è un rootkit di Windows ben noto e ampiamente diffuso che funziona intercettando le chiamate di sistema e nascondendo file, processi e voci di registro. Fornisce accesso remoto all'aggressore, consentendogli di controllare il sistema compromesso ed eseguire attività dannose senza essere rilevato.

Necur

Necurs è un sofisticato rootkit utilizzato principalmente per distribuire altri malware, come ransomware e bancario Trojan. Funziona incorporandosi nel kernel, rendendone difficile il rilevamento e la rimozione. Necurs incorpora anche funzionalità per disabilitare il software antivirus e altre misure di sicurezza.

Stuxnet

Stuxnet è un rootkit altamente sofisticato che ha preso di mira i sistemi di controllo industriale, in particolare quelli utilizzati negli impianti nucleari in Iran. Ha sfruttato molteplici vulnerabilità zero-day per infiltrarsi e manipolare le operazioni dei suoi obiettivi. Il componente rootkit di Stuxnet è stato utilizzato per nascondere la sua presenza e garantire la continua esecuzione del suo payload dannoso.

Alureon (TDL-4)

Alureon, noto anche come TDL-4, è un rootkit progettato per rubare informazioni sensibili come credenziali di accesso e dati finanziari. Infetta il record di avvio principale (MBR) del disco rigido, consentendogli di caricarsi prima del sistema operativo ed eludere il rilevamento da parte dei programmi antivirus. Alureon è noto per la sua resilienza e capacità di aggiornarsi per evitare la rimozione.

Accesso zero

ZeroAccess è un rootkit che crea un file hidden file system sul computer infetto, consentendogli di archiviare ed eseguire componenti malware aggiuntivi. Viene spesso utilizzato per condurre frodi sui clic, mining di Bitcoin e altre attività illecite. ZeroAccess è noto per la sua capacità di disabilitare il software di sicurezza e di diffondersi rapidamente attraverso le reti.

Rootkit BMG Sony

Il rootkit Sony BMG è stato incluso in modo controverso nei CD musicali da Sony per far rispettare gestione dei diritti digitali (DRM). Si installava sui computer degli utenti a loro insaputa e nascondeva la sua presenza per impedirne la rimozione. Questo rootkit ha causato una significativa reazione pubblica a causa della sua natura invasiva e delle vulnerabilità di sicurezza che ha introdotto.

Come funziona un rootkit?

I rootkit funzionano incorporandosi profondamente nel sistema operativo di un computer per ottenere e mantenere un accesso privilegiato nascondendo la loro presenza agli utenti e al software di sicurezza. Ecco una panoramica passo passo del funzionamento di un rootkit:

  1. Ottenere accesso. Gli aggressori devono prima riuscire ad accedere al sistema preso di mira. Ciò può essere fatto attraverso vari metodi, come lo sfruttamento delle vulnerabilità, attacchi di phishingo sfruttare altri malware per diffondere il rootkit.
  2. Aumento dei privilegi. Una volta nel sistema, il rootkit aumenta i suoi privilegi per ottenere privilegi amministrativi o accesso a livello di root. Ciò gli consente di apportare modifiche ai componenti critici del sistema ed eludere il rilevamento.
  3. Incorporarsi. Il rootkit si installa incorporando il codice nei componenti principali del sistema operativo, come kernel, driver o firmware. Questa profonda integrazione gli consente di intercettare e manipolare le funzioni del sistema.
  4. Nascondendo la sua presenza. I rootkit modificano i comportamenti del sistema per nascondere la loro presenza. Intercettano le chiamate di sistema, nascondono file, processi, voci di registro e connessioni di rete, rendendoli invisibili agli strumenti di monitoraggio standard e ai software antivirus.
  5. Mantenere il controllo. Il rootkit crea una backdoor per consentire all'aggressore di mantenere il controllo sul sistema. Questa backdoor può essere utilizzata per eseguire comandi, rubare dati o installare malware aggiuntivo.
  6. Tecniche di evasione. Per evitare il rilevamento, i rootkit utilizzano varie tecniche di evasione. Questi includono la disabilitazione del software di sicurezza, l’utilizzo della crittografia per nascondere le comunicazioni e l’impiego di tecniche come il polimorfismo e l’offuscamento del codice per modificarne l’aspetto.
  7. Operazione continua. I rootkit sono progettati per rimanere attivi per periodi prolungati. Eseguono continuamente attività dannose, come il furto di dati, lo spionaggio o il lancio di attacchi, rimanendo nascosti all'utente e alle difese di sicurezza.

Come rilevare un rootkit?

Rilevare un rootkit può essere complicato a causa della sua capacità di nascondersi all'interno del sistema operativo. Tuttavia, esistono diversi metodi e strumenti che aiutano a identificare la presenza di un rootkit:

  • Analisi comportamentale. Il monitoraggio del comportamento insolito del sistema può fornire indizi su un'infezione da rootkit. Comportamenti insoliti includono rallentamenti imprevisti del sistema, arresti anomali frequenti o attività di rete insolite.
  • Rilevamento basato sulla firma. I programmi antivirus e antimalware utilizzano la firma banche dati per identificare i rootkit conosciuti. L'aggiornamento regolare di questi programmi aiuta a rilevare i rootkit identificati in precedenza.
  • Analisi euristica. L'analisi euristica prevede la scansione di comportamenti sospetti o anomalie nei processi di sistema, nei file e nelle voci di registro che si discostano dai modelli normali.
  • Controllo dell'integrità. Strumenti come Tripwire vengono utilizzati per confrontare lo stato attuale dei file e delle configurazioni di sistema con una base di riferimento valida. Qualsiasi modifica non autorizzata può indicare la presenza di un rootkit.
  • Analisi del dump della memoria. L'analisi di un dump della memoria aiuta a identificare i rootkit che risiedono nella memoria del sistema. Strumenti come Volatility eseguono analisi forensi della memoria per scoprire processi e moduli nascosti.
  • Scansione all'avvio. L'esecuzione di scansioni durante l'avvio del sistema può rilevare i rootkit che si nascondono durante il normale funzionamento. È possibile utilizzare strumenti come Windows Defender Offline o altri strumenti antivirus avviabili.
  • Strumenti per il rilevamento dei rootkit. Strumenti specializzati per il rilevamento di rootkit come GMER, RootkitRevealer e chkrootkit (per Linux) sono progettati per identificare i rootkit nascosti eseguendo la scansione della memoria di sistema, dei file e delle voci di registro.
  • Verifica del modulo kernel. On UNIX-sistemi simili, comandi come lsmod possono elencare i moduli del kernel caricati. Eventuali moduli non familiari o sospetti dovrebbero essere esaminati ulteriormente.
  • Analisi del file system. Gli strumenti che analizzano il file system a basso livello possono rilevare file e directory nascosti. Possono essere efficaci tecniche come il confronto incrociato, in cui vengono utilizzati metodi diversi per elencare i file e annotare le discrepanze.
  • Monitoraggio del traffico di rete. Monitoraggio del traffico di rete per individuare modelli insoliti o connessioni a soggetti dannosi noti Gli indirizzi IP aiutare a identificare le attività correlate ai rootkit. Strumenti come Wireshark sono utili a questo scopo.

È difficile rilevare un rootkit?

Rilevare un rootkit è notoriamente difficile a causa di diversi fattori:

  • Meccanismi invisibili. I rootkit sono progettati per nascondere la propria presenza intercettando e modificando le chiamate di sistema e le API, rendendo difficile il rilevamento da parte degli strumenti di sicurezza standard. Possono nascondere file, processi e voci di registro, rendendo le loro attività invisibili all'utente e alla maggior parte dei programmi antivirus.
  • Integrazione profonda. I rootkit spesso si inseriscono profondamente nel sistema operativo, ad esempio nel kernel o nel firmware. Questa profonda integrazione consente loro di manipolare le funzioni principali del sistema ed eludere il rilevamento tramite la maggior parte delle tecniche di scansione convenzionali.
  • Tecniche di evasione. I rootkit utilizzano varie tecniche di evasione per evitare il rilevamento. Questi includono il polimorfismo (modifica del codice per evitare il rilevamento della firma), crittografia (nascondendo la loro comunicazione) e disabilitando il software di sicurezza. Possono anche utilizzare tattiche specifiche del rootkit come nascondersi nel record di avvio principale (MBR) o utilizzare la manipolazione diretta degli oggetti del kernel (DKOM).
  • Mancanza di sintomi. I rootkit possono funzionare silenziosamente senza causare sintomi evidenti, rendendo difficile per gli utenti notare che il loro sistema è compromesso. Quando compaiono i sintomi, spesso sono subdoli e possono essere scambiati per normali problemi del sistema.
  • Funzionalità avanzate. Molti rootkit sono dotati di funzionalità avanzate che consentono loro di disabilitare o aggirare il software di sicurezza, rendendo il rilevamento ancora più impegnativo. Possono anche aggiornarsi per contrastare nuove misure di sicurezza.
  • Discrepanze tra visualizzazioni. I rootkit possono creare discrepanze tra quanto riportato dagli strumenti di sistema standard e lo stato effettivo del sistema. Ad esempio, potrebbero nascondere processi ai task manager o file agli esploratori di file, portando a una visione incoerente dello stato del sistema.
  • Necessità di strumenti specializzati. Il rilevamento dei rootkit spesso richiede strumenti e tecniche specializzati che vanno oltre i software antivirus standard. Strumenti come GMER, RootkitRevealer e strumenti di analisi forense della memoria possono aiutare, ma richiedono conoscenze avanzate per essere utilizzati in modo efficace.

Come prevenire i rootkit?

La prevenzione dei rootkit richiede una combinazione di buone pratiche di sicurezza, l'uso di software di sicurezza affidabile e il mantenimento di un approccio vigile alla gestione del sistema. Ecco alcune strategie chiave:

  • Mantieni aggiornato il software. Aggiorna regolarmente il tuo sistema operativo, le applicazioni e il software di sicurezza per correggere le vulnerabilità che potrebbero essere sfruttate dai rootkit. Abilita gli aggiornamenti automatici quando possibile.
  • Utilizza software antivirus e antimalware. Installa programmi antivirus e antimalware affidabili che includano funzionalità di rilevamento dei rootkit. Assicurati che siano aggiornati regolarmente per riconoscere e proteggerti dalle nuove minacce.
  • Abilita l'avvio sicuro. Abilita Secure Boot sul tuo computer BIOS or UEFI impostazioni. Secure Boot garantisce che durante il processo di avvio venga caricato solo il software attendibile, impedendo il caricamento dei rootkit all'avvio.
  • Limitare i privilegi amministrativi. Operare secondo il principio del privilegio minimo. Utilizza gli account amministrativi solo quando necessario e limita l'uso dell'accesso root o amministratore per ridurre il rischio che un rootkit ottenga il controllo completo sul sistema.
  • Adotta abitudini di navigazione e di posta elettronica sicure. Evita di fare clic su collegamenti sospetti o di scaricare allegati da fonti sconosciute. Prestare attenzione agli allegati e ai collegamenti e-mail, in particolare a quelli provenienti da messaggi non richiesti.
  • Usa un firewall. Abilitare e configurare correttamente a firewall per monitorare il traffico di rete in entrata e in uscita. I firewall possono aiutare a prevenire l'accesso non autorizzato e bloccare connessioni potenzialmente dannose.
  • Regular backups. Esegui regolarmente backups di dati importanti e configurazioni di sistema. In caso di infezione da rootkit, avendo recente backups consente un ripristino e un ripristino del sistema più semplici.
  • Disabilita l'esecuzione automatica e la riproduzione automatica. Disattiva le funzionalità di esecuzione automatica e riproduzione automatica sui supporti rimovibili per impedire l'esecuzione automatica di software potenzialmente dannoso quando sono collegate unità o dispositivi esterni.
  • Utilizzare misure di sicurezza della rete. Implementare misure di sicurezza della rete come sistemi di rilevamento delle intrusioni (IDS), sistemi di prevenzione delle intrusioni (IPS) e monitoraggio regolare del traffico di rete per rilevare attività insolite che potrebbero indicare un'infezione da rootkit.
  • Educare gli utenti. Informare gli utenti sui pericoli dei rootkit e sulle migliori pratiche per evitare il malware. La formazione sulla consapevolezza aiuta a prevenire Ingegneria sociale attacchi che spesso portano a infezioni rootkit.
  • Utilizza il rilevamento e la risposta degli endpoint (EDR). Prendi in considerazione l'utilizzo di soluzioni EDR che forniscono funzionalità avanzate di rilevamento e risposta alle minacce. Gli strumenti EDR possono aiutare a identificare e rispondere alle infezioni rootkit in modo più efficace.

Come rimuovere i rootkit?

La rimozione dei rootkit è complessa a causa della loro capacità di integrarsi profondamente con il sistema operativo e nascondere la propria presenza. Ecco i passaggi e i metodi per rimuovere efficacemente i rootkit:

  • Utilizza strumenti specializzati per la rimozione dei rootkit. Esistono diversi strumenti progettati specificamente per rilevare e rimuovere i rootkit. Alcuni dei più popolari includono GMER, uno strumento che rileva e rimuove processi, servizi e file nascosti, e Malwarebytes Anti-Rootkit, uno strumento completo per rilevare ed eliminare i rootkit.
  • Scansione all'avvio. L'esecuzione di scansioni durante il processo di avvio del sistema è efficace poiché i rootkit spesso si nascondono durante il normale funzionamento. Utilizza strumenti come Windows Defender Offline o soluzioni antivirus avviabili per eseguire queste scansioni.
  • Modalità sicura. L'avvio in modalità provvisoria può impedire il caricamento di molti rootkit, rendendoli più facili da rilevare e rimuovere. Una volta in modalità provvisoria, esegui gli strumenti antivirus e anti-rootkit.
  • Ripristino del sistema. Se sospetti una recente infezione da rootkit, puoi ripristinare il sistema a uno stato precedente prima che si verificasse l'infezione. Fai attenzione, tuttavia, poiché alcuni rootkit possono infettare i punti di ripristino.
  • Rimozione manuale. La rimozione manuale è rischiosa e dovrebbe essere tentata solo da utenti esperti o professionisti. Questo processo prevede l'identificazione e l'eliminazione dei file rootkit e la pulizia delle voci del registro. Strumenti come Process Explorer identificano i processi sospetti.
  • Reinstallare il sistema operativo. Nei casi in cui il rootkit è profondamente radicato e resistente alla rimozione, reinstallare il sistema operativo può essere la soluzione più efficace. Assicurati di eseguire il backup dei dati importanti prima di procedere ed esegui un'installazione pulita per evitare di reintrodurre il rootkit.
  • Scansioni del firmware e del BIOS. Alcuni rootkit avanzati possono infettare firmware e BIOS. Utilizza gli strumenti forniti dal produttore per scansionare e aggiornare il BIOS o il firmware per rimuovere questi tipi di rootkit.
  • Isolamento della rete. Isolare il sistema infetto dalla rete per impedire al rootkit di comunicare con il suo sistema di comando e controllo server o diffondersi ad altri sistemi.
  • Assistenza professionale. In caso di infezioni gravi, prendere in considerazione la possibilità di chiedere aiuto a un professionista sicurezza informatica esperti che dispongono degli strumenti e delle competenze per rimuovere efficacemente i rootkit.
  • Azioni post-rimozione. Dopo aver rimosso un rootkit, esegui una scansione approfondita con strumenti di sicurezza aggiornati per assicurarti che non rimangano residui. Cambia tutte le password, aggiorna le politiche di sicurezza e monitora il sistema per qualsiasi attività insolita per prevenire la reinfezione.

Anastasia
Spasojevic
Anastazija è una scrittrice di contenuti esperta con conoscenza e passione per cloud informatica, informatica e sicurezza online. A phoenixNAP, si concentra sulla risposta a domande scottanti su come garantire la robustezza e la sicurezza dei dati per tutti i partecipanti al panorama digitale.