Un esempio che non vi auguriamo: in questo momento il vostro computer potrebbe essere pieno di virus e malware, o ad­di­rit­tu­ra potrebbe far parte di una botnet impegnata in truffe o attacchi in­for­ma­ti­ci su larga scala. Se fosse davvero il caso, pro­ba­bil­men­te non vi ac­cor­ge­re­ste di niente. Questo perché nella maggior parte dei casi il co­sid­det­to rootkit inganna l'utente, fa­cen­do­gli credere che sia tutto a posto. In pratica il rootkit funge come una sorta di cappello magico, al di sotto del quale si svolgono se­gre­ta­men­te tutte le attività criminali degli hacker. Conoscere i rischi e i mec­ca­ni­smi d’azione è utile per pro­teg­ger­si meglio. Vediamo quali sono le cose più im­por­tan­ti da sapere sui rootkit.

Che cos’è un rootkit? Una de­fi­ni­zio­ne

Un rootkit non è un singolo malware, ma un'intera col­le­zio­ne di software dannosi che si insediano in un computer at­tra­ver­so una falla di sicurezza e con­sen­to­no agli ag­gres­so­ri un accesso remoto per­ma­nen­te. La ca­rat­te­ri­sti­ca prin­ci­pa­le dei rootkit sta nel fatto che possono na­scon­de­re se stessi e altri software dannosi dalle scansioni antivirus e dalle soluzioni di sicurezza, in modo che l'utente non si accorga della loro esistenza.

A seconda del livello di au­to­riz­za­zio­ne, l’hacker potrebbe ad­di­rit­tu­ra ottenere i permessi completi di am­mi­ni­stra­to­re (in questo caso si parla di rootkit in modalità kernel), che gli con­sen­ti­reb­be­ro il controllo il­li­mi­ta­to del sistema.

De­fi­ni­zio­ne

Un rootkit è una col­le­zio­ne di programmi nocivi che possono in­se­diar­si a diversi livelli di accesso di un computer, ma­sche­ran­do le attività di virus e software dannosi, age­vo­lan­do da quel momento in poi l’accesso al sistema da parte degli ag­gres­so­ri.

I primi rootkit apparvero al­l'i­ni­zio degli anni '90 e miravano esclu­si­va­men­te a sistemi operativi Unix-like, come Linux. Si trattava per lo più di versioni mo­di­fi­ca­te di programmi standard come “ps” (un comando Unix che produce un elenco di in­for­ma­zio­ni di tutti i processi presenti nel sistema) e “passwd” (comando per cambiare la password di au­ten­ti­ca­zio­ne di un utente). Proprio in quel periodo si diffuse il termine rootkit: con “root” in Unix viene de­no­mi­na­to l’am­mi­ni­stra­to­re; il termine “kit” significa a sua volta “strumenti” o “cassetta degli attrezzi”. La parola composta rootkit designa, quindi, un insieme di strumenti software che con­sen­to­no a un hacker di ottenere i permessi di root di un computer (rootkit in modalità kernel).

In seguito si sono diffusi rootkit per diversi sistemi operativi. La parola “rootkit" ha un si­gni­fi­ca­to anche in ambiente Windows e in altri sistemi operativi: alcuni rootkit invadono il kernel, ovvero il nucleo più interno e, dunque, la “radice” del sistema (in inglese “root”) e da lì agiscono.

Come fun­zio­na­no i rootkit?

Sebbene esistano diversi tipi di rootkit, la loro fun­zio­na­li­tà generale è sempre la stessa. Anche la procedura di in­fil­tra­zio­ne in un sistema segue sempre lo stesso schema.

Fase 1: infezione del sistema

Nella maggior parte dei casi, un'in­fe­zio­ne da rootkit è preceduta da una qualche forma di social en­gi­nee­ring: gli hacker sfruttano la parte più debole di qualsiasi sistema di sicurezza: la com­po­nen­te umana. In­fluen­zan­do o in­gan­nan­do de­li­be­ra­ta­men­te le persone, gli hacker riescono a ottenere dati di accesso e password. Grazie a questi dati, ef­fet­tua­no il login a un computer e in­stal­la­no il rootkit.

