Un registrador de claves se puede instalar en diferentes niveles en el sistema con diferentes formas de detección. Ya tiene otras respuestas que explican que podría instalarse en un proceso dedicado y cómo detectar su actividad.
Pero también podría instalarse cambiando la parte del servidor X11 que procesa las entradas del teclado. Si se presenta como un complemento que ofrece capacidades adicionales, como una entrada más simple para caracteres no ascii, xxx automático (que le proporciona la característica más esperada aquí), incluso el usuario final puede instalarlo voluntariamente en su propia máquina. De lo contrario, podría instalarse (si el atacante logró convertirse en root) en el momento del arranque a través de un módulo de inicio dedicado.
También se puede instalar como un módulo del kernel y monitorear directamente la actividad física del teclado. Los procedimientos de instalación podrían ser idénticos a los del caso anterior.
La única forma de proteger un sistema si siempre se siguen todas las reglas de seguridad:
- protéjalo con un firewall estricto (fácil)
- nunca use root para realizar tareas simples (esas dos primeras reglas son el principio de privilegios mínimos)
- nunca ejecute ningún software no controlado en él
Y este último es el más difícil de seguir. Por supuesto, asumo que solo descarga el software del sistema y las actualizaciones de fuentes oficiales y controla las sumas de comprobación. Pero este juego o complemento o utilidad se ve tan lindo ... Y tan pronto como alguien te obliga a ejecutar el código que él quería y no tenías, ya no es tu system.
TL / DR: como es habitual, la seguridad no puede reducirse a herramientas tecnológicas, pero depende en gran medida de las prácticas humanas ...