英国议会电子请愿系统值得信赖吗?

信息安全 验证 Web应用程序 地理位置
2021-08-31 12:56:29

在过去的几天里,我经常听到关于(实际上)“重复”英国退欧公投的请愿书,我注意到这是一份在线请愿书

我注意到“签名请愿书”表格只需要姓名、电子邮件地址和邮政编码,然后您会收到一封电子邮件以确认您的签名。

这个系统安全吗?不能有人创建一个机器人,每次使用不同的地址连续填写表格(并确认电子邮件)吗?再看隐私页面,似乎连验证码系统都没有,邮件验证是唯一能防止爬虫的“系统”。

最后但并非最不重要的一点是,它没有确保签名者是英国人的系统。

4个回答

请愿网站纯粹是一种机制,用于查看是否有足够多的人数来支持某事,如果是,那么将在议会讨论某事。

有一些制衡(例如 80,000 张假票被识别和删除),但这里不需要高度信任,因为任何这些请愿书都没有决定任何事情。

对于重新进行脱欧公投,大约有400万签署者,即使存在一定程度的欺诈,政府也已经知道这是他们需要讨论的事情。

总而言之 - 它可以被信任到为此目的所需的级别吗?几乎肯定。可以相信没有欺诈行为吗?不。

普通的留言

你能 100% 确定每个签名都来自真人吗?不。你能采取一些预防措施来让作弊变得更难吗?是的。

以下是英国政府可以做的一些事情(不知道他们是否真的做到了):

  • 来自同一 IP 的 X 次尝试后需要成功的验证码。
  • IP 速率限制。当然,同一个家庭中的五个人可能想要注册,或者同一个公司网络上的 10 个人在午餐时聊过之后。但是,如果您以稳定的模式获得 100 个签名,您可以相当肯定有人试图夸大这些数字。
  • 对 IP 进行地理定位并与输入的邮政编码相关联。大多数人会在没有 VPN 或代理的情况下在家中执行此操作。如果你得到 90% 的签名匹配,你可以相当安全,其中大部分都是合法的。
  • 在数据中寻找模式。如果在两个小时内出现了奇怪的注册高峰,并且这些注册具有与其他注册不同的特征,则可能是因为在那段时间有人租用了僵尸网络。
  • 当请愿书达到限制时,随机选择签名者并尝试验证他们。这可以通过例如向他们发送电子邮件并要求他们拨打他们在请愿书中使用的姓名中列出的英国电话号码来完成。这会给你一个上限估计签名中有多大比例是假的。

拥有僵尸网络的聪明攻击者能否克服这些问题?可能,但它确实提高了标准。

案例分析

Stu-W链接到用于自动签署请愿书的 Python 脚本。该脚本有许多弱点,可以很容易地用来过滤掉伪造品:

  • 邮政编码是一个常量硬编码到脚本中(SW1A 0AA)。即使个别用户会更改它,如果在短时间内来自同一邮政编码的大量签名将是一个死的赠品。
  • 使用的电子邮件是使用 Python tempmail模块生成的,该模块只是temp-mail.ru服务的包装器。因此,只需过滤掉他们使用的域就可以了。
  • 该名称只是一堆随机字符,例如“ûqv knzõâ”。
  • 所有帖子都来自同一个 IP 地址。因此,只需限制速率或从数据库中过滤掉 Y 时间内超过 X 个签名的 IP。
  • 没有尝试设置可信的User-Agent标题。

换句话说,这个脚本相当愚蠢。即使它可以用于签署请愿书,但这并不意味着以后不会过滤掉明显伪造的签名。仅仅因为您提交并不意味着您将被计算在内。

我不知道这是否是英国的做法,但每当向政府提交请愿书时,荷兰就是这样做的:

  • 随机抽取签名样本;
  • 这些签名是经过验证的(我认为他们会打电话给人们询问他们是否已经签名);
  • 然后将得到的有效:无效签名比率应用于整个请愿书。

如果请愿书上有足够多的签名有效,则该请愿书必须由议会考虑。

由于英国请愿书的门槛是政府考虑 10,000 份,辩论考虑 100,000 份,因此3,677,062 个签名中只有 0.3%(考虑)/2.7%(辩论)必须是有效的。

您无法将邮政编码与 IP 位置匹配,我在英国使用 Plusnet,当我根据位置检查我的位置时,它显示为离我在邓迪(几百英里外)。所以它不能用它来检查。

同样,您不需要数百万个电子邮件地址,只需要 1 个带有许多别名的电子邮件地址 - 假设实际检查了电子邮件地址。

我怀疑请愿网站是在考虑欺诈验证的情况下建立的,因为直到最近,请愿书大多都是针对微不足道的事情。它可能只是一个简单的网络表单,使用电子邮件回复和邮政编码和姓名的重复检查器(多人可以住在同一个地方)