Saltar al contenido
Teclados Chulos

Keylogger

Keylogger

¿Qué es un Keylogger?

El Keylogger o registro de pulsaciones de teclas, también denominado registro de teclas, captura de teclado o keylogging, es la acción de grabar (registrar) las teclas presionadas en un teclado, generalmente de forma encubierta, de modo que la persona que usa el teclado no es consciente de que sus acciones están siendo monitoreadas.

Los datos pueden ser recuperados por la persona que opera el programa de registro. Un keylogger puede ser software o hardware.

Si bien los programas en sí son legales, con muchos de ellos diseñados para permitir a los empleadores supervisar el uso de sus computadoras, los keyloggers se usan con mayor frecuencia para robar contraseñas y otra información confidencial.

El registro de teclas también se puede utilizar para estudiar la interacción humano-computadora. Existen numerosos métodos de registro de teclas: van desde enfoques basados ​​en hardware y software hasta análisis acústicos.

Definición y Descripción de un Keylogger

Basados en Software

Los keyloggers basados ​​en software son programas de computadora diseñados para trabajar en el software de la computadora de destino.

Los keyloggers se utilizan en organizaciones de TI para solucionar problemas técnicos con computadoras y redes comerciales. Las familias y las empresas usan keyloggers legalmente para monitorear el uso de la red sin el conocimiento directo de sus usuarios. Incluso Microsoft admitió públicamente que el sistema operativo Windows 10 tiene un keylogger incorporado en su versión final “para mejorar los servicios de escritura y escritura”.

Sin embargo, las personas maliciosas pueden usar keyloggers en computadoras públicas para robar contraseñas o información de tarjetas de crédito. El cifrado HTTPS no detiene la mayoría de los keyloggers porque eso solo protege los datos en tránsito entre las computadoras, por lo tanto, la amenaza proviene de la computadora del usuario.

Desde una perspectiva técnica, hay varias categorías:

  • Basado en hipervisor: el keylogger puede residir teóricamente en un hipervisor de malware que se ejecuta debajo del sistema operativo, que por lo tanto permanece intacto.
  • Basado en el núcleo: un programa en la máquina obtiene acceso a la raíz para ocultarse en el sistema operativo e intercepta las pulsaciones de teclas que pasan por el núcleo. Este método es difícil de escribir y de combatir. Dichos keyloggers residen en el nivel del kernel, lo que los hace difíciles de detectar, especialmente para aplicaciones en modo de usuario que no tienen acceso de root. Con frecuencia se implementan como rootkits que subvierten el núcleo del sistema operativo para obtener acceso no autorizado al hardware. Esto los hace muy poderosos. Un keylogger que usa este método puede actuar como un controlador de dispositivo de teclado, por ejemplo, y así obtener acceso a cualquier información escrita en el teclado a medida que va al sistema operativo.
  • Basado en API: estos keyloggers “enganchan” (hooking) la API (Interfaz de Programación de Aplicaciones) del teclado dentro de una aplicación en ejecución. El keylogger registra eventos de pulsación de teclas como si fuera una pieza normal de la aplicación en lugar de malware. El keylogger recibe un evento cada vez que el usuario presiona o suelta una tecla. El keylogger simplemente lo registra.Algunas API de Windows se utilizan para sondear el estado del teclado o suscribirse a eventos del teclado.
  • Aprovechamiento de Formularios: Son keyloggers basados en el asalto de formularios web mediante el registro de la navegación web al enviar eventos. Esto sucede cuando el usuario completa un formulario y lo envía, generalmente haciendo clic en un botón o presionando Intro. Este tipo de registrador de teclas captura los datos de los formularios antes de pasarlos por Internet.
  • Basado en Javascript: una etiqueta de script malicioso se inyecta en una página web específica y escucha eventos clave como onKeyUp(). Las secuencias de comandos se pueden inyectar a través de una gran variedad de métodos.
  • Basado en inyección de memoria: los registradores de teclas basados ​​en inyección de memoria (MitB) realizan su función de registro al alterar las tablas de memoria asociadas con el navegador y otras funciones del sistema. Al parchear las tablas de memoria o inyectar directamente en la memoria, los autores de malware pueden utilizar esta técnica para eludir Windows UAC (Control de cuentas de usuario). Los troyanos Zeus y SpyEye utilizan este método exclusivamente.

