20 marzo 2013

¿Podemos fiarnos de TrueCrypt?

Nadie discute que hoy día el estándar de facto para cifrar discos duros / datos en un HD es TrueCrypt.

Funciona bien, es un software muy estable, y está disponible para múltiples plataformas.

Pero ¿Nos podemos fiar de TrueCrypt? ¿Es realmente un software libre de toda sospecha? ¿Podría ser un 'honeypot' de la CIA?

Hace tiempo encontré un post en el que se apuntaban ciertas partes oscuras con respecto a TrueCrypt y sobre quién está tras el proyecto. Todo lo que se expone es muy 'conspiranoico' pero es cierto que proyecta sombras sobre el proyecto. No obstante, después de Stuxnet, Flame y amigos, la capacidad de asombro y de negación ha quedado muy mermada.

El artículo original plantea las siguientes cuestiones (mis comentarios personales sin negrita):

  • El dominio truecrypt.org se registró con una dirección falsa, en concreto 'NAVAS Station, Antarctica'. Esto, per se, a mi no me parece nada sospechoso, mucha gente lo hace.
  • Nadie sabe quienes son los desarrolladores de TrueCrypt (su identidad, se desconoce). Esto SI me parece algo a tener muy en cuenta, me parece genial que en ciertos foros donde se liberan herramientas más 'ofensivas', estas herramientas sean firmadas por pseudos o nicks, pero todo lo que tenga que ver con criptografía debe ser totalmente transparente.
  • Los creadores de TrueCrypt trabajan gratis. Aseveración un poco discutible en mi opinión. Mucha gente trabaja 'gratis' en proyectos opensource, escribe blogs, etc etc.
  • Compilar TrueCrypt es complicado. Lo que apuntan en el post original es que, la mejor forma de incentivar la descarga de binarios pre-compilados por el equipo de TrueCrypt es hacer complicada la compilación del software. Tiene lógica
  • La licencia de TrueCrypt no es realmente OpenSource. Bueno, tampoco indica nada en especial, es cierto que TrueCrypt ha sido rechazado de muchas distribuciones Linux (en el post citan a Fedora), pero eso no lo tiene porque hacer necesariamente sospechoso
  • El código de TrueCrypt nunca ha sido auditado. El autor del post se queja de que nadie ha publicado un estudio sobre el código de TrueCrypt, en parte tiene razón, pero resulta muy aventurado decir que nadie lo ha hecho. Lo que si está claro es que si alguien realiza esa auditoría y encuentra algo, es su pasaporte a la fama. Cuesta creer que nadie haya puesto sus ojos en el tema.
  • Existe censura en los foros de TrueCrypt. Parece que en los foros de TrueCrypt no se puede hablar de otras soluciones de cifrado ni de herramientas para atacar a TrueCrypt.
No seré yo quien desacredite un producto como TrueCrypt que tantas alabanzas ha cosechado, pero del post original, tengo que decir que hay varios puntos que sí me preocupan bastante. 

Lo de la identidad desconocida es bastante grave, ¿usarías un algoritmo de cifrado del que desconozcas su autoría? probablemente no, como decía más arriba, criptografía = transparencia como axioma

Respecto a introducir un backdoor en el software, es técnicamente posible, y voy mas allá: de estar ahí, puede ser REALMENTE complicado encontrarlo. Y si no, que se lo digan a Theo 

Que cada cual saque sus propias conclusiones.

40 comments :

Alex dijo...

Hará una docena de años leí, creo recordar que en Cryptograma, las declaraciones de criptógrafos que explicaban como el gobierno de Estados Unidos les amenazaba para que no exportasen su software criptográfico. Puesto que el software criptográfico es considerada tecnología militar en dicho país, la acusación podía llegar a ser de traición a la patria y la condena de pena de muerte. (Sí, parece exagerado, pero os prometo que lo leí así).


El gobierno de Estados Unidos ofreció una salida a dicho criptógrafo, que era instalar puerta trasera y defectos secretos en su software que su empresa quería exportar. El criptógrafo declaraba que él no aceptó, pero de ahí sacó la conclusión que todas las compañías americanas que sí estaban exportando software criptográfico ya habían instalado en el software que exportaban las puertas traseras que su gobierno quería.

