Come entrano i rootkits nel sistema GNU/Linux?
Normalmente, i rootkits entrano nei sistemi in diversi modi e più precisamente:
- Attraverso l’installazione di alcune “patches” del sistema operativo non ufficiali. Quindi, non scaricate mai nulla da fonti che non conoscete.
- All’interno di alcuni programmi scaricati dalla Rete. In questi, sono presenti delle “backdoors” che permettono all’attaccante di inserire dei rootkits all’interno del sistema. Vale quanto al punto primo: non scaricate nulla dalla Rete se non ciò che conoscete. Questo tipo di “attacco” è chiamato “Easter Eggs” ovvero Uova di Pasqua.
- Per mezzo di alcuni programmi che ne infettano altri e rendono vulnerabile il sistema ai virus, ai malware e in genere a qualsiasi azione. L’attacco di questo tipo più frequente è ai browsers come Firefox, Chrome e via dicendo.
- Nel codice di alcuni software. Alcune volte, i programmatori inseriscono nel codice sorgente delle “backdoors” o direttamente dei rootkits. D’altro canto, chi ha il tempo di leggere tutte le righe dei codici sorgenti dei pacchetti tipo Apache, BIND e via dicendo?
Allo stesso modo, quando scaricate dal “Play Store” di Google un software, un gioco o una qualsiasi altra cosa, chi vi garantisce che non sia nascosto un rootkit per il vostro Android?
Magari, il vostro smartphone in questo momento sta comunicando con il mondo intero a vostra insaputa, tanto non andrete mai a controllare quanto consuma in termini di banda la connessione alla Rete, ma vi fidate che nulla può accadere!! - Attraverso un vero e proprio attacco informatico con un accesso illegale ai sistemi.
Quando e dove vengono installati i rootkits?
Dopo che è avvenuta con successo l’intrusione nel sistema, il criminale informatico installerà il rootkit per poter accedere nuovamente e combinare altri guai! Il rootkit si nasconde ai comandi ps, ls, top dell’amministratore e quindi, per scovarlo, bisogna utilizzare degli strumenti specifici che mantengono in un database le modifiche di tutti i files.
Nei sistemi operativi GNU/Linux le applicazioni “parlano” con il Kernel attraverso delle chiamate, o in gergo “syscalls”, e grazie a queste, il Kernel esegue operazioni e poi ne restituisce i risultati. Modificando le syscalls, il rootkit esegue qualsiasi operazione e amministratori/utenti rimangono incredibilmente all’oscuro di tutto!.
Vi sono due “luoghi” all’interno di un sistema GNU/Linux dove potreste trovare il rootkit:
- All’interno di un modulo Kernel.
- In una parte di memoria occupata dal Kernel.
Nel primo caso, il solito criminale informatico ha installato nel sistema un modulo del Kernel modificato con delle syscalls costruite ad hoc per svolgere determinate operazioni. Nel secondo caso, all’interno del dispositivo speciale /dev/kmem, il rootkit può modificare le normali operazioni del Kernel.
Il caso del rootkit “sucKIT”!
Il rootkit suchKit è il classico esempio che non avrei potuto fare a meno di menzionare. Questo, viene caricato nel dispositivo speciale /dev/kmem e consente:
- L’accesso remoto tramite password.
- Una connessione particolare (spoofed packet) che permette di bypassare alcuni Firewall.
- Di nascondere dei files, delle connessioni e dei processi.
In linea di massima, la sua presenza rivela un sistema compromesso e l’arma migliore è il ripristino del backup. Ricordate, di verificare anche quest’ultimo poiché potrebbe essere già stato infettato e quindi non servirebbe a nulla.
Come si può verificare la presenza dei rootkits?
Attraverso alcuni strumenti tipo Chkrootkit, Rkhunter e Tripewire si possono individuare i rootkits. Se volte sapere come utilizzare tali strumenti di rilevazione e di rimozione leggete sempre su Megalinux il seguente articolo: Attenti al rootkit!.
Conclusioni
Come avrete capito, i vostri sistemi non sono sicuri solo con un buon antivirus, e un Firewall, ma devono essere in grado di fronteggiare un eventuale rootkit. Nei miei sistemi periferici (esposti alla rete) siano essi Firewall, Web Server, Mail Server o altro ancora non mancano gli strumenti per rilevare l’eventuale presenza di un rootkit. Inoltre, dispongo di almeno due backup per poter scongiurare un eventuale problema di ripristino. Infine, non dimenticate di installare dei sistemi I.D.S. (es. Snort) che vi agevolano nel “controllare” o meglio monitorare il traffico di rete.
Come al solito, per eventuali domande e integrazioni inviate un e-mail a webmaster@megalinux.cloud. Aiutate a sostenere The Megalinux, l’unico sito nel Web senza pubblicità inviando Bitcoin al seguente indirizzo:
3LpoukFpvDHTZPn5qGbLwUzve3rX9zsSq6
e mi raccomando: commentate e votate l’articolo!