Keylogger
From Wikipedia, the free encyclopedia

Un keylogger (derivado del inglés: key ('tecla') y logger ('registrador'); 'registrador de teclas') es un tipo de software o un dispositivo hardware específico que se encarga de registrar las pulsaciones que se realizan en el teclado, para posteriormente memorizarlas en un fichero o enviarlas a través de internet.[1]
Suele usarse como malware del tipo daemon, permitiendo que otros usuarios tengan acceso a contraseñas importantes, como los números de una tarjeta de crédito, u otro tipo de información privada que se quiera obtener.
El registro de pulsaciones de teclas también puede utilizarse para supervisar las actividades de los niños en escuelas o en el hogar, por parte de empleadores para monitorear a los empleados, así como por las fuerzas del orden para investigar un uso malicioso.[2]
El registro de lo que se teclea puede hacerse tanto con medios de hardware como de software. Los sistemas comerciales disponibles incluyen dispositivos que pueden conectarse al cable del teclado (lo que los hace inmediatamente disponibles pero visibles si un usuario revisa el teclado) y al teclado mismo (que no se ven pero que se necesita algún conocimiento de como soldarlos para instalarlos en el teclado). Escribir aplicaciones para realizar keylogging es trivial y, como cualquier programa computacional, puede ser distribuido a través de un troyano o como parte de un virus informático o gusano informático. Incluso puede alterar las búsquedas en Google, creando búsquedas inexistentes y otras páginas adicionales. Se suele descargar comprimido para eludir antivirus. Se dice que se puede utilizar un teclado virtual para evitar esto, ya que sólo requiere clics del ratón. Sin embargo, las aplicaciones más nuevas también registran screenshots al realizarse un clic, que anulan la seguridad de esta medida.
Keylogger con hardware
El registro de las pulsaciones del teclado se puede alcanzar por medio de hardware y de software usando las teclas para teclear en el teclado:

Son dispositivos disponibles en el mercado que vienen en dos tipos:
- Adaptadores en línea que se intercalan en la conexión del teclado, tienen la ventaja de poder ser instalados inmediatamente. Sin embargo, mientras que pueden ser a veces inadvertidos se detectan fácilmente con una revisión visual detallada.
- Dispositivos que se pueden instalar dentro de los teclados estándares, requiere de habilidad para soldar y de tener acceso al teclado que se modificará. No son detectables a menos que se abra el cuerpo del teclado.
Keylogger con software
Contrariamente a las creencias populares, el código de un keylogger por software es simple de escribir, con un conocimiento básico de la API proporcionada por el sistema operativo objetivo. Los keyloggers de software se dividen en:
- Basado en núcleo: este método es el más difícil de escribir, y también de combatir. Tales keyloggers residen en el nivel del núcleo y son así prácticamente invisibles. Derriban el núcleo del sistema operativo y tienen casi siempre el acceso autorizado al hardware que los hace de gran alcance. Un keylogger que usa este método puede actuar como driver del teclado por ejemplo, y accede así a cualquier información registrada en el teclado mientras que va al sistema operativo. En 2017, los investigadores de seguridad encontraron un keylogger en el driver de algunos portátiles HP.[3]
- Enganchados: estos keyloggers registran las pulsaciones de las teclas del teclado con las funciones proporcionadas por el sistema operativo. El sistema operativo activa el keylogger en cualquier momento en que se presione una tecla, y realiza el registro.
- Métodos creativos: aquí el programador utiliza funciones como GetAsyncKeyState, GetForegroundWindow, etc. Estos son los más fáciles de escribir, pero como requieren la revisión del estado de cada tecla varias veces por segundo, pueden causar un aumento sensible en uso de la CPU y pueden ocasionalmente dejar escapar algunas pulsaciones del teclado.
