La llegada de los puertos USB supuso, no cabe duda, un antes y un después en lo referido al uso de todo tipo de dispositivos en los PCs. Se tradujo, en primera instancia, en el principio del fin de varias interfaces hasta entonces bastante comunes los puertos serie y paralelo, PS2 para la conexión de teclados y ratones, ATAPI para la conexión de unidades externas… Poco a poco, pero de manera imparable, fue asumiendo las funciones de todas estas interfaces y, por lo tanto, facilitando a los usuarios la conexión de periféricos y otros dispositivos sin tener que preocuparse de este aspecto.
A medida que sus funciones fueron creciendo, su uso se fue popularizando y el estándar fue evolucionando, también ha corrido, pareja, una constante investigación sobre los riesgos asociados a esta interfaz. No es nada nuevo ni sorprendente mencionar que USB ha tenido, a lo largo de su historia, bastantes problemas de seguridad, y que pese a ellos, muchos usuarios siguen descuidando la seguridad al emplear estos dispositivos. Todavía falta conciencia sobre los riesgos que podemos estar asumiendo al conectar una memoria USB a un PC.
Una reciente investigación llevada a cabo por Hui Peng de la Universidad de Purdue y Mathias Payer del Instituto Federal Suizo de Tecnología de Lausana, y cuyos resultados hemos podido conocer estos días, señala 26 nuevas vulnerabilidades en la pila de controladores USB empleadas por múltiples sistemas operativos, concretamente Windows, Linux, macOs y FreeBSD. Todas ellas han sido detectadas con una herramienta, de creación propia, llamada USBFuzz.
Como su propio nombre indica, esta herramienta entraría en la categoría de los llamados fuzzers, programas diseñados para simular un comportamiento anómalo de un dispositivo para, a continuación, valorar la respuesta del sistema operativo, y eventualmente también el software asociado, que debe gestionarlos una vez conectados. Este tipo de aplicaciones actúan, por norma general, enviando múltiples paquetes de datos no válidos, no esperados en ese momento o directamente aleatorios.
Para realizar este tipo de pruebas se recurre, por lo general, a sistemas virtualizados a los que, a su vez, se conecta el dispositivo USB emulado que, en realidad, es controlado por el fuzzer con el que se quieren realizar las pruebas. Gracias a la flexibilidad de esta plataforma, así como al hecho de que la interacción entre dispositivo USB y sistema anfitrión se efectúa a bajo nivel, resulta muy sencillo emplear un mismo sistema para realizar pruebas en diversos sistemas operativos.
En las pruebas realizadas por los investigadores con USBFuss, se detectaron un total de 26 nuevos problemas de seguridad, que afectan a 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, MacOS 10.15 Catalina y Windows 8 y 10, con las actualizaciones de seguridad más recientes instaladas. Por sistemas, el más afectado es Linux, con 18 problemas (entre ellos los más graves detectados), cuatro para Windows, tres para MacOS X y uno para FreeBSD.
Los investigadores no han divulgado públicamente información alguna sobre estos agujeros de seguridad hasta haberse puesto en contacto con los responsables de los sistemas operativos afectados. De este modo, parte de los problemas ya han sido resueltos estos últimos meses, y el informe de la investigación solo incluye información específica sobre estos, pues ya no suponen una amenaza para aquellos usuarios que actualicen de manera frecuente sus sistemas.
No obstante, todavía quedan vulnerabilidades por parchear (amén de que probablemente también queden otras tantas por ser detectadas), y el ritmo de detección puede verse incrementado de manera sustancial, ya que los investigadores han anunciado su intención de convertir USBFuzz en un proyecto de código abierto disponible en GitHub. Así que, quizá como siempre y probablemente un poco más que nunca, todo el cuidado del mundo al conectar dispositivos extraíbles.
La entrada USB: nuevos riesgos en las unidades extraíbles es original de MuySeguridad. Seguridad informática.