La fragilidad de los números de identificación personal

En [PDF] A Birthday Present Every Eleven Wallets? The Security of Customer-chosen Banking PINs un análisis de datos obetnidos sobre algunos PINs (Personal Identification Number).
Entre los descubrimientos, utilizar la fecha de cumpleaños permitiría acceder al cajero en 1 de cada 11 (en realidad, entre 11 y 18) tarjetas.

Se hacen análisis de los numeritos y algunos corresponden a palabras (recordar que los teclados numéricos incluyen caracteres a veces): LOVE sería la más frecuente (5683) pero hay otras.

De todas formas, parece que la elección por parte del usuario de los PINs no es tan mala como en otros tipos de clave (¿seguramente porque nos dan un pin y no lo cambiamos?).

Más datos sobre claves

En The science of password selection un (otro) informe sobre las claves que se obtienen de diversas maneras de usuarios reales en la red.

De mis notas.

¿Cómo eligen las claves los usuarios?

En este caso los datos vienen de varias fuentes:

The data I’m going to analyse comes from a variety of sources including the Sony and Gawker breaches I referenced in the previous post as well as other LulzSec releases including pron.com and a collection of their random logins.

Se usan nombres (un 14% de claves, derivadas de nombres):

I also suspect they feature heavily when someone reaches into the recesses of their mind to come up with a password. Now of course the name is not necessarily the name of the account holder; it could be a spouse, the kids or even the family dog. Furthermore, it could be a first name, a middle name or a last name.

Un 25% son palabras del diccionario (incluyendo la palabra ‘password’)

A huge 25% of passwords are derived directly from dictionary words. In
reality, it’s probably somewhat higher than this as my dictionary had less
than a couple of hundred thousand words. And they’re all only English
language.

Top among the dictionary favourites are:

password (oh dear)
monkey
dragon

Las claves numéricas tienen en su mayoría (83%) cuatro, seis u ocho dígitos, pero hay un buen número de longitud uno, por ejemplo.

Why is this interesting? Well firstly, within a spread of numeric password lengths which range from 1 (yes, 1, and there’s a heap of ‘em) to 21, 83% of the passwords are either four, six or eight digits long. Is this a propensity for even numbered password lengths or something else?

Los de cuatro podrían corresponder al PIN del cajero automático.
Los de seis serían fechas donde el año tiene dos cifras.
Los de ocho serían fechas con el año completo.

Las claves con dos palabras repetidas (blabla) serían menos del 3%, pero es un patrón que utiliza la gente.

También hay quien utiliza frases cortas del estilo de: ‘dejameentrar’ o similares.

Naturalmente, he hecho una selección según mis gustos y sesgos, pero vale la pena leerlo todo para hacerse una idea.

Las claves

Interesante el podcast de la OWASP sobre recuperación de claves ([mp3] forgot password) sobre la manera recomendada de recuperar una cuenta cuya clave hemos perdido (se pueden leer los consejos en: Forgot Password Cheat Sheet, aunque mucho me temo que es una visión parcial del problema, puesto que habla del bloqueo de cuentas y eso no siempre es factible/razonable y se ocupa de sitios con bastantes datos del interesado que tampoco es siempre el caso).
Escuchándolo, pensé en recopilar y poner los últimos enlaces sobre el tema que he ido recopilando. Por cierto, interesante el sitio Good Security Questions, que nos da una idea de buenas opciones para esta parte tan delicada (imagino que también habrá que prestar atención a las cuestiones culturales, así que convendrá tomarlas con una ‘pizca de sal’).

En The truth about passwords. Un análisis de las claves, la seguridad y la facilidad de uso bastante interesante. La conclusión:

It seems that the easy systems aren’t secure, and the recommended systems aren’t usable, because they take too long or require too much remembering.

En The Usability of Passwords que habla sobre seguridad razonable, alargando las claves mediante el uso de frases, más fáciles de recordar. Tiene sus detractores. Yo diría que la longitud ayuda pero que, seguramente, sería buena idea no utilizar sólo palabras que forman frases.

Por si acaso, A brief Sony password analysis:

La gente elige malas claves, pero sus propias malas claves, no hay muchas repeticiones:

However in the grand scheme of things, there weren’t a whole lot of instances of multiple people choosing the same password, in fact the 25 above boiled down to only 2.5%. Furthermore, 80% of passwords actually only occurred once so whilst poor password entropy is looking rampant, most people are making these poor choices independently and achieving different results.

Eso sí, la gente usa la misma clave (hay gente que lo hace en una cantidad
notable, al menos) entre diversos sitios:

Two thirds of people with accounts at both Sony and Gawker reused their passwords. Now I’m not sure how much crossover there was timeframe wise in terms of when the Gawker accounts were created versus when the Sony ones were. It’s quite possible the Sony accounts came after the Gawker breach (remember this was six months ago now), and people got a little wise to the non-unique risk. But whichever way you look at it, there’s an awful lot of reuse going on here.

Finalmente, con un ataque sencillo se adivinarían bastantes claves (y la importancia de la longitud de las claves):

82% of passwords would easily fall to a basic rainbow table attack. Not good, but you can see why the rainbow table approach can be so effective, not so much because of its ability to make smart use of the time-memory trade-off scenario, but simply because it only needs to work against a narrow character set of very limited length to achieve a high success rate

Y la conclusión: The only secure password is the one you can’t remember.

Para terminar, el aviso de que Hotmail: Microsoft bans the use of vulnerable passwords lo que redundara, seguramente, en una nueva generación de malas claves (es broma).

Otro estudio sobre claves

No creo que el título sea apropiado, sobre todo teniendo en cuenta que ya nos hemos preguntado si el sistema de usuario/clave es el más adecuado para estas cosas pero me gusta guardar estos datos, que nunca se sabe: Survey Reveals How Stupid People are With Their Passwords.

• 4 in 10 respondents shared passwords with at least one person in the past year.

• Nearly as many people use the same password to log into multiple Web sites, which could expose their information on each of the sites if one of them becomes compromised. (A separate recent study revealed that 75% of people use the same password for Social Networking Sites and their email accounts)