Estudios de Registro de Pulsaciones

También se utilizan keyloggers en la investigación del proceso de escritura. El registro de pulsaciones de teclas es ahora un método de investigación establecido para el estudio de los procesos de escritura.

Se han desarrollado diferentes programas para recopilar datos de procesos en línea de actividades de escritura, incluyendo Inputlog, Scriptlog y Translog.

El registro de pulsaciones de teclas se utiliza legítimamente como un instrumento de investigación adecuado en varios contextos de escritura. Estos incluyen estudios sobre procesos de escritura cognitiva, que incluyen:

  • descripciones de estrategias de escritura, el desarrollo de la escritura de los niños (con y sin dificultades de escritura)
  • ortografía
  • escritura en primer y segundo idioma
  • áreas de habilidades especializadas como traducción y subtitulación

El registro de pulsaciones de teclas se puede utilizar para investigar la escritura, específicamente. También se puede integrar en dominios educativos para el aprendizaje de un segundo idioma, habilidades de programación y habilidades de escritura.

Características Relacionadas

Los registradores de teclas de software se pueden aumentar con características que capturan la información del usuario sin depender de las pulsaciones de teclas del teclado como única entrada. Algunas de estas características incluyen:

  • Registro del portapapeles. El programa puede capturar todo lo que se haya copiado en el portapapeles.
  • Registro de pantalla. Se toman capturas de pantalla para registrar información basada en gráficos. Las aplicaciones con capacidades de registro de pantalla pueden tomar capturas de pantalla de toda la pantalla, de una sola aplicación o incluso alrededor del cursor del mouse.
  • Capturar programáticamente el texto en un widget. La API de Microsoft Windows permite que los programas soliciten el texto ‘valor’ en algunos widgets. Esto significa que algunas contraseñas pueden capturarse, incluso si están ocultas detrás de máscaras de contraseña (generalmente asteriscos).
  • La grabación de cada programa / carpeta / ventana abierta incluye una captura de pantalla de cada sitio web visitado.
  • La grabación de consultas de motores de búsqueda, conversaciones de mensajería instantánea, descargas FTP y otras actividades basadas en Internet (incluido el ancho de banda utilizado).

Basados en Hardware

