Cifrado de hardware Kingston, SanDisk es vulnerable

La compañía Kingston Technology, es uno de los líderes en el dominio de produción de las unidades de seguridad USB, que una de las primeras empezó a producir USB flash drive con cifrado de software (Kingston DataTraveler secure), anunció que algunos modelos de las unidades USB con función de seguridad hardware son vulnerables. En el sitio web del programa está puesta una publicidad, en la qué se dice que, con la ayuda de una utilidad es posible tener acceso a los datos de la unidad USB (es decir, piratearlo sin la introducción de la contraseña). La novedad es sorprendiente por el hecho de que, algunos modelos de Kingston, sujetos a la intromisión, fueron certificadas según el estándar FIPS 140-2.

Todo empiezó con lo que, la compañía alemana SySS publicó un documento con el título “La compañía Syss logró piratear la unidad USB con cifrado hardware Kingston certificado según FIPS 104-2”. En este documento se describe con detalles el protocolo de autenticación entre la unidad y el programa (el usuario), lo que ellos conocieron basándose al tráfico USB interceptado + vulnerabilidad que fue descubierta. Además están puestas las capturas de pantalla, que se integra en el proceso de Autenticación del programa para la unidad USB, y como resultado – introducimos cualquier contraseña y el acceso está abierto.

Qué sucede – los datos se cifran fuertemente en hardware, pero hay utilidad externa que realiza la Autenticación (control\cambio de la contraseña y de las configuraciones) utilizando un protocolo determinado (API+algoritmo de la utilidad). Este protocolo no fue protegido y en él encontraron vulnerabilidad.

Lo mismo se encontró y descubrió para las unidades USB con cifrado hardware (hardware based encryption) de SanDisk.

Una conversación mucho más interesante se desarrollo en el blog de Bruce Schneier – criptóloga y especialista famoso en la seguridad informática.

Los más interesantes resúmenes de los comentarios están en este blog:

  • El estándar FIPS 140-2 no tiene nada que ver con esto. El estándar no cubre/controla los lugares donde se encontró la vulnerabilidad.
  • Los productores se amparan con este estándar FIPS 140-2, para inspirar a los usuarios que el nivel de seguridad de los datos es bastante alto. Por lo tanto, desacreditan este estándar. Aunque, él en realidad sólo controla/testea el módulo criptográfico, pero no el producto entero.
  • El hecho de que, vulnerabilidad similar hay en unidades USB de varios dispositivos, muestra que, esta tecnología (junto con la vulnerabilidad) sea que pasea de mano a mano entre las grandes empresas, o sea que la produce una tercera persona (outsourcing), y muchas compañías usan sus servicios.
  • El protocolo de autenticación más correcto en esta situación es –
    – La contraseña debe cifrar la llave
    – La llave debe cifrar los datos en la unidad.
  • Ahora ya está claro por qué Sandisk se negó ofrecer la documentación de la comunidad de Linux en protocolo de USB host-to-drive para su unidad. En caso de publicación sería evidente que el acceso se abre por un mando constante.
    Conclusión – cualquier unidad de disco para la cual no hay documentación (protocolo de USB) para la creación del controlador Linux es vulnerable pontecialmente. IronKey es en particular.
  • Para comparar: este error es como vender cerraduras y cajas con llaves iguales de ellos.

Le acordamos, que en el pasado, este esquema de autenticación se utilizaba por muchas unidades USB flash biométricas, es decir, el proceso de autenticación sucedía a nivel de programa, después de que la señal se transmitía en un componente de hardware para la apertura del acceso al dispositivo USB.
Los investigadores descubrieron esta señal en dirección al controlador del dispositivo USB, y por lo tanto toda la protección  resultó una vulnerabilidad continúa.

Después de la traducción más detallada del artículo original al ruso nosotros planificamos estudiar con más detalle esta vulnerabilidad.

En nuestro último resumen de la unidad biométrica BioSlimDisk con cifrado de hardware, hemos mostrado en las imágenes cual es la diferencia entre la autenticación de hardware y la del software para tales dispositivos.

En adición queremos llevar los criterios más importantes, según nuestra opinión, los criterios de seguridad de los dispositivos USB:

  1. La protección de la configuración interna.
    Muchas unidades USB, tokens y otros dispositivos de autenticación implican cambios de sus propiedades, tales como – los parámetros de autenticación, las contraseñas de acceso y otros. Esta configuración debe ser protegida de la manera apropiada.
  2. La utilidad exterior de administración es vulnerable potencialmente.
    Si hay Aplicaciones que del exterior pueden operar con el dispositivo, también operar con el acceso a los datos del dispositivo, entonces son posibles ataques a sus protocolos. Lo mismo se refiere al control remoto\remover dispositivo. Estos protocolos no deben estar expuestos a todos los ataques de tipo REPLY.
  3. Los dispositivos activos pueden ser potencialmente peligrosos.
    Ultimamente han aparecidos tokens, que representan un teclado USB (que genera la contraseña OTP en forma textual). Al conectarlos estos token mantienen la función de auto-navegación, que es capaz de abrir una cierto sitio web en el ordenador. Y puesto, es evidente que hay sitios maliciosos, esto puede causar la infeción del PC.

A pesar de la posible existencia de múltiples vulnerabilidades en los dispositivos USB, la vida, sin embrago, no puede detenerse. Por eso queremos aducir un principio muy interesante, que nació en los foros y blogs al hablar de diferentes programas y dispositivos para la protección de datos y de la autenticación. Este principio dice “El cifrado no es suficiente” (en oroginal ‘Encryption is not enough’) esto significa –

  • Además de que los datos son cifrados, o son cerrados de cualquier otra manera – hay muchos lugares donde es posible interceptar estos mismos datos – copias de seguridad no protegidas, ficheros temporales, equipos infectados con software espía, colegas o miembros de familia nocivos, etc.
  • El protocol de protección y su aplicación deben ser abiertos (si es posible open source)
  • En los algoritmos de cifrado, hechos por Usted mismo, no hay confianza. Es posible confiar solamente en los algoritmos que son reconocidos por los criptólogas y pasaron la prueba del tiempo.
  • Debe existir una sociedad abierta de este producto, para que los usuarios puedan encontrar a tiempo las vulenrabilidades de las versiones nuevas de software o de la aplicación del protocolo, e informar a todos. Ya que, el progreso no es estático, así como los hombres que lo producen, entonces cada versión nueva debe considerarse desde el punto de vista de seguridad una vez más.

Si un producto determinado responde a estas cualidades, entonces es una señal de confianza para este producto.