Un votebot es un tipo de bot de Internet para las votaciones.
Hay dos clases de votebots:
- Trendbots que tiene como objetivo votar automáticamente en encuestas en línea , a menudo de manera maliciosa [ cita requerida ] . Votebots intenta actuar como un ser humano, pero realiza la votación de manera automatizada para impactar el resultado de la encuesta. Una variedad de programas de votebot, dirigidos a diferentes tipos de servicios, desde sitios web normales hasta aplicaciones web , se venden en línea por individuos y grupos. Como rastreadores web, un votebot se puede personalizar para realizar tareas en varios entornos o dirigirse a diferentes sitios web. Los votebots simples son fáciles de codificar e implementar, sin embargo, a menudo son efectivos contra muchas encuestas en línea, ya que el desarrollador del software de encuestas debe tener en cuenta este tipo de ataque y hacer un trabajo adicional para defenderse.
- Votingbot, un bot utilizado para establecer alguna forma oficial de votación. Incluye la votación pública y privada, y la exhibición pública de los resultados de la votación.
Técnicas utilizadas
La WWW se basa en el protocolo HTTP para transferir información. Para imitar el comportamiento legítimo del usuario, como votar en una encuesta en línea, el atacante envía una solicitud HTTP al servidor en particular que aloja la encuesta.
Análisis de objetivos
Se debe analizar el objetivo, o el proyecto de votación, antes de construir el votebot. Al manejar un sitio web de votación, por ejemplo, es necesario hacer un análisis de la página web en el objetivo, extrayendo la URL de solicitud de la acción de votación, así como algunas configuraciones de encabezado HTTP para engañar al sitio web. Hay muchas herramientas que ayudan a las personas a analizar la web, como Firebug y httpanalyzer. Se puede rastrear el proceso de votación de los paquetes HTTP mediante estas herramientas y encontrar el objetivo de votación correcto y algunos trucos de protección simples utilizados por los sitios web, como la verificación de referencias.
Preparación
Antes de enviar solicitudes, el atacante debe analizar cuidadosamente el objetivo e identificar los posibles vectores de ataque . Durante el análisis, el atacante debe determinar si las sesiones HTTP (mantenidas a través de cookies ) son necesarias para considerar o no. Por ejemplo, una encuesta en línea podría requerir una sesión para que solo los usuarios autorizados puedan votar.
Solicitud HTTP
La elaboración de una solicitud HTTP define cómo se comportaría un usuario real en función de los parámetros definidos en la solicitud.
Dos métodos de solicitud HTTP son útiles para votar, POST y PUT. Los métodos de solicitud son simplemente diferentes formas de enviar datos a un determinado punto final (es decir, una encuesta sobre "¿A cuántos usuarios les gusta el artículo de Votebots?"). A continuación, se muestra un ejemplo simple de Python que usa httplib2 para enviar mensajes (citado de la wiki de httplib2):
>>> desde httplib2 importar Http >>> desde urllib importar urlencode >>> h = Http () >>> data = dict ( name = "Joe" , comment = "Un comentario de prueba" ) >>> resp , content = h . request ( "http://bitworking.org/news/223/Meet-Ares" , "POST" , urlencode ( datos )) >>> resp {'status': '200', 'transfer-encoding': 'fragmentado ',' variar ':' Accept-Encoding, User-Agent ', ' server ':' Apache ',' connection ':' close ',' date ':' Mar, 31 de julio de 2007 15:29:52 GMT ', 'content-type': 'text / html'}
Simulación de acción humana
En muchos proyectos de votación, los desarrolladores intentan distinguir los bots de los usuarios legales. Pueden usar la estrategia de la que se habla a continuación, y los votebots intentan sortear sus barreras o detectar métodos para votar con éxito en el sitio web. Por ejemplo, algunos sitios web restringen la cantidad de votos que una dirección IP puede realizar en un período de tiempo. Votebots puede eludir esta regla mediante un proxy de su dirección IP con frecuencia para engañar al sitio web. Otra estrategia que se usa con frecuencia es analizar la cuenta creada por un votebot para diferenciar las cuentas normales creadas por seres humanos, o analizar el historial de acciones de las cuentas en el sistema para descubrir posibles votebots que creen una. Votebots, por otro lado, intenta simular la acción humana, como iniciar y cerrar sesión, así como compartir algunos artículos en algún servicio de red social antes de votar.
Objetivo habitual
Se informa que YouTube es una gran víctima de los votebots. Muchos proyectos de votación pequeños y temporales también son el objetivo habitual de los votebots. Muchas personas intentan programar o comprar scripts maliciosos para votar por sí mismos en algunos procesos, y es difícil contar la cantidad de ataques que ocurren todos los días.
Anti-trendbot
Como se mencionó anteriormente, los desarrolladores web quieren distinguir votebot de los usuarios con derecho a voto en los proyectos de votación. Las formas normales incluyen verificación de IP, manejo de cuentas, prueba de Turing (por ejemplo, CAPTCHA ) y análisis de acciones de cuenta.