El pendrive: la nueva arma de destrucción masiva

Actualmente, el uso de memorias USB se encuentra generalizado en todo el mundo, tanto en el entorno personal como en el profesional. Cuántas veces nos han pasado un pendrive diciéndonos, oye cópiate este fichero o pásame lo otro. Antes de copiar cualquier archivo, ¿lo hemos analizado con el antivirus y obtenido su hash para consultarlo en virustotal.com? Al no disponer del tiempo necesario para realizar todo este proceso de investigación, cualquier troyano que ejecute una vulnerabilidad 0-day podría infectar nuestro sistema con el simple hecho de conectar un pendrive en nuestro ordenador.

Con la implementación de una serie de medidas de seguridad podríamos mitigar dichos riesgos. Desgraciadamente se ha descubierto una nueva vulnerabilidad en la arquitectura de las memorias USB que podría permitir tomar el control de nuestro ordenador, incluso con la posibilidad de evadir todas las protecciones que existen en la actualidad.

Los investigadores Karsten Nohl y Jakob Lell, han publicado esta vulnerabilidad en la conferencia de seguridad “Black Hat 2014” celebrada en Las Vegas, bautizada como “BadUSB”, donde muestran cómo es posible añadir funcionalidades a una memoria USB siendo desapercibidas por el sistema. Su investigación se ha centrado en memorias USB, pero afirman que sería aplicable a otros dispositivos como discos duros externos, teclados, webcams, etc.

Para adentrarnos más en la vulnerabilidad, primero hay que entender cómo se encuentra estructurada una memoria USB: posee una parte oculta donde se cargan los controladores del fabricante en el sistema operativo y en la otra se encuentran almacenados los datos que son accesibles para el usuario, tal y como se muestra en la siguiente imagen:

Los dispositivos USB incluyen un controlador oculto para el usuario

Si conseguimos modificar el firmware del dispositivo podremos modificar el funcionamiento del mismo, ya que no existe ningún tipo de firma de código, hash o similar, que permita comprobar que el firmware del dispositivo no ha sido manipulado.

La metodología que proponen los investigadores para poder modificar el firmware del dispositivo es la siguiente:

Metodología para modificar el firmware del dispositivo USB

En definitiva, aplicando ingeniería inversa sobre el dispositivo conseguiremos modificar el comportamiento a nuestro antojo. Además, en la presentación realizan varias pruebas de concepto, de las cuales destaco la modificación del DNS del ordenador infectado (ataque de parking), es decir, las peticiones web que se realicen serán gestionadas por la memoria USB conectada, ya que cargará un servidor DNS para poder gestionarlas, con la finalidad de redireccionar el tráfico del ordenador infectado a posibles web fraudulentas.

Como indican los investigadores en su presentación, todo lo expuesto son conjeturas basándose en un único modelo de pendrive USB que contiene un chip de control del fabricante más utilizado en el mercado.

Entre la amenazas que podríamos estar expuestos destacamos la ocultación de datos en medios extraíbles, modificación del comportamiento del sistema operativo o inyección de malware.

Ahora viene lo mas importante. ¿Cómo podemos evitar dichos ataques? ¿Existen soluciones?

Los investigadores recomiendan aplicar las siguientes medidas:

  • Creación de una lista blanca de dispositivos permitidos.
  • Bloqueo de instrucciones maliciosas generadas por el USB.
  • Analizar el firmware de los periféricos USB.
  • Firmar las actualizaciones de firmware para evitar que sean modificadas maliciosamente.

Entiendo que después de leer este artículo no veremos a nuestro pendrive de la misma forma. Las medidas más simples y eficaces para mitigar el riesgo al que estamos expuestos son: desactivar las actualizaciones del firmware con el fin de evitar el almacenamiento de un firmware de carácter malicioso y nunca conectar una memoria USB que no sea de nuestra confianza.

Fuentes de referencia:

Video de la presentación “BadUSB” Black Hat 2014