28 junio 2012

Passwords y otras yerbas


Finalmente terminé las casi 500 páginas de informes para la acreditación de un postgrado, quieren acreditarlos todos pero no creo que valga la pena hacerlo por lo que me pagan. Mejor que lo haga otro, yo les dejé un 80% avanzado para otros programas. Cobré y me gasté la plata hace rato, ya estoy listo para mandar a imprimir y olvidarme del maldito asunto.

Algo que se me había olvidado contarles ¿recuerdan que hace unos días encontré un virus que casi me hace perder toda la información del disco duro? Bueno, resulta que Gmail me estuvo avisando desde un mes antes más o menos que mi equipo parecía estar comprometido, recomendaba que corriera el antivirus, cargara las últimas actualizaciones y sobre todo que activara la seguridad en dos pasos para el correo donde envían un código al teléfono celular.

Como no me preocupaba la confidencialidad de mis correos pensé que se trataba solo de un marketing de Google para recoger números de celular y no le hice caso, ahora me doy cuenta que habían notado que tenía un virus. ¿Como lo detectaron sin correr un antivirus? Parece que tienen acceso bastante libre a mi equipo, pero en fin, dudo que a algún gobierno o policía le interesen mis asuntos y de ser así lo único que obtendrían serían gigabytes de porno-material, así es que me da lo mismo.

A propósito de Google, curioseando en Internet me entero que la Agencia Nacional de Seguridad de USA (NSA) que se dedica a la informática, tiene un acuerdo con Google de investigación y desarrollo que el gobierno y la corte suprema de USA han decidido mantener en secreto. Ya me imagino la clase de investigación y de desarrollo que hacen, ojo con Google.

Y voy en mi tercera semana del curso de criptografía, después de 36 sesiones he aprendido montones de cosas que ni sospechaba. De las pruebas ni hablar, tomaré el curso nuevamente el otro año, pero antes debo pasar unos meses aprendiendo probabilidades discretas, eso es lo que me tiene bloqueado en las pruebas. En todo caso las cosas importantes las tengo claritas.

He aprendido cosas fundamentales y otras anecdóticas, todas muy interesantes. Entre las fundamentales está la dificultad con el azar: no existe manera de saber si una secuencia es realmente al azar o tiene patrones que se repiten, la definición de azar es muy difícil y es como definir el tiempo, todos tenemos una idea intuitiva de lo que es pero no es fácil definilo de manera precisa. Si se trabaja con bits el azar significa que la probabilidad de cada uno de los posibles eventos de un universo es exactamente igual a 0.5, cuando el universo se agranda demasiado como para contar todos los eventos esto se coloca muy difícil de determinar.

Con una clave al azar del mismo tamaño o mayor que el mensaje existe el secreto perfecto: es estadísticamente imposible descifrar un mensaje encriptado con esa clave cuando se usa una sola vez, lo malo es que tener claves tan grandes no sirve en la práctica. Para la implementación práctica se usan los generadores seudo aleatorios (PRG) que son funciones que alimentamos con una clave pequeña y esta se expande hasta tener un gran tamaño, sin embargo por grande que sea la clave es siempre un subconjunto muy pequeño de todas las claves posibles, por lo que el secreto perfecto ya no existe.

El secreto perfecto proporciona una seguridad máxima, los generadores seudo aleatorios una seguridad razonablemente buena que se llama "seguridad semántica". Hay otra seguridad todavía más débil que se llama impredectibilidad, ni siquiera es seudo aleatoria pero la cantidad de operaciones que hay que hacer para predecir una secuencia es tan grande que en la práctica permite encriptaciones muy seguras, ese es el tipo de seguridad que normalmente tienen casi todos los algoritmos actuales.

A propósito ¿han pensado cuan débil puede ser su password? Hay un ataque a los passwords al que ningún sistema es inmune: la fuerza bruta, que consiste en probar sistemáticamente con todas las posibles combinaciones. Como la sola fuerza bruta podría tomar demasiado tiempo, existen técnicas para hacerlo más rápido. En este sitio podemos encontrar una aplicación interesante que prueba con 12 diferentes ataques, 6 de ellos de diccionario y estima cuanto tiempo se necesita para averiguar un password de esta manera.

Algunas pruebas las pueden ver aquí, por ejemplo un password débil del tipo nanynany puede ser encontrado en menos de un día de ataque, un password similar al de mi correo en cambio tomaría 151.821 siglos en encontrarse y contiene 460 quintillones de posibles password. Y eso que no es muy fuerte. Si lo van a probar les recomiendo que no usen sus password reales sino uno parecido.

