¿Tiene un mouse USB memoria que podría usarse para almacenar malware?

Me preocupa que esto se marque como demasiado amplio, pero aquí va:

Últimamente he estado pensando en la posibilidad de cargar datos en dispositivos periféricos. Uno de los periféricos más utilizados es el ratón. Me doy cuenta de que hay 101 formas de construir un ratón. Para refinar mi pregunta en varias, hago estas preguntas:

  1. ¿Es posible construir un ratón sin memoria? Si es así, ¿normalmente se ve que no tiene memoria en un mouse?
  2. Supongamos que el mouse tuviera memoria (si esta no es una suposición realista, indíquelo), ¿es típico ver solo tipos de memoria ROM? ¿Se puede flashear la memoria como la memoria CMOS?
  3. ¿Alguien ha visto un ataque informático/ataque de malware desde la memoria de un ratón?

Pregunto número tres porque lo que he estado pensando últimamente es la generalización de los ataques realizados por varias amenazas persistentes avanzadas.

En cuanto a 3, puedo pensar en simplemente conectar una memoria flash USB con un virus dentro del mouse, conectarlo al conector, ¡y listo!
Seguro que hay ratones disponibles con memoria flash incorporada. Resulta que tengo uno de la marca Oracle con una unidad flash de 64 MB (¡jay!). Pero un mouse genérico, que no está diseñado para el almacenamiento, probablemente solo tenga una MCU, sin almacenamiento externo dedicado. La memoria de la MCU tendría que ser flasheada para acceder desde el exterior.
@EugeneSh. sí, simplemente incruste la memoria flash en el tablero de un mouse. Eso es en su mayor parte una cosa que no es obvia porque está fuera de la vista y fuera de la mente. Gracias por compartir.
Quizás un mejor título para su pregunta sería: "¿Tiene un mouse USB memoria que podría usarse para almacenar malware?". Puedo editarlo por ti si quieres.
@AdamHaun Sí, ese sería un título mejor. ¿Puedes editar eso por mí? Gracias
De hecho, hay un código de prueba de concepto para infectar dispositivos USB desde su PC publicado en github: github.com/adamcaudill/Psychson
@slebetman Esa es seguramente una respuesta.
BadUSB infecta unidades USB, no ratones.
@DmitryGrigoryev: No estoy seguro acerca de los ratones, pero se ha demostrado que BadUSB infecta los teclados.
No importa lo que contengan los ratones normales, un atacante (con recursos suficientes) siempre puede crear un ratón que contenga lo que necesita.

Respuestas (4)

Muchos periféricos USB incluyen microcontroladores basados ​​en flash. Aunque los microcontroladores basados ​​en ROM de máscara son más baratos, el uso de un microcontrolador basado en flash puede permitir que un fabricante tenga una placa que pueda incluirse en una variedad de productos OEM, cada uno de los cuales informa el nombre con el que se vende. Algunos periféricos incluyen firmware que permite reprogramarlos desde el puerto USB; tenerlos configurados de esa manera permitiría a un fabricante preprogramar partes de una manera adecuada para su cliente de mayor volumen y reprogramarlas a pedido para otros clientes.

Si un mouse incluye un microcontrolador flash, es posible que una persona malintencionada lo reprograme para que se comporte como un dispositivo de infección de malware. Debido a que es poco probable que la mayoría de los ratones usen microcontroladores particularmente grandes, es posible que no haya espacio para el malware si se requiere que el mouse se pueda usar como mouse. Por otro lado, es posible que algún malware identifique un mouse vulnerable y lo reprograme de tal manera que ya no funcione como un mouse, sino que actúe como un agente del mal cuando se conecte a una máquina no infectada. [en la teoría de que alguien cuyo mouse deja de funcionar podría probarlo en otra computadora].