△cas. dijo...

Voy a dar mi opinión en cada una de las cosas (copio la estructura del artículo para que sea más fácil).

El dominio truecrypt.org se registró con una dirección falsa, en concreto 'NAVAS Station, Antarctica'. Lo de la dirección falsa no es nada raro.
Nadie sabe quienes son los desarrolladores de TrueCrypt (su identidad, se desconoce). Tengo diversos puntos de vista en cuanto a este tema. En parte, es "comprensible" que no quieran revelar su identidad por el hecho de que cualquier gobierno o persona pueda obligarle a poner un backdoor o cualquier malware. Este software es algo muy usado desde pequeñas y medianas empresas hasta cibercriminales. Sin embargo, el hecho de no revelar la identidad puede llevar a pensar a los usuarios que puede ser un honeypot (como bien dices al principio del post).
Los creadores de TrueCrypt trabajan gratis. Trabajan gratis, pero tienen un botón de donación, así que eso no es tan extraño.
Compilar TrueCrypt es complicado. Esto si es algo que debe analizarse. Es decir, ¿por qué lo hacen difícil? ¿Y si el binario está infectado con algún malware indetectable?
El código de TrueCrypt nunca ha sido auditado. Puede que alguien lo haya hecho y se haya retirado de Internet. No creo que nadie haya tenido interés en auditarlo en tantos años.
Existe censura en los foros de TrueCrypt. Me parece bien, sinceramente. Si fuese un foro de un programa que yo hubiese creado, no me gustaría que se hablara de la "competencia". Es como si vas a una casa de BMW y te pones a hablarle al dueño de los Mercedes tan bonitos que hay.
En fin, no sé que pensar en cuanto a este programa. Igualmente, el hecho de que esté backdoored o no, no creo que nos afecte en nada a los usuarios normales. Si lo han hecho, supongo que es para pillar a cibercriminales o robar información de empresas.


Si no está backdoored, bienvenido sea.

Alfonso dijo...

Nos hemos levantado un poco paranóicos hoy?...
Yago no te pegan este tipo de post :)
Alfonso Muñoz

Ignacio Agulló Sousa dijo...

Colega: la paranoia es nuestra profesión.

Julio dijo...

En el post original hay un comentario argumentando porque los autores prefieren ser anónimos, a mi me convence

couldbe on 23 April, 2011 at 4:45 am said:

I think the answer to most of your
questions could be that the TC developers remain anonymous for a
reason(s). That reason(s) is most likely that if the government or any
BAD people (criminal organizations) need help to crack TC encryption,
the actual developers/inventors cannot be found or located. There IS
risk involved in releasing and developing encryption that even the all
mighty US government cannot crack. It doesn’t mean that the developers
can crack it themselves, but…if you were the government or bad people
and you urgently needed to get into this file…where is the first place
you would go for help? Probably the people who invented the program.

Car dijo...

De todo lo que he podido leer aqui y en otros sitios he de decir que hay basicamente 3 puntos que como minimo son sospechosos:


1- ¿Porque no se conocen los desarrolladores de TrueCrypt? como bien comenta Yago en otros programas puede valer pero en uno como este que se supone que deberia proteger tus datos al 99,99%, umm un poco sospechoso si.


2- La dificultad añadida para poder compilar el código tu mismo y por ende revisarlo.


..y 3- Y no menos importante ¿De verdad nadie ha conseguido, podido, o querido auditar dicho código?, ¿Porque? y si alguien lo a hecho (que seguro que si) ¿porque no hay estudios serios como comenta el autor del articulo original?...en fin a partir de aquí que cada uno saque sus propias conclusiones que seguro seran todas distintas dependiendo del nivel de paranoia de cada uno ;-)...saludos.

Car dijo...

Si eso que comentas fuera verdad (y no dudo de que lo hayas leído por supuesto) el día que alguien descubra algo extraño dentro del código de TrueCrypt habrá movida y gorda.

Alejandro Amo dijo...

oh, dios...
todos mis proyectos tienen una cláusula importantísima, que muchos clientes han valorado muy positivamente con respecto a otras propuestas de la competencia y que me ha servido para robarle algun proyecto a otras consultoras mas grandes.
esa cláusula resume el cifrado de todos los datos de mis clientes usando truecrypt.