Tuttavia, è anche possibile contrarre un’infezione da rootkit in altri modi, per esempio con drive-by download da un sito web infetto, sca­ri­can­do un software da una fonte non sicura o facendo clic su un link o un allegato di un’e-mail di phishing.

Ancora, quando un hacker “dimentica” una chiavetta USB con un rootkit in un luogo pubblico. Chi la trova potrebbe ir­re­spon­sa­bil­men­te portare la chiavetta a casa con sé e, per curiosità, col­le­gar­la al proprio computer: l’in­fil­tra­zio­ne è riuscita. I co­sid­det­ti "evil maid attacks" (in italiano: “attacchi della cameriera malvagia”) fun­zio­na­no in modo simile: l'hacker installa per­so­nal­men­te il rootkit su un computer in­cu­sto­di­to. Il nome si deve allo scenario im­ma­gi­na­rio in cui una cameriera potrebbe infettare in questo modo i computer portatili degli ospiti di un hotel.

Fase 2: ma­sche­ra­men­to (tecnica stealth)

Una volta in­tro­dot­to nel sistema, il rootkit maschera la sua presenza. A tal fine, esso comincia a ma­ni­po­la­re tutti i processi at­tra­ver­so i quali i programmi e le funzioni di sistema si scambiano i dati tra loro. In questo modo, un programma antivirus riceve durante una scansione solo in­for­ma­zio­ni fal­si­fi­ca­te, dalle quali è stato rimosso qualsiasi ri­fe­ri­men­to al rootkit. Per questo motivo, anche i software antivirus pro­fes­sio­na­li spesso non sono in grado di rilevare il malware sulla base della sua firma o del­l'a­na­li­si com­por­ta­men­ta­le (euristica).

Fase 3: in­stal­la­zio­ne di una backdoor

In seguito, il rootkit installa una co­sid­det­ta “backdoor”, cioè una porta po­ste­rio­re nel sistema, che l'hacker può uti­liz­za­re per ef­fet­tua­re un suc­ces­si­vo accesso remoto al computer tramite una password spiata o una shell. Il rootkit ha il compito di na­scon­de­re ogni processo di login e ogni attività sospetta.

Questo permette all’ag­gres­so­re di in­stal­la­re un software ag­giun­ti­vo come keylogger, spiare gli input dalla tastiera tramite spyware, rubare dei dati o (a seconda del livello di au­to­riz­za­zio­ne) cambiare le im­po­sta­zio­ni di sistema. Spesso, i computer infettati da un rootkit vengono collegati per formare una botnet e coor­di­na­ti per attacchi di phishing o DDoS.

Cosa distingue i rootkit dagli altri malware?

I rootkit sono chiamati per ovvie ragioni anche “virus nascosti”, anche se per de­fi­ni­zio­ne non possono essere clas­si­fi­ca­ti come virus. Ma cosa distingue esat­ta­men­te i rootkit dagli altri tipi di malware?

  • Virus: un virus viene veicolato da un file o da un programma ese­gui­bi­le (è in­di­spen­sa­bi­le l’esten­sio­ne .exe). Sebbene si riproduca au­to­no­ma­men­te, in genere non può espan­der­si da solo, ma soltanto con l’in­ter­ven­to umano o di altri programmi.
  • Worm: questo termine si riferisce a una speciale sot­to­clas­se di virus in­for­ma­ti­ci che possono dif­fon­der­si au­to­no­ma­men­te at­tra­ver­so le funzioni di tra­sfe­ri­men­to dati di un sistema.
  • Trojan: non è un virus, ma un malware, ovvero un programma malevolo camuffato da ap­pli­ca­zio­ne utile. Gli hacker usano trojan di questo tipo per aprire una porta po­ste­rio­re nel sistema.
  • Rootkit: il rootkit viene anche definito come una sot­to­spe­cie di trojan. Molti trojan pre­sen­ta­no proprietà di rootkit. La dif­fe­ren­za prin­ci­pa­le è che i rootkit si na­scon­do­no con­cre­ta­men­te nel sistema e di solito aiutano l'ag­gres­so­re a ottenere i permessi di am­mi­ni­stra­to­re.

