当前位置:首页 > 探索

投票软件有什么漏洞

2018年,投票瑞士邮政的软件电子投票系统在测试阶段被白帽黑客攻破,攻击者拿到了投票数据的漏洞加密密钥。这不是投票孤例。凡是软件软件,就有漏洞——投票软件也不例外,漏洞而且它的投票漏洞后果比普通App严重得多。

身份验证:谁都能是软件“你”

大多数在线投票系统靠身份证号、手机号加验证码来确认身份。漏洞问题在于,投票这套逻辑在互联网上早就千疮百孔。软件2020年,漏洞美国某州初选使用的投票投票App被爆出:只要知道选民的姓名和出生日期,就能代替他投票。软件这两个信息在社交网络上几乎公开。漏洞

更麻烦的是,很多系统没有绑定设备指纹或生物特征。一个手机号可以注册多个账号,虚拟号码平台花几块钱就能批量获取。身份验证一旦形同虚设,后面所有环节都没有意义。

数据传输:半路被截胡

投票数据从你的手机到服务器,中间要经过路由器、运营商网关、CDN节点。如果传输层没有端到端加密,或者加密协议版本过旧(比如还在用TLS 1.0),中间人就能篡改选票。

2019年,安全研究员在莫斯科某电子投票系统中发现,选票在传输过程中以明文形式短暂存在,攻击者可以在毫秒级窗口内替换候选人编号。这种攻击不需要破解加密,只需要抢时间。

客户端篡改:你看到的不是真相

投票App运行在用户设备上,而用户设备不可控。Root过的安卓手机可以注入代码,让App显示“投票成功”,实际上根本没发送数据。反过来,恶意软件也能在后台伪造投票请求,用户毫不知情。

更隐蔽的是界面劫持。攻击者可以修改App的UI,把A候选人的按钮映射到B候选人的数据包。你点了张三,服务器收到的是李四。这种漏洞靠服务端日志根本查不出来,因为请求本身是合法的。

服务端逻辑:权限与并发

服务端的漏洞往往更致命。常见的有水平越权——用户A能查看或修改用户B的投票记录。2016年,某高校学生会选举系统就出过这事:改一下URL里的用户ID,就能看到全班的投票详情。

并发问题也很典型。如果投票接口没有做幂等控制,攻击者可以用脚本在一秒内提交上千次请求,把某个选项刷上去。有些系统只在前端限制“每人一票”,后端根本没校验,抓包重放就能无限投票。

审计与溯源:改了你也不知道

纸质投票有物理存根,电子投票的日志却可以被删除或篡改。如果系统没有区块链式的不可变审计链,管理员权限一旦泄露,攻击者可以修改选票后擦除日志。你事后查到的“投票记录”,可能只是攻击者想让你看到的那份。

2022年,爱沙尼亚电子投票系统被质疑存在日志覆盖问题,虽然官方否认,但独立审计团队发现部分日志文件的哈希值对不上。这意味着,连“谁在什么时候投了票”这件事,都可能不可信。

不是能不能修,而是值不值得信

每个漏洞单独看都有补丁,但组合起来就是系统性风险。投票软件要求匿名性、可验证性、不可篡改性同时成立,这三者在分布式系统里天然矛盾。你越方便,攻击面越大;你越透明,隐私越难保。

我的判断很直接:在身份认证和终端安全没有根本性突破之前,关键选举不应该依赖纯软件投票。漏洞不是bug,是结构性的。你修得完一个,修不完一百个。

分享到: