miércoles, junio 01, 2011

Tuenti Security Issues (I de V)

************************************************************************************************
- Tuenti Security Issues (I de V)
- Tuenti Security Issues (II de V)
- Tuenti Security Issues (III de V)
- Tuenti Security Issues (IV de V)
- Tuenti Security Issues (V de V)
************************************************************************************************

Tuenti es una red social que tiene el honor de ser una de las startups tecnológicas españolas que más éxito están teniendo. A día de hoy cuenta con una cuota de uso entre jóvenes altísima, y es la más popular aquí en España, con diferencia, en rangos de edad de menores de 30 años – como es mi caso -.

Sin embargo, como dijo el tío Ben, todo gran poder conlleva una gran responsabilidad, por lo que debido a que son el punto de acceso principal de los jóvenes españoles, deben tener especial cuidado contra los depredadores y atacantes.

Sé de buena tinta que se toman los bugs de seguridad bastante en serio, tras la experiencia que tuvimos con un bug de XSS que permitía hacer Hijacking, aunque también tienen cosas que pueden ser mejoradas, por eso me decidí a pedir contribuciones por twitter de fallos y debilidades en el sistema de Tuenti que ellos conozcan porque ya se los hayan notificado, y que deban ser mejorados.

Me consta que muchas de estos issues están en el roadmap de Tuenti y que los tienen en el ToDo para dejar una plataforma más segura. Sin embargo, a día de hoy todavía están aquí. Vamos con la primera parte del artículo con lo que a primera vista cualquiera puede notar.

Issue 1: La página de login bajo HTTP

Una de las cosas que deben ser tenidas en cuenta es que hay que evitar los puentes HTTP-HTTP-s en las páginas donde un usuario debe introducir sus credenciales de acceso. Hay que tener en cuenta que un atacante podría realizar una ataque Man in the Middle para hacer un ataque SSLStrip, es decir, en el que se quitan todos los links HTTP-s entre la víctima y el atacante y robar las credenciales.



Figura 1: Puente http/http-s en el formulario de login

Al estar entregado el formulario bajo HTTP, la victima jamás recibiría una alerta de seguridad si hay un mitm con sslstrip. Es por eso que es necesario que las credenciales se introduzcan bajo formularios entregados con HTTP-s y que no mezcle contenido mixto HTTP y HTTP-s en la misma página.

UPDATE: Ahora la página va sobre HTTPs para mejorar esta debilidad.
UPDATE: Ahora la identificación de la cuenta permite poner Latch en Tuenti

Issue 2: La página de login bajo HTTP… quieras o no

En muchas aplicaciones web, la página de login se entrega por defecto bajo HTTP, pero los usuarios más avanzados y preocupados por la seguridad, solicitan el acceso bajo HTTP-s forzando manualmente la URL o utilizando extensiones de los navegadores que eviten las redirecciones a HTTP. Sin embargo, con Tuenti es imposible, porque si se solicita la página bajo HTTP-s siempre obliga a autenticarse bajo HTTP.



Olvidate por tanto, de utilizar extensiones para forzar el uso de HTTP-s en las conexiones con HTTPS Everywhere, Force-TLS o KB SSL Enforcer.

UPDATE: Ahora va siempre bajo HTTPs

 Issue 3: Certificado digital sin validación extendida

Los certificados digitales que compran las organizaciones pueden obtenerse con procesos automáticos o mediante la validación extendida de personas. La validación extendida ayuda a garantizar a un usuario que el certificado no ha sido obtenido mediante un proceso automático que, como demostró Moxie Marlinspike, con el bug del null byte, pueden ser susceptibles de fallar.

UPDATE: Ahora el certificado es de validación extendida

Issue 4: Certificado digital con cifrados débiles

A la hora de generar un certificado digital, se pueden elegir los algoritmos que se van a permitir en los túneles SSL. En este caso, los algoritmos que permite son algunos inseguros y deberían deshabilitarse para evitar ataques de crackeo offline de las conexiones, además de establecerse una prioridad de uso.



Figura 2: Cifrados permitidos, sin preferencia por el servidor

UPDATE: Ahora los nuevos certificados tienen subsanadas estas debilidades

Issue 5: TLS-Renegotiation gap, SSL Resumption y PCI-Compliant

Cuando se realiza el análisis de Qualys para certificados digitales, llama la atención la baja nota que se obtiene con este tipo de certificados y, especialmente, en la parte de negociación de claves. Esto es así porque han anulado la Renegociación TLS para evitar el bug de TLS-Renogation en lugar de parchearlo, está anulado, que es un workaround bastante criticado porque deja en manos del cliente definir el nivel de seguridad del servidor manualmente.



Figura 3: Calficación obtenida en el test Qualys

En segundo lugar, aparece una nota negativa porque el certificado no está hacieno uso de los IDS para reutilizar datos de sesiones exitosas, lo que haría que el rendimeinto de las conexiones fuera mucho más alto.



Figura 4: Issues en el certificado digital

Así, mirando las características en total del certificado, como se puede ver, no pasaría una auditoría PCI, aunque hay que decir que Tuenti no está obligado a pasarla.

UPDATE: Ahora los nuevos certificados tienen subsanadas estas debilidades

Estos 5 Issues no son bugs de seguridad en Tuenti, sino puntos que deben mejorarse para aplicar los principios de Mínimo Punto Exposición, Mínimo Privilegio Posible y Defensa en Profundidad, fundamentales en los procesos de Hardening de Sistemas.

Saludos Malignos!

************************************************************************************************
- Tuenti Security Issues (I de V)
- Tuenti Security Issues (II de V)
- Tuenti Security Issues (III de V)
- Tuenti Security Issues (IV de V)
- Tuenti Security Issues (V de V)
************************************************************************************************

6 comentarios:

Alejandro dijo...

Pues si tienes para hacer 5 artículos sobre fallos de seguridad solo de tuenti da para pensarse su uso...

Asfasfos dijo...

Miedo me das Chema si has sacado todo esto sin ni siquiera loguear en Tuenti...

Juan Antonio Calles dijo...

Curiosamente hoy me ha llegado un email con el título "TRABAJA EN TUENTI Y APRENDE CON LOS MEJORES" invitándome a esto:

https://contest.tuenti.net/

Dan un iPad al ganador del concurso de programación, si les enviáis los posts lo mismo os lo lleváis XD

B dijo...

Puede que me equivoque pero creo que lo referente a negociación de algoritmos de cifrado tiene que ver con el servidor HTTP mas que con el certificado...

Winston Smith dijo...

Tuenti, Carabook y todo ese rollo está sobrevalorado y es la madre de todas las burbujas virtuales..
En ese estanque de aguas podridas pesca información todo el que puede, pero cambiando de tema, y perdona el atrevimiento, pero tengo mucho interés en conocer tu opinión sobre la guerra abierta entre la nomenclatura burocrática china y Google. Realmente que piensas de Google y sus herramientas??? Un saludo.
http://hacksperger.wordpress.com/

Anónimo dijo...

Al parecer se han aplicado un poco de lo que has publicado y han cambiado su politica de certificados por parte del usuario, ahora su predilecto es TLS_RSA_WITH_RC4_128_SHA. También han cambiado la "Session resumption"

Saludos

Entradas populares