29 abril 2009

Hackeos Memorables: Digg.com

Objetivo cumplido: nuestra Ministra González-Sinde hoy ha ganado karma internacional.



Si, lo hemos conseguido, tenemos toda una portada en digg.com, el sitio de referencia de promoción de noticias.

¿Se ha vuelto solidaria la Internet Anglo-sajona con las miserias que suceden en España? No, vale, hay trampa :P

Hace unos días hablábamos de un bug bastante gordo en Digg.com referente a la forma en la que digg implementaba su sistema de captchas que dejaba abierta la puerta a potenciales ataques.

Nos pusimos en contacto con Digg, y nos enviaron un amable correo-estándar con un 'vale ya lo miraremos' Evidentemente no es tarea fácil contener la tentación de poner a prueba el hallazgo, así que, dada la pasividad de Digg al respecto, nos pusimos manos a la obra para hacer una 'inocente travesura'.

Los detalles técnicos no seria muy honesto revelarlos en este punto de la historia, porque aun se puede realizar el ataque.

Pese a que este hecho parece irrelevante, existen empresas de Marketing que se dedican a vender "votos" (denominados diggs), para que nuestra noticia sea promovida . Algo que por otro lado, está prohibido en los términos de uso (5.9).




Re-diggo lo dicho para el caso de Meneame (que no merecía tanto esfuerzo):
  1. Es un error que el usuario de la aplicación sea el mismo que para la autenticación. Sería más robusto si se autenticase con correo/contraseña.
  2. Una contraseña segura, no es una contraseña de 6 caracteres.
  3. Los CAPTCHAs son un sistema fiable, pero han de implantarse correctamente y formar parte de la auditoría.

3 comments :

ache dijo...

(y) me gusta

gallir dijo...

Sobre lo que habías dicho de Menéame, había leído aquél artículo --gracias-- y te hicimos caso ese mismo día : deberías probar lo de meter contraseña al darte de alta o al intentar cambiarla desde tu perfil :-)

Sobre el uso del email, podría ser, pero es muy relativo y discutible (sobre todo si gestionas el email como dato personal). Faćil de implementar, pero no veas la cantidad de gente que se olvida el correo que usó.

Sobre el captcha, afortunadamente usamos uno externo muy bueno (el recaptcha). Aún así hay protecciones adicionales que evita los abusos que todos intentan:

1. Control de altas por IP y subredes (prueba de dar de alta dos usuarios desde la misma IP o subred).

2. Control de IPs de votos: aunque tengas 100 usuarios para votar, si los usas para votar una noticia tendrá que ser desde 100 IPs diferentes.

3. Control de karma de usuarios. Si esos 100 usuarios no tienen el karma de un usuario activo normal no se toman en cuenta a la hora de sumar el karma para la promoción (se controla la media y la desviación del karma de votos, todos los que estén más allá de un 5% de desviación hacia abajo no son tomados en cuenta).

4. Adicionalmente tenemos procesos que detecta votos con usuarios clones y banea automáticamente el diminio con el que se ha intentado (debe haber ahora mismo varios miles dominios baneados por esa razón).

Moraleja: es complicado, como la guerra contra los spammers :-)

Un saludo y buen curro, cada día mejor

Alejandro Ramos dijo...

@gallir, lo primero agradecerte el comentario.

En cuanto a Meneame: sí, hablamos después y ya comprobé (http://www.securitybydefault.com/2008/11/despus-de-diez-das-de-la-publicacin.html) que cambiasteís el sistema de contraseñas. ¡¡Bien hecho!!

El captcha de recaptcha (me siento rapero), es muy bueno, pero ¡ojo! no es perfecto, que tal y como comentabamos ayer mismo tiene sus cosillas: http://musicmachinery.com/2009/04/27/moot-wins-time-inc-loses/

En cuanto a los controles por IP, es algo que Digg no ha implantado, tal y como hemos podido comprobar ;)

Un placer verte por aquí.