We’ve uploaded and posted links to all of the reports arising from the AMS Electoral Fraud investigation on our Twitter feed but since not everyone is twitter-savvy just yet, here are the links to:

Final Report from Isabel Ferreras (Elections Administrator)

Report from Forensic Data Recovery (Independent Auditing Firm)

Revised Elections Results presented in a somewhat awkward format.

Final cost to the AMS: currently estimated at $42,000-43,000.

A few things to note from FDR’s report:

1) The hack was as simple as what was outlined in our earlier post: CWL validation only occurred when the ballot was displayed. Once you had the ballot you could look at the html source code, duplicate it to your heart’s content and submit it as many times as you’d like. No verification occurred upon ballot submission.

2) Where they screwed up was by submitting all the fraudulent ballots from the same IP address, using 18 invalid student numbers, and submitting ballots with hidden form fields filled in.

3) Submitted ballots could not have been overwritten, but ballots that were saved (but not submitted) might have been overwritten.

4) 649 of the 731 student numbers can be found in this document which was found using Google.

In the end the only results affected were Senate, VFM and the tuition policy referendum. For the Senate race it appears that Alyssa Koehn is in while Nader Beyzaei is out, though the result of this election was never ratified and so it’s still up to UBC to determine which set of results they’d like to use. Of the 731 ballots cast fraudulently, Nader received 731 votes while Alyssa received 0. (AJ Hajir Hajian also received 731 votes, Joël Mertens got 730, Johannes Rebane got 504 and Spencer Rasmussen got 253 but all were still elected after removal of suspect ballots.)

VFM Outlet Old Results New Results Differential
Radical Beer Tribune $1900 $1900 $0
UBC Spectator $1800 $1300 – $500
Social Capital $1600 $1200 – $400
UBC Insiders $1200 $1700 + $500
AMS Confidential $1000 $1200 + $200
Geoff’s Place $500 $700 + $200

UBC Spectator and Social Capital received substantial boosts as a result of the suspect voters, and were the only two VFM outlets to get any support from these ballots. During the meeting Isabel reported that UBC Insiders had received $0 on every fraudulent ballot. (We got Lougheed’d.)

Upon revised results, the tuition referendum fails to meet quorum by six votes. However, the margin of error on the results are 15 votes and thus the error bars overlap the quorum threshold. Nothing concrete about the fate of the tuition policy referendum was decided although it’s likely to be disregarded in the absence of a clear mandate.


The Tuition Policy Referendum bar graph.

UBC says it is still looking into finding the culprit but you would have to think that even if the identity is discovered and they move ahead with some sort of punishment or criminal charges, they’ll try and keep it very quiet. Council tonight passed a resolution to pursue the matter with the RCMP.

Even in the races where results were not ultimately affected, it seems clear that the fraudulent votes were favouring some candidates over others. In the closest race, Bijan Ahmadian’s margin of victory over Natalie Swift was reduced from 375 votes to a very slim 46 (plus or minus 15).

Is there any connection to be found in the list of candidates for whom the fraudulent ballots showed a clear preference?

PresidentBijan Ahmadian

VPXStas Pavlov

VPA&UABen Cappellacci

VPFThe Invisible Man Correction: Elin Tayyar?; graph and numbers do not match.

VPAdEkaterina Dovjenko (smaller margin)

BoGSean Heisler and Azim Wazeer

SenateNader Beyzaei, AJ Hajir Hajian, Joël Mertens, [>730 votes]; Johannes Rebane [>500 votes]; Spencer Rasmussen, Blair McRadu, Gary Tse [>200 votes]

Voter-Funded MediaSocial Capital, UBC Spectator

SLFS – slight preference for the SRL slate but seems to be randomized

Ubyssey Pubs Society – Everyone but Blake Frederick

Referenda***Pro student court bylaw changes; Pro both impeachments; Anti engagement levy; Anti CPI indexing; Pro impeachment bylaw changes; Anti Access UVic; Pro tuition policy; Anti disability seat *** the margins in these tend to be smaller and may be more random than clear preferences


8 Comments so far

  1. TLG on March 15, 2010 10:02 pm

    That’s amazing. Particularly the part where the only clear objective of the cheater(s) was to take down UBC Insiders. That means you’re doing something right. Good work!

  2. Ricardo on March 15, 2010 11:57 pm

    Neal, to be fair, I think you should recognize that “preference” from fraudulent votes was unanimous in some cases but not in others, and in cases where it wasn’t unanimous it was roughly proportional to some election predictions. Moreover, if you want to speculate, you should note candidates that received 0 fraudulent votes.

  3. Neal Yonson on March 16, 2010 12:13 am

    Oh Ricardo, keeper of the data, trying to do too much data analysis from the Prezi is not something I want to be doing.

    It is true that some instances of preference were unanimous and some were not. But even in the cases where it was not, the margins are large enough to not seem randomized (except SLFS, Ubyssey, referenda and *maybe* VPAd).

    Perhaps you can also clarify for VPF: which is correct, the graph or the numbers? Cause the numbers swing in favour of Elin but the graph is all Invisible Man.

  4. Geoff Costeloe on March 16, 2010 10:57 am

    Here is a thought that I had about the 18 fraudulent student numbers.

    I would guess that the program the cheater used harvested student numbers from pages related to UBC. Some profs post grades attached to student numbers on large sheets. Profs always make mistakes though and I bet the prof actually typed in the student number wrong on one of these lists.

    That would explain both the usage and rarity of fraudulent numbers.

  5. Bowinn Ma on March 16, 2010 5:34 pm

    I’m eager to see the AMS fix these security holes. Condorcet voting really is a far more democratic way of voting. Just look at the EUS Elections with candidates dis-endorsing themselves and dropping from races in order to avoid splitting votes with their other preferred candidate. Strategic voting and candidacy is a wart on democracy.

  6. Laura on March 19, 2010 3:24 am

    Forgive me, but what is meant by a 15-vote margin of error?

  7. Michael Duncan on March 19, 2010 10:29 am

    The 15-vote margin of error is due to the fact that the fraudulent votes override the saved votes of 15 real students. The fraudulent votes couldn’t override people who had already voted, but people who had saved their vote but had not submitted their vote, could have been overridden. Forensic Data Recovery found that there were 15 cases where this had happened and thus we don’t know who these 15 people voted for and thus each race has a +/- 15 vote margin of error.

  8. Gregory Marler on March 25, 2010 3:01 pm

    For those that need it, here is a non-technical explanation of how the system failed if the voting website was a room.

    1) A voter has to walk in an entrance door(go to the fist page) where they check your campus card(or CWL login) and sneak a piece of paper in your pocket with your student id.
    2) Most people wouldn’t know about the paper, but it is trivial to check your pockets(the page code) for this. So some bad person opens a window and(the important bit) tells his friends(or himself coming in this way later) to write a student number on a piece of paper in their pocket(make a fake copy of the page with the voting options on).
    3) As the voter(fake and real) hands in their vote options the piece of paper is sneaked out of their pocket by a different Elections staff member. They don’t ask to see your campus card with your vote options(or to check you are still logged into CWL), and they don’t even look to see if your face has been past 700 times before.

Name (required)

Email (required)


Speak your mind

Spam prevention powered by Akismet