La historia reciente del software de cifrado TrueCrypt es extraña. Primero, hubo un campaña de crowdfunding para que el software sea auditado por problemas de seguridad en 2013 después de que Edward Snowden filtró información clasificada de la Agencia de Seguridad Nacional (NSA) a partir de junio de 2013.

Luego, en mayo de 2014, se publicó un anuncio en el sitio web de TrueCrypt afirmando que TrueCrypt ya no era seguro y que los usuarios deberían encontrar otro programa para usar con ese propósito.

Los desarrolladores lanzaron una versión final de TrueCrypt que se rompió (por diseño) en muchos aspectos. El código fuente final de la versión completa del programa fue publicado por Corporación de Investigación Gibson y poco después aparecieron alternativas como VeraCrypt o CipherShed.

En ese momento, la auditoría de TrueCrypt no estaba completa ya que los investigadores solo habían completado la fase uno de la auditoría.

El término de investigación tomó la decisión de continuar con la auditoría de TrueCrypt 7.1a a pesar de que los desarrolladores del proyecto abandonaron el proyecto mientras tanto.

algoritmo truecrypt

Hoy, la fase 2 del análisis TrueCrypt ha finalizado. Las investigaciones han subido el informe final como documento PDF al sitio web oficial desde donde se puede descargar.

Se descubrieron un total de cuatro vulnerabilidades:

  1. La mezcla de archivos de claves no es criptográficamente sólida (baja).
  2. Texto cifrado no autenticado en encabezados de volumen (indeterminado).
  3. CryptAcquireContext puede fallar silenciosamente en escenarios inusuales (alto).
  4. Implementación de AES susceptible a ataques de tiempo de caché (alto).

El hallazgo más grave se relaciona con el uso de la API de Windows para generar números aleatorios para el material de la clave de cifrado maestra, entre otras cosas. Si bien CS cree que estas llamadas tendrán éxito en todos los escenarios normales, al menos un escenario inusual haría que las llamadas fallaran y dependerían de fuentes pobres de entropía; no está claro en qué situaciones adicionales pueden fallar.

Además, CS identificó que el descifrado del encabezado de volumen se basa en verificaciones de integridad inadecuadas para detectar alteraciones, y que el método de mezclar la entropía de los archivos de claves no era criptográficamente sólido.

Finalmente, CS identificó varias implementaciones AES incluidas que pueden ser vulnerables a los ataques de tiempo de caché. La forma más sencilla de aprovechar esto sería utilizando código nativo, potencialmente entregado a través de NaCl en Chrome; sin embargo, recientemente se cerró el método más simple de explotación a través de ese vector de ataque. #

El informe destaca cada vulnerabilidad en detalle, lo que debería ayudar a los proyectos que utilizan la fuente TrueCrypt como base para abordar los problemas en futuras actualizaciones.

Cabe señalar que la auditoría tuvo un alcance limitado y no una revisión completa del código. El equipo se concentró en partes importantes de TrueCrypt y aquí especialmente en sus implementaciones y uso criptográficos.