Lezione 4 di 7 · 8 min
Rootkit: il software dannoso che si nasconde da te
Il compito di un rootkit è restare nascosto e restare al suo posto. Scopri come funzionano, perché più sono in profondità più sono pericolosi e come il macOS moderno complica loro la vita.
La maggior parte del software dannoso vuole fare qualcosa: rubare, cifrare, spiare. Un rootkit vuole non essere visto mentre succede. Il NIST definisce un rootkit come un insieme di strumenti usato da un aggressore dopo aver ottenuto un accesso di livello root su una macchina, per nascondere le proprie attività e mantenere un accesso privilegiato con mezzi occulti. Il nome viene da Unix, dove «root» è l’onnipotente account amministratore, e il «kit» era il pacchetto di strumenti modificati che un intruso lasciava per conservare quel potere in silenzio.
Due compiti: persistere e nascondersi
Un rootkit di solito unisce due capacità. La persistenza è sopravvivere a riavvii e aggiornamenti, così l’aggressore non perde l’accesso. L’occultamento è nascondere file, processi e connessioni di rete proprio agli strumenti che useresti per cercarli. MITRE ATT&CK descrive direttamente il secondo trucco: i rootkit nascondono programmi, file, connessioni di rete e servizi intercettando e modificando le chiamate del sistema operativo che li riportano. Se la parte del sistema a cui chiedi «che cosa è in esecuzione?» è stata manomessa, può semplicemente omettere la risposta.
Più è profondo, più è difficile da trovare
| Livello | Dove si trova | Quanto è difficile rilevarlo e rimuoverlo |
|---|---|---|
| Livello utente | Sostituisce o intercetta programmi e librerie comuni che girano con il tuo account | Difficile, ma strumenti con privilegi più alti spesso notano la manomissione |
| Livello kernel | Si carica nel cuore del sistema operativo, da dove può mentire a ogni programma | Molto difficile: è il sistema stesso a riportare informazioni false |
| Livello avvio e firmware | Parte prima del sistema operativo, nell’avvio o nel firmware di un componente | Il più difficile: può sopravvivere a una reinstallazione completa del sistema |
La regola generale è che il codice che gira a un livello più basso e più privilegiato può ingannare il codice che gira sopra. Per questo i rootkit puntano il più in basso possibile, e per questo chi difende si impegna tanto a rendere i livelli più bassi di un computer resistenti alla manomissione.
Come si difende macOS
Il macOS moderno è costruito per togliere ai rootkit i nascondigli che usavano. Apple documenta diversi livelli nella sua guida alla sicurezza delle piattaforme:
- La protezione dell’integrità del sistema (SIP) impedisce anche all’account amministratore di modificare le parti protette del sistema, come le cartelle e i processi di sistema. Apple consiglia di lasciarla attiva.
- Il volume di sistema è sigillato e firmato: all’avvio macOS verifica che i file di sistema siano esattamente quelli distribuiti da Apple e rifiuta di usare un sistema modificato.
- L’avvio sicuro su Apple silicon (e sui Mac con chip T2) verifica ogni fase dell’avvio prima di eseguirla, così nessun codice può infilarsi prima del sistema operativo.
- Le estensioni del kernel di terze parti sono limitate e richiedono un’approvazione esplicita; Apple ha spostato gran parte di ciò che facevano nelle estensioni di sistema, che girano fuori dal kernel.
Insieme, questi livelli rendono il classico rootkit del kernel molto più difficile da installare su un Mac recente con le impostazioni predefinite. È anche il motivo per cui oggi gli aggressori tendono a restare a livello utente e a puntare su trucchi di persistenza come gli elementi di login e i launch agent, che non devono rompere i sigilli del sistema.
La persistenza che puoi controllare da solo
Dato che i rootkit profondi sono difficili da installare, la maggior parte della persistenza sui Mac di oggi è visibile se sai dove guardare. macOS elenca gli elementi di login e quelli in background in Impostazioni di Sistema, sotto Generali e poi Elementi login ed estensioni, e ti avvisa quando viene aggiunto un nuovo elemento in background. Tutto ciò che lì non riconosci merita un’occhiata. MITRE ATT&CK elenca launch agent e launch daemon tra le tecniche di persistenza comuni su macOS proprio per questo.
Perché la rete dice ancora la verità
Un rootkit può mentire ai programmi della stessa macchina, ma di solito deve comunque parlare con il suo operatore. Quel traffico deve attraversare la rete. Un firewall per app che si trova nel livello di filtraggio del sistema operativo vede le connessioni mentre il sistema le gestisce, e un router o un altro dispositivo della rete le vede dall’esterno, dove il rootkit non ha alcun controllo. Il filtro di rete di FireAI è un’estensione di sistema Apple; mostra quale app c’è dietro ogni connessione e chiede prima che nuove app si connettano. Non è un rilevatore di rootkit e non può vedere attraverso un kernel compromesso, ma un traffico inspiegabile da un processo che non sai giustificare è uno dei segnali classici che qualcosa si sta nascondendo.
Non solo computer: router e altri dispositivi
Gli impianti di tipo rootkit non si limitano ai portatili. Router domestici, NAS e altri dispositivi sempre accesi fanno girare i propri piccoli sistemi operativi, spesso aggiornati di rado o mai. Gli aggressori li hanno presi di mira più volte perché stanno su ogni connessione e quasi nessuno li controlla. Tenere aggiornato il firmware del router, cambiare la password amministratore predefinita e disattivare la gestione remota che non usi chiude le porte più comuni. Spiega anche perché guardare il traffico da più di un punto è prezioso: un problema che vive nel router non comparirà in nessuna scansione del Mac.
Se sospetti un rootkit
- Parti dal presupposto che gli strumenti del sistema potrebbero non dire la verità; esaminalo dall’esterno quando puoi.
- Verifica che la protezione dell’integrità del sistema sia attiva (Apple spiega come) e tieni macOS aggiornato.
- Controlla Elementi login ed estensioni cercando voci sconosciute.
- Davanti a un sospetto serio, la soluzione affidabile è salvare i documenti (non le app né i file di sistema), inizializzare il Mac, reinstallare macOS da Apple e ripristinare solo i tuoi dati.
- Se la minaccia è mirata, per esempio contro un giornalista o un attivista, chiedi aiuto a esperti e valuta la modalità di isolamento.
Da ricordare
- Lo scopo di un rootkit è nascondere la presenza di un aggressore e mantenere un accesso privilegiato.
- Più un rootkit sta in basso (utente, kernel, avvio, firmware), più è difficile rilevarlo e rimuoverlo.
- Protezione dell’integrità del sistema, volume di sistema firmato e avvio sicuro rendono molto più difficili i classici rootkit del kernel sui Mac moderni.
- Un rootkit può mentire al computer, ma il suo traffico di rete resta visibile dall’esterno.
Mettiti alla prova
1. Quali sono i due compiti principali di un rootkit?
- Cifrare i file e chiedere un pagamento
- Mantenere un accesso privilegiato (persistenza) e nascondere l’attività dell’aggressore (occultamento) — Esatto.
- Inviare spam e minare criptovalute
- Mostrare pubblicità e cambiare la pagina iniziale
Il NIST definisce i rootkit come strumenti che nascondono l’attività di un aggressore e mantengono un accesso privilegiato in modo occulto.
2. Perché i rootkit a livello kernel sono così difficili da rilevare?
- Sono file molto piccoli
- Girano nel cuore del sistema operativo e possono far riportare al sistema informazioni false a ogni programma — Esatto.
- Girano solo di notte
- Si cancellano a ogni riavvio
Il codice a un livello più privilegiato può ingannare i programmi sopra di lui, compresi gli strumenti che useresti per cercarlo.
3. Quale funzione di macOS impedisce anche a un amministratore di modificare i file di sistema protetti?
- FileVault
- La protezione dell’integrità del sistema — Esatto.
- AirDrop
- Time Machine
SIP protegge cartelle e processi di sistema dalle modifiche, anche da parte dell’account amministratore, e blocca così una tecnica classica dei rootkit.
Mettilo in pratica con FireAI
Metti in pratica questa lezione sul tuo Mac.
- Regole: app, sito, dominio, IP o un intervallo, per sempre o fino al riavvio — Scrivi una regola precisa quanto un solo indirizzo o ampia quanto un intero dominio.
- La Mappa del mondo — Vedi dove vanno davvero i tuoi dati, non solo un nome host che dovresti cercare da solo.
- Liste di minacce (facoltative) — Confronta il tuo traffico con dati pubblici sulle minacce senza inviarlo da nessuna parte.
- Indaga su una connessione — Decidi con i fatti davanti a te, non con un vago avvertimento.
- Modalità di sicurezza: Casa, Bar, Paranoica, Sotto attacco — Adatta il rigore di FireAI a dove si trova davvero il tuo Mac, con un tocco.
- USB Network Protection: nothing from a USB drive goes online unasked — Plug in a drive someone handed you without letting what’s on it phone home.
Fonti
- NIST Computer Security Resource Center Glossary: rootkit
- MITRE ATT&CK T1014: Rootkit
- MITRE ATT&CK T1543.001: Create or Modify System Process: Launch Agent
- Apple Support: About System Integrity Protection on your Mac
- Apple Platform Security: System security overview
- Apple Support: About Lockdown Mode
Mettilo in pratica sul tuo Mac
Prova tutte le funzioni gratis per 17 giorni, senza carta.