La nueva herramienta fuzzing encuentra 26 errores de USB en Linux, Home windows, macOS y FreeBSD


Memoria USB

Imagen: Sara Kurfeß

Los académicos dicen que descubrieron 26 nuevas vulnerabilidades en la pila de controladores USB empleadas por sistemas operativos como Linux, macOs, Home windows y FreeBSD.

El equipo de investigación, compuesto por Hui Peng de la Universidad de Purdue y Mathias Payer del Instituto Federal Suizo de Tecnología de Lausana, dijo que todos los errores fueron descubiertos con una nueva herramienta que crearon, llamada USBFuzz.

La herramienta es lo que los expertos en seguridad llaman fuzzer. Los fuzzers son aplicaciones que permiten a los investigadores de seguridad enviar grandes cantidades de datos no válidos, inesperados o aleatorios como entradas a otros programas.

Luego, los investigadores de seguridad analizan cómo se comporta el application probado para descubrir nuevos errores, algunos de los cuales pueden explotarse de manera maliciosa.

Académicos desarrollaron un nuevo fuzzer USB portátil

Para probar los controladores USB, Peng y Payer desarrollaron USBFuzz, un nuevo fuzzer diseñado específicamente para probar la pila de controladores USB de los sistemas operativos modernos.

«En esencia, USBFuzz utiliza un dispositivo USB emulado por application para proporcionar datos aleatorios del dispositivo a los controladores (cuando realizan operaciones de E / S)», dijeron los investigadores.

«Como el dispositivo USB emulado funciona a nivel de dispositivo, portarlo a otras plataformas es sencillo».

Esto permitió al equipo de investigación probar USBFuzz no solo en Linux, donde funcionan la mayoría de los programas fuzzer, sino también en otros sistemas operativos. Los investigadores dijeron que probaron USBFuzz en:

  • 9 versiones recientes del kernel de Linux: v4.14.81, v4.15, v4.16, v4.17, v4.18.19, v4.19, v4.19.1, v4.19.2 y v4.20-rc2 (la última versión en el momento de la evaluación)
  • FreeBSD 12 (la última versión)
  • MacOS 10.15 Catalina (la última versión)
  • Windows (versión 8 y 10, con las actualizaciones de seguridad más recientes instaladas)

El equipo de investigación encuentra 26 nuevos errores

Después de sus pruebas, el equipo de investigación dijo que, con la ayuda de USBFuzz, descubrieron un total de 26 nuevos errores.

Los investigadores encontraron un error en FreeBSD, tres en MacOS (dos resultaron en un reinicio no planeado y uno inmovilizó el sistema), y cuatro en Home windows 8 y Home windows 10 (resultando en Pantallas Azules de la Muerte).

Sin embargo, la gran mayoría de los errores, y los más graves, se encontraron en Linux, 18 en complete.

Dieciséis fueron errores de memoria de gran impacto en la seguridad en varios subsistemas de Linux (núcleo USB, sonido USB y pink), un mistake residía en el controlador del controlador de host USB de Linux y el último en un controlador de cámara USB.

Peng y Payer dijeron que informaron sobre estos errores al equipo del kernel de Linux, junto con los parches propuestos para reducir «la carga sobre los desarrolladores del kernel al corregir las vulnerabilidades reportadas».

De los 18 errores de Linux, el equipo de investigación dijo que 11 reciben un parche desde sus informes iniciales el año pasado. Diez de estos 11 errores también recibieron un CVE, un código único que se asigna a las principales fallas de seguridad.

usbfuzz-tests.png "src =" https://zdnet1.cbsistatic.com/hub/i/2020/05/27/1ab453cb-f76e-461f-accf-2965becb34c5/usbfuzz-tests.png

Imagen: Peng et al.

También se esperan otros parches en el futuro cercano para los siete problemas restantes.

«Los errores restantes se dividen en dos clases: los que aún están bajo embargo / revelados y los que otros investigadores encontraron y reportaron simultáneamente», dijeron los investigadores.

USBFuzz para ser de código abierto

Payer publicó ayer un borrador del libro blanco del equipo de investigación que explain su trabajo en USBFuzz. Peng y Payer planean presentar su investigación en la conferencia de seguridad virtual del Simposio de Seguridad de Usenix, programada para agosto de 2020.

Un trabajo comparable se ha llevado a cabo en el pasado. Un ingeniero de seguridad de Google usó un fuzzer hecho por Google llamado syzkaller para descubrir 79 errores que afectan a los controladores USB del kernel de Linux en noviembre de 2017.

Peng y Payer dijeron que USBFuzz es top-quality a las herramientas anteriores como vUSBf, syzkaller y usb-fuzzer porque su herramienta otorga a los evaluadores más command sobre los datos de prueba y también es portátil en todos los sistemas operativos, a diferencia de todo lo anterior, que generalmente solo funciona en * NIX sistemas.

Está previsto que USBFuzz se lance en GitHub como un proyecto de código abierto tras la charla de Peng y Payer en Usenix. El repositorio estará disponible. aquí.

Copias del trabajo de Peng y Payer, titulado «USBFuzz: un marco para los controladores USB fuzzing por emulación de dispositivo, «están disponibles en formato PDF aquí y aquí.



Enlace a la noticia initial