• Almost half of all users never use special characters (e.g. ! ? & #) in their passwords, a simple technique that makes it more difficult for criminals to guess passwords. (Yet not all sites support this option of special characters!)

• 2 in 10 have used a significant date, such as a birth date, or a pet’s name as a password – information that’s often publicly visible on social networks.

Además,

Younger people are especially likely to take online security risks. Webroot found that among 18 to 29 year-olds:

• 12 percent have shared a password in a text message (vs. 4 percent overall)

• 30 percent logged into a site requiring a password over public WiFi (vs. 21 percent overall) (Note: This is typically only dangerous when you logon not using SSL — aka HTTPS in your browser)

• Over half (54 percent) have shared passwords with one or more people in the past year (vs. 41 percent of people overall)

The number of Web sites that require an extra layer of security has proliferated, driving careless habits:

• Three quarters (77 percent) of consumers have five or more accounts with online services that require passwords.

• One-third (35 percent) have 10 or more password-protected accounts. Only 10 percent ensure they never use the same password on different accounts.

• Passwords are forgotten occasionally, often or always by over half of consumers (51 percent).

Despite these disturbing figures, consumers still think they are safe, with 50 percent of people saying they feel their passwords are very or extremely secure. That being said, according to the survey:

• 86 percent do not check for a secure connection when accessing sensitive information when using unfamiliar computers.

• 14 percent never change their banking password.

• And 30 percent remember their passwords by writing them down and hiding them somewhere like a desk drawer.

• 41 percent use the same password for multiple accounts.

• Only 16 percent create passwords with more than 10 characters in length.

• Almost half of Facebook users (47 percent) use their Facebook password on other accounts and 62 percent of Facebook users never change their password.

Claves y usabilidad

Dos disciplinas se están abriendo paso en todo lo que se refiere a la seguridad: una aproximación desde una perspectiva económica (¿cuánto cuesta, cuánto vale lo que se protege, es mejor perder un poco y hacer más negocio o estar muy protegido?) como vimos, por ejemplo, en La economía de la seguridad y uno de cuyos principales representantes sería Ross Anderson (Economics and Security Resource Page). La otra es la usabilidad (la seguridad tiene que ver con que las operaciones de seguridad sean, además, las fáciles y sencillas de obtener). Hemos comentado sobre ello en Sobre claves y control de acceso en sitios web, Contraseñas, usabilidad y uso, Redes sociales, interfaces y usabilidad y algún otro.

Por eso me gustó el otro día ver la aproximación inversa: desde el punto de vista de la usabilidad, la aproximación a la reinicialización de claves (cuando se nos olvidan, por ejemplo), en The password reset experience y The truth about passwords. Cualquier practicante de estos temas debería tener muy presentes los consejos (de acuerdo, siempre, al bien protegido) y no sobrecargar a los usuarios con nuestras preocupaciones sobre su seguridad.

Cómo no almacenar claves en iOS

No me gustan mucho los artículos en negativo: al final, en algunas ocasiones, uno no se entera de qué es lo que realmente tiene que hacer (la negación de la negación no siempre se hace bien, o se interpreta adecuadamente).

En How Not to Store Passwords in iOS un artículo sobre la maquinita de moda y la gestión de claves en ella. Concretamente con el ejemplo del tratamiento de claves por parte de la aplicación para actualizar WordPress, que no cononocía.

El aparato tiene un lugar para almacenar las claves de manera adecuda, keychain services y los desarrolladores no la utilizaban:

Mobile development brings both familiar and new challenges for creating secure applications. The iOS platform provides a number of strong security features with the Keychain and protection attributes introduced in iOS 4.0. As usual, it is up to developers, development teams, and security professionals to make sure that user data is handled securely and appropriate APIs are used correctly.

¿Nos suena? (¿Los desarrolladores utilizan las ayudas en seguridad?).
Si nos preocupa la seguridad de los sistemas que desarrollemos una de nuestras primeras tareas debería ser buscar la información sobre qué ayudas nos proporcionan para no meter la pata y poder utilizarlas adecuadamente.

¿Cada cuánto cambiar la clave?

Una aportación al tema de Bruce Schneier, Changing Passwords:

So in general: you don’t need to regularly change the password to your computer or online financial accounts (including the accounts at retail sites); definitely not for low-security accounts. You should change your corporate login password occasionally, and you need to take a good hard look at your friends, relatives, and paparazzi before deciding how often to change your Facebook password. But if you break up with someone you’ve shared a computer with, change them all.

Contraseñas, usabilidad y uso

El otro día en Buenas prácticas sobre claves y bloqueo de cuentas ‘amenazábamos’ con volver sobre el tema. Lo hacemos con tres artículos que he leído recientemente sobre el asunto:

El primero, Where Do Security Policies Come From? que se basa en el examen de la política de claves de 75 sitios web para concluir que, en general, las políticas son bastante absurdas y no tienen una base sólida sobre la que sustentarse: en general, los sitios con políticas más restrictivas no son los que más requisitos de seguridad tienen, sino los que se lo pueden permitir (sitios gubernamentales y universidades); los que compiten por los usuarios y el tráfico no son muy exigentes, seguramente porque no quieren desanimar a los clientes (y porque les va bien así, luego las exageraciones en cuanto a las claves han de tomarse con una pizca de sal).

El segundo, [PDF] The password thicket: technical and market failures in human authentication on the web. Se analiza la forma en que está implantado en 150 sitios el sistema de autentificación. En este caso lo que se encuentra es que hay bastantes inconsistencias: sitios que son muy exigentes en algunos aspectos, lo son menos en otros. Definitivamente, muy interesante.

Finalmente, uno que no estoy seguro de comprender del todo, Popularity is Everything: A new approach to protecting passwords from statistical-guessing attacks. Se trataría de fortalecer las claves de los usuarios contra ataques de intentos de adivinarlas, evitando que los usuarios utilicen claves demasdiado populares (y lo que no entiendo bien es si no sería una manera de conocer qué claves eran más populares en un sistema).

Buenas prácticas sobre claves y bloqueo de cuentas

Por alguna casualidad, escuché el otro día el [mp3] OWASP 76 podcast, con Bill Cheswick sobre claves, bloqueo de cuentas y esas cosas. Estaba pensando que me había parecido bastante interesante y que debería poner un resumen por aquí cuando encontré Password and Account Lockout Better Practices que me ahorra el trabajo:

  • Bloquear la cuenta después de 3, 4 o 5 intentos
  • Utilizar un tiempo de bloqueo corto
  • Asegurarse de que errores repetidos (el mismo intento más de una vez)
    no cuentan para el bloqueo
  • Utilizar personas de confianza (previamente establecidas, por ejemplo
    la pareja de alguien) para los procesos de reestablecimiento de la clave
    (se ahorran procedimientos más complicados y costosos)
  • Hacer que los identificadores de usuario sean difíciles de conocer o
    adivinar
  • Utilizar un servicio de autentificación estándar, para no reinventar la
    rueda en cada nueva aplicación

Otro día más sobre claves.