Il rootkit è un insieme di software, tipicamente malevoli, realizzati per ottenere l'accesso a un computer, o a una parte di esso, che non sarebbe altrimenti possibile (per esempio da parte di un utente non autorizzato a effettuare l'autenticazione). Questi software, oltre a garantire tali accessi, si preoccupano di mascherare se stessi o altri programmi utili per raggiungere lo scopo. Il termine inglese "rootkit" deriva dalla concatenazione di due termini: "root", che indica, tradizionalmente, l'utente con i maggiori permessi nei sistemi simil-Unix, e "kit", che si riferisce al software che implementa lo strumento. Il termine "rootkit" assume spesso una connotazione negativa, perché generalmente associato a un malware.

L'installazione di un rootkit può essere automatizzata, oppure un attaccante (cracker) può installarla personalmente una volta ottenuti i permessi di root o l'accesso come amministratore. Ottenere questo tipo di accesso può essere il risultato di un attacco diretto verso il sistema sfruttando, per esempio, una vulnerabilità nota (come Privilege Escalation) o scoprendo una password (ottenuta tramite Cracking o Ingegneria Sociale). Una volta installato il Rootkit, è importante mantenere nascosta l'intrusione così da poter mantenere i privilegi ottenuti. La chiave di questo attacco sta quindi nei permessi di root o Amministratore. Con questi permessi è possibile avere un controllo completo del sistema, questo include anche modificare software, compreso quello nato per rilevarli e bloccarli (come gli antivirus).

Rilevare un Rootkit può essere complicato, perché la prima preoccupazione di questi software è bloccare i programmi che possono trovarli. I metodi per rilevare rootkit includono l'utilizzo di un sistema operativo alternativo e fidato, metodi di analisi comportamentale (behavioral-based methods), signature scanning, analisi dei dump della memoria (memory dump). La rimozione può essere davvero complicata se non quasi impossibile, specialmente nei casi in cui il rootkit risiede nel kernel; formattare la macchina e reinstallare il sistema operativo potrebbe essere l'unica soluzione possibile. Quando però si ha a che fare con dei rootkit nel firmware, la rimozione potrebbe richiedere la sostituzione di parti hardware, oppure l'utilizzo di strumenti specializzati.

Storia Il termine rootkit o root kit originariamente si riferiva ad un insieme di software di amministrazione, per sistemi operativi Unix-like modificati a scopo malevolo, per ottenere i privilegi da utente "root". Se un intruso è in grado di rimpiazzare i tool di amministrazione standard di un sistema con un rootkit, allora può ottenere non solo l'accesso come utente "root", ma allo stesso tempo può nascondere le sue attività al vero amministratore di sistema.

Questa prima tipologia di rootkit era facile da rilevare tramite l'utilizzo di strumenti quali Tripwire che non erano stati compromessi, per accedere alle stesse informazioni. Lane Davis e Steven Dake hanno scritto il primo rootkit conosciuto, nel 1990, per i sistemi SunOs UNIX della Sun Microsystem. Nel 1983, nella conferenza tenutasi per il premio Turing, Ken Thompson dei Laboratori Bell, uno dei creatori di Unix, ha teorizzato un compilatore C alterato nelle distribuzioni Unix, e ne ha discusso l'exploit. Il compilatore modificato avrebbe rilevato i tentativi di compilare i comandi Unix di login e generato, di conseguenza, del codice alterato che avrebbe accettato non solo la password corretta dell'utente, ma una password addizionale di “backdoor”, conosciuta solo dall'attaccante. Inoltre il compilatore alterato avrebbe rilevato tentativi di compilare una nuova versione del compilatore stesso, inserendo così lo stesso exploit in quello nuovo. Una revisione del codice sorgente del comando di login o l'aggiornamento del compilatore non avrebbe rivelato nessun codice malevolo. Questo exploit era l'equivalente di un rootkit.

Il primo virus, che attaccava personal computer, documentato, risale al 1986 ed utilizzava una tecnica di occultamento per nascondersi: il virus Brain intercettava i tentativi di leggere il settore di avvio e li reindirizzava ad altre parti dell'hard disk, dove era mantenuta una copia del boot originale. Con il passare del tempo i metodi di occultamento dei virus DOS divennero più sofisticati, con tecniche avanzate che includevano l'aggancio (hooking) di chiamate interrupt INT 13H di basso livello del BIOS, per nascondere modifiche non autorizzare ai file.

Il primo rootkit malevolo per Windows NT è apparso nel 1999: un trojan chiamato NTRootkit creato da Greg Hoglund. Il caso è stato seguito da HackerDefender nel 2003. Il primo rootkit a bersagliare un sistema Mac OS X è apparso nel 2009, mentre il worm Stuxnet è stato il primo a colpire un PLC.

Lo scandalo rootkit sulla protezione copie della Sony BMG Nel 2005 Sony BMG ha pubblicato dei CD con dei software per la protezione contro la copia e di gestione dei diritti digitali chiamato Extended Copy Protection, creato dalla società di software First 4 Internet. Il software includeva un lettore musicale il quale di nascosto installava un rootkit che limitava la capacità dell'utente di accedere al disco.

L'ingegnere informatico Mark Russinovich, il quale aveva creato un tool di rilevamento rootkit chiamato RootkitRevealer, ha scoperto il problema in uno dei suoi computer. Lo scandalo che ne è derivato, ha aumentato la consapevolezza del pubblico riguardo ai Rootkit.

Per occultarsi, il rootkit si nascondeva in ogni file che iniziava con “$sys$”. Appena dopo la segnalazione di Russinovich, sono apparsi diversi malware che sfruttavano questa vulnerabilità che affliggeva i sistemi interessati.

