Keylogger

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Una base de datos de un keylogger tipo software.

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.

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 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. 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 (capturas de pantalla) al realizarse un clic, que anulan la seguridad de esta medida.

Funcionamiento[editar]

El registro de las pulsaciones del teclado se puede alcanzar por medio de hardware y de software:

Keylogger con hardware[editar]

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[editar]

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:

  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.

Protección[editar]

En algunas computadoras podemos darnos cuenta si están infectadas por un keylogger (dependiendo de la velocidad y uso de CPU de nuestro procesador) por el hecho de que el programa registrara cada una de nuestras teclas de la siguiente manera: FicheroLog = FicheroLog + UltimaTecla, este evento será ejecutado por el keylogger cada vez que el usuario presione una tecla. Si bien este evento no será una carga relevante para nuestro procesador si se ejecuta a una velocidad normal, pero si mantienes unas 10 teclas presionadas por unos 30 segundos con la palma de tu mano y tu sistema se congela o su funcionamiento es demasiado lento podríamos sospechar que un keylogger se ejecuta sobre nuestro computador. Otro signo de que un keylogger se está ejecutando en nuestro computador es el problema de la tilde doble (´´) al presionar la tecla para acentuar vocales, salen dos tildes seguidas y la vocal sin acentuar. Esto ocurre en keyloggers configurados para otros idiomas.

Anti-spyware[editar]

Los programas Anti-spyware pueden detectar diversos keyloggers y limpiarlos. Vendedores responsables de supervisar la detección del software apoyan la detección de keyloggers, así previniendo el abuso del software.

Firewall[editar]

Habilitar un cortafuegos o firewall puede salvar el sistema del usuario no solo del ataque de keyloggers, sino que también puede prevenir la descarga de archivos sospechosos, troyanos, virus, y otros tipos de malware.

Monitores de red[editar]

Los monitores de red (llamados también cortafuegos inversos) se pueden utilizar para alertar al usuario cuando el keylogger use una conexión de red. Esto da al usuario la posibilidad de evitar que el keylogger envie la información obtenida a terceros

Software anti-keylogging[editar]

El software para la detección de keyloggers está también disponible. Este tipo de software graba una lista de todos los keyloggers conocidos. Los usuarios legítimos del PC pueden entonces hacer, periódicamente, una exploración de esta lista, y el software busca los artículos de la lista en el disco duro. Una desventaja de este procedimiento es que protege solamente contra los keyloggers listados, siendo vulnerable a los keyloggers desconocidos o relativamente nuevos.

Enlaces externos[editar]