a lo que voy, es que ese software forma parte de mi vida personal y profesional, y seria un duro golpe saber que es un honeypot.

respecto a los indicios comentados, en desacuerdo total con la mayoria de ellos, especialmente que se trabaje gratis, o la licencia que usa, siendo fanático y colaborador de Debian soy el primero que reconoce que somos muy "nacis" con las licencias y rechazamos grandes utilidades solo por su modelo de licencia, no tanto como Stallman pero sí somos muy taxativos con la apertura de código, y en fedora imagino que mas o menos igual pasa.

Sin embargo concuerdo en que la cuestión de la identidad del desarrollador supone una sospecha muy sólida.

respecto al código fuente, mientras sea abierto y los binarios compilados en casa sean identicos a los precompilados de su web, no temeria, pero ciertamente parece que nadie ha hecho semejante auditoria o por lo menos no ha encontrado nada, porque si lo hubiera hecho ya seria mundialmente conocido.

**GASP** hoy no duermo...

Alejandro Amo dijo...

ya ha habido movidas gordas historicamente, con cosas que no debian estar en softwares de uso masivo para la proteccion de datos.
pero esto no pinta bien, porque batiria records...
quizas cometemos un sesgo de confirmación con truecrypt y ha pasado a ser de confianza por pura repetición, sin valorar lo esencial...
ay dios...

Alejandro Amo dijo...

pero hombre, admítelo. nos han fockado mas de una vez por pecar de lo contrario.
no se supone que tenemos que ser "sanamente paranoicos", o por lo menos dentro de un rango razonable de indicios?

Miguel dijo...

Y algun software como alternativa menos conspiranoica?

Simplicius dijo...

Sacando conclusiones: "Respecto a introducir un backdoor en el software, es técnicamente posible, y voy mas allá: de estar ahí, puede ser REALMENTE complicado encontrarlo. " podríamos discutir sobre esto, pero la pregunta es, cambia algo si hablamos de otro software aunque en ese software se conozcan los desarrolladores?

alfonso dijo...

Nuestra profesión no es la paranoia... es la gestión de riesgos :)
Alfonso Muñoz

alfonso dijo...

Venga entremos al trapo... A lo largo de la historia ha habido puertas traseras en productos criptográficos. Hay casos muy conocidos por ejemplo la mítica puerta trasera en la criptografía de Lotus Notes (http://www.cypherspace.org/adam/hacks/lotus-nsa-key.html) o muchos otros. Para mi las justificaciones que comenta Yago no son suficientes, si bien es cierto no sobran las auditorías de su código dado el impacto mundial de la herramienta. En otros casos, no es el caso de truecrypt que usa algoritmos estándar, analizar puertas traseras en algoritmos criptográficos es tarea casi imposible. Un algoritmo "bien diseñado", por ejemplo un PRNG, necesitaría mucho tiempo y trabajo para demostrar que matemáticamente existe una puerta trasera (https://www.schneier.com/blog/archives/2007/11/the_strange_sto.html). En resumen, si TC la tiene debe ser una mala implementación y si esta existe entiendo se podría detectar al igual que hizo Luciano Bello en OpenSSL.
Alfonso Muñoz

Yago Jesus dijo...

Hombre, si llevamos a la inversa ese argumento, ¿Significa que RSA o blowfish (algoritmos de los que se conoce muy bien sus autores) han sido 'presionados' para ser inseguros?

Yago Jesus dijo...

Remember NSAKEY :P

Yago Jesus dijo...

Cambia en el sentido de la confianza, un criptógrafo que se juega su reputación con un algoritmo tiene mucho que perder si se descubre algo negativo

Yago Jesus dijo...

Si TC está troyanizado puede ser casi imposible saberlo, mira Theo que aun busca código 'backdorizado' en OpenBSD ...


Respecto al post: Me ha parecido interesante traer a colación el tema dado que hay muchos usuarios de TC

alfonso dijo...

Sin la intención de convertir el hilo en eterno. ¿A que llamas troyanizar TC?. Si el algoritmo es estándar analizando el código se puede saber si está bien programado o no (hacer pruebas unitarias con test de NIST, etc.)...
Desde el cariño :)
Alfonso Muñoz

