¿Se puede prevenir el exploit de BadUSB?

13

Recientemente leí algunas cosas sobre el exploit de BadUSB, por ejemplo:

enlace

Entiendo que un dispositivo conectado a USB puede cambiar su apariencia (unidad, teclado, tarjeta de red, ...), lo que abre la oportunidad para que una unidad USB infectada (u otro dispositivo) simule cosas como un teclado y envíe comandos maliciosos o una tarjeta de red y conéctese a direcciones web para descargar programas. El problema parece ser que la computadora confía automáticamente en los dispositivos USB. Sin embargo, el poder del chip infectado es probablemente muy limitado, lo que dificulta la simulación de hardware más complejo como las tarjetas de red:

¿Cómo evitar ataques de BadUSB en el escritorio de Linux?

De todos modos, estoy interesado si es principalmente posible prevenir este tipo de comportamiento:

  • ¿Es correcto mi entendimiento del exploit?
  • En caso afirmativo: ¿no sería posible implementar un "firewall" de software que solicite permiso al usuario si los nuevos dispositivos USB están conectados y, especialmente, lanza una advertencia si cambia el "tipo" del dispositivo? Con eso quiero decir, no simplemente haciendo clic en ok (que un dispositivo USB malintencionado puede hacer por sí solo), sino que usa algo como un CAPTCHA.
  • Si eso no es posible, porque es posible que el software no pueda evitar el uso de un dispositivo USB (o por alguna razón): ¿sería posible una solución de hardware que reenvíe datos USB, pero por ejemplo solo permite unidades USB y no teclados? ¿Cómo un dispositivo USB le dice a la computadora su "tipo"?
pregunta molotovsoda 16.08.2014 - 22:14
fuente

6 respuestas

5

Hay un problema de gallina y huevo con la solución "firewall": su teclado y mouse son dispositivos USB *. ¿Cómo le dice el usuario al sistema operativo que desea dar permiso al teclado y al mouse, sin usar ninguno de ellos? ¿Qué sucede si el teclado y el mouse están conectados a través de puertos USB en un monitor? Se desconectarán y se volverán a conectar cada vez que se encienda y apague el monitor. Estoy seguro de que hay otras situaciones en las que el "firewall" dejará al usuario sin dispositivos de entrada y no hay forma de aprobar otros nuevos, o al intentar evitar esa situación, aprobará automáticamente un dispositivo que no debería.

* Sí, incluso en una computadora portátil. Simplemente son dispositivos USB que están conectados de forma permanente en su lugar.

    
respondido por el Mark 16.08.2014 - 23:24
fuente
2

Respuesta corta: sí, se puede prevenir, pero la solución no es fácil.

Tal como lo discutió Steve Gibson en un reciente podcast de Security Now ( aquí ) y en el Black original Presentación del sombrero ( aquí ), si recuerdo bien, la solución implica bloquear el firmware en estos controladores de dispositivos USB. Básicamente, esto significa que el firmware se escribirá en un chip ROM que no permitiría la modificación del firmware en ese chip que constituye la base de esta vulnerabilidad.

Su comprensión de la vulnerabilidad parece ser bastante precisa, pero le sugiero que vea la presentación original mencionada anteriormente.

Aunque su sugerencia de un tipo de solución de software podría detectar dispositivos ya explotados, no resuelve la causa raíz del problema. Además, lamentablemente, en algunos casos, los dispositivos UBS deberían poder cambiar su tipo o incluso ser múltiples tipos de dispositivos a la vez. De hecho, en la presentación de Black Hat, los autores incluso hacen un buen caso de cómo esta capacidad en USB podría ser bastante completa. Desafortunadamente, la advertencia es solo eso, una advertencia, y puede ser fácilmente ignorada o silenciada. Si tuviera que informar sobre cada cambio de tipo en dispositivos USB, obtendría muchos falsos positivos.

Otra cosa mencionada en la charla fue que hay muy poca estandarización y control sobre los dispositivos USB, por lo tanto, no hay una manera real de determinar qué debe ser un dispositivo USB. Así que no tienes nada con qué compararlo.

BTW. Si acaba de desarrollar un interés en Infosec, definitivamente le sugiero que se suscriba al podcast de Security Now. ¡Es increíble!

    
respondido por el ilikebeets 16.08.2014 - 23:19
fuente
1

Hasta ahora no hay una forma segura confirmada de prevenirlo. La mejor solución hasta ahora es deshabilitar el estado de "modo de inicio" del dispositivo y tal vez desactivar físicamente el acceso con pegamento, por ejemplo.

Aquí hay un artículo al respecto enlace

p.s.puedeobtener diversión con el pegamento :)

    
respondido por el Matthew Peters 13.10.2014 - 14:37
fuente
1

Hay hardware para eso.

El USG es un cortafuegos para sus puertos USB. Se conecta entre su computadora y un dispositivo USB que no es de confianza, lo que aísla la maldad con un firewall de hardware interno:

enlace

    
respondido por el MarcG 02.04.2017 - 22:39
fuente
0

Si un dispositivo se identifica a sí mismo como un adaptador de red, ¿por qué le permitiría descargar cosas de la web? O bien ya tiene una conexión a Internet y ya puede hacer cosas, o Windows querría usar TI para conectarse a la web, no otorgar acceso web a un dispositivo de red (a menos que alguien explícitamente haga "conexiones de puente" o similar)

en cuanto a "detectar cambios en el tipo de dispositivo": ¿qué evitaría que un dispositivo USB malicioso se presente a sí mismo como un centro que contenga todo lo que necesita? ¿O tal vez simplemente pretender desconectarse y volver a conectarse como un dispositivo diferente?

CAPTCHA no funciona: el sistema que decide si la entrada es buena / mala es el mismo sistema que solicita la entrada, de la misma manera que un dispositivo no autorizado podría "hacer clic en Aceptar por sí solo", también podría omitir el captcha. Sin mencionar lo doloroso que sería para el USB, su popularidad se debe a la facilidad de uso, no a la seguridad

en cuanto a lo que realmente podría caber dentro de una memoria USB, miraría los componentes contenidos en una tarjeta sd wifi (como this ) - y suponga que también pueden caber componentes similares dentro de una memoria USB - lo que significa un pequeño sistema operativo, completo con una CPU, RAM, wifi y almacenamiento flash

    
respondido por el user2813274 16.08.2014 - 22:34
fuente
0

Primero: no todos los dispositivos USB serán susceptibles a BadUSB. Muchos están diseñados con circuitos de controlador mínimos y no pueden asumir otras funciones y / o no tienen firmware que se pueda reprogramar. Este es particularmente el caso de los artículos de bajo costo del mercado masivo, como las unidades USB donde cada centavo cuenta.

El otro ángulo en esto es que si el software puede reprogramar el dispositivo USB, entonces el software también puede detectar si el dispositivo USB es reprogramable y, por lo tanto, apagarlo. No me sorprendería si la mayoría de los proveedores de AV no estuvieran trabajando en una forma de detectar qué dispositivos son reprogramables y luego denegar el acceso al sistema.

BadUSB no es el final del dispositivo USB, es solo otra vulnerabilidad que debe ser atendida.

    
respondido por el Chris 23.08.2014 - 00:21
fuente

Lea otras preguntas en las etiquetas