Cómo evitar el fraude electoral en un concurso de redes sociales

12

Estoy creando un concurso que permitirá a los usuarios iniciar sesión con su Facebook & Cuentas de Twitter y enviar votos en videos. La preocupación de mis clientes es que los usuarios utilizarán el sistema iniciando sesión en diferentes Facebook & Cuentas de Twitter para mantener los votos de spam en el mismo video.

¿Cómo puedo prevenir este tipo de fraude electoral?

    
pregunta user2241961 03.04.2013 - 21:51
fuente

2 respuestas

7

En lugar de iniciar sesión en las cuentas que controlan, espero que el fraude electoral se realice mediante clickjacking o CSRF, aprovechando el poder viral social de Facebook para atraer cómplices involuntarios.

Con la prevalencia últimamente de imágenes en Facebook que afirman que puedes obtener una PS4 simplemente "gustando" y "compartiendo" una imagen y la gran cantidad de personas que lo hacen, sospecho que sería posible crear algo similar eso engañó a los usuarios de Facebook para que se registraran en su sitio y enviaran el formulario de votación.

Otra posibilidad es que la imagen viral en Facebook pueda decirles que tuvieron que registrarse y votar por una entrada en particular en tu competencia para ganar la PS4.

CSRF tiene técnicas de mitigación estándar que incluyen nonces, claves secretas y MAC. También hay técnicas de mitigación para el clickjacking .

Determinar que alguien está votando de una manera particular para obtener una recompensa por separado es más difícil. Probablemente un trabajo para un A.I. El primer encabezado de referencia que vea de un cliente puede ofrecer una pista sobre su motivación. La cantidad de tiempo que pasan evaluando las diversas opciones de votación también podría serlo. Elige demasiado rápido y es probable que sea un fraude. Probablemente obtendrá buenos datos de seguimiento de los movimientos del mouse . Es probable que estas técnicas funcionen para su temor original de que una sola persona inicie sesión en varias cuentas.

    
respondido por el Ladadadada 04.04.2013 - 00:15
fuente
6

No hay absolutamente nada en los métodos de autenticación OpenID / OAuth que garantice que un inicio de sesión individual a través de ellos sea realmente un usuario único. OpenID proporciona un poco más de datos en forma de certificado (nombre de usuario, dirección de correo electrónico y notario ) que la autenticación valet key de OAuth, pero eso solo no es suficiente para evitar la votación de fraude . Usar la palabra fraude en este sentido es un poco grave en mi opinión, tal vez abusar sea más adecuado. En cualquier caso, veamos qué información de otro puede utilizar en su aplicación web y qué significa para su sistema de votación:

  • Dirección IP : no es adecuado, ya que la mayoría de los usuarios obtienen su IP asignada por un servidor DHCP y es dinámica (se puede asignar a otro usuario más adelante, o el mismo usuario puede solicitar uno nuevo), diferentes usuarios pueden acceder a su sitio web a través de la misma IP (las organizaciones y otras personas que utilizan servidores proxy, usuarios móviles de IPv6 a través de un intermediario de IPv4, etc.), o la misma persona podría utilizar otros medios para acceder a su sitio web con una IP diferente (red TOR, VPN, ...)
  • ID de sesión : consiste en una cookie de sesión (o alguna forma de un valor de consulta de solicitud persistente en sesiones sin cookies), comúnmente también una cadena de usuario-agente (cadena de identificación del navegador), y la IP que ya cubierto Ninguno de estos (por sí solo, o sesión en su totalidad) garantiza que un usuario único haya iniciado sesión, ya que simplemente puede cambiar a diferentes navegadores, borrar la sesión del usuario mediante la eliminación de cookies o incluso cambiar la firma del navegador. Todo lo cual puede invalidar la sesión del usuario y se realizará una solicitud de una nueva.
  • Cadena de referencia : no es adecuada por sí sola, ya que puede ser falsificada o simplemente reutilizada muchas veces.

Esto te deja en cualquiera de los dos:

  • Confiando en Facebook y Twitter para hacer su propia detección de múltiples cuentas por usuario,
  • Solicitar una autenticación de usuario adicional que intente detectar dicho abuso (podría ser imposible hacerlo mejor que lo que ya existe en Facebook y Twitter),
  • Cambiar a votar con una boleta (solo con invitación una vez), o
  • Tenga en cuenta el posible abuso de voto cuando presente resultados (como promedios ponderados ).

Las tres últimas opciones son bastante difíciles de implementar y podrían no estar dentro del presupuesto de su proyecto, que es, al final del día, el factor más decisivo sobre cuál de estas opciones podría o debería implementarse.

En una nota al margen, quería darles un buen ejemplo del promedio ponderado, pero el problema es que todos los sistemas que se preocupan por la validez de estos métodos no publican intencionalmente su funcionamiento interno, para evitar más abusos por parte de Eludiendo el sistema en su lugar. Uno de los sitios web que utiliza este tipo de mecanismos de votación y se sabe que pone mucho esfuerzo es IMDB (usted ser el juez sobre cuán efectivo es eso, reservaré mis comentarios), y hay muchos otros con implementaciones totalmente diferentes. Incluso StackExchange tiene algún tipo de prevención de votación en serie, pero los detalles al respecto también son bastante escasos.

    
respondido por el TildalWave 04.04.2013 - 00:34
fuente

Lea otras preguntas en las etiquetas