En general, no sería difícil diseñar un periférico USB de tal manera que, una vez cargado el firmware final, no pudiera volver a cargarse desde el puerto USB, pero no existe una forma general de distinguir los dispositivos que son inmunes a la reprogramación de los dispositivos que no lo son. 't. También sería posible diseñar un "concentrador USB inteligente" con una pantalla y algunos botones que, cuando se conecta un dispositivo, indiquen qué dice ser el dispositivo, soliciten confirmación antes de que la computadora pueda ver el dispositivo, y restringiendo las comunicaciones del dispositivo a aquellos que fueron aprobados para su tipo, pero no sé si algún dispositivo inteligente de este tipo está disponible.

No existen tales concentradores inteligentes, porque puede bloquear dispositivos USB a nivel del sistema operativo. No se necesita hardware adicional. Los problemas comienzan cuando quieres reemplazar tu mouse o teclado roto...
@TurboJ: El punto es que para entonces probablemente sea demasiado tarde. Imagine un mouse USB especialmente diseñado que en realidad es un concentrador micro USB conectado al hardware del mouse y una memoria USB oculta dentro del mouse (en realidad, no tiene que imaginarlo, ya que las demostraciones de prueba de concepto ya se han mostrado al público). La memoria USB oculta se monta e incluye el archivo AUTOEXEC.BAT que instala algún software. Luego abres el panel de control y lo bloqueas pero el malware ya se instaló.
Un truco más sofisticado es el descubrimiento reciente de que algunos controladores USB son pirateables: su firmware se almacena en flash en lugar de ROM. Esta forma de ataque pasa por alto completamente el sistema operativo e instala malware en el chip USB soldado en su placa base.
Los dispositivos USB no pueden omitir el sistema operativo, siempre necesitan un controlador primero y ese paso se puede bloquear (en Linux con script udev, es posible que win necesite un software de terceros). Los dispositivos PCIE pueden omitir el sistema operativo a través de DMA.

Los teclados USB se pueden usar para hacer cosas interesantes en una PC/Mac. Y podría combinar un teclado USB con un mouse en un HID, usando un microcontrolador, por ejemplo.

Los ratones USB baratos aún deberían usar ASIC que no son reprogramables en mi humilde opinión, porque la ROM enmascarada cuesta menos que el flash.

Sí, definitivamente es posible usar ratones (y dispositivos USB en general) en ataques cibernéticos.

Independientemente del tipo de memoria que tengan los ratones baratos, normalmente es imposible modificarla a través de la interfaz USB, por lo que el atacante necesitará acceder físicamente al ratón que se utilizará para el ataque. Como resultado, generalmente es más fácil hacer un dispositivo personalizado que imite un mouse y tenga mucha memoria (y quizás algunos transceptores inalámbricos) en lugar de reutilizar un mouse real que tendrá poca memoria, poca potencia de procesamiento y sin interfaces inalámbricas.

Hay dispositivos que son mucho más adecuados para tales fines. Por ejemplo, la mayoría de las tarjetas SD tienen controladores bastante potentes y el firmware suele ser actualizable, protegido por un código de acceso de algún tipo. Dichos códigos de acceso son ampliamente conocidos por los equipos de desarrollo y pruebas y no están destinados a ser criptográficamente seguros. A menudo se utilizan frases leetspeak como DEADBEEF o 600DCOFFEE. Y una vez que tenga control sobre una tarjeta SD, no hay ningún esfuerzo extra para obtener datos confidenciales, todo lo que tiene que hacer es filtrarlos. Del mismo modo, los teclados USB son candidatos naturales para el robo de contraseñas. Convencer a la computadora para que envíe un archivo o una contraseña al mouse es mucho más difícil.

Definitivamente es posible con ratones que almacenan datos de configuración en su propio hardware. Considere los ratones para jugadores algo caros: a menudo vienen con un software que le permite editar configuraciones integradas para que pueda cambiarlas con un botón especial en algún lugar del mouse. Algunos ratones tienen convenientemente la capacidad de instalación automática, como se ve en las memorias USB de Internet móvil. A partir de ese momento, depende de los parámetros de seguridad de la computadora de destino. Si tiene habilitada la ejecución automática, un mouse comprometido podría instalar software malicioso en silencio, y así sucesivamente.