Un dispositivo USB necesariamente tiene algunos circuitos para implementar el protocolo USB : lo suficiente como para identificarse como un teclado, negociar algunos actual para dibujar desde el host, y enviar eventos de pulsación / liberación de tecla. Esto significa que hay, en el teclado, alguna CPU esquelética con su software (a menudo denominado "firmware"). En consecuencia, esto es potencialmente hackeable.
En particular, algunos teclados tienen firmwares actualizables , por lo que algunos programas maliciosos en una máquina podrían enviar una actualización maliciosa al teclado, contaminándola permanentemente. Esto se ha demostrado para un teclado Apple (no un juego Teclado con una API abierta para ejecutar una aplicación personalizada, solo un teclado normal): una actualización de firmware malintencionado que incorpora un keylogger en el teclado. La parte realmente desagradable de la demostración es que una actualización de firmware, por naturaleza, está escrita en algún tipo de almacenamiento permanente (EEPROM o Flash), por lo que resistirá los estados de apagado.
A la inversa, si un firmware de teclado no es actualizable, probablemente no puede retener físicamente ningún dato alterado cuando se corta la alimentación. Un teclado de este tipo sería seguro para intercambiarlo entre una máquina infectada y otra no infectada, siempre y cuando no sea un teclado inalámbrico, ya que estos tienen baterías.
Sin embargo, ¿cómo sabría si el firmware de su teclado se puede volver a actualizar? Rara vez está documentado ...
La probabilidad de infección transmitida por el teclado sigue siendo baja; No he oído hablar de ningún caso más allá de la demostración del teclado de Apple. Sin embargo, has sido advertido.