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 dei rootkit su Linux: strumenti e tecniche per la sicurezza dei server
I rootkit offrono agli aggressori un accesso 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, poiché nessun singolo strumento è in grado di rilevarli tutti.
Questo post tratta i principali tipi di rootkit Linux, come eseguire la scansione per individuarli e le tecniche di monitoraggio avanzate che rilevano 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 nascosti, più sono difficili da individuare.
I rootkit in modalità utente girano a livello di applicazione (Ring 3). Dirottano il collegamento 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 girano a Ring 0 caricandosi come Loadable Kernel Modules (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 kernel panic, il che, ironicamente, li 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 agganciano a hook di syscall, tracepoint o eventi LSM. Gli scanner LKM standard non li rilevano. 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' io_uring interfaccia I/O asincrona per le operazioni in batch, generando un numero minore di eventi di syscall osservabili. RingReaper, un rootkit sperimentale, ha dimostrato come questo possa sostituire silenziosamente chiamate come read, writee connect eludendo al contempo gli strumenti EDR.
| Tipo di rootkit | Livello di privilegio | Metodo di aggancio | Difficoltà di rilevamento |
|---|---|---|---|
| Modalità utente | Anello 3 (Utente) | LD_PRELOAD, dirottamento delle librerie | Moderata |
| Modalità kernel | Anello 0 (Kernel) | Tabella delle chiamate di sistema, LKM, hooking inline | Elevato |
| Basato su eBPF | Anello 0 (Kernel) | Collegamento 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 scansioni rapide e rkhunter per 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 inoltre interfacce di rete in modalità promiscua e log cancellati. A partire dalla versione 0.59 (gennaio 2026), è in grado di identificare oltre 75 rootkit, worm e LKM, incluse minacce più recenti come Linux BPFDoor, Syslogk e XZ Backdoor.
Eseguilo dopo qualsiasi attività sospetta. Presta attenzione agli avvisi del ifpromisc componente e agli avvisi relativi ai lastlog o wtmp .
rkhunter
rkhunter va oltre. Confronta gli hash SHA-1 dei binari di sistema con valori noti come validi, monitora i permessi dei file e i file nascosti, controlla le configurazioni di avvio ed esegue analisi del kernel e della rete.
Configuratelo 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 automatiche giornaliere, imposta CRON_DAILY_RUN="true" in /etc/rkhunter.conf e usa --skip-keypress e --report-warnings-only per un output pulito. Controlla i log su /var/log/rkhunter.log e inserisci nella whitelist i falsi positivi confermati.
Rilevamento dei 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. Strumenti standard come lsmod non li rilevano, ma ci sono modi per individuarli.
Confronta lsmod l'output con /sys/module/ elenchi. Controlla i log di sistema alla ricerca di messaggi del kernel sospetti:
# 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 comunque essere individuati controllando /sys/module/diamorphine/coresize o esaminando gli avvisi di syslog.
Rilevamento avanzato: monitoraggio del comportamento e controlli di integrità
Gli scanner statici presentano 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 semplicemente rimuovendo le tabelle dei simboli. Affidarsi alle sole firme non è sufficiente.
Analisi comportamentale
Invece di chiedersi "questo file corrisponde a un rootkit noto?", l'analisi comportamentale si chiede "questo processo sta facendo qualcosa di insolito?". Monitorate questi segnali:
- Utilizza Auditd per monitorare
init_module()efinit_module()le chiamate di sistema, che caricano i moduli del kernel indipendentemente dal metodo. - Monitorare
kill()le chiamate con segnali superiori a 31, che possono indicare una comunicazione rootkit nascosta. - Controlla
/proc/sys/kernel/taintedla presenza di attività non autorizzate dei moduli del kernel. - Presta attenzione a file
.sofile in/tmpo/dev/shm. - Monitorare l'attività eBPF, in particolare le
bpf_probe_write_userchiamate. Strumenti come BCC possono tracciare le operazioni io_uring attraverso tracepoint comesys_enter_io_uring_enter.
Per i rootkit eBPF e io_uring in particolare, strumenti di monitoraggio del runtime come Tetragon, Falco e Tracee possono osservare l’attività all’interno del kernel in tempo reale.
Monitoraggio dell'integrità dei file
AIDE (Advanced Intrusion Detection Environment) crea una linea di base dei file di sistema attendibili e verifica la presenza di modifiche. Inizializzare con aide --init, quindi pianificare aide --check tramite cron. Tiene traccia di checksum, permessi, proprietà e timestamp su binari critici come /bin/login e /usr/bin/sshd.
Per la verifica a livello di pacchetto, debsums (Debian/Ubuntu) oppure rpm -Va (RHEL/CentOS) possono confermare l’integrità dei file di sistema. Per ottenere risultati più affidabili, avviate il sistema da un supporto di ripristino attendibile e ispezionate il filesystem offline, poiché i rootkit possono manomettere i rapporti del kernel in esecuzione.
Monitorare anche i meccanismi di persistenza. I rootkit spesso modificano /etc/ld.so.preload per iniettare oggetti condivisi, oppure 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 automatizzato con Auditd
Aggiungere queste regole a /etc/audit/rules.d/rootkit.rules per il rilevamento in tempo reale di 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
Combinale con gli aggiornamenti automatici di rkhunter. Imposta UPDATE_MIRRORS=1 e MIRRORS_MODE=0 nella configurazione, quindi esegui rkhunter --propupd dopo gli aggiornamenti legittimi del sistema per aggiornare la baseline.
Rafforzare il server contro i rootkit
Il rilevamento è importante, ma la prevenzione è meglio. La maggior parte dei rootkit richiede privilegi elevati per l'installazione, quindi ridurre la superficie di attacco fa davvero la differenza.
Mantieni aggiornati il kernel e i pacchetti. Gli aggressori sfruttano le vulnerabilità non corrette per elevare i privilegi e distribuire rootkit basati su LKM o eBPF. Dopo l'applicazione delle patch, aggiorna le tue linee guida di rilevamento con rkhunter --propupd.
Applicare il principio del privilegio minimo. Non concedere agli utenti o ai processi più accesso di quello necessario. Utilizzare SELinux o AppArmor per i controlli di accesso obbligatori che bloccano le azioni non autorizzate anche se un processo è compromesso.
Disabilita il caricamento dei moduli del kernel dopo l’avvio. Sui server dedicati, puoi prevenire completamente i rootkit LKM bloccando il caricamento dei moduli dopo l’avvio del sistema. Questo non è possibile sull’hosting condiviso, il che è uno dei motivi per cui gli ambienti dedicati o VPS offrono una sicurezza maggiore.
Segmentate la vostra rete. Isolare parti della vostra infrastruttura limita il movimento laterale se una macchina viene compromessa.
Eseguite controlli regolari. Strumenti come Lynis possono identificare errori di autorizzazione e configurazioni errate prima che gli aggressori ne approfittino.
Conclusione
I rootkit sono progettati per nascondersi in bella vista. Quando i sintomi si manifestano, il sistema potrebbe essere già compromesso al punto da non poter essere facilmente ripristinato. Nessuno scanner è in grado di rilevare tutto e il rilevamento di base basato sulle firme è facile da eludere.
Una difesa efficace combina più livelli:
- Scansioni regolari con chkrootkit e rkhunter per le minacce note
- Regole di auditd e monitoraggio del comportamento per attività sospette del kernel
- Monitoraggio dell'integrità dei file con AIDE per rilevare modifiche non autorizzate
- Strumenti di runtime come Tetragon o Falco per minacce eBPF e io_uring
- Controlli di accesso rafforzati, patch 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. Esplora le opzioni di server dedicati per creare un ambiente Linux rinforzato.

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
Controllo del traffico (tc) di Linux: una guida pratica
Controllare la larghezza di banda, assegnare priorità al traffico e modellare l'ingresso e l'uscita su Linux con tc. Configurazione di HTB, IFB, DSCP e fq_codel per server reali.
12 min di lettura - 5 giugno 2026
Perché è importante avere un VPS potente e senza contatore
7 min di lettura - 9 maggio 2025

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