Quali tipi di rootkit esistono?

I rootkit si dif­fe­ren­zia­no so­prat­tut­to per il metodo con cui riescono a ma­sche­ra­re i processi di malware e le attività degli hacker. Quelli più uti­liz­za­ti sono i rootkit in modalità kernel e modalità utente. Questi strumenti software pe­ri­co­lo­si vengono co­stan­te­men­te mi­glio­ra­ti dagli hacker, rendendo sempre più difficile ogni tentativo per con­tra­star­li.

Rootkit in modalità kernel

Quando si parla di rootkit, so­li­ta­men­te ci si riferisce a questa tipologia. I rootkit in modalità kernel si insediano nel kernel di un sistema operativo. Que­st'a­rea, chiamata anche “ring-0”, presenta il più alto livello di au­to­riz­za­zio­ni del computer, con­sen­ten­do l'accesso ap­pro­fon­di­to a tutti i com­po­nen­ti hardware ed eventuali modifiche alle im­po­sta­zio­ni di sistema. In altre parole, se un ag­gres­so­re riesce a mettere un rootkit di questo tipo, ottiene il pieno controllo sul­l'in­te­ro sistema.

Tali rootkit so­sti­tui­sco­no parti del kernel at­tra­ver­so un proprio codice. Nei sistemi operativi Unix-like, questo avviene per lo più tramite esten­sio­ni del kernel; da qui il termine “LKM rootkit" (ab­bre­via­zio­ne per: loadable kernel modules). Nei sistemi Windows, invece, il kernel viene so­li­ta­men­te ma­ni­po­la­to di­ret­ta­men­te, coin­vol­gen­do sem­pli­ce­men­te nuovi driver di sistema. In­di­pen­den­te­men­te dal mec­ca­ni­smo d’azione, il rootkit in modalità kernel può sfruttare questa posizione di partenza van­tag­gio­sa per inviare false in­for­ma­zio­ni dal basso verso il sistema di pro­te­zio­ne antivirus del computer. I rootkit di questo tipo sono, dunque, par­ti­co­lar­men­te difficili da in­di­vi­dua­re e rimuovere. Allo stesso tempo, per la loro com­ples­si­tà, sono re­la­ti­va­men­te rari.

Consiglio

Inoltre, proprio perché complessi, i rootkit in modalità kernel sono soggetti a bug che in alcuni casi possono de­sta­bi­liz­za­re un sistema infetto. Talvolta l’utente può ac­cor­ger­si della presenza di malware nel computer a partire da schermate blu inusuali o crash di sistema.

Rootkit in modalità utente

A dif­fe­ren­za dei rootkit in modalità kernel, questa tipologia agisce solo a livello utente di un computer, dove si trovano tutti i programmi ese­gui­bi­li. Poiché que­st'a­rea ha il più basso livello di au­to­riz­za­zio­ne della CPU (ring-3), i rootkit in modalità utente possono con­sen­ti­re al­l'ag­gres­so­re un accesso limitato al computer. Questo li rende anche meno complessi e più usati rispetto ai rootkit in modalità kernel, spe­cial­men­te nei sistemi Windows.

I rootkit in modalità utente si ma­sche­ra­no in­ter­cet­tan­do e ma­ni­po­lan­do il traffico dati tra il sistema operativo e i programmi antivirus e di sicurezza in­stal­la­ti. A tal proposito vengono uti­liz­za­te le tecniche DLL-Injection e API-Hooking: una libreria di codici fornita ap­po­si­ta­men­te (Dynamic Link Library, in breve DLL) è collegata allo scambio di dati e rein­di­riz­za le funzioni di alcune in­ter­fac­ce di programma (Ap­pli­ca­tion Pro­gram­ming In­ter­fa­ces, in breve API) al rootkit. In questo modo, esso può eliminare le sue tracce dalle liste dei processi, come il Task Manager di Windows.