John Mellencap dijo...

Además de todo lo dicho, ¿Qué garantía tenemos de que los binarios que descargamos de TC han sido generados a partir del código fuente que nos proporcionan?
No obstante, con respecto al punto de "la dificultad de compilar uno mismo el código fuente", que sea difícil no significa que sea imposible y en todo caso, si fuera imposible entonces sí podría ser "sospechoso". Aún así, en mi opinión creo que la única manera de tener respuesta clara a todo esto, es partiendo de los binarios y dejando de lado el código fuente, que como digo podría no ser fiable. Por lo tanto, para mí, la única respuesta clara y fiable, sería mediante Ingeniería Inversa de los binarios.
En fin, estoy de acuerdo que un poco de paranoia viene bien, sin ella no se descubrirían muchas de las cosas que salen a la luz.
Un saludo.

Yago Jesus dijo...

Salte del 'negocio' y los riesgos y manchate las manos: ¿cuantas auditorías de código has realizado?


¿Crees que las auditorías de código son la panacea?


¿Opinas que Microsoft y Oracle no realizan dichas auditorías y por ende, ahí está la clave de los bugs?


O acaso no tiene más lógica pensar en que auditar código es un proceso difícil y que en ningún caso garantiza localizar todos los 'puntos calientes'


No seamos ingenuos, si existe una backdoor en el código de TC (NO estoy hablando de los algoritmos ...) va a ser duro de encontrar, no imposible, pero altamente improbable.


Me vuelvo a remitir al caso OpenBSD

amunoz dijo...

Buenas,
precisamente esa es la clave que creo que puede llevar a equivocos. Diferenciemos algoritmos implementados en TC y el software TC en general (con muchas otras funciones que realice). Como he dicho los algoritmos criptográficos basado en estándar se pueden aislar su implementación, analizar y ver si funcionan correctamente, lleve más o menos tiempo. Por otro lado, sería analizar si el software TC en general introduce algún mecanismo extraño del tipo deja una copia de una clave en un lugar que no debería, ficheros temporales, etc, etc. De ahí mi pregunta de que entenderíamos por troyano/backdoor en TC. Si entiendo que es lo segundo pues dependería logicamente de la complejidad del código pero ese razonamiento es igual en TC que en cualquier software medianamente complejo (mejor o peor documentado), con lo que desde mi punto de vista el post que comentas que destaca partes oscuras de TC es un poco sensacionalista, sigue sin definir que es un troyano/backdoor en TC si este no aplica a los algoritmos criptográficos.

A mi no me parece comparable el caso de OpenBSD con TC (por complejidad del código) pero bueno es opinable como todo.

Alfonso Muñoz

Yago Jesus dijo...

Lo explicaré con un símil: La comida, una comida puede estar en buen o mal estado, puede tener o no tener bacterias, ser más o menos fiable, eso afecta a TODA la comida.

Entonces, que parámetros podemos aplicar para definir un riesgo a esa comida: su origen. No es lo mismo un plato de arroz comprado a un chino anónimo en Gran Vía que un jamón 5j comprado en el corte inglés.

Evidentemente no existe nada al 100%, siempre hablamos de probabilidad.

Y eso es lo que pasa con TC, a mi, un software / algoritmo, whatever firmado por bruce schneier oye, me da una confianza casi ciega (aunque se haya podido corromper por el poder del dolar) pero algo que lo firma un pseudo, pues que quieres que te diga, me da mucha menos confianza.


Y creo que en cripto, la transparencia ha de ser total, eso es un axioma.



Eso es lo que he tratado de decir en el post, si tu crees que eso es ser sensacionalista, celebro y admiro ese nivel de confianza general :)

Alfonso Muñoz dijo...

Si yo en realidad lo que quiero es bailar un gangnam style contigo, el resto son escusas :)

Ya sabes lo que decía Juvenal:Confiar en todos es insensato; pero no confiar en nadie es neurótica torpeza. En este caso concreto la desconfianza/inseguridad en una herramienta hay que probarla con hechos el resto es perturbar el espacio-tiempo, aumentar la entropía a lo tonto :).
Alfonso Muñoz

Yago Jesus dijo...

Como te gusta trollear !!


