软件Bug致763人“背锅”被起诉,20年后这家公司烧2.8亿元却遇“上云难”,继续用旧系统!
“大量资金”不翼而飞、736 名邮局分局长被起诉、900 多起诉讼案展开、现如今只有 30 人同意及全面和解......谁能想到,导致这场混乱的根源是一款软件带来的 Bug。
这两天,英国很多科技网站的头版头条都挂着一则有关“邮局 Horizon” 的丑闻。
事件起因于一位名为 Gwyneth Hughes 编剧花了三年时间制作了四集剧情片——《贝茨先生大战邮局》,该短剧改编自真实事件,讲述的是英国邮政局公司在过去 20 年中错误地指控邮局分局局长盗窃、欺诈和做假账的故事。
令编剧本人也没想到的是,这部片子在今年 1 月正式上线播出后不久,引起巨大反响,甚至超过 100 万公众签署请愿书,要求剥夺真实世界中邮局公司前局长 Paula Vennells 的 CBE 勋章(颁发给那些在各个领域有杰出创新贡献的人)。
虽然自节目播出以来,已有 50 名新的潜在受害者联系了律师,其中 5 人希望对定罪提出上诉,但和短剧中那些含冤顶罪的邮局分支机构负责人最终得到平反的结局有所不一样,现如今,这一案件在追查近 20 年后,一切仍未结束。
一个由软件问题引发的冤案
事情最早要追溯到 1994 年,在互联网浪潮风起之际,英国邮局公司为了能更好地管理旗下多个分支机构,希望用磁卡系统取代原本的纸质系统。因为彼时邮局公司的很多分支机构都是由特许经营合作伙伴运营的,并非邮局公司派遣员工直管。现在来看,有些像承包关系。
那时,一家名叫 ICL Pathway Limited 的软件公司中标了,它的母公司是 International Computers Limited(ICL),该公司在 1998 年被日本 IT 巨头富士通收购。
这家软件公司起初研发了一个刷卡系统 Horizon V1,旨在实现邮局分支机构的养老金和福利与社会保障部的养老金和福利的一体化。该系统于 1996 年启动,最终于 1999 年 5 月被取消,并被社会保障部否决。该系统花费了纳税人大约 7 亿英镑。
然而,失败之后,政府继续采购,改变了有关邮局公司的计划。政府开始将该系统作为一种为其所有分支机构提供电子会计、交易和库存盘点的手段。
不过,那时的他们对 Horizon 系统的有效性仍然存在疑问,正如外媒报道的董事会在当年 9 月份的会议记录中写道,“对软件的可靠性仍然存在严重怀疑”,但似乎被忽视了。
从 1999 年开始,邮局公司用上富士通开发的 Horizon V2 系统,邮局分支机构的负责人们接受了 Horizon V2 的培训。
放眼 1999 年,Horizon 是欧洲最大的非军事 IT 项目,所以也备受关注。
令人没想到的是,就在用上这款系统不久后,一些邮局分支的账目出现了差错,导致了一系列的财务问题,包括错误的欠款、多付和缺失的资金,有时候资金缺口甚至达到了数万英镑。
在那个互联网系统初步普及的时代,很多人没有遇到这样的事情,邮局分支机构负责人也无法解释这种情况。
于是,邮局公司认为是这些分支机构的负责人“贪”了。而根据当时双方签订的合同来看,这些负责分支机构的负责人除非能自证清白,否则需要对经济损失直接负责。
迫于无奈,一些负责人拿出自己的腰包去填补账面上的空白,也有人通过抵押自己的房屋来弥补。
根据 Horizon 提供的信息,1999 年至 2015 年间,拥有私人调查和起诉权、无需警察参与的邮局公司起诉了至少 700 名邮政副局长,罪名包括盗窃、虚假做账等犯罪行为。
最终,数百名邮政副局长入狱,也有些人随着这一事件的曝光被他人排斥,无家可归,甚至还有一些人在定罪被推翻之前死亡。
这些年间,很多人并不是没有发现问题,据外媒后来报道,早在 2000 年,就有人向邮局的高级经理表示,计算机技术人员对该系统拥有操作权,甚至他们可以更改邮局负责人的数据。
随后,有一家安永会计师事务所(Ernst and Young)发送给邮局公司的审计报告中称,其“再次发现了 Horizon 系统中的漏洞”,即某些 IT 员工对分支机构负责人的 Horizon 账户具有“不受限制的访问”权限,可能导致处理未授权或错误的交易。
不过,这些类似的反馈并没有得到重视,甚至被“压了下来”。
外媒披露,真相逐渐浮出水面
后来,更多的工作人员和负责人陷入与邮局公司持续的官司斗争中,也有人开始寻求媒体的帮助与曝光,其纷纷表示,Horizon 的确是存在问题的。
随着媒体的传播,越来越多的分支机构负责人发现自己绝非个例,于是共同组建了一个邮政副局长正义联盟(JFSA),开启了反击。
议员 James Arbuthnot 也开始介入调查,面对外部的压力,邮局公司被迫认真对待这些问题。2012 年,为了满足政界人士的要求,邮局公司启动了一项外部审查和调解计划,以调查分支机构负责人指控的问题。
作为这项工作的一部分,邮局公司指定并向法务会计公司 Second Sight 支付了调查案件的费用。
没想到的是,Second Sight 公司很快就发现,邮局分支机构负责人并不是小偷和诈骗犯,而是辛勤工作的人们,他们正在与一个计算机系统和一个关心计算机系统声誉而忽视他们的组织作斗争。
2013 年,Second Sight 编制了一份临时报告,揭示了该系统存在的严重问题。
2015 年 3 月,在其完整调查报告发表前夕,Second Sight 的工作被停止,调解计划结束。彼时外媒称,很明显,该调查机构正在靠近真相,最终报告发现,邮局公司对分支机构工作人员的起诉确实可能存在误判。
随着调解计划的失败,JFSA 宣布准备一场集体诉讼 (GLO),通过该诉讼,数百名受害者将起诉邮局公司,要求赔偿容易出错的 Horizon 系统给他们造成的损害,该组织仍然在使用该系统。
此前邮局公司出面否认了系统有问题,并表示“过去三年公司进行了详尽的调查,但没有发现任何证据表明 Horizon 系统存在系统性问题。”
2017 年 1 月,高等法院同意处理此案,GLO 获得了批准。
2019 年 12 月,经过两次审判——第一次审查邮局和分支机构负责人之间的合同,第二次重点关注 Horizon 系统——邮局做出了让步,并与分支机构负责人达成和解。
彼时这个案件中 555 名索赔人获得了 5800 万英镑的赔偿,但扣除成本后,他们只剩下 1100 万英镑。但这个诉讼获胜,证明他们对 Horizon 系统的看法是正确的——它包含可能导致会计缺陷的错误、错误和缺陷。
2020 年 12 月,南华克皇家法院撤销了对首批六名分支机构负责人基于 Horizon 证据的定罪。
次年 4 月,上诉法院推翻了对另外 39 名工作人员的错误定罪。
法官不仅裁定这些起诉是错误的,而且是对正义的侮辱。现在已经推翻了大约 93 项与 Horizon 有关的定罪,预计还会有更多的定罪被推翻。
彼时,时任英国首相 Boris Johnson 对此也发表了自己观点,他称法院最初的定罪是“令人震惊的不公正。”
随即政府也出面称会对这起案件进行公开调查。2023 年 9 月 18 日, 政府宣布 ,任何因依赖 Horizon 证据而被错误定罪且定罪被推翻的人,都可以选择以 60 万英镑的预付款解决其索赔要求,而无需支付任何费用。
时下,外媒最新报道,当地警方首次证实,邮局公司正在因为 Horizon 丑闻期间犯下的“潜在欺诈罪”而接受刑事调查。
事实上,在 93 项被推翻的定罪中,只有 30 人同意「全面、最终和解」。据邮局公司透露,迄今为止,已支付超过 3240 万英镑的赔偿。
Horizon 系统背后可能带来的故障
事后,也有技术人员本着严谨的态度,结合相关的法律调查文件,探讨 Horizon 和相关系统中可能存在的技术故障。
来自伦敦大学学院信息安全研究小组 Bentham’s Gaze 在查看了法院判决文书(https://www.benthamsgaze.org/wp-content/uploads/2021/07/Bates-and-Ors-v-the-Post-Office-Ltd-2019-EWHC-3408-QB.pdf)之后,考虑到 Horizon 执行的大量事务(每天数百万)、不可避免的硬件和通信故障以及系统之间复杂的交互,发现不少错误会很常见,也会导致系统带来缺陷,譬如:
事务处理中原子性失败导致重复传输。在法院此前判决书中显示,有位 Godeseth 先生发现,2010 年 3 月 2 日,一名经理人试图将 4,000 英镑从一个单独的库存单位转入共享的主库存单位,但系统崩溃了。这名经理人随后收到 2 x 4,000 英镑的收据。这两张收据的编号相同。当经理人进行现金申报时,虽然主要库存单位(4000 英镑被转入其中)"没有问题",但从其中提取现金的单位“少了 4000 英镑”。
一致性失效导致系统间失去同步。事务处理中需要保留不变量的一致性。这些不变因素之一是 Horizon(维护邮局柜台)与会计系统(跟踪资金)同步,但是在判决书中,有柜台系统与后端会计系统失去同步的示例。
隔离失败导致报告中缺少交易。隔离性要求并发发生的事务不应互相干扰,但是判决中生成报告的过程与发生的另一个事务之间的隔离失败。
持久性失败导致交易从 Horizon 中消失。通常的实现方式是,系统检测到在交易完全记录之前发生的故障,并通过完成交易记录过程从故障中恢复。判决书中讨论了一种情况,即在连接的银行系统中已经提交了一笔交易,但却从 Horizon 系统中消失了。
日志复制失败。Horizon 的早期版本通过维护系统间复制的消息日志来跟踪所发生的事情,以确保分行的所有计算机与邮局的后端系统保持一致的状态。判决书的技术附录中讨论了一个复制失败的案例。
能确保证据的可靠性。Horizon 产生的证据有时是起诉分支机构工作人员的唯一依据,因此证据必须可靠。这意味着,我们可以确信某项行动是何时发生的,发生了什么,是谁做的。我们还希望确保只有最低数量的人员被授予系统权限,以允许进行敏感更改。评估结果表明,Horizon 未能满足这些要求中的任何一项。
以上法律判决文书中展示的示例无疑证明早期的 Horizon 还是存在巨大的风险的。
上云难?邮局公司还在使用 Horizon
然而,让人更有些无奈的是,邮局公司还在使用 Horizon 系统。
邮局公司表示:“自 1999 年推出以来,Horizon 已经出现了多个版本,而从 2017 年推出的当前版本的系统在集体诉讼中被发现相对于同类系统而言更为稳健。但我们对此并不自满,并将继续与邮政局长一起努力做出改进。”
彼时邮局也曾计划未来不再使用 Horizon 系统,但是似乎一直不太顺利。
2021 年 4 月,邮局公司和富士通签订了 4250 万英镑的 Horizon 延期合同,这份合同在原有的基础上进行了修改。该文件指出,邮局公司现有的 Horizon 系统是一个“高度复杂的遗留平台,由过时版本的软件语言编写”,具有“不灵活的单体架构,使技术变革变得困难”。
但至于为什么续签,其也给出了理由:由于特定的互操作性要求以及现有基础设施、管理业务模式和操作程序的高度复杂性,出于经济和技术原因,在 Horizon 协议到期之前,不能由原承包商以外的承包商提供这些服务。更换承包商将导致实施以及运营和维护方面出现不成比例的技术困难。此外,更换原来的承包商将导致许多沉没成本,包括运行成本的增加、双重运行成本以及两年服务期限的额外过渡成本。
话虽如此,但是就在 2022 年,邮局公司又突然在官网上发布了一则《Moving to the cloud》的通知,表示「如今,一切似乎都在“云端”。我们也热衷于充分利用云所能提供的功能」。并透露,Horizon 系统目前托管在贝尔法斯特的两个固定位置数据中心。此类数据中心很快就会被云技术所取代。
“我们需要与时俱进,确保我们不仅能够最好地支持当前的需求,而且还能满足未来的需求。这一变化将减少我们对遗留数据中心的依赖。固定站点的大部分 IT 基础设施也已接近报废。同时宣布,新的邮局云平台将由 AWS 提供”,邮局公司在公告中写道,“一旦测试成功完成,我们计划在今年晚些(2022)时候开始迁移分行柜台使用的应用程序。”
就在众人期待着全面上云的时候,本来与富士通之间于 2023 年 3 月 31 日到期的合同,又在 2023 年 4 月续签上了,价值 1600 万英镑。邮局公司对此的解释是,“将服务转移到新云提供商的计划为 POL [邮局有限公司] 在经济和技术上带来了无法克服的基本技术挑战。”
2023 年 11 月,邮局公司又与富士通公司续签了一份价值 3600 万英镑的合同,新的资金用于“适当的更新和改进计划”,因为该公司“决定重新转向富士通提供的 Horizon 数据中心,直到成功将服务从 Horizon 中转移出来,并且进入其替代品 NBIT(新分支 IT)。由于数据中心能力的保留,有必要进行数据中心强化工程,以提供稳定性、避免过时并确保业务连续性。”
而据外媒 The Stack 透露,邮局公司在反复上云与弃云的过程中,2023 年 81% 的重组成本被浪费了,随着其不得不“停止部分将现有软件转移到云基础设施的转型计划”,也因此在 2023 年损失了 3100 万英镑(约 2.8 亿元)。
对复杂的遗留系统进行现代化改造是一项充满挑战的工作,但这样反复横跳的操作,也让不少技术人质疑,在很多传统企业成功进行数字化改革的今天,上云有那么难吗?究竟是不好上云,还是不想上云,也许只有他们自己知道了。
但是通过这一事件,外媒 The Stack 暗示道,「如果有合适的合作伙伴,快速完成复杂的现代化工作确实是可以实现的。以美国陆军为例,2021 年,美国陆军在 24 小时内将其后勤现代化计划(LMP)从内部服务器迁移到超级分销商环境。LMP 由全球 50 个地点的 23000 多人使用,是陆军供应链(世界上最大的供应链之一)的基础,托管有关设备准备、资产管理等方面的数据。该系统每天管理 700 万笔交易,并与 80 多个国防部系统集成。当然,这次迁移需要精确的军事规划,但是......24 小时,伙计们。也许邮局公司可以打个电话问问,他们是如何做到的。」
▶小米手机销量登顶国产第一;欧盟拟审查微软对 OpenAI 的投资;LangChain 0.1.0 发布|极客头条
▶熠熠生辉 | 2023 年 Linux 内核十大技术革新功能