ROOTKIT

« Older   Newer »
  Share  
T R E M O R S
view post Posted on 5/3/2008, 19:33




Cos'è un rootkit



U
n 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.

Rootkit: cosa sono, come difendersi



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.

image



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

image



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.

 
Top
0 replies since 5/3/2008, 19:33   41 views
  Share