Rilevamento di rootkit Linux: Strumenti e tecniche
10 min di lettura - 16 maggio 2026

Come rilevare e prevenire i rootkit di Linux utilizzando chkrootkit, rkhunter, Auditd, AIDE e il monitoraggio comportamentale sui vostri server.
Rilevamento di rootkit Linux: Strumenti e tecniche per la sicurezza dei server
I rootkit consentono agli aggressori di accedere in modo persistente e nascosto ai sistemi Linux. Manipolano le operazioni del kernel, nascondono file e processi ed eludono gli strumenti di sicurezza standard. Alcuni sono rimasti inosservati per anni. Il loro rilevamento richiede un approccio a più livelli, perché nessun singolo strumento è in grado di rilevare tutto.
Questo articolo illustra i principali tipi di rootkit per Linux, le modalità di scansione e le tecniche di monitoraggio avanzate che consentono di individuare ciò che gli scanner di base non riescono a individuare.
Tipi di rootkit Linux
I rootkit operano a diversi livelli di privilegio e più sono profondi, più sono difficili da trovare.
I rootkit in modalità utente operano a livello di applicazione (Ring 3). Dirottano il linking dinamico utilizzando LD_PRELOAD per iniettare librerie dannose che intercettano le funzioni standard della libreria C come readdir o fopen, nascondendo file e processi agli strumenti userland.
I rootkit in modalità kernel vengono eseguiti nell'anello 0 e caricati come moduli caricabili del kernel (LKM). Intercettano le chiamate di sistema, manipolano la memoria del kernel e nascondono la propria presenza. Poiché sono legati a versioni specifiche del kernel, una configurazione errata può causare un panico del kernel, che ironicamente lo espone.
i rootkit basati su eBPF sfruttano il sottosistema Extended Berkeley Packet Filter per funzionare nello spazio del kernel senza caricare un modulo tradizionale. Si attaccano agli hook delle syscall, ai tracepoint o agli eventi LSM. Gli scanner LKM standard non li vedono. Boopkit è un noto proof of concept che crea un canale C2 nascosto utilizzando questo approccio.
i rootkit basati su io_uring sono la variante più recente. Utilizzano l'interfaccia I/O asincrona io_uring per eseguire operazioni in batch, generando meno eventi syscall osservabili. RingReaper, un rootkit sperimentale, ha dimostrato come questo possa sostituire silenziosamente chiamate come read, write e connect eludendo gli strumenti EDR.
| Tipo di rootkit | Livello di privilegio | Metodo di aggancio | Difficoltà di rilevamento |
|---|---|---|---|
| Modalità utente | Anello 3 (Utente) | LD_PRELOAD, hijacking della libreria | Moderato |
| Modo Kernel | Anello 0 (Kernel) | Tabella delle chiamate di sistema, LKM, aggancio in linea | Elevato |
| basato su eBPF | Anello 0 (Kernel) | aggancio del programma eBPF | Molto alto |
| basato su io_uring | Utente/Kernel | Batching I/O asincrono | Molto alto |
Scansione con chkrootkit e rkhunter
Due strumenti costituiscono la base per il rilevamento dei rootkit sui server Linux: chkrootkit per le scansioni rapide e rkhunter per i controlli più approfonditi.
chkrootkit
chkrootkit è uno script di shell che controlla i file binari critici del sistema(ls, ps, netstat, sshd, ifconfig) alla ricerca di segni di manomissione. Rileva anche le interfacce di rete promiscue e i registri cancellati. Dalla versione 0.59 (gennaio 2026), è in grado di identificare oltre 75 rootkit, worm e LKM, comprese le minacce più recenti come Linux BPFDoor, Syslogk e XZ Backdoor.
Eseguitelo dopo qualsiasi attività sospetta. Prestare attenzione agli avvisi del componente ifpromisc e agli avvisi relativi ai file lastlog o wtmp eliminati.
rkhunter
rkhunter va oltre. Confronta gli hash SHA-1 dei file binari del sistema con i valori noti, monitora i permessi dei file e i file nascosti, controlla le configurazioni di avvio ed esegue analisi del kernel e della rete.
Impostatelo correttamente fin dall'inizio:
# Establish a baseline after a clean install or update
rkhunter --propupd
# Update rootkit definitions
rkhunter --update
# Run a full scan (use --novl on production servers to reduce I/O)
rkhunter --check --enable all
Per le scansioni giornaliere automatiche, impostare CRON_DAILY_RUN="true" in /etc/rkhunter.conf e usare --skip-keypress e --report-warnings-only per un output pulito. Esaminare i registri in /var/log/rkhunter.log e inserire nella whitelist i falsi positivi confermati.
Rilevare i rootkit LKM
I rootkit LKM sono particolarmente pericolosi perché operano come estensioni del kernel, intercettando le chiamate di sistema e nascondendo i processi a livello del kernel. Gli strumenti standard come lsmod non li vedono, ma ci sono modi per individuarli.
Confrontate l'output di lsmod con gli elenchi di /sys/module/. Controllare i log di sistema per individuare messaggi sospetti del kernel:
# Look for out-of-tree module warnings
sudo dmesg | grep "loading out-of-tree module taints kernel"
# Check for module verification failures
grep "module verification failed" /var/log/syslog
# Run chkrootkit's LKM-specific check
sudo chkrootkit lkm
Anche i rootkit che si nascondono da lsmod e /proc/modules (come Diamorphine) possono essere individuati controllando /sys/module/diamorphine/coresize o esaminando gli avvisi del syslog.
Rilevamento avanzato: Monitoraggio del comportamento e controlli di integrità
Gli scanner statici hanno una debolezza fondamentale. In un esperimento del 2026, l'aggiunta di un singolo byte nullo a un binario rootkit, una modifica che non influisce sulla funzionalità, ha ridotto drasticamente i tassi di rilevamento. I rilevamenti di Diamorphine sono scesi da 33/66 a 8/64 solo eliminando le tabelle dei simboli. Affidarsi alle sole firme non è sufficiente.
Analisi del comportamento
Invece di chiedere "questo file corrisponde a un rootkit noto?", l'analisi del comportamento chiede "questo processo sta facendo qualcosa di insolito?" Monitorate questi segnali:
- Utilizzare Auditd per osservare le chiamate di sistema
init_module()efinit_module(), che caricano i moduli del kernel indipendentemente dal metodo. - Monitorare le chiamate
kill()con segnali superiori a 31, che possono indicare una comunicazione rootkit nascosta. - Controllate
/proc/sys/kernel/taintedper rilevare attività non autorizzate del modulo del kernel. - Verificare la presenza di file
.soinaspettati in/tmpo/dev/shm. - Tracciate l'attività di eBPF, in particolare le chiamate
bpf_probe_write_user. Strumenti come BCC possono tracciare le operazioni io_uring attraverso punti di tracciamento comesys_enter_io_uring_enter.
Per i rootkit eBPF e io_uring in particolare, gli strumenti di monitoraggio del runtime come Tetragon, Falco e Tracee possono osservare l'attività nel kernel in tempo reale.
Monitoraggio dell'integrità dei file
AIDE (Advanced Intrusion Detection Environment) crea una linea di base di file di sistema affidabili e ne verifica le modifiche. Si inizializza con aide --init, quindi si programma aide --check tramite cron. Tiene traccia di checksum, permessi, proprietà e timestamp di file binari critici come /bin/login e /usr/bin/sshd.
Per la verifica a livello di pacchetto, debsum (Debian/Ubuntu) o rpm -Va (RHEL/CentOS) possono confermare l'integrità dei file di sistema. Per ottenere risultati più affidabili, avviate il sistema da supporti di ripristino affidabili e ispezionate il filesystem offline, poiché i rootkit possono manomettere la segnalazione di un kernel in esecuzione.
Monitorate anche i meccanismi di persistenza. I rootkit spesso modificano /etc/ld.so.preload per iniettare oggetti condivisi, o alterano .bashrc e .profile. Le modifiche legittime a questi file sono rare, quindi gli avvisi in questo caso hanno un elevato rapporto segnale/rumore.
Monitoraggio automatico con Auditd
Aggiungete queste regole a /etc/audit/rules.d/rootkit.rules per rilevare in tempo reale le attività sospette del kernel:
# Detect unauthorized kernel module loading
-a always,exit -F arch=b64 -S finit_module -S init_module
# Catch unusual high-range kill signals
-a always,exit -F arch=b64 -S kill -F a1>=32
Combinare queste regole con gli aggiornamenti automatici di rkhunter. Impostare UPDATE_MIRRORS=1 e MIRRORS_MODE=0 nella configurazione ed eseguire rkhunter --propupd dopo gli aggiornamenti legittimi del sistema per aggiornare la linea di base.
Irrigidimento del server contro i rootkit
Il rilevamento è importante, ma la prevenzione è meglio. La maggior parte dei rootkit richiede privilegi elevati per essere installati, quindi ridurre la superficie di attacco fa davvero la differenza.
Mantenete il kernel e i pacchetti aggiornati. Gli aggressori sfruttano le vulnerabilità senza patch per aumentare i privilegi e distribuire rootkit basati su LKM o eBPF. Dopo aver applicato le patch, aggiornare le linee di base del rilevamento con rkhunter --propupd.
Applicare il minimo privilegio. Non date agli utenti o ai processi più accesso del necessario. Utilizzate SELinux o AppArmor per controlli di accesso obbligatori che bloccano le azioni non autorizzate anche se un processo è compromesso.
Disabilitare il caricamento dei moduli del kernel dopo l'avvio. Sui server dedicati, è possibile prevenire completamente i rootkit LKM bloccando il caricamento dei moduli dopo l'avvio del sistema. Questo non è possibile sull'hosting condiviso, e questo è uno dei motivi per cui gli ambienti dedicati o VPS offrono una maggiore sicurezza.
Segmentare la rete. L'isolamento di parti dell'infrastruttura limita i movimenti laterali in caso di compromissione di una macchina.
Verificate regolarmente. Strumenti come Lynis possono identificare gli errori di autorizzazione e di configurazione prima che gli aggressori li sfruttino.
Conclusione
I rootkit sono costruiti per nascondersi in piena vista. Quando i sintomi si manifestano, il sistema potrebbe essere già compromesso al di là di un facile recupero. Nessun singolo scanner è in grado di rilevare tutto e il rilevamento di base basato sulle firme è facile da eludere.
Una difesa pratica combina più livelli:
- Scansioni regolari con chkrootkit e rkhunter per le minacce note
- Regole Auditd e monitoraggio del comportamento per attività sospette del kernel
- Monitoraggio dell'integrità dei file con AIDE per individuare modifiche non autorizzate
- Strumenti di runtime come Tetragon o Falco per le minacce eBPF e io_uring
- Controlli di accesso, patching e segmentazione della rete per ridurre la superficie di attacco
Automatizzate ciò che potete, mantenete aggiornate le baseline e partite da un'installazione pulita del sistema operativo di cui vi fidate.
FDC Servers offre hosting dedicato e VPS con accesso root completo e configurazioni del kernel personalizzabili. Esplorate le opzioni di server dedicati per creare un ambiente Linux protetto.

Stanchi di implementazioni lente o di limiti di larghezza di banda? FDC Servers offre potenza dedicata istantanea, portata globale e piani flessibili costruiti per qualsiasi scala.
Aggiorna ora
Lista di controllo per l'irrigidimento del server Linux
Lista di controllo passo-passo per rendere più sicuro un server Linux. Copre SSH, firewall, patch, permessi dei file, SELinux/AppArmor e registrazione degli audit
15 min di lettura - 8 maggio 2026
tutorial iperf3: Test della velocità di rete su Linux e Windows
10 min di lettura - 7 maggio 2026

Avete domande o avete bisogno di una soluzione personalizzata?
Opzioni flessibili
Portata globale
Distribuzione immediata
Opzioni flessibili
Portata globale
Distribuzione immediata