21 comentarios:

  1. Lo que me dio mi simil clave:

    Time To Crack:
    6573008 centuries

    Total Passwords in Pattern:
    20 Sextillion

    Parece que estaría o debiera estar tranquilo

    Atte: J&1/2

    ResponderBorrar
  2. lo q gmail avisa es de la conexiones recurrentes desde la ip de su maquina y por ello sospecha de la presencia de una virus. interesante q la pagina q recomiende para ver fiabilidad de claves no tenga validos sus certificados de seguridad al conectarse a ella.

    ResponderBorrar
  3. Juan y 1/2 nadie sabrá tus secretos, por lo menos durante los próximos 6.573.008 siglos. Una cosa que noté es que no incluye muchos diccionarios españoles, debería haber reconocido algunos patrones en mis passwords.

    Chris, ah claro, no se me había ocurrido. Lo que si se me ocurrió es que la página esa que puse podría estar cosechando passwords, por eso coloque que probaran con passwords "parecidos" no exactamente los mismos. GNU no implica necesariamente ser honrado o buena gente :)

    ResponderBorrar
  4. Mi clave es de 27 caracteres más o menos y con monosílabos indeductibles, que los elegí por una simple cadencia auditiva traducia a una especie de onomatopeya más una serie numérica final.

    ResponderBorrar
  5. Ya me diste (a mi y a todos los regulares de este templo del ocio) la clave para encontrar tu clave, con mucho menos información se puede encontrar facilmente, diste el número de caracteres, el contenido (cadencia auditiva, onomatopeya, serie numérica).

    Ahora cámbiala, antes que te "hackee" jajaja

    ResponderBorrar
  6. ¿y el exponente de Liapunov? ¿y la transformación del panadero? ¿eos no generan azar verdadero?

    ResponderBorrar
  7. Si la neurona no me traiciona esos son medidas en sistemas caoticos, no tienen relación con el azar.

    El problema con el azar es que no puede ser generado por ningún algoritmo, por definición todo algoritmo es determinístico. Por ejemplo en un generador seudo aleatorio se alimenta con una semilla que es al azar (por ejemplo una clave secreta) y el algoritmo solo la expande a una clave que no puede ser estadísticamente analizada,o sea es impredecible en todo su largo, PERO si vuelves a alimentar el algoritmo generador con la misma semilla, obtienes exactamente la misma clave, o sea de azar, nada.

    El azar "practico" es fundamentalmente falta de conocimiento, o sea incapacidad práctica para predecir. Encontré un artículo que habla de aprovechar algún efecto cuantico para generar azar verdadero, pero creo que esas son solo ideas, no se han omplementado en la práctica http://www.solociencia.com/fisica/10102203.htm

    ResponderBorrar
  8. No, la clave es cumbiaquetevasderonda2102, jajajajajaja

    J&1/2

    ResponderBorrar
  9. Es fácil hacer buenos passwords, aqui va otro "lafelicidadjajajajadesentiramorjojojojo1313"

    ResponderBorrar
  10. La clave ideal debe ser larga - para soportar el machaconeo - pero lógica para que uno la recuerde bien. Para la máquina machacona la cadena "Muchosañosdespuésfrentealpelotóndefusilamientoelcoronelaurelianobuendiahabíaderecordaraquellaremotatardeenquesupadrelollevóaconocerelhielo" no es diferente a"wqwe hdsfjwqrijukd495489h4843h5485439p4u585u4h3p3495hj8o45vvhgu9tp894h4wfoi3hoiewwoperhphpoooo" o cualquier cadena de igual longitud pero uno puede recordar muy bien la una y para nada lo otra.

    ResponderBorrar
  11. Mish una pass entregada por una simpla pagina chilena:
    73023000 centuries
    Total Passwords in Pattern:
    221 Sextillion

    ResponderBorrar
  12. Anónimo, Wilson, es entretenido esto de los passwords. En verdad cualquier clave de más de 10 simbolos es casi inmune a ataques de fuerza bruta, excepto que sea una palabra con algún sentido, eso la haría vulnerable a ataques de diccionario, para prevenir ataques de diccionario se puede usar una palabra que sea difícil de encontrar en un diccionario pero que aún pueda recordarse, por ejemplo "saxahuaman" o "enteroflaite".

    Los principales ataques se basan en la debilidad más obvia: en que se basó el usuario para construir el password, por ejemplo Sergio habñló de música y onomatopeya, eso achica enormemente el espacio de claves posibles y si sabes cual es el largo lo achicas mucho más con lo que queda todavía más predecible.

    Practicamente todos los que se dicen "hackers" "crackers" o lo que sea simplemente usan esas suposiciones basadas en combinaciones usuales (por ejemplo el signo del zodiaco y fecha de nacimiento, el n´´umero de la casa, el teléfono, nombres o apodos de los hijos, etc. son técnicas muy comunes para construir un password.

    Para construir un password eficiente debe ser largo de manera que no lo puedan atacar por fuerza bruta, tener algún sentido para que no se nos olvide, que ese sentido no se pueda asocioar con nada a nuestra persona (no tener fechas, teléfonos, nombres, etc.) y que nadie tenga idea como lo construimos. Así, las posibilidades que lo averiguen bajan bastante y tenemos un password "eficiente"

    ResponderBorrar
  13. OK, lo consiguió, don Tomás... Estoy preocupado por mi password crackeable en menos de un día T.T

    ResponderBorrar
  14. César, lo mejor es no tener nada importante, las cosas que se supone que no deberían saberse no debieran estar en una cuenta de correo a tu nombre, esa es la mejor protección. A mi me pueden revisar el computador, entrar y pasearse por mi correo y no tengo absolutamente nada confidencial, ni una palabra así es que no me preocupo por password, virus, troyanos o lo que sea.

    Para los asuntos piola la encripción es obligatoria, especialmente en el disco y para eso basta tener un solo password muy fuerte. Para todo el resto con "12345" basta y sobra :D

    ResponderBorrar
  15. Hola Tomas, leyendo tus post de estos dias sobre este tema, mas que preocuparme de que me hackeen las claves del gmail...creo que no tengo nada que esconder jjeej,lo que me preocupa es que todos los comprobante de mis pagos de dividendos,servipag (agua,luz, gas telefono,autopista...etcc) tarjetas, transferencia de prestamos esta todo digitalizado en archivos y no imprimo nada.......entonces como decias si a gmail se le ocurre borrarse o empezar a cobrar de un dia para otro coopere nomas...asi que mañana mismo empiezo a bajar archivos y imprimirlos ....tendre para rato..

    ResponderBorrar
  16. Probé dos pasword. El la AFP, que yo pensaba muy seguro, dice que se puede crackear en menos de un mes. El de mi cuenta de twitter, que creía sencillo y predecible, 200 años...Parece que los voy a intercambiar

    ResponderBorrar
  17. Aparte de los temblores, la caida del euro, etc., ahora tenemos el problema de la seguridad informatica! No hay salud!

    Hay que recordar que ni las aplicaciones licenciadas nos pertenecen, ni las cuentas del facebook o yahoo nos pertenecen. En el primer caso, solo tenemos el permiso para emplearlas, y en el segundo caso pueden cerrarte la cuenta sin mayor expresión de causa (esto se establece en los laaaargos párrafos que anteceden al botón ACEPTO). Esto es mas/menos ignorado por el común de los usuarios.

    Y también está el tema legal, que en general va atrás de todo el desarrollo práctico.

    A veces cuando la información de alguna persona o institución es realmente valiosa (no las fotos con "la otra" ni algún problema médico, o similares) de conseguir el ataque va por dentro y se ejecuta por personal que trabaja en las granjas de servidores (por ejemplo), o sea corren los billetes mas que la habilidad para hackear desde afuera.

    Bueno, espero que la psicosis se haya debilitado con mi contribución...
    ivanr

    ResponderBorrar
  18. Rodrigo, no necesitas imprimir, basta que los bajes a tu equipo y por si las moscas lo quemes en un DVD, con eso quedas liz taylor.

    Anónimo sigue mis consejos para los password, cambialos con frecuencia y anótalos en una agenda o algo guardada en un lugar seguro, con eso basta-

    Ivan, así pasa, las inseguridades más grandes son de origen social (alguien a quien le pasan plata o un password fácil de averiguar por suposición. Tampoco está de más tener todo anotadito por alguna parte.

    ResponderBorrar
  19. Yo uso Password Safe. El día que se me pierda me voy a la cresta con todas las passwords (no me las sé)

    Tomás, justo hoy Bruce Schneier posteó lo siguiente: So You Want to Be a Security Expert?

    ResponderBorrar
  20. ¡Que está viejo Bruce Schneier! pero si no hace nada era un chiquilin barbón, como pasa el tiempo por la cresta.

    Para los password yo uso una receta que le leí al mismo Schneier hace muuuchos años: decía que con las contraseñas personales había que tener un cuidado similar a que con las llaves o la plata y aconsejaba cambiarlas más o menos seguido y siempre tenerlas anotadas en un papel en algún lugar donde uno guardaría la plata (el escritorio o la billetera por ejemplo). Eso para las contraseñas irrelevantes (correo, facebook, twitter y cosas así).

    Para las cosas importantes yo tengo una buena contraseña que me la se de memoria y no la he cambiado nunca, creo que aguantaría bien la mayoría de los ataques.

    Muy bueno el artículo, la seguridad es un asunto más amplio que ecriptación, virus y esas cosas con que normalmente se relaciona.

    Una de las cosas que más se enfatiza en todo el curso de criptología es que nunca, nunca, jamás alguien trate de aplicar desarrollos propios, ningún descubrimiento propio es criptológicamente seguro hasta que es probado por mucha gente, durante mucho tiempo y se convierte en un estandar, siempre hay que usar bibliotecas que usen estándares bien establecidos, ni siquiera implementar por cuenta propia es bueno.

    ResponderBorrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"