Un analista della BBC lo ha chiamato “public relations nightmare” (incubo delle pubbliche relazioni). Sony BGM ha rilasciato delle patch per cancellare il rootkit, ma queste hanno esposto gli utenti ad una vulnerabilità ancora più seria. La società infine si è vista costretta a ritirare i CD. Negli USA è stata intentata una class-action contro Sony BGM.

Lo scandalo delle intercettazioni greche nel 2004-05 Il caso delle intercettazioni greche nel 2004-05, anche noto come Greek Watergate, riguardava le intercettazioni illegali di oltre 100 telefoni cellulare della rete Vodafone greca, questi telefoni appartenevano per lo più a membri del governo e funzionari pubblici di alto livello. Le intercettazioni cominciarono circa ad agosto 2004 e andarono avanti fino a marzo 2005, senza che l'identità dei colpevoli venisse mai scoperta. Gli intrusi installarono un rootkit che aveva come bersaglio l'AXE telephone exchange della Ericsson. In accordo con la IEEE Spectrum, questo è stato il primo attacco rootkit mai osservato su un sistema special-pourpose, in questo caso la centrale telefonica Ericsson. Il rootkit è stato progettato per modificare la memoria di scambio, mentre stava operando, abilitando così le intercettazioni, mentre disabilitava i registri di controllo, modificava inoltre i comandi che elencavano i processi e i blocchi di dati attivi e interveniva sul comando di verifica del blocco dati di checksum. Una backdoor consentiva ad un operatore, con i permessi da amministratore di sistema, di disattivare il log delle transazioni della centrale, gli allarmi e i comandi di accesso relativi alla sorveglianza. Il rootkit venne scoperto in seguito ad un aggiornamento errato che causava la mancata consegna degli SMS, il quale generava un rapporto di errore automatico. Gli ingegneri della Ericsson furono chiamati ad investigare sul problema, e scoprirono così dei blocchi di dati nascosti contenenti le liste dei numeri di telefono da sorvegliare, insieme al rootkit e al software di monitoraggio illecito.

Utilizzi I rootkit moderni non si preoccupano più di elevare i permessi, ma piuttosto mascherano il caricamento di un altro software aggiungendo funzioni per renderlo invisibile. La maggior parte dei rootkit sono classificati come malware, perché sono legati a software malevolo. Per esempio il carico (payload) che si porta dietro un rootkit potrebbe segretamente rubare le password dell'utente, informazioni sulle carte di credito, risorse dal computer oppure potrebbe svolgere attività non autorizzate. Un numero ridotto di rootkit può essere utile all'utente: per esempio, potrebbe mascherare un driver di emulazione dei CD-ROM, permettendo di superare le misure anti-pirateria di un videogioco che richiedono, ad esempio, di inserire il CD nell'apposito lettore per verificare l'autenticità del programma (questa misura di protezione potrebbe risultare fastidiosa anche a chi ha legalmente comprato il software).

I rootkit con il loro payload, possono avere diversi utilizzi: Forniscono all'attaccante un accesso non autorizzato e completo tramite backdoor, con lo scopo, per esempio, di rubare o falsificare documenti. Uno dei possibili metodi per raggiungere tale scopo è quello di alterare il meccanismo di login, che per i sistemi UNIX-like può essere il programma /bin/login oppure GINA per i sistemi Windows. Il sostituto sembra funzionare normalmente, ma accetta anche una combinazione di login (username e password) segreta che permette all'attaccante un accesso diretto al sistema con privilegi di amministratore, bypassando così l'autenticazione standard e i meccanismi di autorizzazione. Nascondere altri malware, in particolar modo i keyloggers in grado di rubare password e i virus informatici. Si appropriano della macchina compromessa rendendola un computer zombie per poterla così sfruttare per attacchi ad altri computer (l'attacco parte dal computer zombie invece che direttamente dal computer dell'attaccante, rendendo così molto difficile, se non impossibile, rintracciare l'autore. I computer “zombie” fanno tipicamente parte di una vasta botnet che può lanciare attacchi di tipo DDoS (Distributed Denial of Service), spam di mail distribuito, click fraud, ecc. Forzatura dei DRM (Digital Rights Management) In alcuni casi i rootkit forniscono funzionalità desiderate, e possono essere installati intenzionalmente dall'utente sul proprio computer: Programmi di occultamento dei cheats nei giochi online, per evitare software come Warden. Scovare attacchi, per esempio, con un honeypot. Software di emulazione avanzata e di sicurezza. Alcohol 120% e Daemon Tools sono esempi di rootkit commerciali non ostili usati per superare i sistemi di protezione dalla copia come SafeDisc o SecuROM. Anche il software antivirus Kaspersky usa tecniche che lo fanno assomigliare ad un rootkit per proteggere sé stesso da azioni malevole. Infatti lui carica dei suoi drivers per intercettare le attività di sistema ed impedire che queste vadano a danneggiarlo. I suoi processi non sono nascosti ma non possono essere terminati con metodi standard (Può essere terminato tramite Process Hacker) Protezione antifurto: I portatili possono avere un software rootkit a livello di BIOS che periodicamente riferiscono ad una autorità centrale, permettendo così di monitorare, cancellare o rendere inaccessibili le informazioni sulla macchina in caso di furto. Bypassare il Microsoft Product Activation

Tipologie

Esistono almeno 5 tipi di rootkit, che vanno da quelli a livello più basso nel firmware (con i privilegi più alti), fino a quello con i privilegi minori, cioè a livello utente, che operano nell'anello 3. Esistono combinazioni ibride che possono combinare, per esempio, la modalità utente e la modalità kernel.

Modalità utente