¿Cómo evitar trampas (votos adicionales) en concursos en línea?

25

Mitigación de engaño y amp; Fraude de votantes en concursos en línea ...

Realizamos concursos en línea de varios tipos que involucran a los usuarios que votan en las entradas (generalmente un voto por usuario por día). Los premios van desde cientos hasta miles de dólares. En los últimos cuatro años, nos hemos encontrado con una serie de formas en que las personas intentan engañar y han implementado medidas couter en cada caso. En su estado actual, utilizamos las siguientes medidas:

Autenticación
Un usuario debe crear una cuenta y autenticarse (iniciar sesión). Esto descarta el relleno de votos anónimos.

Confirmación de correo electrónico
Un usuario debe confirmar su dirección de correo electrónico haciendo clic en un enlace en un correo electrónico del sistema para confirmar que posee y tiene acceso a su dirección. Esto descarta la creación masiva de cuentas utilizando direcciones de correo electrónico aleatorias (no necesariamente válidas). También ralentiza el proceso un poco para una cuenta, y mucho si intentas crear muchas.

Sin alias de direcciones de Gmail
Los usuarios no pueden usar direcciones de alias instantáneas como [email protected]. Eso frena a los tramposos potenciales.

Medidas adicionales
Rutinariamente auditamos nuestros registros y listas de votación para cadenas de direcciones de correo electrónico que provienen del mismo dominio privado ([email protected], [email protected], etc.). También buscamos nombres similares, nombres de usuario y "partes locales" de direcciones de correo electrónico en dominios.

También mostramos actualizaciones de resultados de votación a diario, por lo que no hay comentarios instantáneos. De esa manera, si alguien está tratando de hacer trampa, tardará un día en ver los resultados y, a menos que sean grandes, no sabrán con certeza si su método fue exitoso. Intentamos ser lo más posible de una "caja negra".

No hace falta decir que todo esto es agotador y se hace cada vez más difícil de ampliar. Necesitamos una solución más fácil para asegurarnos de que nos acercamos mucho más a "una persona, un voto" en nuestros concursos, sin cargar al usuario más allá de la necesidad en el proceso.

Hemos explorado la posibilidad de usar SMS para adjuntar números móviles a cuentas para verificar a la persona; el jurado aún está deliberando sobre este enfoque: enlace , y ¿Se pueden usar los mensajes de texto SMS para verificar la identidad única de una persona a través de un sistema de código corto? .

Algunas sugerencias han incluido el uso de tarjetas de crédito, verificación por correo, puntos de reputación ... pero estas son demasiado onerosas para nuestros usuarios objetivo.

¿Qué más podemos hacer automáticamente en la parte de atrás para 1) identificar a los tramposos y, lo que es más importante, 2) evitar que incluso hagan trampas?

ACTUALIZACIÓN

Decidimos no hacer que nuestra protección contra fraudes fuera a prueba de fugas porque uno de los desarrolladores señaló que "cuanto más difícil es hacer que las personas hagan trampa, más difícil es detectarlas". En su lugar, estamos utilizando una técnica de caza china medieval llamada Battue de tres lados. Al hacer que sea muy difícil hacer trampa en la mayoría de los casos, pero relativamente fácil de escabullirse de otras maneras, sabemos exactamente qué buscar y eliminar antes de que se actualicen los resultados de la votación.

Buscamos patrones en los votos, como un participante que recibe una serie de votos cronometrados, luego miramos las cuentas asociadas con esos votos. Si hay un patrón en las cuentas, eliminamos esas cuentas y los votos asociados desaparecen con ellas.

    
pregunta Taj Moore 12.01.2012 - 01:12
fuente

7 respuestas

15

Está intentando identificar algo de manera única a través de un sistema que, de alguna manera, fue diseñado para que no requiera una identidad única. A falta de vinculación y validación a un tercero (generalmente físico) identificador, esto es imposible. En cambio, su mejor apuesta es restringir el voto en conjunto, de una manera que desaliente la automatización y / o resultados rápidos. Si su sistema lo admite, consulte sobre la ponderación de los votos en función de algunos criterios:

  1. 'Edad' de la cuenta (desde el inicio de sesión). No permitir votos para cualquier cosa menor de cierta edad (por ejemplo, desde el inicio del concurso).
  2. Número de entradas (en otros concursos).
  3. Actividad de la cuenta (¿la cuenta se visita / usa regularmente?) - comentarios en foros o en entradas, etc.
  4. Porcentaje de votos por usuario en concursos desde su registro (puede revelar un comportamiento "específico"). Tal vez por el número de diferentes destinatarios de votos?
  5. Se aceptan los votos de aceleración por entrada basados en el total de votos por competencia. Cualquier cosa por encima de un umbral se marca para revisión.

Todo esto debería poder hacerse desde un lado de la base de datos / informes, anulando la necesidad de cualquier javascript de lujo u otro código del lado del cliente (que puede ser engañado).

    
respondido por el Clockwork-Muse 12.01.2012 - 20:12
fuente
4

Vas a querer verificar las IPs (aunque obviamente esto no es un gran obstáculo, aún debes hacerlo)

Querrás un captcha para prevenir (al menos más débil) el engaño automatizado

Usted querrá (al final) verificar de forma manual o automática grandes agrupaciones de suscripciones en pequeños marcos de tiempo (automatización / relleno)

No permitir que los servicios de correo electrónico "gratuitos" eliminen una gran parte de las trampas, pero probablemente también eliminará una porción aún mayor de su base de usuarios

Si hizo que ingresaran más información personal, al menos ayudaría con la verificación (nombre + dirección + teléfono agregaría alguna verificación incluso si no llama / sms el teléfono si está en alguna parte)