Los keyloggers basados ​​en hardware no dependen de la instalación de ningún software, ya que existen a nivel de hardware en un sistema informático.

  • Basado en firmware: el firmware de nivel BIOS que maneja eventos de teclado se puede modificar para registrar estos eventos a medida que se procesan. Se requiere acceso físico y / o de nivel raíz a la máquina, y el software cargado en el BIOS debe crearse para el hardware específico en el que se ejecutará.
  • Hardware del teclado: los registradores de teclas de hardware se utilizan para el registro de pulsaciones de teclas utilizando un circuito de hardware conectado en algún lugar entre el teclado de la computadora y la computadora, generalmente en línea con el conector del cable del teclado. También hay registradores de teclas de hardware basados ​​en conectores USB, así como también para computadoras portátiles (la tarjeta Mini-PCI se conecta a la ranura de expansión de una computadora portátil). Se pueden instalar o incorporar implementaciones más sigilosas en teclados estándar para que ningún dispositivo sea visible en el cable externo. Ambos tipos registran toda la actividad del teclado en su memoria interna, al que se puede acceder posteriormente, por ejemplo, escribiendo una secuencia de clave secreta. Un keylogger de hardware tiene una ventaja sobre una solución de software: no depende de estar instalado en el sistema operativo de la computadora de destino y, por lo tanto, no interferirá con ningún programa que se ejecute en la máquina de destino ni será detectado por ningún software. Sin embargo, su presencia física puede detectarse si, por ejemplo, se instala fuera de la carcasa como un dispositivo en línea entre la computadora y el teclado. Algunas de estas implementaciones se pueden controlar y monitorear de forma remota utilizando un estándar de comunicación inalámbrica.
  • Sniffers de teclado y mouse inalámbricos: estos sniffers pasivos recopilan paquetes de datos que se transfieren desde un teclado inalámbrico y su receptor. Como el cifrado se puede usar para asegurar las comunicaciones inalámbricas entre los dos dispositivos, es posible que sea necesario descifrarlo de antemano si se van a leer las transmisiones. En algunos casos, esto permite que un atacante escriba comandos arbitrarios en la computadora de la víctima.
  • Superposiciones de teclado: se sabe que los delincuentes usan superposiciones de teclado en cajeros automáticos para capturar los PIN de las personas que los utilizan. Cada pulsación de tecla se registra mediante el teclado del cajero automático, así como el teclado del criminal que se coloca sobre él. El dispositivo está diseñado para parecerse a una parte integrada de la máquina para que los clientes del banco desconozcan su presencia.
  • Registradores de teclas acústicos: el criptoanálisis acústico se puede utilizar para monitorear el sonido creado por alguien que escribe en una computadora. Cada tecla del teclado crea una firma acústica sutilmente diferente cuando se toca. Entonces es posible identificar qué firma de pulsación de tecla se relaciona con qué carácter del teclado a través de métodos estadísticos como el análisis de frecuencia. La frecuencia de repetición de firmas de teclas acústicas similares, los tiempos entre diferentes pulsaciones del teclado y otra información de contexto, como el idioma probable en el que el usuario está escribiendo, se utilizan en este análisis para asignar sonidos a letras. Se requiere una grabación bastante larga (1000 o más pulsaciones de teclas) para que se recopile una muestra lo suficientemente grande.
  • Emisiones electromagnéticas: es posible capturar las emisiones electromagnéticas de un teclado con cable desde una distancia de hasta 20 metros, sin estar físicamente conectado a él. En 2009, investigadores suizos probaron 11 teclados USB , PS / 2 y portátiles diferentes en una cámara semianecoica y los encontraron a todos vulnerables, principalmente debido al costo prohibitivo de agregar blindaje durante la fabricación. Los investigadores utilizaron un receptor de banda ancha para sintonizar la frecuencia específica de las emisiones emitidas por los teclados.
  • Vigilancia óptica: la vigilancia óptica, aunque no es un keylogger en el sentido clásico, es un enfoque que se puede utilizar para capturar contraseñas o PIN. Una cámara colocada estratégicamente, como una cámara de vigilancia oculta en un cajero automático, puede permitir que un delincuente vea cómo se ingresa un PIN o contraseña.
  • Evidencia física: para un teclado que se usa solo para ingresar un código de seguridad, las teclas que están en uso real tendrán evidencia de uso de muchas huellas digitales. Un código de acceso de cuatro dígitos, si se conocen los cuatro dígitos en cuestión, se reduce de 10.000 posibilidades a solo 24 posibilidades. Estos podrían ser utilizados en ocasiones separadas para un “ataque de fuerza bruta” manual.
  • Sensores de teléfonos inteligentes: los investigadores han demostrado que es posible capturar las pulsaciones de teclas en teclados de ordenador cercanos utilizando solo el acelerómetro básico que se encuentra en los teléfonos inteligentes. El ataque es posible al colocar un teléfono inteligente cerca de un teclado en el mismo escritorio. El acelerómetro del teléfono inteligente puede detectar las vibraciones creadas al escribir en el teclado y luego traducir esta señal bruta del acelerómetro en oraciones legibles con una precisión de hasta el 80 por ciento. La técnica implica trabajar a través de la probabilidad mediante la detección de pares de pulsaciones de teclas, en lugar de teclas individuales. Modela “eventos de teclado” en pares y luego determina si el par de teclas presionadas está en el lado izquierdo o derecho del teclado y si están muy juntas o muy separadas en el teclado QWERTY. Una vez que ha resuelto esto, compara los resultados con un diccionario precargado donde cada palabra se ha desglosado de la misma manera. También se ha demostrado que técnicas similares son efectivas para capturar pulsaciones de teclas en teclados con pantalla táctil mientras que en algunos casos, en combinación con giroscopio o con el sensor de luz ambiental.
  • Body keyloggers: Body keyloggers rastrea y analiza los movimientos del cuerpo para determinar qué teclas fueron golpeadas. El atacante debe estar familiarizado con el diseño de las teclas del teclado seguido para correlacionar los movimientos del cuerpo y la posición de las teclas. El seguimiento de las señales audibles de la interfaz del usuario (por ejemplo, un sonido que produce el dispositivo para informar al usuario que se registró una pulsación de tecla) puede reducir la complejidad de los algoritmos de registro de teclas del cuerpo (Body keylogger), ya que marca el momento en que se presionó una tecla.

