lunes, 25 de julio de 2011

keylogger

Un keylogger  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.
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.

Keylogger con hardware


Un keylogger tipo hardware.
Son dispositivos disponibles en el mercado que vienen en tres tipos:
  1. 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 eventualmente inadvertidos se detectan fácilmente con una revisión visual detallada.
  2. 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.
  3. Teclados reales del reemplazo que contienen el Keylogger ya integrado. Son virtualmente imperceptibles, a menos que se les busque específicamente.

Keylogger con software

Un screenshot de un keylogger tipo software.
Contrariamente a las creencias populares, 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:

1 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.

2 Enganchados: Estos keyloggers registran las pulsaciónes 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.

3. Métodos creativos: Aquí el programador utiliza funciones como GetAsyncKeyState, GetForegroundWindow, etc. Éstos son los más fáciles de escribir, pero como requieren la revisión el 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.

No hay comentarios:

Publicar un comentario