NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

历史上代价最高的 11 个软件故障

  • 2019-01-23
  • 本文字数:2930 字

    阅读完需:约 10 分钟

历史上代价最高的11个软件故障

软件错误监控系统每天让成千上万的开发者免受软件错误所带来的尴尬,有些错误甚至是灾难性的。如果没有了这些自动化错误监控系统会怎样?我们收集了多年来发生的一些重大的灾难事件,看看因为软件错误导致的混乱会给这个世界带来多大的麻烦!

美国宇航局的火星气候探测器

1999 年,美国宇航局搭载火星气候探测器的飞航在执行任务时在太空中“走丢”了。这个问题困扰了工程师一段时间,后来发现,这是因为工程团队里的一名合同工忘记将一个英制单位转换为公制单位。这一令人尴尬的失误导致这艘造价 1.25 亿美元的飞船在接近火星表面并尝试稳定轨道时因为轨道过低,出现了致命的后果。飞行指挥员认为,探测器在坠入火星大气层后,相关的压力导致通讯中断,然后在围绕太阳的轨道上高速飞行。


参考链接:


https://sma.nasa.gov/docs/default-source/safety-messages/safetymessage-2009-08-01-themarsclimateorbitermishap.pdf?sfvrsn=eaa1ef8_4

阿丽亚娜 5 号

欧洲最新的无人卫星发射火箭阿丽亚娜 5 号重用了其前身阿丽亚娜 4 号的系统软件,不幸的是,阿丽亚娜 5 号的发动机遭遇了在之前的型号中没有被发现的漏洞。在火箭首次发射后的三十六秒内,出现了多次计算机故障,工程师不得不按下自毁按钮。原来,系统软件试图将一个 64 位的数字塞入 16 位的空间。由此产生的溢出导致主计算机和备份计算机(它们都运行完全相同的软件系统)崩溃。


阿丽亚娜 5 号的开发成本接近 80 亿美元,并携带了造价 5 亿美元的卫星,然而它们都化为灰烬。


参考链接:


https://en.wikipedia.org/wiki/Cluster_(spacecraft)

EDS 儿童支持系统

2004 年,EDS 向英国儿童支持机构(CSA)推出了一个高度复杂的 IT 系统。与此同时,工作和养老金部门(DWP)决定对整个机构进行重组。然而,因为两个软件系统完全不兼容,引入了一些不可逆转的错误。系统超额支付了 190 万人,少支付了另外 70 万人,有 70 亿美元的子女抚养费未收回,积压了 239,000 个案件,有 36,000 个新案件“滞留”在系统中,迄今为止已经花费了英国纳税人超过 10 亿美元。


参考链接:


http://news.bbc.co.uk/2/hi/uk_news/3235394.stm

苏联天然气管道爆炸

苏联天然气管道因为太过复杂,需要使用先进的自动化控制软件。美国中央情报局(CIA)在得知苏联企图窃取控制系统的计划后,与设计管道控制软件的加拿大公司合作,让设计师故意在程序中留下缺陷。1982 年 6 月,苏联窃取了该软件后,其中留下的缺陷导致苏联部分天然气管道发生大规模爆炸,造成地球历史上最大的非核爆炸。


参考链接:


https://en.wikipedia.org/wiki/At_the_Abyss

Mt. GOX 的比特币攻击

2010 年,日本比特币交易所 Mt. Gox 推出,是当时世界上最大的比特币交易所。在 2011 年 6 月遭到黑客攻击后,Mt. Gox 表示,他们损失了超过 850,000 个比特币(在撰写本文时价值约 5 亿美元)。


尽管大约有 200,000 个比特币被收回,但 Mark Karpeles(前首席执行官)承认,“我们的系统存在缺陷,导致我们的部分比特币消失了”。


参考链接:


https://en.wikipedia.org/wiki/Mt._Gox#Bankruptcy;stolen_bitcoin(2014%E2%80%93ongoing)

希思罗机场 5 号航站楼

