Un keylogger (registrador de teclas) es una herramienta de diagnóstico utilizada en el desarrollo de software que se encarga de registrar las pulsaciones que se realizan sobre el teclado, para memorizarlas en un fichero y/o enviarlas a través de internet.
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 lo revisa) y al teclado mismo (que no se ven pero que se necesita algún conocimiento de como soldarlos). 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, la aplicaciones más nuevas también registran pantallazos que anulan la seguridad de esta medida.Cabe decir que esto podría ser falso ya que los eventos de mensajes del teclado deben ser enviados al programa externo para que se escriba el texto, por lo que cualquier keylogger podría registrar el texto escrito mediante un teclado virtual.
El registro de las pulsaciones del teclado se puede alcanzar por medio de hardware y de software:
Keylogger por hardware, son dispositivos disponibles en el mercado que vienen en tres tipos:
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.
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.
Teclados reales del reemplazo que contienen el Keylogger ya integrado. Son virtualmente imperceptibles, a menos que se les busque específicamente.
Keylogger por software. Contrariamente a las creencias comunes, un keylogger por software es simple de escribir, con un conocimiento de trabajo de C o de C++ y un conocimiento de los API proporcionados por el sistema operativo del objetivo. Los keyloggers del software bajan en las categorías siguientes:
Basado en núcleo: Este método es el más difícil de escribir, y combatir. Tales keyloggers residen en el nivel del núcleo y son así prácticamente invisibles. Derriban el núcleo del OS 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 conductor del teclado por ejemplo, y accede así a cualquier información mecanografiada en el teclado mientras que va al sistema operativo.
Enganchados: Tales keyloggers enganchan el teclado con las funciones proporcionadas por el sistema operativo. El sistema operativo los activa en cualquier momento en que se presiona una tecla y realiza el registro.
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 de teclas.
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 lo revisa) y al teclado mismo (que no se ven pero que se necesita algún conocimiento de como soldarlos). 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, la aplicaciones más nuevas también registran pantallazos que anulan la seguridad de esta medida.Cabe decir que esto podría ser falso ya que los eventos de mensajes del teclado deben ser enviados al programa externo para que se escriba el texto, por lo que cualquier keylogger podría registrar el texto escrito mediante un teclado virtual.
El registro de las pulsaciones del teclado se puede alcanzar por medio de hardware y de software:
Keylogger por hardware, son dispositivos disponibles en el mercado que vienen en tres tipos:
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.
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.
Teclados reales del reemplazo que contienen el Keylogger ya integrado. Son virtualmente imperceptibles, a menos que se les busque específicamente.
Keylogger por software. Contrariamente a las creencias comunes, un keylogger por software es simple de escribir, con un conocimiento de trabajo de C o de C++ y un conocimiento de los API proporcionados por el sistema operativo del objetivo. Los keyloggers del software bajan en las categorías siguientes:
Basado en núcleo: Este método es el más difícil de escribir, y combatir. Tales keyloggers residen en el nivel del núcleo y son así prácticamente invisibles. Derriban el núcleo del OS 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 conductor del teclado por ejemplo, y accede así a cualquier información mecanografiada en el teclado mientras que va al sistema operativo.
Enganchados: Tales keyloggers enganchan el teclado con las funciones proporcionadas por el sistema operativo. El sistema operativo los activa en cualquier momento en que se presiona una tecla y realiza el registro.
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 de teclas.
No hay comentarios:
Publicar un comentario