Si es posible, querrá tener una detección de similitud en todos los ámbitos, no solo para los correos electrónicos (para detectar tramposos perezosos que quizás repitan un correo electrónico similar más tarde, un nombre en un correo o viceversa)

Pero en cuanto a evitar el engaño en lo que es ostensiblemente un formulario web, necesitará algún tipo de identificador único que, por supuesto, supondrá una sobrecarga mucho mayor para sus usuarios, más seguridad necesaria para su sitio, y provocará que un número de usuarios se muestre desconfiado

SMS es más verificable que las cuentas de correo electrónico, ya que realmente no es tan difícil registrarse para más de 20,000 cuentas de correo electrónico de hotmail / gmail / yahoo etc., eso es ignorar las cuentas de correo electrónico / reenviadores.

También existe la opción de llamadas automáticas (que descarta algunos, pero no todos los problemas de seguridad de SMS)

    
respondido por el doyler 12.01.2012 - 01:31
fuente
4

Si estoy en lo cierto al decir que le emite un cheque en vivo a alguien, una medida que debe implementar es la dirección. Si lo organiza como lo hacen las estaciones de radio y lo hace así, solo una entrada por hogar / dirección podría evitar algunas trampas. En términos de tratar de evitar que alguien haga trampa en primer lugar, es probable que desee ver la industria de los juegos en línea. Cosas como PunkBuster y VAC no han logrado evitar completamente las trampas en los juegos. Una buena cosa que hacer es realizar auditorías una vez por semana y evaluar el tiempo que un usuario pasa en una página antes de votar, esto está disponible en GA (Google analytics), según recuerdo. Establezca un umbral para el tiempo que un usuario debe estar en una página, esto también podría ayudar a detectar scripts que hacen clic en los enlaces.

    
respondido por el Woot4Moo 12.01.2012 - 03:51
fuente
4

Estoy de acuerdo con @ makerofthings7 en que U-Prove , junto con las reclamaciones verificables apropiadamente de un solo proveedor como el gobierno, es lo más cercano que tenemos a lo que eventualmente desea. Los usuarios (con suerte) querrán soporte para "identidades unidireccionales" en lugar de una ID única global como un OpenID que permite que los sitios confiables colaboren y rastreen a través de Internet. Consulte más información en Laws of Identity

Mientras tanto, requerir que los usuarios se registren a través de algo como (elija uno) Facebook Connect o Google Plus le permitirá aprovechar los esfuerzos (controvertidos) de esos grandes jugadores para que la gente use nombres reales, o al menos "uno -a-un-cliente ".

Pero, por supuesto, como han dicho otros, no importa lo que hagas, dado el incentivo suficiente, la gente encontrará la forma de registrarse varias veces. Así que realmente se reduce a los otros factores en su modelo de amenaza, por ejemplo, ¿Cuál es el riesgo de excluir a las personas que no quieren pasar por la molestia de registrarse, cuál es su última línea de fondo basada en, etc.?

    
respondido por el nealmcb 17.01.2012 - 04:15
fuente
3

La siguiente idea beta puede ser útil cuando sea adoptada por agencias gubernamentales ... Microsoft está trabajando en algo llamado U Prove que permite a un gobierno publicar reclamaciones a otros.

enlace

La idea es que el ciudadano se autentique ante el STS del gobierno y que redirija a su sitio web con una identificación única y posiblemente otra información de identificación.

    
respondido por el random65537 16.01.2012 - 19:38
fuente
2

Creo que hay una solución simple y de baja tecnología. Introduce tres requisitos en los términos del concurso:

  1. Cada usuario debe especificar su nombre y dirección cuando cree la cuenta.
  2. Usted restringe el concurso a una entrada por hogar. Utiliza la dirección para eliminar varias entradas con la misma dirección.
  3. Usted pone en los términos del concurso que, cuando se selecciona un ganador, el cheque solo se emitirá a una persona del nombre y la dirección que se encuentra en la cuenta ganadora. Si no hay una persona con ese nombre en esa dirección, entonces el premio se vuelve a asignar a otra persona. Cuando alguien gana, usted hace algo para verificar la dirección del ganador: por ejemplo, envíe registrado, certificado a esa dirección y solicite al ganador que demuestre que recibió el correo; o solicíteles que muestren una copia de su licencia de conducir que muestre esa dirección en la licencia.

Lo que esto hace es evitar que alguien haga trampa. Pueden crear tantas cuentas como quieran, pero si usan su propia dirección, solo podrán enviar una entrada por concurso; y si usan alguna otra dirección, no podrán cobrar el premio si se elige su cuenta (ya que no es su dirección y la dirección del ganador se verificará antes de que obtengan el premio).

No es perfecto. Dependiendo de su procedimiento para verificar la dirección del ganador, un tramposo puede ser capaz de crear varias cuentas, cada una con la dirección de un amigo diferente, pero puede ser lo suficientemente buena en práctica.

    
respondido por el D.W. 23.02.2012 - 09:42
fuente
1

Si tienes un concurso, por ejemplo. ¿Cuál es tu día favorito de la semana? luego crea una copia de su tabla de usuario y le da un nombre cont_101 luego si creas una tabla con las respuestas del concurso, llamémosla cont_ans_101.

Ahora, cuando un usuario vota, entonces una bandera en cont_101 se hace realidad para que el usuario tenga voto y el contador en cont_ans_101 aumenta en uno.

Cuando un usuario intenta votar, simplemente marque la marca en la tabla de usuarios (cont_101) y si es falso, puede contar el voto, de lo contrario podría prohibir al usuario.

    
respondido por el Stelios Joseph Karras 14.01.2012 - 21:10
fuente

Lea otras preguntas en las etiquetas