就在英国希思罗机场 5 号航站楼开通之前,工作人员测试了他们全新的行李处理系统。这个系统每天需要检查大量的行李。在向公众开放航站楼之前,工程师们对系统进行了全面的测试,测试了 12,000 多件行李。所有的测试都很完美,唯独在航站楼正式开放那一天却出了状况。有人认为,在“现实”场景中,如果行李箱中有重要物品,当乘客手动从系统中取出行李时,会导致整个系统产生混乱,进而关闭。


在接下来的 10 天里,约有 42,000 个行李被滞留机场,超过 500 个航班被取消。


参考链接:


http://news.bbc.co.uk/2/hi/uk_news/7314816.stm

水手 1 号航天器

1962 年,在一次飞跃金星的任务中,这艘飞船几乎没能飞出卡纳维拉尔角。当时的一个软件编码错误导致火箭偏离轨道,几乎要撞回地球。惊慌失措的美国宇航局地面工程师发出了自毁指令。审查委员会后来确定,由于计算机指令中少了一个连字符,导致可能向航天器发送错误的制导信号。据报道,当时火箭的造价超过 1800 万美元。


参考链接:


https://www.edn.com/electronics-blogs/edn-moments/4418667/Mariner-1-destroyed-due-to-code-error--July-22--1962

莫里斯蠕虫病毒

1988 年,康奈尔大学的一名学生开发了一个程序,他说这个程序本来应该是无害的,但由于编码错误导致数千台计算机崩溃。这是互联网上第一次出现广泛的蠕虫攻击。这名学生(Robert Tappan Morris)被判犯有黑客入侵罪,并被判处罚款 10,000 美元。莫里斯的律师在审判中称,这个程序实际上有助于提高计算机安全性。


清理这个烂摊子的成本可能高达 1 亿美元。有趣的是,莫里斯还和其他人共同创立了创业孵化器 Y Combinator,现在是麻省理工学院的教授。带有蠕虫源代码的磁盘现在被波士顿大学收藏。



参考链接:


https://en.wikipedia.org/wiki/Morris_worm

爱国者导弹

有时候,软件故障导致的成本无法用美元来衡量。1991 年 2 月,美国在沙特阿拉伯部署的爱国者导弹防御系统未能侦测到对一处军营的攻击。一份政府报告指出,一个软件问题导致跟踪计算不准确,系统运行的时间越长,这个问题就越严重。事发当天,该系统已经运行了 100 多个小时,而且不准确度严重到足以导致系统在错误的地方侦测入侵导弹。袭击造成 28 名美国士兵丧生。但其实在攻击事件发生之前,军方已经修复了这个问题,只是修复后的软件是在发生攻击事件的第二天才到达基地。


参考链接:


http://www-users.math.umn.edu/~arnold//disasters/patriot.html

奔腾处理器的浮点数除法错误

1994 年,一位数学教授发现并公布了英特尔颇受欢迎的奔腾处理器的一个缺陷,英特尔的反应是根据用户的要求更换芯片,只要用户能够证明他们确实受到了影响。英特尔表示,由缺陷引起的错误很少会发生,绝大多数用户都不会注意到。但愤怒的用户要求英特尔为所有提出要求的人更换芯片,英特尔同意了。这一事件让英特尔公司损失了 4.75 亿美元。


参考链接:


https://en.wikipedia.org/wiki/Pentium_FDIV_bug

股票做市商的 4.4 亿美元错误

美国最大的股票做市商之一在 30 分钟内因软件故障导致 4.4 亿美元损失。该软件故障导致市场出现大量意外交易,这家公司股价在两天内下跌 75%。据报道,这家公司的交易算法导致近 150 支不同股票的不稳定交易,使它们陷入痉挛状态。


参考链接:


http://www.businessweek.com/articles/2012-08-02/knight-shows-how-to-lose-440-million-in-30-minutes

NOA-19 卫星


