2011-05-17 17 views
6

Podría escribir un programa para detectar software malicioso (o no malicioso) que es registro de claves (acceso a las teclas para obtener información).¿Hay alguna forma de detectar un software de registro clave?

  1. ¿Qué tácticas se utilizarían?
    • ¿Hay algún código que buscar?
    • ¿Hay ciertos lugares en los que debo buscar?
  2. prefiero Java o Perl como soy fluido en esos idiomas
    • funcionaría idiomas?
    • ¿Hay un mejor lenguaje para usar en este caso?
  3. ¿Qué se usaría?
    • ¿Código?
    • Algoritmos?
    • Función?
+2

Necesita C++. – SLaks

Respuesta

3

creo que depende de lo que está intentando hacer. Si está buscando programas conocidos de captura de teclas, puede usar cualquier software que pueda buscar en el sistema de archivos para ver las firmas de los archivos. Sin embargo, parece que quieres detectar programas desconocidos. No creo que esto sea estrictamente posible. Las aplicaciones de registro de teclas pueden escuchar pasivamente las pulsaciones de teclas para que no haya una firma activa que pueda buscar. Probablemente sea más fácil entender el software que se supone que se ejecuta en su computadora y luego detectar cualquier nuevo software que comience a funcionar. No sería necesariamente un software de registro de pulsaciones de teclas, pero sería un software no autorizado (o al menos aún un software autorizado).

Las pulsaciones se transmiten al sistema como eventos a los que puede suscribirse en su aplicación. Así es como los juegos y otros programas usan la entrada del teclado. Todo el sistema sabe cuándo se golpea una tecla y qué tecla era. No puedes saber quién está escuchando.

Dicho de otra manera, si esto fuera posible, mataría a los registradores de teclas de software ya que cada aplicación antivirus y antispyware tendría una opción para detectar y eliminar todos estos tipos de software. Tienen una opción similar a esto, pero se basa en firmas conocidas de registradores de pulsaciones de teclas conocidos.

2

Como un programa que trata de averiguar si su entrada está siendo clave, para key-loggers mal escritos, puede buscar algunos patrones de tiempo, como retrasos periódicos cuando el registrador recicla almacenamientos intermedios, pero normalmente key-loggers están muy bien escritos y se inyectarán en la cadena de controladores, por lo que serán indiscernibles de la cadena normal. En ese caso, la única esperanza para detectar keylogger es inspeccionar la cadena de controladores buscando controladores no estándar (pero algunos keylogger pueden infectar los controladores estándar), lo que no es particularmente fácil en Windows-land (como por ejemplo, Windows XP, Windows 7 y Windows 7). inspección de bajo nivel).

Uno tendría que conectarse a los ganchos de antivirus/antimalware para poder acceder realmente no solo a las definiciones de la cadena de controladores, sino también al código real que se está ejecutando, para detectar si se está produciendo algún registro de claves, y eso es difícil, lleno de burocracia y casi imposible de deshacer en cualquier cosa que no sea C/C++

Cuestiones relacionadas