Helios

Helios is an internet voting system currently in use for small scale elections, and developed in part by Ben Adida. Helios is a system designed to allow voters in small elections (such as for clubs and student governments) to be able to trust a disinterested party rather than those responsible for creating the election. Helios is end to end verifiable, so anyone can check to see if their vote was cast correctly or tally the results themselves.

Infrastructure attack protection
Not addressed - Helios isn't intended for high stakes elections and it's not worth it for them to spend a lot of money to protect against giant DOS attacks.

Outsider hacking protection
Someone would have to compromise Helios itself which is unlikely given the small scale of elections. Even then, it would be easy to catch if this was going on - voters/auditors can verify that votes are counted correctly.

Malware and virus protection
Few people would go to the trouble of programming a virus specifically to vote in elections over Helios. Auditing serves as a defense to viruses, as does the server (which emails the voter with a confirmation of his or her encrypted vote)

Man in the middle attack protection
This would be somewhat difficult because due to encryption an observer wouldn't know the content of a voter's choice. They could try to intercept and then not send the message but that would be noticeable - the voter wouldn't get confirmation of their vote being recorded. Further, there exists a means to audit election results. Of course, this system isn't perfect but it's good enough for low-stakes elections.

Insider attack protection
This is Helios's job. On small elections it's likely that Helios can be trusted to not be corrupt - in the worst case it's noticeable by auditors/voters.

Coercion resistance
Helios is designed for "low-coercion elections" so the coercion problem isn't addressed. In fact, Helios contains a "coerce me" button which sends all the relevant info to an adversary. This is designed to promote knowledge of how "coercible" voters are under a system like VBM.

Ensuring one person, one vote
The administrative user is in charge of adding and removing users at will. Only these users are allowed to vote, and auditing ensures this.

Counting and tallying accuracy
Auditability ensures that votes are tallied accurately. A verification program re-performs the tally to ensure that it was correctly performed. This suffices for local elections.

Voter anonymity
As Ben Adida writes "Once the voting period ends, Helios enables the anonymization, decryption, and proof features for the admin" The admin isn't in control of the servers running the election, which makes it harder for them to learn such information about the content of people's votes.

Voter verifiability
Anyone can audit the results of an election on Helios - votes are placed next to a voter ID, and voters have a receipt with which they can verify the results.

Immediate results protection
The administrator can't access results until the voting period ends.

Ease of performing a recount
Voters can audit their ballots to ensure that their vote was cast correctly. This is sufficient for small elections where voters can directly go and talk to those in charge of running the election. Also, an auditing system re performs the tally so voters can be assured that their votes were counted.

Usability
Registration is as easy as registering on a typical website. But this is in part because the system's security is relaxed.

Transparency
Voters have to trust Helios in order for the system to work. It would be unpractical for the organizers of a local election to have to visit Helios' data servers to check that the correct software is running.