首页>行业资讯>花40多万开发的App扰乱了一场大选,几乎毁了一家公司
永佳动态 行业资讯 永佳见解 常见问题

花40多万开发的App扰乱了一场大选,几乎毁了一家公司

更新时间:2020/11/5 13:50:02 作者:永佳软件

近日,美国爱荷华州召开了民主党总统候选人初选大会。过往,都是用纸质投票的方式进行,这次希望采用一款名为“IowaReporterApp”的电子计票应用程序,该程序最初被认为可在投票2小时后快速公布结果。但是,这款应用程序在使用时发生故障,导致大规模混乱,直到第二天还未能公布结果。
      该应用程序由Shadow公司开发,前后花费了四个月时间,成本为63182美元(约合人民币44万元),基于ReactNative构建。这家公司还曾替政府建过网站、设计数字营销活动或打造各种工具。据专家称,IowaReporterApp应该有如下基本功能:
      当选区主席用选区识别码(PIN码)经过双重认证登陆到App后,就会浏览到关于如何进行初选的基本信息。
      选区主席需要输入参与初选的总人数;
      选区主席需要分别输入第一轮和第二轮初选投票总数。App会计算出每个候选人应该获得多少代表名额。随后,App会计算出每个候选人应该获得多少选票。
      据外媒报道,Shadow在1月中旬就曾邀请人员测试过该程序,但必须通过Android的程序测试平台TestFairy来下载App,一家媒体在两支Android手机上下载及安装了IowaReporterApp,但只有一支手机上的可正常启动。Shadow也在苹果的测试平台TestFlight上部署了该程序,但很多人反馈下载或安装该程序都很困难。
      有趣的是,美国公共广播电台(NPR)曾质疑通过全新的App进行选举的方式可能会暴露公众隐私,当时民主党不愿揭露IowaReporterApp的安全机制设计,担心公布相关细节反而会让黑客有机可趁。如今看来,IowaReporterApp在很多方面的表现都很差。
      问题出在哪?
      公司体量小、缺乏经验
      这不是第一次将移动应用程序用于选举中,以前之所以没有引发太多关注,是因为一切都运行良好,实际上,2016年的选举中就曾使用过具有类似功能的移动应用程序。
      2016年为选举提供App服务的公司联合创始人兼联合CEORodneyGuzman说道:
      “当我目睹这一切发生时,简直像做了一场噩梦。这个工作如果由我们来完成就不会发生这种事。”
      2016年,这项工作是由微软外包商InterKnowlogy公司完成的,InterKnowlogy公司基于微软技术为选举构建App和其他数字化基础设施。InterKnowlogy在应用程序开发方面拥有近二十年的经验。相比之下,2020年初选的应用程序是由一家名不见经传的新公司Shadow打造的,该公司以前从未接触过如此大规模的需求。
      构建过于匆忙
      2016年App和2020年App其实很相似,虽然功能并不复杂,但同一个App的多个版本需要服务于不同的设备和系统。更重要的是,这些版本在首次使用时就要表现出完美的性能,没有时间去做更新和改进。
      由于2020年App供应商不像之前的团队那么经验丰富,并且有足够的资金和人力支持。据了解,2016年的App构建筹备了约一年时间,前三个月进行产品设计,与需求方会面,对App的可用性不断研磨,而这三个月初期设计阶段差不多赶上了Shadow整个产品构建周期。
      对于外界质疑的该款App到底花了多长时间来构建这一问题,Shadow首席执行官GerardNiemira表示,“我们从8月开始接洽,并自那时起开始收集需求并着手设计,因此App的构建周期基本上是从2019年8月到12月。因为收集需求耗费了比较长的时间,所以直到交付期临近时才有了最终版本。”
      根据国家记录显示,该App是在几个月内构建的,成本为63182美元,对于应用在如此重要场合的一款App来说,四个多月的构建周期真的不算长。
      “我作为一名工程师,听到这种消息感觉有点疯狂,”InterKnowlogy软件工程师MichaelGramley说道。“我们不能在两三个月内建立一个稳定的平台。因为我们需要花费大量时间来测试所有内容。如果真有人这么做了,那最终失败的可能性非常大。”
      缺乏训练和测试
      在故障发生后,请来了6位网络安全和应用开发专家来对App进行分析。
      Android资深开发人员KasraRahjerdi表示,该应用程序包含默认的ReactNative元数据,并且“只在原有的框架上添加了自己的代码”。换句话说,该App就像一个不会编码的人机械地按照教程完成构建。Rahjerdi表示,他们从初级入门包开始操作,只是在入门包上添加了一些东西。我甚至有一种感觉,觉得这个就像是通过谷歌搜索操作说明,然后一步步根据操作说明构建的App。
      Shadow首席执行官GerardNiemira在接受媒体采访时表示,该应用程序设计很简单。他称这种App不需要过于复杂,只需要帮助选区主席做数学运算,并以最快的速度获得票选结果,这是一个相对简单的App,原理就像计算器一样。此款App是可靠的,来自该App上的的数据是可靠的,在App上完成的数学运算也是可靠的,我们在App上收集到的所有结果都是正确的,并且已经得到验证。
      GerardNiemira的言外之意是:
      数据和结果都是正确的,只是,速度慢了不少。
      然,这款app的设计初衷,恰恰是为了提高投票结果的统计效率。
      除了处理数据的速度不尽如人意外,在被问及App的安全性测试时,Niemira解释道,我无法透露进行安全性测试公司的名字,但我们确实进行了独立审核。该审核时某些配置项的确出现了问题,但是我们已经在初选前将这些配置项进行了很好地修复。
      最终结果
      最后,该州在一份声明中称:选举数据和结果已经从App中导出,并且正在通过纸质记录进行核实。主席TomPerez表示,该应用程序不会在任何初选或预审中再次使用。目前,该App的整个后端已经关闭,无法通过它或从公司服务器访问任何信息。App出现故障次日,美国国土安全部表示愿意帮助分析该款App的安全性,但该提议被拒绝。