18 de julio de 2012

Tramposos participantes a un concurso

En el trabajo hice un sistemita de promociones para regalar una moto yamaha. La dinámica es la siguiente: subes tu foto por medio de un formulario, verificas desde tu cuenta de mail que en efecto eres tú, un administrador autoriza la foto; y una vez autorizada empieza a salir en un interior del portal de musica pop en español para que los visitantes voten por ella; puedes invitar a tus amigos de facebook a votar por tu foto, y esa es la idea, que sea algo social, algo que se conecte por medio de las redes sociales, de hecho, según esto sólo puede uno votar si está conectado a facebook.

El problema fue que me(¿nos?) hackearon. Digo, en un momento dado los votos de un par de usuarios se dispararon hasta por ahí de los dos mil, y entonces empezaron otros participantes a quejarse amargamente, a denunciar el fraude, a decir que algunas cuentas habían subido dos mil votos en menos de 15 minutos, etc. Y sí, en efecto, alguien, o algunos hackers, se dieron a la tarea de descifrar el túnel de ajax, ver a qué script de php llegaban los datos (foto_id, usuario_de_facebook_id, plaza) y se pusieron a enviar información como idiotas, con entre cinco y 10 inserts por segundo.

Me di cuenta no sólo porque el número era demasiado alto, y más si buscabas la cuenta de facebook de los supuestos punteros, cuentas sin contenido, sin amigos, sin nada, sólo hechas para concursar... Sino porque además de sumar el número de votos en un contador común y corriente, registré cada voto conforme fue llegando, con la ip desde la que lo estaban haciendo, y así fue evidente que me habían hackeado.

La dirección ya está dispuesta a eliminar a los concursantes que hicieron trampa. Pero me caben algunas dudas. Hay varios registros en los que meten votos desde la misma ip, ¿fue un sólo hacker con muchos registros, para garantizar su triunfo, o el que va a la cabeza para no parecer tan obviamente fraudulento les inyectó a otros participantes votos? ¿Y si se les inyectaron votos a usuarios que nada tenían que ver con el fraude, es justo descalificarlos a ellos también? ¿No tendríamos que cancelar el concurso, reparar el mecanismo, y luego volver a lanzar la promoción? No lo sé, lo que sé es que de momento yo voy a mandar una lista de todos aquellos registros que tuvieron comportamientos extraños y automatizados para que la dirección los descalifique. ¿Y si uno que apenas tiene 60 votos le inyectó entre 8 y cuarentamil a otros participantes que lo rebasaban con la intención de que los descalificaran? Chiales, está bien difícil pensar en una solución legítima, no arbitraria, una vez que se manchó el proceso... Lo de menos sería hacerse de la vista gorda y decir: yaaaa, no le hace, ganó el que más votos tiene, denle la moto, pero en realidad por eso estamos como estamos así que nel, a descalificar a participantes se ha dicho.

No hay comentarios.: