miércoles, 19 de septiembre de 2012

Si te Puedes Acordar de tu Contraseña, es Insegura.


Me interesó un artículo de ArsTechnica respecto a la seguridad de las contraseñas y que lleva por título “Why passwords have never been weaker - and crackers have never been stronger”. Bien vale la pena leerlo completo, ya que tiene muy buena información.

Mi conclusión al final de leer ese artículo es que cualquier contraseña de la que te puedas acordar seguramente podrá ser crackeada en segundos, minutos, o en el mejor de los casos: días. Pero se quebrará tarde o temprano. 

Si es cercano a lo inquebrantable, significa que tienes una contraseña robusta y eso me lleva a pensar que tienes una muy buena memoria o que usas un administrador de contraseñas como yo para almacenar passwords complejos.

¿Por qué digo lo anterior? Leyendo el artículo, me queda claro que los trucos que usamos para armar contraseñas son ya sabidos por los crackers y por lo tanto incorporan este conocimiento en sus búsquedas. 

Es importante mencionar que este conocimiento para romper passwords se ha beneficiado de los robos de millones de contraseñas de los últimos años y meses (LinkedIn, Yahoo y un largo, largo etcétera) donde con passwords reales han visto de primera mano las técnicas utilizadas por las personas alrededor del mundo y en diferentes idiomas. 

Este conocimiento se ha vertido en las herramientas que automáticamente crackean contraseñas y lo anterior aunado al poder de cómputo actual, al uso de SHA-1/MD5 en lugar de BCrypt para hashear contraseñas, a no poner sal a los passwords, a los trucos como las rainbow tables y al mejoramiento en los algoritmos de búsqueda, ha dado como resultado un decremento importante en el tiempo que se logra descubrir una contraseña robada. 

Claro, partiendo del supuesto que los passwords robados tenían al menos una protección y no estaban en claro ya que de ser así ni siquiera hay que romperlos (que llega a suceder).

Una vez que se “obtiene” una base de datos típica de contraseñas, el cracker puede usar una sola computadora que puede llegar a intentar (conservadoramente y dependiendo del hardware) hasta 8,000,000,000 de posibles contraseñas por segundo en un ataque de fuerza bruta. Si se añaden más procesadores a ese mismo equipo o se usan más computadoras…simplemente hagamos las sumas.

Por ejemplo, en el robo de contraseñas de LinkedIn, extrajeron 6.4 millones de passwords. El 52% pudo ser crackeado en dos horas. Y no fue un gobierno con cientos de recursos con capacidades de cómputo extraordinarias, sino un dude llamado Jeremi Gosney.

Los siguientes trucos que amamos para armar contraseñas simplemente han sido rebasados. Y quienes recomendamos usar estos trucos estamos un pelín desactualizados. 

Vaya, hasta los password-meters llegan a meter la pata, sí, esos sitios en donde metes tu contraseña y te dice qué tan fuerte es. 

En fin, revisemos algunos de los trucos más socorridos por todos nosotros, estoy seguro que usas al menos una de estas técnicas geniales que sugiero empieces a cambiar:

Usar el nombre del sitio como password. El password para mi cuenta de LinkedIn: linkedin. La contraseña para Twitter: twitter. Y los atacantes ya se saben las variantes: LINkEDIN, linkEDIN o LiNkEdIn.

Poner numeritos adelante o atrás. Twitter123, 123Yahoo, Interjet135, Hotmail2000, 2012GMail, 1977gmail, Tumblr2007. Si se fijan los números casi siempre son años de nacimiento o cósmicos (2000); o bien el año de creación de la cuenta (2012) pero también pueden ser combinaciones de teclado: 123, 67890, 3456, etc. 
Todo esto ya lo saben los crackers. Y ni qué decir del popular 123abc, abc123.

Cambiar letras por números. Me encanta usar este truco: “Tw1tter”, “L1nked1n”, #3vern0t3”, “K0manch3”, V1vi4M3xic0K4br0n3$” o “L3on” como passwords. También M0n0, Lup1t4, $uper, m3g4m3nt3, n1nj4 o ch1d0. 
Los atacantes ya se saben los truquitos de sustitución y alimentan a sus herramientas en consecuencia. 
Recuerden, pueden probar alrededor de 8,000,000,000 de contraseñas por segundo; créanme, pueden poner y probar millones de variantes.

Poner nombres o palabras.  Bueno, realmente este no es un truco porque ni siquiera hay un esfuerzo por complicar el password pero igual lo puse porque habrá usuarios que piensan que sí es un truco. 
Nada más alejado de la realidad. Es lo peor que se puede hacer. Se puede crackear en segundos, literalmente. Ejemplos: Guadalupe, Juan, amor, tequiero, azul, Ana, Lupe, Mike, Pablo, perro, rata. Sobra decir que todos ellos son muy malos.

Poner caracteres especiales al principio o al final y hasta en medio. ##Perro, Batman%%, Me&&you, Pedro$$$, Ma%%lena, Net//flix. Poner caracteres especiales lo hace más difícil, cierto? Pues no, así tal cual están en los ejemplos no sirven de mucho.

Números. Nada “mejor” que poner numeritos, esos crackers nunca lo sabrán! Y mejor aún si van en el orden que marca el teclado: 123, 1234, 12345, 123456789. O mejor al revés: 0987, 09876. Tal vez 12340987, 111111. Ok, buen truco chicos listos, pero inútil actualmente.

Combinaciones del teclado. Paren un momento y vean su teclado qwerty para que les hagan sentido los ejemplos siguientes. Siempre pensé que era una buena idea poner zaq123, zaqxsw, zxcasdqwe, 123qweasd, poipoilkj. Vean su teclado, cuántas combinaciones pueden poner que sigan un patrón y que sean fáciles de recordar? 4rfv5tgb, 1029384756. 
Yo ya puse varias posibilidades. Buena suerte cuando la máquina intente 8,000,000,000 por segundo (sí, me gusta repetir esta cifra para que se nos quede grabado). 
En lo que me tomo el café tendré la contraseña.

Vámonos al revés. Este sí es un buen truco. Poner la palabra Twitter al revés Rettiwt y usarla para dicho servicio. Koobecaf para Facebook. Xobpord para DropBox. Nozama para Amazon. Bueno, pero realmente es un buen truco, no? Déjame lo pienso. Mmhh. No lo creo.
Y claro, no hay que olvidar que los anteriores trucos se pueden combinar.
¿Me creo muy listo? Pues no, yo mismo he usado y desgraciadamente sigo usando varias de estas técnicas, es que son muy buenas! Pero he decido cambiar.

Solución.
Los passwords no están rebasados, sino la manera en que los creamos es lo que está caduco.

Bueno, una vez que los truquitos arriba mencionados quedaron excomulgados, qué se debe de hacer?

Contraseñas aleatorias. No hay de otra. Y claro, para ello usar un administrador de contraseñas que abundan en el mercado. Yo uso LastPass. 

Ejemplos de buenos passwords y con longitud adecuada:

·        ]Yfaos31gQ#0N(:n
·        utf1Xhp$h-FSRRNk
·        M?yA1ouu^O@=BH#l,

Lo no tan ideal y segunda mejor cosa que puedes hacer, es seguir estos otros consejos que en su momento me parecieron bien, pero hoy en día ya no tanto.

¿Estoy exagerando? ¿Necesito tomar un whisky, re-pensarlo y relajarme? Escucha este audio y luego lee un par de artículos sobre password cracking (o si prefieres leer de un tema relacionado: PINes comunes de cuatro dígitos). Y ya luego hablamos.

El secreto para vivir en las nubes sin caerse

ComputerWorld me hizo el favor de publicar mi opinión sobre la seguridad en las nubes, espero les guste.

http://www.computerworldmexico.mx/Articulos/25271.htm