Altri rootkit

Oltre a questi, esistono altri due tipi di rootkit con­si­de­ra­ti re­la­ti­va­men­te innocui:

  • Ap­pli­ca­tion-rootkit: la versione originale e allo stesso tempo più primitiva del rootkit. So­sti­tui­sce i programmi di sistema con proprie versioni mo­di­fi­ca­te ed è quindi ab­ba­stan­za facile da ri­co­no­sce­re. Tuttavia, per questo motivo, non è quasi più uti­liz­za­to dagli hacker.
  • Rootkit di memoria: tali rootkit possono in­se­diar­si solo nella memoria e quindi scom­pa­io­no dal sistema non appena questo viene riavviato.

Evo­lu­zio­ne del rootkit

Come molti altri tipi di malware, i rootkit sono in continua evo­lu­zio­ne. Per esempio, sono stati creati i co­sid­det­ti “bootkit”, una forma di rootkit in modalità kernel spe­cia­liz­za­ta nella so­sti­tu­zio­ne del boot loader di un computer per di­sa­bi­li­ta­re i mec­ca­ni­smi di sicurezza del sistema operativo. Anche gli smart­pho­ne (so­prat­tut­to quelli con sistemi operativi Android) sono sempre più soggetti a questi malware, spe­cial­men­te quando si scaricano ap­pli­ca­zio­ni non sicure. In questo caso si parla di “mobile rootkit”.

Nel 2006, un gruppo di ri­cer­ca­to­ri del­l'U­ni­ver­si­tà del Michigan fece parlare di sé quando presentò Project SubVirt: un rootkit basato su una macchina virtuale, chiamato VMBR (virtual machine based rootkit). Tali macchine sono so­li­ta­men­te uti­liz­za­te per far fun­zio­na­re diversi sistemi operativi (come Linux e Windows) sullo stesso computer. Uti­liz­zan­do questa tec­no­lo­gia, il VMBR dovrebbe essere in grado di spostare un sistema operativo in un ambiente virtuale e quindi agire in modo nascosto. Solo un anno dopo, i ri­cer­ca­to­ri del­l'U­ni­ver­si­tà di Stanford hanno di­chia­ra­to di essere in grado di rilevare i VMBR senza problemi.

Da allora pare che non ci siano stati ulteriori sviluppi in­no­va­ti­vi del rootkit, ma ciò non significa che i rischi siano diminuiti. Ad esempio, l’exploit kit RIG è stato im­ple­men­ta­to nel 2018 con un rootkit ag­giun­ti­vo chiamato CEID­Pa­ge­Lock. Questo si insinua tramite i driver di sistema nei sistemi operativi Windows e prende il controllo del browser. Lo stesso rein­di­riz­za poi l'utente a siti web con­traf­fat­ti in cui avviene il furto di dati per una serie di scopi criminali. At­tual­men­te sono i computer in Cina a essere i più colpiti (dato relativo al mese di agosto 2018). Gli esperti sup­pon­go­no, però, che in futuro il malware si pro­pa­ghe­rà oltre i confini nazionali.

Fatto

Gli exploit kit sono col­le­zio­ni di strumenti volti a sfruttare (da qui il termine inglese “exploit”) le falle di sicurezza di software popolari come Adobe Flash, Java e Microsoft Sil­ver­light. Rag­giun­gen­do le 27.000 infezioni al giorno, RIG è at­tual­men­te con­si­de­ra­to l’exploit kit più attivo.

Esempi di rootkit co­no­sciu­ti

