代码之家  ›  专栏  ›  技术社区  ›  Martin

在受损机器上部署软件

  •  6
  • Martin  · 技术社区  · 15 年前

    我参与了一个关于如何为大选构建互联网投票软件的讨论。我们已经达成了一个共识,即存在许多用于双向认证和通信的安全方法。

    然而,有人走过来指出,在大选中,一些正在使用的机器几乎肯定会受到损害。引述:

    让我成为一个邪恶的选举骗子。 我想抽样调查人们的投票 投票并希望我得到一些东西 诽谤性的我从一些 控制着1000个 在英国受损的机器只是 选举日。

    我捕捉到1000人的投票习惯 选举日的选民。我注意到5 他们投票给了BNP。我看这些 用户检查他们的机器, 我查看了他们的文件 他们的机器,找出他们的名字 和地址。我发现其中一个 是保守党议员的妻子。我泄露了妻子的秘密 托利党议员是法西斯分子!对一些 我认识的博主。它上网了 然后传播开来,在选举中摇摆不定。

    这是个严重的问题!

    那么,在一台可能受到危害的机器上,运行用户与软件的交互必须保密的软件的最佳技术是什么?

    6 回复  |  直到 15 年前
        1
  •  6
  •   Steve Jessop    15 年前

    这是不可能的。幸运的是,银行也面临着同样的问题,所以那些小的家用芯片的涂鸦是相当便宜的。

    所以,如果你想要安全的在线投票,你可以向每个申请投票的人发送一个自定义的投票窍门。这个愚蠢的签名和加密他们的选票 之前 将其发送到PC,通过导线进行传输。唯一能做的就是窃听投票人是否投票。因为政党已经这样做了,通过在投票站外派驻政党工作人员,这对选举系统来说不是一个重大风险;—)

    你仍然面临一些邮寄投票的问题,比如买票和强迫投票,或者偷别人的东西,但只有通过物理访问,而不是通过损害他们的电脑。如果你依靠家庭互联网连接,显然会有DoS攻击,但是没有理由选民不能选择去投票站,如果他们的控制室节拍下降。

    是否便宜 足够地 这仍然令人怀疑——我猜他们每人要花上几英镑,我认为这在实际用于选举的规模上并不便宜。但它们并不昂贵。不幸的是,我怀疑他们在投票站能省下很多钱。英国的投票成本在很大程度上取决于投票站的数量。尽管这一次出现了问题,但投票站的数量并不是因为需要提供足够快的吞吐量,而是因为人们不必为了到达投票站而远行。因此,选民的减少并不能真正让你减少投票站的数量。减少纸张可能会节省时间和金钱,但肯定不足以支付涂鸦。

    最后当然还有攻击硬件的风险。有人可能会在邮件中截获它们,并用相同的外观设备替换它们。但是,与在投票站攻击硬件不同,攻击者只影响每一个被破坏的专用投票硬件的一票,因此至少在开始时设置了较高的标准。

        2
  •  3
  •   Stephen C    15 年前

    那么,在一台可能受到危害的机器上,运行用户与软件的交互必须保密的软件的最佳技术是什么?

    唯一的答案是你不能/不能这样做。如果硬件或操作系统可能被破坏,您不能保证对用户交互保密。

    但另一个观点是,人类所知的任何投票系统(电子或其他)都是不廉洁的。这就是为什么你需要让人们检查欺诈行为,让人们监视人们,以及一种腐败行为不正常的文化。

    编辑

    …如果一个人能将受损机器的影响降低到低于纸面投票系统中的腐败水平,那么你就获得了积极的收益。

    你还必须考虑到其他形式的腐败,这些腐败在国内的电子投票中要容易得多。像是代理策略、销售投票、大多数人没有适当保护他们的电子凭证等。简而言之,你提出的是假设性的,并且(imo)是不现实的。

    与通过假设的家庭电子投票来解决一大堆潜在的更糟糕的问题相比,亲自在纸上投票来修复缺陷要简单得多。

    (同时,你也暗示了英国的纸质投票存在一定程度的腐败,这让我作为前英国居民感到意外。这不是主题,但您能提供支持它的引用/链接吗?)

        3
  •  2
  •   mdma    15 年前

    您有两个主要选择,要么回避机器的组成部分(例如,提供完整的操作系统),要么在组成部分内工作,使其难以获得数据。

    第二个选择更实际。虽然你不能阻止那些阴谋诡计的人最终获得数据,但你可以让数据变得足够困难,以至于需要一天以上的时间,从而使泄露出来的投票习惯变得无害。

    假设一个Web应用程序,不使用标准的UI组件,并且改变它们在屏幕上的位置,使用多层加密,禁用键盘输入,以及使用动画来愚弄屏幕抓取器,都会使处理过程变得更加棘手,从而获得更多的时间。

        4
  •  1
  •   meriton    15 年前

    显然,如果输入投票的机器被破坏,您就不能确保投票的机密性。无论采取什么措施,攻击者所需要做的就是在一个虚拟机中执行您的软件,该虚拟机记录对键盘、鼠标和屏幕的所有访问。通过回放记录,攻击者可以看到用户如何投票…

    然而,在设计电子投票协议时,这是你最不担心的。如何防止有人入侵选举服务器并操纵结果?你是如何检测到篡改的?如果服务器被破坏了,我的投票会保密吗?我能被迫公开我的投票吗?

        5
  •  0
  •   rook    15 年前

    电子投票面临的最大威胁是攻击者影响选举的能力。把CD花在你做的人身上 Massive Identity Leaks 更有价值。攻击者不仅可以摧毁他们的信用,而且还可以摧毁他们的国家。

    甚至强迫人们使用特定的硬件也行不通。查看控制台模块,或 ATM Skimmers Hardware Keyloggers . 你必须担心将选票转移到计票上,甚至 SSL has secuirty problems . 还有集中数据库的问题,SQL注入将是毁灭性的。

    真正的问题是,“电子投票比纸质投票更安全吗?”攻击者更难影响什么?老实说,我认为电子投票机不会改变伊朗最近选举的结果。

        6
  •  -1
  •   Martin    15 年前

    一个明显的解决方案是通过可引导CD将软件发送给最终用户。用户只需重新启动他们的计算机,他们现在在一台不受影响的计算机上。

    然而,这并不是非常简单的开发(试图使CD上的操作系统与我们将在机器上遇到的所有硬件变体兼容)。此外,我无法想象普通家庭用户的BIOS设置为“从CD启动”,并告诉选民修改他们的BIOS设置,这只是一个很大的进步。