Historia

A mediados de la década de 1970, la Unión Soviética desarrolló y desplegó un keylogger de hardware dirigido a máquinas de escribir. Denominado “error selectivo”, midió los movimientos del cabezal de impresión de las máquinas de escribir IBM Selectric a través de influencias sutiles en el campo magnético regional causadas por la rotación y los movimientos del cabezal de impresión.

Un primer keylogger fue escrito por Perry Kivolowitz y publicado en el grupo de noticias Usenet Sources el 17 de noviembre de 1983.

En la década de 1970, los espías instalaron registradores de pulsaciones de teclas en los edificios de la Embajada y el Consulado de los Estados Unidos en Moscú. Instalaron los keyloggers en las máquinas de escribir eléctricas Selectric II y Selectric III.

Las embajadas soviéticas utilizaron máquinas de escribir manuales, en lugar de máquinas de escribir eléctricas, para información clasificada, aparentemente porque son inmunes a tales errores. En 2013, los servicios especiales rusos todavía usaban máquinas de escribir.

Cómo Combatir un Keylogger

La efectividad de las maneras de combatir un keylogger varía porque los keyloggers usan una diversa variedad de técnicas para capturar datos y las medidas tomadas para combatirlo deben ser efectivas contra la técnica particular de captura de datos.

En el caso del registro de teclas de Windows 10 de Microsoft, es suficiente cambiar algunas configuraciones de privacidad en tu ordenador.

Por ejemplo, un teclado en pantalla será efectivo contra los registradores de teclas de hardware, la transparencia derrotará a algunos, pero no a todos, los registradores de pantalla y una aplicación anti-spyware que solo puede deshabilitar los registradores de teclas basados ​​en hooks será ineficaz contra el kernel keyloggers o keylogger de núcleo.

Además, los autores del programa keylogger pueden actualizar el código para adaptarse a las medidas que pueden haber demostrado ser efectivas contra ellos.

Anti-keyloggers

Un anti-keylogger es un software específicamente diseñado para detectar keyloggers en una computadora, comparando todos los archivos en la computadora con una base de datos de keyloggers que buscan similitudes que puedan indicar la presencia de un keylogger oculto.

Como los anti-keyloggers han sido diseñados específicamente para detectar keyloggers, tienen el potencial de ser más efectivos que el software antivirus convencional; algunos software antivirus no consideran que los keyloggers sean malware, ya que en algunas circunstancias un keylogger puede considerarse una pieza de software legítima.

Live CD / USB

Reiniciar la computadora usando un Live CD o Live USB protegido contra escritura es una posible medida de seguridad contra los keyloggers de software si el CD está limpio de malware y el sistema operativo que contiene está asegurado y completamente parcheado para que no pueda infectarse tan pronto como sea posible. Arrancar un sistema operativo diferente no afecta el uso de un registrador de teclas basado en hardware o BIOS.

Programas Anti-Spyware / Antivirus

Muchas aplicaciones anti-spyware pueden detectar algunos keyloggers basados ​​en software y ponerlos en cuarentena, deshabilitarlos o limpiarlos. Sin embargo, debido a que muchos programas de registro de teclas son piezas de software legítimas en algunas circunstancias, el anti-spyware a menudo no etiqueta los programas de registro de teclas como spyware o virus. Estas aplicaciones pueden detectar keyloggers basados ​​en software basados ​​en patrones en código ejecutable, heurística y comportamientos de keylogger (como el uso de hooks y ciertas API).

