Votebots
Encyclopedia
A VoteBot is a type of Internet bot
Internet bot
Internet bots, also known as web robots, WWW robots or simply bots, are software applications that run automated tasks over the Internet. Typically, bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human alone...

 which aims to vote automatically in online polls, often in a malicious manner. VoteBots attempts to act like a human, but conduct voting in an automated manner in order to impact the result of the poll. A variety of VoteBot programs, targeted different kinds of services from normal websites to web application
Web application
A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...

s, are sold online by individuals and groups. Like Web crawler
Web crawler
A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner or in an orderly fashion. Other terms for Web crawlers are ants, automatic indexers, bots, Web spiders, Web robots, or—especially in the FOAF community—Web scutters.This process is called Web...

s, a votebot can be customized to perform tasks in various environment or target different websites. Simple votebots are easy to code and deploy, yet they are often effective against many polls online, as the developer of the poll software must take this kind of attack into account and do extra work to defend against it.

Techniques used

The WWW is built on HTTP protocol to transfer information. To imitate a legitimate user action such as voting in an online poll, the attacker sends a HTTP request to particular server hosting the poll.

Target analysis

Analyzing the target, or the voting project, should be done before actually building the votebot. When handling a voting website for example, one needs to do some webpage analysis on the target, extracting the request URL of the voting action as well as some HTTP header settings to cheat the website.
There are lots of tools which help people to analyze the web, such as Firebug
Firebug
The firebug, Pyrrhocoris apterus, is a common insect of the family Pyrrhocoridae. Easily recognizable due to its striking red and black colouration, it is distributed throughout the Palaearctic from the Atlantic coast of Europe to northwest China. It has also been reported from the USA, Central...

 and httpanalyzer. One can trace the voting process of HTTP packages by these tools and find the right voting target and some simple protecting tricks used by websites, such as referrer verification.

HTTP request

HTTP request is the engine of a votebot, which defines how to send requests to a voting target. It also defines the form of the request, representing the preparing work of target analysis.
Two HTTP request methods are useful in voting, POST
POST (HTTP)
In computing, POST is one of many request methods supported by the HTTP protocol used by the World Wide Web. The POST request method is used when the client needs to send data to the server as part of the request, such as when uploading a file or submitting a completed form.In contrast to the GET...

 and PUT. They are two ways to send information out to a specific URL, with parameters containing the content one wants to write to the server.
A simple python example with httplib2 to send messages out is attached as follow, cited from httplib2 wiki:

>>> from httplib2 import Http
>>> from urllib import urlencode
>>> h = Http
>>> data = dict(name="Joe", comment="A test comment")
>>> resp, content = h.request("http://bitworking.org/news/223/Meet-Ares", "POST", urlencode(data))
>>> resp
{'status': '200', 'transfer-encoding': 'chunked', 'vary': 'Accept-Encoding,User-Agent',
'server': 'Apache', 'connection': 'close', 'date': 'Tue, 31 Jul 2007 15:29:52 GMT',
'content-type': 'text/html'}

HTTP session

One spiny thing in the step HTTP request is that some websites only allow registered users to vote. Other kinds of Internet Bot
Internet bot
Internet bots, also known as web robots, WWW robots or simply bots, are software applications that run automated tasks over the Internet. Typically, bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human alone...

 is useful here to help votebot to login and to handle the session. It is not hard to learn the basic concepts of HTTP session and manipulate HTTP cookie
HTTP cookie
A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is used for an origin website to send state information to a user's browser and for the browser to return the state information to the origin site...

 to interact in a session.

Human action simulation

In many voting projects, developers are trying to distinguish the bots from legal users. They may use the strategy talked below, and the votebots are trying to bypass their barriers or detecting methods to successfully voting at the website.
For example, some website restrict the number of votings one IP address can make in a time period. Votebots can bypass this rule by proxy its IP address frequently to cheat the website.
Another usual used strategy is to analyze the account created by votebots to tell any difference from the normal accounts created by human beings, or to analyze the action history of accounts in the system to find out potential votebots creating ones. Votebots, on the other hand, try to simulate human action such as logging in and out as well as sharing some articles in some Social network service
Social network service
A social networking service is an online service, platform, or site that focuses on building and reflecting of social networks or social relations among people, who, for example, share interests and/or activities. A social network service consists of a representation of each user , his/her social...

 before voting.

Usual Target

YouTube is reported to be a big victim of votebot. Many small, temporary set up voting projects are also usual target of votebots. Many people try to program or buy malicious scripts to vote for themselves in some processes, and it is hard to count the number of attacks happened everyday.

Anti-VoteBot

As talked above, web developers want to distinguish votebot from legal voting users in voting projects. Normal ways includes IP checking, account-handling, Turing test
Turing test
The Turing test is a test of a machine's ability to exhibit intelligent behaviour. In Turing's original illustrative example, a human judge engages in a natural language conversation with a human and a machine designed to generate performance indistinguishable from that of a human being. All...

 (e.g. CAPTCHA
CAPTCHA
A CAPTCHA is a type of challenge-response test used in computing as an attempt to ensure that the response is generated by a person. The process usually involves one computer asking a user to complete a simple test which the computer is able to generate and grade...

) and account action analysis. Some special service have their special ways to tell programs from human who intend to vote. Someone has proposed a strategy for YouTube, only allow voting after the whole video is downloaded to the local machine, which may indicates it is played at least once and no votebot wants to waste time downloading and watching it.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK