BadUSB

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 6 de mayo de 2022; la verificación requiere 1 edición .

BadUSB  es una clase de ataques de piratas informáticos basada en una vulnerabilidad en los dispositivos USB . Ayuda a iniciar sesión sin contraseña. Debido a la falta de protección flash en algunos dispositivos USB, un atacante puede modificar o reemplazar por completo el firmware original y hacer que el dispositivo imite cualquier otro dispositivo. BadUSB está diseñado para entregar y ejecutar código malicioso [1] .

Descripción

Los dispositivos USB llevan un microcontrolador encargado de comunicarse con el host a través de la interfaz USB. Durante el proceso de inicialización, el microcontrolador le dice al host, junto con otra información de servicio, las clases a las que pertenece el dispositivo. El host carga el controlador requerido y trabaja con el dispositivo según su clase y estos datos. Un dispositivo físico puede implementar varias clases y ser varios dispositivos separados para el host: las cámaras web implementan tanto una clase de video como una clase de dispositivo de audio [2] .

BadUSB se aprovecha del hecho de que los fabricantes no protegen sus dispositivos contra flasheo, y los anfitriones no verifican la autenticidad de los dispositivos USB. Gracias a esto, un atacante puede cambiar el firmware del microcontrolador y hacer pasar un dispositivo por otro. Además, dado que todas las comunicaciones se realizan a través de este microcontrolador, un atacante puede interceptar y reemplazar cualquier dato y comando entre el dispositivo y el host [3] . La infección automática de dispositivos también es posible: el dispositivo infecta el host mediante la ejecución de malware en él, luego el host infecta automáticamente todos los dispositivos USB conectados a él [3] .

Cada controlador es único, y para cada uno es necesario desarrollar un firmware o parche infectado por separado. No es posible escribir software genérico y usarlo en cualquier microcontrolador. El procedimiento de firmware difiere de un controlador a otro. Todo esto reduce significativamente la probabilidad de una epidemia de BadUSB, pero no protege contra un ataque dirigido [3] .

Historia

El concepto de BadUSB fue presentado en agosto de 2014 en la conferencia BlackHat USA 2014 por los investigadores de Security Research Labs Karsten Nohl y Jakob Lell , quienes hicieron una presentación "BadUSB-On Accessories that Turn Evil" . Rediseñaron el controlador USB Phison 2251-03 (2303) y desarrollaron firmware para algunos tipos de ataques. El firmware del controlador fue realizado por la aplicación DriveCom . Se ha demostrado la suplantación de teclado, el ataque a la tarjeta de red, el ataque a la protección de la unidad flash y la ocultación de la partición de la unidad flash. También se han considerado algunas formas de protegerse contra los ataques de BadUSB [1] [3] .   

El 5 de agosto de 2014, se publicó un exploit de BadAndroid que convierte un teléfono Android en un rastreador de tráfico de red [4] .

El 26 de septiembre de 2014, se publicó el código fuente del firmware y los parches para el controlador Phison 2251-03, incluido un ataque de suplantación de teclado, un ataque de contraseña de unidad y ocultación de partición de unidad [5] .

Área de vulnerabilidad

Las vulnerabilidades afectan a todos los dispositivos con controladores USB desprotegidos a bordo: unidades flash , cámaras web , ratones , teclados , dispositivos Android . BadUSB no requiere software especial en la computadora de la víctima y funciona bajo cualquier sistema operativo que admita dispositivos USB-HID [3] [6] .

La necesidad de ingeniería inversa de cada dispositivo USB, que consume mucho tiempo, limita esta clase de ataques a ataques personalizados en dispositivos específicos como parte de tecnologías de relaciones públicas negras o ataques contra una víctima específica que utiliza dispositivos específicos.

Algunos tipos de ataques

Simulación de teclado

El dispositivo se presenta a la computadora de la víctima como un teclado y, después de un tiempo, comienza a enviar secuencias de pulsaciones de teclas. Como resultado, un atacante puede realizar cualquier acción en la computadora de la víctima que esté disponible para un usuario autorizado usando solo el teclado. Por ejemplo, un atacante puede descargar y ejecutar malware desde Internet [3] .

Una desventaja significativa de este tipo de ataque es la falta de acceso a la información en la pantalla y, como resultado, la falta de retroalimentación sobre cualquier acción del dispositivo infectado. Por ejemplo, un atacante no puede determinar tanto la disposición actual del teclado como si un usuario ha iniciado sesión [3] .

Tarjeta de red de imitación

El dispositivo aparece en la computadora de la víctima como una tarjeta de red y, por lo tanto, puede interceptar o redirigir el tráfico de la red. En particular, al responder a una solicitud de DHCP con la dirección del servidor DNS del atacante y no proporcionar una puerta de enlace predeterminada, el atacante puede redirigir el tráfico de la víctima: la computadora de la víctima resolverá la dirección a través del servidor DNS del atacante, pero, en ausencia de una puerta de enlace predeterminada, utilizará una interfaz de red real diferente [3] .