Al final todo menos darme la razón ! hay que confiar pero con criterio, al final decimos lo mismo.

Alejandro Amo dijo...

por cierto, comentan claramente que sus binarios estan firmados con sus certificados digitales por lo que la compilacion del codigo fuente dará archivos diferentes.
pero la cuestion es que el código esta ahi, y genera ejecutables válidos.
por tanto, si hay un backdoor, como dices, John, solo la ingenieria inversa podría determinarlo.

Car dijo...

Touché amigo.

Teknologeek.com dijo...

Me parece bastante interesante el 3er comentario (de Alex), es una teoría muy plausible, yo también había sospechado en algún momento de la fiabilidad de Truecrypt, sobre los bugs, tambien estoy de acuerdo, si pudieran checar el codigo fuente a detalle las grandes empresas no lanzarían concursos millonarios para que la gente les ayudara a encontrar bugs. ¿si no fuera truecrypt que otro usarian ustedes?

errepunto dijo...

Yo últimamente uso EncFS, que no se si será tan potente y versatil, pero me resulta de gran utilidad para almacenar ficheros cifrados en dropbox y similares.

Siempre puedes echarle un vistazo a las sugerencias de Alternative To:
http://alternativeto.net/software/truecrypt/

Por cierto, en el wiki de Arch Linux hay una tabla comparativa bastante interesante:
https://wiki.archlinux.org/index.php/Disk_Encryption#Comparison_table

Saludos.

Carlos C. dijo...

Es tontería lo de la anonimicidad. Si temes que 'gobiernos' y las 'organizaciones criminales' no te 'requieran', la fuerza del sistema no debe recaer en el código. Si el código es sencillo, no se requiere tu capacidad, para entenderlo. La fuerza debe recaer en el método y en la clave, nunca en el código.

Carlos dijo...

Todo depende contra quien nos protejamos.

Yo protejo mis archivos personales mas importantes y los de la empresa con este software.

Pero la protección viene a protejer contra un robo fisico, ya sea un ladrón casual o alguien mal intensionado.

Creo que TrueCrypt supera con creces lo necesario.

Si viene la NSA a robar mi computadora personal, es como prepararse para luchar contra extraterrestres, algo demaciado improbable que suceda.

Recordemos que si nos atacan online, los discos montados ya estan desencriptados.

Martin dijo...

De windows 9x si no mal recuerdo

Martin dijo...

Lo que yo si creo es que, como desarrolladores, sean presionados para que codifiquen una backdoor de forma discreta o de dificil deteccion.

Ignacio Agulló Sousa dijo...

Información relevante:
How I compiled TrueCrypt 7.1a for Win32 and matched the official binaries
https://madiba.encs.concordia.ca/~x_decarn/truecrypt-binaries-analysis/

Ignacio Agulló Sousa dijo...

Más información relevante:
TrueCrypt to go through a crowdfunded, public security audit
http://www.net-security.org/secworld.php?id=15899

OctavioA dijo...

Hay alguna alternativa que me puedan recomendar? Este artículo preocupa bastante... y eso que todos queremos tener mejor seguridad en los dispositivos. Saludos!

kimberli dijo...

si quieres encryptar tu informacion, con plena seguridad es no usar estas porquerías de softwares que dejan tus datos y conexion y puertos abiertos para un observador desde lejos.


para los que se andan cuidando tanto con sofware de seguridad de datos es lo que mas busca el fbi y este puede ser un truco de la fbi dea o interpol.



si quieren mejorar su seguridad compren una estacion de hardware con firewall original.
o un programador que le encripte en tu empresa la informacion y que dicho sea de confianza.


yo por lo general no uso nada belico porque eso no tengo que andar escondiendo.


solo documentales anime, videos HD. que en cualquier momento si lo pierdo me vale ñec.


ya si entran a la maquina de empresa ahi si tengo mi base de datos de los empleados
cuentas y seguro social que ese sistema si lo tengo sin internet.


y para el que quiera usar internet tenga que usar la maquina virtual.

Cris dijo...

Vaya que has sido todo un visionario con este post! Ya han visto la página de TrueCypt?

Yago Jesus dijo...

Sí, lo hemos visto, a ver que pasa porque todo suena muy muy raro

metomentodo dijo...

ara ke ? :D