历史上代价最高的 11 个软件错误


软件错误造成的经济损失取决于几个因素。首先,支付开发人员和软件工程师来解决混乱的直接成本。然后就是停机、数据丢失和交易浪费。在此之后,还需要考虑声誉受损。任何遭受灾难性软件错误的组织都将失去客户和更广泛市场的信誉,甚至可能违反其服务协议。这可能会导致长期的财务损失,因为人们对品牌本身失去信任并在未来避免使用它。

然而,并非所有成本都以美元衡量。软件无处不在,几乎影响着我们所做的一切。除了金钱影响之外,还可能对人们的隐私、有价值的数据甚至安全产生负面影响。

为了演示一个简单错误的破坏性后果,让我们看看它会变得多么糟糕。言归正传,以下是有史以来代价最高的软件错误。

1. 水手1号宇宙飞船,1962年
我们的清单中的第一个条目可以追溯到六十年代。
在爱情之夏或熔岩灯发明之前,美国宇航局发起了一项飞越金星的数据收集无人太空任务。它没有按计划进行。
水手一号太空探测器刚刚离开卡纳维拉尔角,火箭就危险地偏离了轨道。由于担心火箭会在地球上迫降,NASA 工程师发出了自毁命令,火箭在发射后约 290 秒被摧毁。
调查显示,原因是一个非常简单的软件错误。一行代码中省略了一个连字符,这意味着向航天器发送了错误的引导信号。据报道,这一遗漏的总成本当时超过 1800 万美元(当今世界约为 1.69 亿美元)。

2. 莫里斯蠕虫,1988
并非所有代价高昂的软件错误都会被大公司或政府组织所忽视。事实上,有史以来代价最高的软件错误之一是由一名学生造成的。康奈尔大学的一名学生在实验中创建了一种蠕虫病毒,该蠕虫病毒最终像野火一样蔓延,并由于编码错误导致数万台计算机崩溃。
这些计算机都通过非常早期版本的互联网连接起来,这使得莫里斯蠕虫病毒本质上成为第一个传染性计算机病毒。研究生罗伯特·塔潘·莫里斯 (Robert Tappan Morris) 最终被指控犯有黑客犯罪罪,并被罚款 10,000 美元,尽管他造成的混乱造成的损失估计高达1,000 万美元
不过,历史已经原谅了莫里斯,该事件现在被广泛认为暴露了漏洞并提高了数字安全性。如今,莫里斯是麻省理工学院的一名教授,该蠕虫病毒的源代码已作为博物馆藏品保存在波士顿大学的软盘上。

3. 奔腾 FDIV 错误,1994 年
Pentium FDIV 错误是一个奇怪的例子,它是一个小问题,由于大规模的歇斯底里而像滚雪球一样越滚越大。
数学教授托马斯·尼斯利 (Thomas Nicely) 发现了奔腾处理器中的一个缺陷,并将其报告给英特尔。他们的回应是向任何能够证明他们受到影响的人提供替换芯片。
原来的错误比较简单,是芯片算法的查找表有问题。这可能会导致计算出现微小的错误,但这种情况很少见。事实上,计算出误判的几率只有三千六百亿分之一
尽管该软件错误的实际影响可以忽略不计,但当该错误的详细信息被国际媒体报道后,数百万人要求更换新芯片,英特尔因此损失了超过 4.75 亿美元。

4. 比特币黑客攻击,Mt. Gox,2011 年
Mt. Gox 是 2010 年代世界上最大的比特币交易所,直到他们受到软件错误的打击,最终证明是致命的。
该故障导致交易所创建的交易永远无法完全赎回,损失的比特币损失高达 150 万美元。
但 Mt. Gox 的困境并没有就此结束。2014 年,他们在一次黑客事件中损失了超过 85 万个比特币(当时价值约 5 亿美元)。大约20万枚比特币被追回,但财务损失仍然巨大,交易所最终宣布破产

5. EDS 儿童抚养系统,2004 年
早在 2004 年,英国政府就引入了一套新的复杂系统来管理儿童抚养机构 (CSA)的运营。该合同授予 IT 服务公司电子数据系统 (EDS)。该系统名为CS2,刚上线就出现了问题。
当时泄露的一份内部备忘录显示,该系统“设计糟糕、测试糟糕、实施糟糕”。该机构报告称,CS2“报告了 1,000 多个问题,其中 400 个没有已知的解决方法”,导致“每周发生约 3,000 起 IT 事件”。该系统的预算成本约为 4.5 亿英镑,但最终总共花费了约7.68 亿英镑。总部位于德克萨斯州的承包商 EDS 在随后的财务业绩中也宣布亏损 1.53 亿美元。

