互联网竞赛如何仅使用电子邮件作为输入参数来验证唯一投票?

信息安全 电子邮件 ip欺骗
2021-08-16 13:42:35

在我的计算机安全课程中,我们正在集思广益,以不同的方式使用独特用户的属性(可通过网络轻松获得)来防止各种恶作剧活动。我们已经研究了集群电子邮件属性以帮助减少垃圾邮件并可能定位僵尸网络,以及其他一些事情。今天我们被问及如何验证互联网比赛的独特投票,我真的很难过。以下是条件:

一个网站正在进行为期一周的比赛,允许用户每天投票一次。投票无需帐户或登录名,您只需要提供一个有效的电子邮件地址即可。不发送验证电子邮件。你能做些什么来保持比赛的完整性?

-我正在考虑跟踪 IP,但许多计算机可以成为单个网络的一部分。有没有比每台计算机唯一的 IP 更具体的东西,也可以通过网络访问?

-另外,您如何阻止人们输入多个有效的个人电子邮件地址(例如,我有一个我在商店提供的垃圾邮件地址、一个大学电子邮件地址,然后是一个我不使用的旧电子邮件地址,但他们都是有效的!)。

- 比赛是否会被 IP 欺骗的人非法赢得?

我在这里看到过一些类似的问题,但它们都包含非常复杂的程序以尽量减少作弊。这个很简单,明显有很多洞存在。

4个回答

我正在考虑跟踪 IP,但许多计算机可以成为单个网络的一部分。有没有比每台计算机唯一的 IP 更具体的东西,也可以通过网络访问?

想到的第一个想法是使用 cookie 来跟踪用户。当然,这可以很容易地删除。也许像evercookie这样的东西?唔。

此外,您如何阻止人们输入多个有效的个人电子邮件地址(例如,我有一个在商店提供的垃圾邮件地址、一个大学电子邮件地址,然后是一个我不使用的旧电子邮件地址,但它们是都有效!)。

如果不将电子邮件地址与其他东西联系起来,这是完全不可能的。想到的一个可能的想法是使通过计算机提交的任何电子邮件地址与以前使用的 IP 地址或 cookie 无效。这并非不可能避免,但它可能会阻止那些不太精通技术或坚定的作弊行为。

比赛是否会被 IP 欺骗的人非法赢得?

这取决于比赛的规模,但很可能是的。另一种可能的情况是使用僵尸网络来玩你的比赛。

您可以采取哪些其他可能的措施?

您的比赛是否涉及实物奖品?如果是这样,物理地址可能是清除作弊的好方法。想出 15 个不同的有效电子邮件地址比物理地址容易得多,嗯?

你的奖品有多大价值?作弊者愿意参加你的比赛多远?显然,您要实施的措施取决于相关奖品的价值。

在您的场景中,

一个网站正在进行为期一周的比赛,允许用户每天投票一次。投票无需帐户或登录名,您只需要提供一个有效的电子邮件地址即可。

看来你可以做很多事情来阻止一个坚定的作弊。

  • 就像您在问题中提到的那样,人们往往拥有多个有效的网络身份。网站很难识别多个身份是否属于同一个人。

  • 在您拥有的条件下,您实际上无法阻止人们多次注册。

投票无需帐户或登录名,您只需要提供一个有效的电子邮件地址即可。不发送验证电子邮件。

  • 为了避免多次输入,注册需要从用户那里获取多个参数,例如手机号码,或者可能让他们填写注册表。必须通过发送 SMS 或电子邮件来验证这些参数。
  • 我不建议将这种复杂程度添加到在线比赛中,因为这会导致注册数量减少。
  • 我见过的一种常用方法是让人们通过发送短信进行注册,并且他们应该在领奖时带上手机。即使这样也可能导致用户多次注册,但与在线注册相比,情况会更加可控

这种方法并不能阻止僵尸网络。

如果我拥有一个由 10 万台机器组成的僵尸网络,我可以通过让每台机器搜索在 Outlook 和其他邮件程序的配置文件中查找回复地址来伪造 10 万张选票。然后,我让每台机器使用它找到的电子邮件地址提交一票。

这是作弊,但在您看来它是合法的,因为每张投票实际上来自不同的机器,并且电子邮件地址确实与该机器的用户相关联。

您可以将人力与每个电子邮件地址联系起来 - 我正在考虑“帐户”的变体,但投票人不知道的变体。就像将阅读理解问题与能够提交投票联系起来一样。

让用户提交一个包含 4 个可能答案的问题,其中只有 1 个是正确的。只有当您正确回答别人的问题时,您的投票才会被登记。类似同行评审的东西。(当然你需要一个系统来防止人们发布没有人能得到正确答案的问题,所以也许一些指导方针和使用提交问题的逐步发展?比如说,在 1 周内你的选票被分裂了通过 7*number 正确答案,但您丢弃了问题/答案集,统计上很少有人正确回答...)

据我所知,人工智能的语义分析不会产生好的结果。

就像享有盛誉的 Stack-Exchange 网络一样。机器人不太可能获得声誉。但这是假设您的方案不允许的帐户。