Inyección de arranque

Un dispositivo con suficiente espacio para almacenar código malicioso, como una unidad flash, puede detectar el momento en que se enciende la computadora y, en el momento en que el BIOS lo detecta, emite un virus para cargar para infectar el sistema operativo. Esto es posible debido al hecho de que por el comportamiento del host cuando se comunica con el microcontrolador USB es posible determinar el sistema operativo del host, en particular Windows , Linux , MacOSX y también el BIOS [7] .

Salir del entorno virtual

El ataque explota la capacidad de reinicializar el dispositivo [2] . Al ejecutarse en una máquina virtual , el virus infecta cualquier dispositivo conectado a través de USB. El firmware infectado realiza una reinicialización y aparece como dos dispositivos independientes: uno nuevo y otro que ya se ha conectado a la máquina virtual. El nuevo dispositivo se conectará automáticamente al sistema operativo host y el dispositivo antiguo se volverá a conectar a la máquina virtual. Por lo tanto, se puede realizar una transición fuera del entorno virtual, es decir, se ha realizado una transición del sistema operativo cliente al host [7] .

Oposición

El informe "BadUSB - On Accessories that Turn Evil" propuso varias formas de protegerse contra BadUSB; sin embargo, según los investigadores, la integración completa de la protección llevará mucho tiempo [3] [7] .

Una posible contramedida es firmar el firmware con el fabricante del hardware y validarlo en el lado del host antes de usar el dispositivo, que no es compatible con la especificación USB actual. Otra solución al problema puede ser bloquear la posibilidad de flasheo de dispositivos por parte del fabricante [2] [6] .

Mark Shuttleworth , fundador de Canonical Ltd. También habló sobre el tema de la seguridad de los dispositivos USB y, como solución al problema, propuso abrir completamente el código fuente del firmware [8] .

A pesar de que una serie de herramientas integrales de protección antivirus, como ESET Endpoint Antivirus , Kaspersky Endpoint Security , el componente de control parental de Dr.Web AV-Desk , le permiten restringir el acceso a medios extraíbles y permitir la activación de acuerdo con el "lista blanca", en el caso de Bad USB, tales medidas no son suficientes. El propio usuario puede permitir la conexión de un dispositivo peligroso, considerándolo erróneamente seguro. Según Andrey Vasilkov, corresponsal de Computerra , los desarrolladores de soluciones antivirus tendrán que agregar "módulos separados para un control adicional más flexible sobre los dispositivos conectados por USB" en el futuro [9] .

La protección contra ataques BadUSB apareció en Kaspersky Endpoint Security 10, en una actualización del 7 de diciembre de 2015 [10] .

Las soluciones de seguridad Dr.Web desde la versión 11 protegen contra la vulnerabilidad BadUSB para dispositivos que imitan un teclado [11] .

Notas

  1. ↑ 1 2 Informe de BlackHat USA  ( 2014). Consultado el 10 de diciembre de 2014. Archivado desde el original el 8 de agosto de 2014.
  2. ↑ 1 2 3 Especificación  USB . Consultado el 10 de diciembre de 2014. Archivado desde el original el 1 de junio de 2012.
  3. ↑ 1 2 3 4 5 6 7 8 9 Andy Greenberg. Por qué la seguridad de USB está fundamentalmente rota   // wired.com . - 2014. Archivado el 3 de agosto de 2014.
  4. BadUSB en Security Research Lab (enlace no disponible) . Consultado el 10 de diciembre de 2014. Archivado desde el original el 18 de abril de 2016. 
  5. Andy Greenberg. El malware que no se puede parchear que infecta los USB ahora anda suelto   // wired.com . - 2014. Archivado el 7 de octubre de 2014.
  6. ↑ 12Andy Greenberg . Solo la mitad de los dispositivos USB tienen una falla que no se puede reparar, pero nadie sabe qué mitad  // wired.com . - 2014. Archivado el 20 de julio de 2017.  
  7. ↑ 1 2 3 diapositivas del informe BadUSB (enlace inaccesible) (agosto de 2014). Consultado el 10 de diciembre de 2014. Archivado desde el original el 8 de agosto de 2014. 
  8. Linux Magazine, número 162, mayo de 2014, página 9.
  9. Andréi Vasilkov. Bad USB: cómo se implementa un nuevo ataque en diferentes dispositivos . Computerra (6 de octubre de 2014). Fecha de acceso: 27 de diciembre de 2014. Archivado desde el original el 18 de diciembre de 2014.
  10. Kaspersky Endpoint Security 10 para Windows: Service Pack 1 versión de mantenimiento 2 (versión 10.2.4.674) . soporte.kaspersky.com. Consultado el 17 de julio de 2017. Archivado desde el original el 15 de julio de 2017.
  11. Actualización de componentes en productos Dr.Web 11.0 . noticias.drweb.ru. Consultado el 26 de mayo de 2016. Archivado desde el original el 1 de junio de 2016.

Enlaces