46 - Keyloggers - 29/07/2006


Autor: Lic. Cristian F. Borghello con la colaboración de Douglas Schillaci

http://www.segu-info.com.ar

Partiendo de que la información puede estar almacenada o en tránsito es fácil deducir que la misma puede ser obtenida en cualquiera de esos dos estadíos. Cuando un usuario desea preservar su información en forma segura puede recurrir a la criptografía para tenerla almacenada o para cuando la transmite por un medio inseguro. Si un atacante desea obtener dicha información deberá hacer una gran inversión de recursos para hacerse con ella. Aquí es donde entran en juego los keyloggers ya que el usuario deberá generar esa información en algún momento: esto significa, generalmente, ingresarla por teclado y es este el punto débil que se explota.

Como su nombre lo indica un Keylogger es un programa que registra y graba la pulsación de teclas (y algunos también clicks del mouse). La información recolectada será utilizada luego por la persona que lo haya instalado. Actualmente existen dispositivos de hardware o bien aplicaciones (software) que realizan estas tareas.

Los Keyloggers físicos son pequeños dispositivos que se instalan entre nuestra computadora y el teclado. Son difíciles de identificar para un usuario inexperto pero si se presta atención es posible reconocerlos a simple vista. Tienen distintas capacidades de almacenamiento, son comprados en cualquier casa especializada y generalmente son instalados por empresas que desean controlar a ciertos empleados. Cabe aclarar que esta forma de actuar puede traer problemas legales a quien lo instala ya que registrar a un usuario mediante este accionar puede interpretarse como una violación a su privacidad. Es aquí donde cobra relevancia una política de seguridad clara, puesta por escrito y firmada por el usuario.

En la imagen siguiente muestra uno de estos dispositivos y su instalación.

http://www.logisteam.org/store/catalog/product_info.php?cPath=21&products_id=29

Con respecto a las keyloggers por software, actualmente son los más comunes, muy utilizados por el malware orientado a robar datos confidenciales o privados del usuario. Como es de imaginar, la información obtenida es todo lo que el usuario ingrese en su teclado como por ejemplo documentos, nombres de usuarios, contraseñas, números de tarjetas, PINes, etc. Esto explica el porque de su gran éxito y utilización actual ya que como sabemos el malware, cada vez más orientado al delito, puede utilizar esta herramienta para proporcionar información sensible del usuario a un atacante.

Los keyloggers generalmente son detectados por antivirus, por algunos Firewalls de software (si bien esta no su función principal) y como no podía ser de otra forma por anti-keyloggers específicos. Básicamente los tres utilizan el mismo principio de detección: una firma que identifica en forma unívoca a un programa (en este caso el keylogger) o un patrón de comportamiento que indique que un programa puede estar registrando las teclas pulsadas.

Aquí, en forma recurrente volvemos al mismo problema: si la firma no está en la base de datos del programa detector, entonces el keylogger no será detectado. Este es el caso de la aplicación Perfect Keylogger que asegura a sus usuarios registrados la entrega de un ejecutable indetectable cada vez que el mismo es agregado a la base de firmas de un anti-keylogger o antivirus. Para asegurar esto modifican la aplicación, las veces que sea necesario, de forma tal que la misma no sea identificada. Otro problema con los keyloggers es que debido a su relativamente fácil desarrollo, existen disponibles en Internet variedad de códigos de modo que cualquier persona puede construirse el suyo y por supuesto el mismo será indetectable.

Los keylogers pueden utilizar dos métodos para lograr su objetivo:

  • Basados en Hooks (ganchos): es el método más comunmente utilizado en Windows y el más fácil de realizar. Se basa en capturar (enganchar) los mensajes y eventos del sistema operativo. En este caso eventos del teclado. Como mencionamos, existen patrones de comportamiento para identificar a los keyloggers. En este caso, la firma "genérica" son los hooks, aunque como otras aplicaciones también los usan, esta técnica puede dar lugar a falsos positivos.
  • Basados en Kernel: Son raros de ver ya que requieren un conocimiento elevado del desarrollador. Se basan en escribir ciertos drivers o modificaciones en el Kernel del sistema operativo. Son la solución en el caso de la creación de keyloggers para sistemas no Windows.

Es importante ser consciente que los keyloggers son una herramienta que, como tal, puede utilizarse con fines benéficos pero también dañinos y delictivos como lamentablemente ocurre.

Pongamos como ejemplo una aplicación desarrollada por un programador argentino, Douglas Schillaci, que ha tenido la amabilidad de contactarse con nosotros y poner a nuestra disposición su conocimiento como así también su aplicación freeware que he tenido la posibilidad de probar con muy buenos resultados. Si bien no daré detalles técnicos del mismo, podemos decir al momento de escribir el presente el keylogger es indetectable ya que no ha sido agregado a ningún software anti-keyloggers o antivirus.

Cuenta con un programa de administración que permite instalar, restaurar, desinstalar o ver el archivo de log en donde se almacenan las teclas presionadas por el usuario. Durante su instalación se copia a una carpeta determinada dentro de Windows y al ejecutarse, el mismo no puede ser encontrado en la lista de procesos, permaneciendo oculto al usuario. Además realiza modificaciones en el registro de Windows para asegurar su ejecución la próxima vez que el sistema operativo arranque. También cuenta con ciertas características que lo "auto-protegen" de una desinstalación desautorizada, siempre y cuando el mismo se mantenga como proceso activo en memoria.

El mismo puede ser descargado para su estudio desde aquí.

Más Información:

Keylooger basado en Kernel

- http://www.phrack.org/phrack/59/p59-0x0e.txt

- http://ttyrpld.sourceforge.net/

Buenos Aires, 29 de julio de 2006

Con más de 24 años de experiencia compartiendo la mejor información de Seguridad

Contacto