6. 希思罗机场 5 号航站楼启用,2008 年
想象一下,您正准备出发开始您期待已久的假期或重要的商务旅行,却发现您的航班停飞或您的行李不见踪影。
这正是2008 年 3 月希思罗机场 5 号航站楼开放时成千上万旅客所遭遇的情况,而这一切都是由有缺陷的软件造成的。问题出在新的行李处理系统上,该系统在测试运行中表现良好,但在现实生活中却惨遭失败。这造成了巨大的破坏,例如行李带故障以及数千件物品丢失或发送到错误的目的地。
英国航空公司还透露,无线网络问题导致机场出现其他问题。接下来的 10 天里,大约 42,000 件行李丢失,500 多个航班取消,损失超过 1,600 万英镑。

7. NASA 火星气候轨道飞行器,1998
从你的钱包里损失 20 美元可能足以毁掉你的一天 - 失去一艘价值 1.25 亿美元的宇宙飞船会有什么感觉?美国宇航局工程师早在 1998 年就发现了这一点,当时火星气候轨道飞行器因太靠近火星表面而烧毁。
工程师们花了几个月的时间才找出问题所在。事实证明,在将英制单位转换为公制时,这是一个令人尴尬的简单错误。调查报告显示,洛克希德·马丁公司生产的地面控制软件使用英制单位,而NASA生产的机载软件则采用国际单位制编程。此次失败任务的总成本超过 3.2 亿美元。

8. 苏联天然气管道爆炸,1982 年
早在 1982 年,在美国和苏联之间的冷战紧张局势最激烈的时候,苏联政府建造了一条在先进的自动化控制软件上运行的天然气管道。苏联人计划从一家专门从事此类编程的加拿大公司那里窃取信息。
据报道,中央情报局得到消息并开始策划一些反间谍活动。他们与加拿大人合作,在软件中故意植入错误(也称为特洛伊木马),以危害苏联管道。
不知情的苏联人偷走了受损的软件并将其应用到管道中。1982 年 6 月爆炸发生,其威力从太空中都可见。这严重损坏了这条管道,该管道耗资数千万美元建造,原本预计将产生 80 亿美元的天然气收入。

9. Knight 的 4.4 亿美元不良交易,2012 年
从任何人的标准来看,损失 4.4 亿美元对于办公室来说都是糟糕的一天。更重要的是,由于软件错误,在短短 30 分钟内就发生了这种情况,导致世界上最大的资本集团之一的价值蒸发了 75%。
骑士资本集团投资了新的交易软件,本应帮助他们在股票市场上大赚一笔。相反,它最终毁掉了他们的公司。几个软件错误结合在一起,导致 Knight 疯狂买入,花费超过 70 亿美元购买了 150 只不同的股票。
这些意外交易最终导致该公司损失了 4.4 亿美元,高盛不得不出手相救。奈特从未真正恢复元气,并最终在不到一年后被竞争对手收购。

10. 欧空局阿丽亚娜 5 号航班 V88,1996 年
考虑到太空探索的复杂性和费用,难怪我们的历史软件错误列表中有几次失败的太空任务。然而,欧洲航天局的阿丽亚娜 5 号失败是一个比其他事件更严厉的警示,因为它是由多个错误造成的。
首次发射后仅 36 秒,由于工程师重复使用阿丽亚娜 4 号的不兼容代码以及从 64 位数据到 16 位数据的转换错误,火箭发动机出现故障。
这次失败导致 ESA 损失 3.7 亿美元,随后的调查提出了一系列建议,包括呼吁改进软件分析和评估。

11. 千年虫,2000
千年虫,又称臭名昭著的Y2K,是 2000 年之前的一个巨大问题。人们担心世界各地的计算机系统将无法处理 1999 年 12 月 31 日之后的日期,因为大多数计算机和操作系统仅使用两位数字来表示年份,而忽略了代表二十世纪的 19 前缀。人们对银行、航空公司、电力供应商和关键数据存储的崩溃做出了可怕的预测。系统如何处理 00 数字?
反气候的回答是“实际上很好”。千年虫有点不可能,并没有造成太多现实问题,因为大多数系统都提前进行了调整。然而,整个 1999 年底,由于潜在后果引起的恐惧,在应急计划和准备方面花费了数千巨额资金,机构、企业甚至家庭都做好了最坏的打算。美国花费了大量资金来解决这个问题,有人估计成本高达 1000 亿美元