jueves, 31 de julio de 2014

Desmontan la seguridad de los USB

La mayoría de los usuarios se intercambian memorias USB sin problemas, aunque los profesionales de la seguridad conocemos los riesgos que puede acarrear y la cantidad de virus que suelen transmitirse a través de este medio. Pero se ha anunciado una nueva vulnerabilidad en el propio diseño de los USB podría permitir tomar el control de un sistema, incluso con todas las protecciones y medidas de seguridad posibles.

Los investigadores Karsten Nohl y Jakob Lell, han desarrollado una muestra de malware, bautizada como BadUSB, que muestra como la seguridad de los USB ha sido desmontada. Aunque tienen previsto mostrar todos sus descubrimientos en una conferencia en la próxima Black Hat USA, se ha realizado un adelanto a través de un artículo en la revista Wired.

Nohl y Lell han realizado ingeniería inversa sobre el firmware, tras lo que han conseguido instalar su malware en el propio firmware del USB, de esta forma puede pasar completamente inadvertido ante cualquier análisis o escaneo. El USB de esta forma podrá tomar el control del PC o dispositivo. Según afirman los dos investigares la solución no es sencilla, el tipo de problema que han encontrado es prácticamente imposible de contrarrestar a no ser que se bloquee el USB.

"Estos problemas no pueden ser parcheados,
estamos aprovechando la forma en
que están diseñados los USB
"

El principal descubrimiento reside en que el firmware USB, que existe en todos los dispositivos USB, puede ser reprogramado para ocultar algún código malicioso. El problema no solo se limita a memorias flash, "pendrives" o similares, en general cualquier dispositivo USB puede ser reprogramado: teclados, ratones, etc.

Uno de los problemas radica en que los dispositivos no tienen ningún tipo de firma de código, hash, o similar que permita comprobar que el firmware del dispositivo es el que debería ser y no se ha manipulado.


Más información:

Why the Security of USB Is Fundamentally Broken


Antonio Ropero
Twitter: @aropero

5 comentarios:

  1. Diganlé a estos señores que los teclados y dispositivos masivos y baratos usb NO se pueden reprogramar dado que su diseño no tiene la electrónica necesaria para hacerlo o tiene una rom por máscara que se graba en el momento de la fabricación. Y que yo recuerde, mi creative nomad II de los años 90 verificaba el crc del firmware a subir, si no era el correcto o uno lo modificaba lo rechazaba y los teléfonos nokia que he tenido, el firmware venía firmado con un certificado de seguridad que evitaba su alteración.
    Aparte de lo expuesto, cada fabricante implementa su propio sistema de actualización de firmware, lo cual no lo hace estándar y cada dispositivo usa un microcontrolador o microprocesador distinto con direcciones de memoria distintas puertos de io distintos y un largo etc, a esto hay que sumarle las plataformas en donde se puede conectar este dispositivo, por lo que:
    Al multiplicar la cantidad de marcas por la cantidad de modelos por la cantidad de microprocesadores o microcontroladores distintos da un código de programación o reprogramación bastante grande, si este código lo multiplicamos por la cantidad de plataformas en las que se debería ejecutar sería una barbaridad aún mayor.
    A esto hay que sumarle que los dispositivos usb tienen una escasa memoria que apenas cabe su propio firmware como para andar poniendo un virus o troyano mas este código de reprogramación.
    Por lo que, no niego que estos señores puedan haber hecho esto en un dispositivo, con ingeniería inversa, un osciloscopio o un trazador y bastante paciencia cualquiera con los conocimientos adecueados lo puede hacer.
    Ahora, que esto sea un problema de seguridad masivo como lo están presentando es una tontera.

    ResponderEliminar
    Respuestas
    1. ..."A esto hay que sumarle que los dispositivos usb tienen una escasa memoria" ...

      Perdone, pero no puedo estar mas en desacuerdo.

      Eliminar
    2. Me refiero a teclados, mouse, webcams y muchos dispositivos usb, la memoria interna para alojar el firmware es la justa.

      Si usted habla de un pendrive, esa memoria, es destinada al disco para el usuario, pero la memoria eeprom para el firmware es mínima.

      Si no, lísteme algunos dispositivos usb, junto con la cantidad de memoria eeprom y cuanto ocupa su firmware.

      Eliminar
    3. Reprogramar un firmware no necesariamente lo hace mas "grande" o "pesado". Pueden cambiarse lineas o sustituirse sin agregar ni un bit.

      Eliminar
  2. El tema no es que se vaya a contagiar mi ratón o teclado, si no que... una persona malvada diseñe un «ineitor», por ejemplo, una «inofensiva lamparita usb» que regale a miles al comprar periódico y que tenga un firmware malévolo que inyecta un troyano en cada ordenador donde se meta. Saludos, @igll

    ResponderEliminar