Archivo de la etiqueta: software

Keylogger

Un keylogger (término inglés creado a partir de las palabras key (tecla) y logger (registrador)) es un sistema que almacena las pulsaciones del teclado para su posterior tratamiento.

El registro de las teclas pulsadas puede realizarse tanto mediante un software específico como utilizando un equipo físico. La utilización de este sistema permite capturar cualquier información introducida desde un equipo antes de que se aplique ningún tipo de securización (sesiones SSL, cifrado IPsec, etc.) para su transmisión por lo que el atacante puede obtener cualquier tipo de información privada (contraseñas, claves de acceso a datos bancarios, etc.). Así la instalación de un sistema keylogger suele ser un paso previo a un ataque más rentable al conseguir información privilegiada a la que no se tenía acceso.

Tipos de keylogger

Veamos los diferentes tipos de keyloggers:

Keylogger hardware

Keylogger en conector PS2

Keylogger físico en conector PS2. Fuente imagen: Wikipedia

Se tratan de dispositivos físicos que capturan la información tecleada y la almacenan. Así pues se necesita acceso físico al equipo que se desea espiar. Aunque el funcionamiento básico sea el mismo (interceptar la información antes de que llegue al ordenador) podríamos encontrarnos tres tipos diferentes en función de su instalación:

  1. Adaptadores: se trata de pequeños sistemas que se conectan en el cable que une el teclado con el equipo. Se trata de la forma más sencilla y rápida de instalar un keylogger si bien una revisión física detectaría el equipo.
  2. Internos: son pequeños circuitos pensados para ser montados dentro del teclado. Requieren una mayor pericia y tiempo ya que implican desmontar el teclado, instalar el keylogger y volver a montar el teclado. Sólo pueden ser detectados si se detectan desperfectos o se abre el teclado.
  3. Teclado completo: el engaño consiste en sustituir el teclado del ordenador por uno previamente preparado. Esta acción implica una información previa sobre la marca y modelo del teclado (que podría conseguirse, por ejemplo, en una visita previa o mediante ingeniería social) si bien hace que el keylogger sea virtualmente ilocalizable.

Keylogger software

Ejemplo de captura de un keylogger

Ejemplo de registro de un keylogger. Fuente imagen: Wikimedia

Los keylogger por software son los más comunes y utilizados ya que no requieren la presencia física y pueden ser instalados y gestionados a distancia. En este caso el programa espera que la información de las pulsaciones sea recogida por el ordenador para almacenarla. En este caso podemos encontrar dos vías para obtener la información del teclado:

  1. Sustituir el driver: En este caso el programa sustituye el controlador del teclado que incluye el sistema operativo de tal forma que toda pulsación es gestionada por el keylogger para posteriormente entregarla a las aplicaciones legitimas pasando desapercibido.
  2. Utilizando opciones del sistema operativo: Estos programas, los más sencillos de escribir, utilizan las diferentes funciones del sistema operativo para activarse en el momento que se realiza cualquier pulsación y realizar una copia.

Protección frente a keyloggers

Los keylogger son, probablemente, una de las amenazas más difíciles de detectar y lidiar mientras que son de las más peligrosas por la información que pueden obtener y las implicaciones que pueden alcanzarse. Veamos pues algunas formas de detección y protecciones frente a la amenaza.

Seguridad física

Los keylogger físicos implican un acceso físico a los equipos a vigilar por lo que una política de seguridad física correcta evitaría su uso. El control de acceso es efectivo en este punto. La revisión periódica de los conectores permitiría detectar la mayoría de los keyloggers.

Sistemas antispyware

Los fabricantes de software antivirus y antimalware disponen de una serie de firmas de los keyloggers conocidos por lo que podrían detectar su aparición en los ordenadores. Este sistema sólo es útil si utilizan un programa conocido.

Teclados virtuales

Ejemplo de teclado virtual

Ejemplo de teclado virtual. Fuente imagen: Wikimedia

Una estrategia de la banca online para evitar que sus usuarios sean víctimas de fraude por tener un keylogger instalado en sus equipos ha consistido en la creación de teclados virtuales donde deben marcar sus claves con clicks de ratón. Así se evitan las pulsaciones del teclado y con ello dar información al keylogger. Algunos keylooger han evolucionado para realizar capturas de pantalla cuando detectan que se accede a algún servicio bancario para contrarrestar esta defensa si bien eso no siempre es efectivo (acceso a la web desde accesos directos, favoritos/marcadores, etc.).

Comportamiento lento

Si el keylogger es un programa mal hecho es posible detectar su existencia por un aumento en el tiempo de reacción al pulsar teclas. Aunque el keylogger está pensado para pasar desapercibido debe registrar cada pulsación por lo que la pulsación continua y repetida de múltiples tecla puede ocasionar su saturación y una mayor lentitud en la respuesta de un programa legítimo, lo cual puede llevar a pensar en la existencia de un keylogger. Se trata de una estrategia ya poco útil debido a la mejora de los programas y a la potencia de cálculo de los ordenadores.

Detección de tráfico saliente

La información almacenada por el keylogger debe ser revisada por lo que generalmente es enviada fuera de la red para que el atacante pueda analizarla. Una política restrictiva de acceso a servidores de correo o FTP externos puede evitar que la información salga al exterior. Si se dispone de un IDS o IPS es posible detectar conexiones extrañas hacia el exterior y actuar en consecuencia. El hecho de forzar a los usuarios a utilizar un proxy de navegación también dificultará el envío de la información almacenada.

La posibilidad de que haya un keylogger instalado es un ejemplo claro de porqué no hay que descuidar la seguridad desde el punto de vista de un atacante, intencionado o no, interno.

Control permisos instalación software

En un entorno empresarial no es habitual que los usuarios necesiten instalar aplicaciones nuevas por lo que una política de empresa que restrinja los permisos de usuario evitaría la instalación de la mayoría de keyloggers software. Si además se dispone de un repositorio de drivers interno es posible revisar que los ordenadores estén utilizando el driver de teclado correcto y certificado evitando así los drivers modificados de forma maliciosa.