At­tual­men­te esistono rootkit per diversi sistemi operativi. Di seguito sono riportati due esempi di rootkit che mi­nac­cia­no i sistemi Windows:

  • TDSS aka Alureon (scoperto nel 2007): anche clas­si­fi­ca­to come trojan, il che dimostra quanto siano labili i confini tra questi due tipi di malware. Il rootkit manipola il registro di sistema di Windows per di­sat­ti­va­re, ad esempio, il task manager, la funzione di ag­gior­na­men­to e gli eventuali programmi antivirus esistenti e per impostare suc­ces­si­va­men­te una botnet.
  • Ze­roAc­cess (scoperto nel 2011): un altro trojan con proprietà di rootkit. Questo infetta il Master Boot Record (MBR) e un driver di sistema casuale, per poi di­sat­ti­va­re la fun­zio­na­li­tà sicurezza di Windows, il Windows Defender e il firewall. A questo punto, il computer viene uti­liz­za­to per una botnet impiegata per il Bitcoin Mining e per le truffe.

Ma dietro ai rootkit non si na­scon­do­no sempre in­ten­zio­ni criminali di questo genere. Ad esempio, gli emulatori di CD uti­liz­za­no questa tec­no­lo­gia per superare le misure di pro­te­zio­ne contro la copia. Il fatto che ciò sia legale o rilevante dal punto di vista penale dipende spesso dallo scopo e dall’entità dell'uso.

Per quanto riguarda la pro­te­zio­ne delle copie, tuttavia, non sono solo i con­su­ma­to­ri ad aver ol­tre­pas­sa­to il confine della legalità con i rootkit: nel­l'ot­to­bre 2005, Sony, azienda di elet­tro­ni­ca giap­po­ne­se, suscitò uno scandalo quando si scoprì che la pro­te­zio­ne anti-copia XCP (Extended Copy Pro­tec­tion) su vari CD musicali del pro­dut­to­re era stata camuffata con un rootkit. L'azienda aveva voluto impedire in questo modo la rea­liz­za­zio­ne di copie illegali di dischi. Ma allo stesso tempo il malware aveva trasmesso in­for­ma­zio­ni sulle abitudini private di ascolto dei suoi clienti, violando così le leggi sulla pro­te­zio­ne dei dati. Sony ricevette critiche par­ti­co­lar­men­te forti perché questo rootkit non veniva ri­co­no­sciu­to dai programmi antivirus e dava così la pos­si­bi­li­tà agli hacker di sfrut­tar­lo per i propri scopi.

Casi simili, come quello ve­ri­fi­ca­to­si nel mondo dell’industria del cinema nel 2006 o del gioco per computer EA “Spore” nel 2008 inducono gli esperti del mondo in­for­ma­ti­co a temere che in futuro non solo gli hacker, ma anche le grandi aziende uti­liz­ze­ran­no sempre più i rootkit.

Come ci si può pro­teg­ge­re dai rootkit?

Poiché il ma­sche­ra­men­to è la spe­cia­li­tà di un rootkit, di solito è difficile, se non ad­di­rit­tu­ra im­pos­si­bi­le, in­di­vi­duar­lo e ri­muo­ver­lo. Tuttavia, per di­fen­der­si si possono adottare alcune misure:

Prevenire un’infezione

Le misure di sicurezza contro i rootkit sono fon­da­men­tal­men­te le stesse che si applicano ad altri tipi comuni di malware:

  • Uti­liz­za­re programmi di sicurezza sul computer.
  • Ag­gior­na­re re­go­lar­men­te il sistema.
  • Conoscere le truffe più diffuse su Internet, per esempio il phishing.
  • Usare password complesse.

Di seguito, trovate elencati alcuni consigli più specifici su come prevenire le infezioni da rootkit:

  • consigli per i più inesperti: uti­liz­za­te l’account di am­mi­ni­stra­to­re il più raramente possibile, so­prat­tut­to quando siete su Internet. Il numero di mec­ca­ni­smi di pro­te­zio­ne è no­te­vol­men­te inferiore a quello del­l'ac­count utente tra­di­zio­na­le. Inoltre, poiché l'account utente ha permessi limitati, il danno in caso di infezione da rootkit è meno grave.
  • Consigli per i pro­fes­sio­ni­sti: per evitare che un rootkit infetti il BIOS e lo renda vir­tual­men­te in­de­le­bi­le, è possibile uti­liz­za­re una pro­te­zio­ne fisica tipo una sorta di ponte (jumper) sulla scheda madre.