Ninguna aplicación anti-spyware basada en software puede ser 100% efectiva contra todos los keyloggers. Además, el anti-spyware basado en software no puede vencer a los keyloggers que no son software (por ejemplo, los keyloggers de hardware conectados a teclados siempre recibirán pulsaciones de teclas antes que cualquier aplicación anti-spyware basada en software).

Sin embargo, la técnica particular que utiliza la aplicación anti-spyware influirá en su efectividad potencial contra los keyloggers de software. Como regla general, las aplicaciones anti-spyware con mayores privilegios vencerán a los keyloggers con menores privilegios. Por ejemplo, una aplicación anti-spyware basada en hook no puede vencer a un keylogger basado en el kernel (ya que el keylogger recibirá los mensajes de pulsación de tecla antes que la aplicación anti-spyware), pero podría derrotar a los keyloggers basados ​​en hook y API.

Monitores de Red

Los monitores de red (también conocidos como cortafuegos inversos) se pueden usar para alertar al usuario cada vez que una aplicación intenta realizar una conexión de red. Esto le da al usuario la oportunidad de evitar que el keylogger intente enviar las pulsaciones captadas con la información escrita.

Programas para Rellenar Formularios Automáticamente

Los programas de rellenado automático de formularios pueden evitar el registro de teclas al eliminar el requisito de que un usuario escriba datos personales y contraseñas con el teclado. Los rellenos de formularios están diseñados principalmente para que los navegadores web completen las páginas de pago y registren a los usuarios en sus cuentas.

Una vez que la información de la cuenta del usuario y la tarjeta de crédito se haya ingresado en el programa, se rellenará automáticamente en los formularios sin usar el teclado o el portapapeles, lo que reduce la posibilidad de que se registren datos privados. Sin embargo, alguien con acceso físico a la máquina aún puede instalar software que puede interceptar esta información en otra parte del sistema operativo o mientras está en tránsito en la red.

Transport Layer Security (TLS) reduce el riesgo de que los datos en tránsito puedan ser interceptados por rastreadores de red y herramientas proxy.

Contraseñas de un Solo Uso (OTP)

El uso de contraseñas de un solo uso puede ser seguro para el keylogger, ya que cada contraseña se invalida tan pronto como se usa. Esta solución puede ser útil para alguien que usa una computadora pública. Sin embargo, un atacante que tiene control remoto sobre dicha computadora puede simplemente esperar a que la víctima introduzca sus credenciales antes de realizar transacciones no autorizadas en su nombre mientras su sesión está activa.

Tokens de Seguridad

El uso de tarjetas inteligentes u otros tokens de seguridad puede mejorar la seguridad contra ataques de repetición ante un ataque exitoso de registro de teclas, ya que el acceso a la información protegida requeriría tanto el token de seguridad (hardware) como la contraseña / frase de contraseña apropiada.

Conocer las pulsaciones del teclado, las acciones del mouse, la pantalla, el portapapeles, etc. utilizados en una computadora no ayudará posteriormente a un atacante a obtener acceso al recurso protegido. Algunos tokens de seguridad funcionan como un tipo de sistema de contraseña de un solo uso asistido por hardware, y otros implementan una autenticación criptográfica de desafío-respuesta, que puede mejorar la seguridad de una manera conceptualmente similar a las contraseñas de un solo uso.

Lectores de tarjetas inteligentes y sus teclados asociados para la entrada del PIN pueden ser vulnerables al registro de pulsaciones de teclas a través de un llamado ataque de la cadena de suministro donde un atacante sustituye el lector de tarjetas / hardware de entrada del PIN por uno que registra el PIN del usuario.

Teclados en Pantalla

La mayoría de los teclados en pantalla (como el teclado en pantalla que viene con Windows XP ) envían mensajes de eventos de teclado normales al programa de destino externo para escribir texto. Los registradores de teclas de software pueden registrar estos caracteres escritos enviados de un programa a otro.

