Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Rootkit: cosa sono, come difendersi

Cosa sono e come ci si può mettere al riparo dai rootkit per Windows, le applicazioni che nascondono ad antivirus e antispyware i processi più pericolosi e i file più nocivi.
Cosa sono e come ci si può mettere al riparo dai rootkit per Windows, le applicazioni che nascondono ad antivirus e antispyware i processi più pericolosi e i file più nocivi.
Link copiato negli appunti

Le recenti notizie di cronaca riguardanti l'utilizzo di rootkit da parte di Sony BMG
all'interno di alcuni suoi CD ha portato alla ribalta un fenomeno a lungo
sottovalutato di cui molti ignoravano l'esistenza. L'affare Sony
è in realtà solo la punta di un iceberg sommerso in costante e rapida crescita.
Il fenomeno si sta diffondendo al punto tale che alcuni addetti ai lavori hanno
ritenuto di dover coniare un nuovo termine per identificare il malware facente
uso di tali tecniche. D'ora in poi sarà sempre più facile imbattersi nel
cosiddetto Ghostware.

Il punto di forza di questi software fantasma è che grazie a particolari
tecniche di programmazione riescono a rendersi completamente invisibili
all'utente, ai programmi applicativi e all'intero sistema operativo. Questo
significa che nessun antivirus, nessun programma antispyware e nessuno strumento
antimalware sarà in grado di rilevarli. Diventa del tutto irrilevante il fatto
che questi programmi di scansione posseggano nel loro database le firme per
poterli individuare. Non si può riconoscere ciò che non si vede!

Di seguito si descriveranno brevemente le tecniche di funzionamento adottate
dai rootkit per nascondere file e programmi e si illustreranno alcuni strumenti
utili alla loro individuazione.

Breve storia

Il termine rootkit esiste da più di una decina di anni, non è quindi un
fenomeno nuovo. Per molto tempo gli unici esemplari conosciuti erano destinati a
mascherare intrusioni perpetrate da pirati informatici ai danni di macchine Unix
collegate alla rete. Il loro scopo era nascondere all'amministratore di sistema
eventuali
backdoor
o altri programmi installati dall'intrusore.
Il mondo Windows non è stato a guardare per molto tempo. L'articolo "A
*REAL* NT Rootkit, patching the NT Kernel
" di Greg Hoglund pubblicato nel
1999 su Phrack rappresenta
la svolta. Da questo momento in poi le evoluzioni sono rapide e continue. I
primi abbozzi di codice, che spesso rendevano instabile il sistema, vengono
perfezionati rendendo i rootkit per Windows una realtà di cui cominciare ad aver
paura.

Allo stato attuale esiste un discreto numero di rootkit disponibile
liberamente su internet che aspetta soltanto di essere usato per creare il nuovo
ghostware di turno. AFX, Vanquish, Hacker Defender (disponibile in versione
silver, gold e brilliant) sono solo alcuni della lista. Di quest'ultimo è
disponibile una versione open source pronta per essere studiata e modificata. Su
richiesta e a pagamento l'autore fornisce addirittura una copia del programma
personalizzata che non sia individuabile dagli antivirus prima della sua
installazione.

Siti come rootkit.com sono
il ritrovo preferito di persone attive in prima linea per studiare il fenomeno,
per creare nuove tecniche di attacco ma anche per programmare strumenti di
difesa. Infine il libro "ROOTKITS,
Subverting the Windows Kernel
" del già citato Hoglund è diventato una vera e
propria bibbia per chi si interessa dell'argomento.

Cos'è un rootkit

Un rootkit è costituito da un insieme di programmi che consente la presenza
invisibile e permanente di processi e informazioni all'interno di un sistema. È
importante precisare che un rootkit non è necessariamente nocivo. Un rootkit non
è un virus, non è un trojan e non è uno spyware. Il rootkit costituisce solo
l'insieme delle tecniche di occultamento e di per sé non è un elemento dannoso.
La pericolosità è insita nello scopo che ci si prefigge con il suo utilizzo.
Questo è testimoniato dal fatto che gli stessi metodi vengono spesso usati da
programmi commerciali per scopi del tutto leciti.