Rilevare un rootkit

La maggior parte dei programmi antivirus utilizza le firme per cercare rootkit noti o valutare eventi insoliti come la can­cel­la­zio­ne di file per iden­ti­fi­ca­re malware sco­no­sciu­ti. Tuttavia, a meno che un rootkit in modalità kernel pro­gram­ma­to male non riesca a farsi notare con schermate blu per­ma­nen­ti, i rootkit di solito non for­ni­sco­no il minimo indizio sull’in­fil­tra­zio­ne nel sistema.

Inoltre, vengono pro­gram­ma­ti rootkit sempre più so­fi­sti­ca­ti, il che rende sempre più difficile in­di­vi­duar­li. Allo stesso tempo, però, si sono diffusi degli ausili tecnici ap­po­si­ta­men­te pro­get­ta­ti per i rootkit, ad esempio il co­sid­det­to Rootkit Scan: una funzione che è già inclusa in alcuni software di sicurezza, ma per la quale esistono anche programmi dedicati. Tra questi se­gna­lia­mo Sophos Anti Rootkit e il Bitfender Rootkit Remover, entrambi di­spo­ni­bi­li gra­tui­ta­men­te.

Questa scansione del rootkit può anche essere eseguita uti­liz­zan­do un CD di avvio. Quest’ultimo avvia il computer ai margini del sistema operativo in­stal­la­to, in modo che il rootkit rimanga in uno stato inattivo e con un po' di fortuna possa essere rilevato da una scansione antivirus sul CD.

Rimuovere un rootkit

Purtroppo, non esiste ancora un metodo sicuro al 100% per rimuovere un rootkit da un computer. Anche il tasso di successo di software di scansione pro­fes­sio­na­le come AntiVir, Kaspersky e Microsoft lascia molto a de­si­de­ra­re, secondo numerosi test. Per questo motivo si consiglia, ge­ne­ral­men­te, di uti­liz­za­re almeno tre di questi programmi combinati.

Tuttavia, poiché alcuni rootkit possono ma­sche­rar­si pro­fon­da­men­te nel BIOS, anche questo metodo non ga­ran­ti­sce una sicurezza assoluta. Spesso rimangono solo la pulizia del supporto dati e la rein­stal­la­zio­ne completa del sistema operativo, per eliminare una volta per tutte questo malware ostinato.

Con­clu­sio­ne: il pericolo rimane

I rootkit sono una minaccia par­ti­co­lar­men­te per­si­sten­te e possono dare agli hacker il pieno controllo del vostro computer. Ma conoscere il pericolo è il primo passo per pro­teg­ger­si un po' di più. La misura di pro­te­zio­ne più im­por­tan­te è, come sempre, la pre­ven­zio­ne del­l'in­fil­tra­zio­ne nel sistema, in quanto i rootkit sono difficili da rilevare e ancora più difficili da rimuovere. Spesso l'unica cosa che resta da fare è con­fi­gu­ra­re nuo­va­men­te il sistema.

In occasione della con­fe­ren­za “Black Hat” (gennaio 2006), sono stati tuttavia segnalati i rootkit che possono so­prav­vi­ve­re pur ri­for­mat­tan­do il disco rigido senza subire danni, per esempio ma­ni­po­lan­do l'ACPI (Advanced Con­fi­gu­ra­tion and Power Interface), che è re­spon­sa­bi­le della gestione del­l'a­li­men­ta­zio­ne di un computer, o sta­bi­len­do­si nel BIOS. Pertanto, finché non si troverà una valida soluzione al problema, i rootkit, in quanto strumenti altamente complessi uti­liz­za­ti dagli hacker, con­ti­nue­ran­no a rap­pre­sen­ta­re un pericolo.

Vai al menu prin­ci­pa­le