← 所有漏洞
💻 你无法检查的软件
选举日前没有任何东西锁定软件
即使投票软件在数周前被检查过,在大多数地方,没有什么强制机器在选举日证明——它仍在运行那个确切的被检查版本。所以它可能在最后一刻被悄悄替换。
▶
说明视频即将推出
60 秒的平实语言演示,讲解此漏洞。
实际发生了什么
当 Washington, D.C. 在 2010 年进行互联网选票返回系统的公开测试时,密歇根大学的 J. Alex Halderman 团队在 36 小时内获得了对服务器的近乎完全的控制——能够改变投票——该试点被撤回。这生动地提醒我们,一个在某个时刻"被审查过"的系统,一旦实际运行,可能表现得非常不同。
当前状况
这个 2010 年的互联网投票试点是对原则的演示,不是现在使用的系统。目前的情况是间隙本身:今天大多数司法管辖区仍然不要求机器在选举日证明它运行的是被审查过的确切软件——这正是上图在现行法律中衡量的。
检查一次不等于选举日检查
想象一位厨师的厨房在星期一通过了检查。然后在他们于星期六为你做饭之前,再也没人看过。这次检查是真实的——但它不能告诉你这之间发生了什么。
投票软件往往就是这样。它在选举前可能会被检查和批准。但在大多数地方,没有什么强制机器在选举日证明它仍在运行那个确切被批准的版本。 "被审查"和"运行中"之间的窗口被留下没有防守。
为什么这很重要
这个间隙是最后一刻的软件替换可能隐藏的地方。解决方法是一个选前承诺:一个被批准软件的加密指纹,提前公布,机器启动时必须匹配。
TrustVoting 如何关闭这个间隙
每台机器在启动时都证明它运行的正是指纹化的、被批准的版本——这个证明是公开的,所以任何人都可以确认选举日运行的软件正是被审查过的软件。
TrustVoting 如何消除它
TrustVoting 对被批准的软件进行加密指纹识别,并要求机器在选举日启动时证明它运行的正是那个版本——这是一个公开的选前承诺,任何人都可以检查。