L'antivirus Kaspersky, per esempio, aggiunge ad ogni file analizzato un Alternate Data Streams: i file invisibili di Windows (ADS) di nome KAVICS nel quale memorizza data e ora
dell'ultima scansione e una firma (hash) del file stesso. Questa tecnica gli
permette di risparmiare tempo durante la ricerca dei virus in quanto l'analisi
viene evitata se dall'ultima scansione non sono occorse modifiche al file. Per
non rendere pubbliche, e quindi modificabili, le informazioni  presente nei
suoi ADS, Kaspersky usa tecniche derivate dai rootkit per nasconderle al
sistema.

Le stesse tecniche vengono usate inoltre da programmi di terze parti che
consentono l'accesso e la visibilità di determinate cartelle solamente agli
utenti possessori di una password.
Infine la nota dolente: una schiera di trojan e backdoor, diventata oramai
numerosa, usa rootkit per sfuggire alle maglie dei software antimalware.

Backdoor.Win32.Breplibot.b
e

Backdoor.IRC.Snyd.A
sono solo alcuni dei tanti.

Il compito principale di un rootkit è occultare oggetti di sistema
all'utente. Per esempio possono essere resi invisibili file, processi in
memoria, servizi, chiavi di registro e porte TCP/IP in stato di ascolto.
Una volta installato un programma ghostware verrà in genere lanciato all'avvio
del sistema attraverso una chiave di registro invisibile. A questo punto potrà
intercettare i tasti digitati sulla tastiera per carpire informazioni riservate
(keylogger), mettersi in ascolto sulla rete per accettare istruzioni
dall'esterno (backdoor), sniffare il traffico di rete, sferrare attacchi
Attacchi DoS su internet e quanto di peggio si possa immaginare. Nessun taskmanager
potrà individuarlo e nessun comando netstat potrà rivelare le connessioni create
sulla rete.

Per rendere possibile la loro invisibilità i rootkit agiscono a livello
profondo installandosi come parte integrante del sistema operativo stesso. Un
software che voglia mascherare la presenza di alcuni file sul disco, per
esempio, deve poter intercettare le chiamate di tutti i processi alle funzioni
di sistema (API) riguardanti il filesystem. Il rootkit quindi agisce da filtro
tra il nostro Windows e i programmi applicativi, eliminando dalla risposta
fornita dal sistema tutte le informazioni sui file che esso intende nascondere.
Una cosa analoga avviene per tutti gli altri oggetti che si intendono occultare.
A chi ricorda il funzionamento dei vecchi virus di tipo stealth che circolavano anni fa in ambiente Ms-Dos la tecnica descritta non sembrerà nuova. La complessità e la maggiore sicurezza dei moderni sistemi operativi rende però il raggiungimento dello scopo molto più difficile.

Strumenti per la rivelazione dei rootkit

La lotta ai rootkit è ardua ma non impossibile. Al giorno d'oggi esistono un
paio di valide soluzioni gratuite, RootkitRevealer e Blacklight, che, per quanto
efficaci, possiedono comunque i loro limiti. Esse si basano principalmente sulla
rilevazione di discrepanze a livello di filesystem. Un programma ghostware,
anche se virtualmente invisibile, deve essere presente fisicamente sul disco
fisso. Per individuarlo i programmi anti rootkit cercano di accedere al
filesystem attraverso due diversi metodi:

  • invocando le normali funzioni del sistema operativo a livello utente per
    l'accesso ai file
  • utilizzando funzioni a bassissimo livello che consentono loro di accedere
    in modo diretto alle strutture del disco

Nella maggior parte dei casi i rootkit non riescono a raggiunge un livello di
sofisticazione tale da poter intercettare e gestire le funzioni di accesso
diretto al disco ma riescono agevolmente a modificare il comportamento delle
chiamate di sistema a livello superiore. Viene quindi scansionato l'intero disco
utilizzando i due metodi. Se esistono differenze nei risultati significa che un
programma ghostware sta occultando qualche file nel sistema.