虽然这不是软件错误,但在 2003 年 9 月 6 日,这颗卫星在洛克希德·马丁太空系统工厂严重受损。当技术人员试图将卫星转向水平位置时,卫星却倒在了地上。事故调查表明,这是因为整个设施缺乏程序性纪律。事实证明,虽然翻转操作有被记录下来,但一名技术人员拆除了 24 个用于固定适配器板的螺栓,这个操作没有被记录下来。技术人员随后使用推车转动卫星,但在试图移动卫星之前,没有按照程序规定检查螺栓。


修复卫星花费了 1.35 亿美元。


你还知道哪些因为程序故障导致的重大事故吗?


请在评论区为大家科普~


参考链接:


https://www.nasa.gov/pdf/65776main_noaa_np_mishap.pdf

英文原文

https://raygun.com/blog/costly-software-errors-history/


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-01-23 09:089694
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 377.6 次阅读, 收获喜欢 1972 次。

关注

评论

发布
暂无评论
发现更多内容

Java 并发编程——AQS 源码学习

爱好编程进阶

Java 程序员 后端开发

石油储运生产 2D 可视化,组态应用赋能工业智慧发展

一只数据鲸鱼

数据可视化 数字孪生 组态 石油开采

web前端培训interface和type的区别分析

@零度

typescript 前端开发

Alluxio 2.8版本重磅发布!3大提升抢先打开数据新世界

Alluxio

分布式缓存 数据管理 Alluxio 大数据 开源

Git 这样回退代码,才足够优雅

爱好编程进阶

Java 程序员 后端开发

电商行业客户服务的解决方案

小炮

中科凡语周玉:用我们这一代人的努力扛起国产NLP发展大旗

硬科技星球

网站开发进阶(三十二)HTML5之FileReader的使用

No Silver Bullet

html5 5月月更 FileReader

Python 操作 Excel 第3篇博客,python openpyxl 模块一文打通

梦想橡皮擦

5月月更

什么是隐私计算,它是怎样保护我们的隐私安全

华为云开发者联盟

安全 联邦学习 隐私计算 隐私安全 可信智能计算服务

Dubbo实战案例01【需求分析及项目创建】

爱好编程进阶

Java 程序员 后端开发

构建面向特征工程的数据生态 ——拥抱开源生态,OpenMLDB全面打通MLOps生态工具链

第四范式开发者社区

人工智能 机器学习 数据库 特征平台 特征工程

全面解析企评家网站功能

企评家

企业评价 企评家 企业成长性评价 企业查询

Open Harmony移植:build lite配置目录全梳理

华为云开发者联盟

HarmonyOS Open Harmony移植 Open Harmony build lite配置

比心云平台基于阿里云容器服务 ACK 的弹性架构实践

阿里巴巴云原生

阿里云 容器 云原生 客户案例 阿里云容器服务ACK

Java 之基础程序设计

爱好编程进阶

Java 程序员 后端开发

呵呵,JavaScript 真好玩(苦笑脸)

java培训定时任务的理解与实战教学

@零度

定时任务 JAVA开发

前端 “一键换色“ 的几种方案

CRMEB

HR面试都会问什么问题?(上

爱好编程进阶

程序员 后端开发

解析Java-throw抛出异常详细过程

华为云开发者联盟

Java 开发语言 throw throws 系统自动抛异常

社交电商如何规避传销风险

源字节1号

软件开发

Java Swing图形化编程之JTextArea

爱好编程进阶

Java 程序员 后端开发

Java 将字节数组转化为16进制的多种方案

爱好编程进阶

程序员 后端开发

“操作系统的「冷板凳」要坐多久?”万字长文解读16年开源人的坚持

OpenAnolis小助手

Linux 开源 操作系统 坚持 龙蜥社区

Elasticsearch Document Bulk API详解、原理与示例

爱好编程进阶

程序员 后端开发

2013年,我有点喜欢编程了

勇哥java实战分享

java IO流

爱好编程进阶

Java 程序员 后端开发

Git 常用命令

平凡人生

IDEA常用快捷键总结

爱好编程进阶

程序员 后端开发

Java EE 阶段小项目(小型商城商品展示 + 购物车

爱好编程进阶

Java 程序员 后端开发

历史上代价最高的11个软件故障_技术管理_Nick Harley_InfoQ精选文章