Un keylogger può essere installato a diversi livelli nel sistema con diversi modi di rilevamento. Hai già altre risposte che spiegano che potrebbe essere installato in un processo dedicato e come rilevare la sua attività.
Ma potrebbe anche essere installato cambiando la parte del server X11 che elabora gli input da tastiera. Se è presentato come un componente aggiuntivo che offre funzionalità aggiuntive come input più semplice su caratteri non ascii, xxx automatico (mette qui la caratteristica più attesa) può anche essere installato volontariamente dall'utente finale sul proprio computer. Altrimenti, potrebbe essere installato (se l'attaccante è riuscito a diventare root) al momento dell'avvio attraverso un modulo init dedicato.
Potrebbe anche essere installato come modulo del kernel e monitorare direttamente l'attività della tastiera fisica. Le procedure di installazione potrebbero essere identiche a quelle del caso precedente.
L'unico modo per proteggere un sistema se si seguono sempre tutte le regole di sicurezza:
- proteggerlo con un firewall rigoroso (facile)
- non usare mai root per svolgere compiti semplici (quelle due prime regole sono il principio di privilegio minimo)
- non eseguire mai alcun software non controllato su di esso
E quest'ultimo è il più difficile da seguire. Ovviamente presumo che tu scarichi solo il software di sistema e gli aggiornamenti da fonti ufficiali e controlli i checksum. Ma questo gioco o componente aggiuntivo o utilità sembra così carino ... E non appena qualcuno ti ha fatto eseguire codice che lui voleva mentre non avresti avuto, non è più tuo system.
TL / DR: come al solito, la sicurezza non può essere ridotta a strumenti tecnologici ma dipende molto dalle pratiche umane ...