La tecnica non è esente da problemi poiché si basa sull'assunto che nessun
rootkit riesca ad operare a bassissimo livello. A tal proposito, il
video
che mostra come la versione Brilliant di Hacker Defender riesca a farsi beffa di
tutti i principali software antirootkit non è affatto incoraggiante.

RootkitRevealer


RootkitRevealer
di Sysinternals è stato scritto da Mark Russinovich,
scopritore del famigerato rootkit usato da Sony.
Il suo uso è estremamente semplice. Il programma non necessita di installazione
e può quindi essere lanciato anche da supporti rimovibili. Scansiona il
filesystem di tutte le unità disco presenti nel sistema alla ricerca di file e
chiavi di registro nascoste. Il programma è in grado di analizzare anche gli
eventuali alternate data stream (ADS) allegati ai file. Non è data nessuna
possibilità di eliminare i file nascosti.

RootkitRevealer

Nell'immagine si vede come RootkitRevealer abbia individuato gli ADS nascosti
creati da Kaspersky. Se si usa tale antivirus su un filesystem NTFS la scansione
produrrà una voce per ogni file presente sul disco. Ovviamente in questo caso
non si tratta di oggetti dannosi.
 

Blacklight

La versione beta di
Blacklight è
distribuita da F-Secure ed è utilizzabile gratuitamente fino all'1 marzo 2006.
Anche Blacklight non necessita di installazione. Dopo aver accettato i termini
di uso è possibile procedere alla scansione. Verranno rilevati processi nascosti
in memoria e file invisibili presenti su disco ma non è possibile l'analisi
degli ADS.
Blacklight da la possibilità di rinominare eventuali file mascherati da un
rootkit in modo da prevenirne il mascheramento al successivo riavvio e quindi
inibirne l'esecuzione. Il file ideale su cui operare in questo modo è ovviamente
l'eseguibile del rootkit stesso.
Per ulteriori informazioni è possibile consultare l'help
online

Blacklight

Nell'immagine si vede come Blacklight abbia individuato alcuni file nascosti
creati da HackerDefender.
 

Il progetto Strider Ghostbuster

L'unico metodo veramente efficace contro i rootkit sembra essere quello messo
a punto da Microsoft attraverso il suo
Strider
Ghostbuster project
. Purtroppo non si sa ancora se il progetto rimarrà un
esperimento interno alla casa di Redmond oppure se il prezioso tool sarà messo a
disposizione degli utenti. Per ora non viene data alcuna possibilità di
testarlo.
Abbiamo visto che nessun metodo di scansione su un sistema in esecuzione può
essere sicuro in modo assoluto poiché ogni funzione può essere intercettata.
Strider Ghostbuster basa il suo funzionamento su una analisi offline del
sistema:

  • Si esegue una prima scansione del disco dal sistema in esecuzione usando
    le stesse API ad alto livello usate dai tool  precedentemente descritti e
    se ne salvano i risultati. Se un rootkit è attivo alcuni file non saranno
    identificati.
  • Si resetta il sistema e si riavvia la macchina attraverso un CD avviabile,
    sicuramente non infetto, in grado di leggere in modo autonomo il filesystem.
    Si esegue nuovamente la scansione e si memorizzano i risultati. Nessun rootkit
    potrà mai operare a questo livello poiché stiamo leggendo le informazioni da
    un sistema operativo pulito.
  • Vengono confrontati i risultati. Eventuali discrepanze vengono segnalate
    come potenziale rootkit.


The Basics of Rootkits: Leave No Trace

Hacker Defender homepage


Sony, Rootkits and Digital Rights Management Gone Too Far


Strider GhostBuster: Why It's A Bad Idea For Stealth Software To Hide Files


Detecting Stealth Software with Strider GhostBuster


Ti consigliamo anche