Además, el software de registro de teclas puede tomar capturas de pantalla de lo que se muestra en la pantalla (periódicamente y / o con cada clic del mouse), lo que significa que, aunque ciertamente es una medida de seguridad útil, un teclado en pantalla no protegerá de todos los keyloggers.

Software de Interferencia de Pulsación de Tecla

El software de interferencia Keystroke también está disponible. Estos programas intentan engañar a los keyloggers introduciendo pulsaciones de teclas aleatorias, aunque esto simplemente da como resultado que el keylogger registre más información de la que necesita. Un atacante tiene la tarea de extraer las pulsaciones de teclas de interés: la seguridad de este mecanismo, específicamente qué tan bien se enfrenta al criptoanálisis, no está claro.

Reconocimiento de Voz

De manera similar a los teclados en pantalla, el software de conversión de voz a texto también se puede usar contra los registradores de teclas, ya que no hay movimientos de mecanografía o mouse involucrados. El punto más débil del uso del software de reconocimiento de voz puede ser cómo el software envía el texto reconocido al software de destino después de que tuvo lugar el reconocimiento.

Reconocimiento de Escritura a Mano y Gestos del Mouse

Además, muchas PDA y, últimamente, tabletas PC ya pueden convertir con éxito los movimientos del lápiz en sus pantallas táctiles en texto entendible por computadora. Los gestos del mouse usan este principio al usar movimientos del mouse en lugar de un lápiz.

Los programas de gestos del mouse convierten estos trazos en acciones definibles por el usuario, como escribir texto. Del mismo modo, se pueden usar tabletas gráficas y lápices de luz para ingresar estos gestos, sin embargo, estos son menos comunes.

La misma debilidad potencial del reconocimiento de voz también se aplica a esta técnica.

Macros

Con la ayuda de muchos programas, un texto aparentemente sin sentido puede expandirse a un texto significativo y la mayoría de las veces sensible al contexto, por ejemplo, “tecladoschulos.com” puede expandirse cuando una ventana del navegador web tiene el foco.

La mayor debilidad de esta técnica es que estos programas envían sus pulsaciones de teclas directamente al programa de destino. Sin embargo, esto se puede superar mediante el uso de la técnica de ‘alternancia’ que se describe a continuación, es decir, enviar clics del mouse a áreas que no responden del programa de destino, enviar teclas sin sentido, enviar otro clic del mouse al área de destino (por ejemplo, campo de contraseña) y volver -y adelante.

Mecanografía Engañosa

Alternar entre escribir las credenciales de inicio de sesión y escribir caracteres en otro lugar de la ventana de enfoque puede hacer que un keylogger registre más información de la que necesita, aunque un atacante podría filtrarlo fácilmente.

Del mismo modo, un usuario puede mover el cursor con el mouse durante la escritura, haciendo que las pulsaciones de teclas registradas estén en el orden incorrecto, por ejemplo, al escribir una contraseña que comience con la última letra y luego usar el mouse para mover el cursor para cada letra subsiguiente.

Por último, alguien también puede usar menús contextuales para eliminar, cortar, copiar y pegar partes del texto escrito sin usar el teclado. Un atacante que pueda capturar solo partes de una contraseña tendrá un espacio clave más grande para atacar si elige ejecutar un ataque de fuerza bruta.

Otra técnica muy similar utiliza el hecho de que cualquier parte de texto seleccionada se reemplaza por la siguiente tecla escrita. por ejemplo, si la contraseña es “secreta”, se podría escribir “s”, luego algunas teclas ficticias “asdf”. Luego, estos dummies pueden seleccionarse con el mouse, y se escribe el siguiente carácter de la contraseña “e”, que reemplaza a los dummies “asdf”.

Estas técnicas suponen incorrectamente que el software de registro de pulsaciones de teclas no puede controlar directamente el portapapeles, el texto seleccionado en un formulario, o tomar una captura de pantalla cada vez que se produce una pulsación de tecla o un clic del mouse. Sin embargo, pueden ser efectivos contra algunos keyloggers de hardware.

Valora y Comenta ¡Gracias!

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando...

Además te Puede Interesar: