写点什么

历史上代价最高的 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/


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

发布了 410 篇内容, 共 409.1 次阅读, 收获喜欢 1986 次。

关注

评论

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

阿里无影云桌面深度测评

乌龟哥哥

无影云电脑 2月月更

注册中心

邱学喆

Eureka 注册中心 原理图

大画 Spark :: 网络(4)-Endpoint注册使用与网络环境的构建

dclar

大数据 spark 源代码 框架原理

深入理解持续测试:DevOps 流程中的重要一环

飞算JavaAI开发助手

51WORLD赋能数字孪生流域/工程建设,助力智慧水利创新发展

Meta 小元

可视化 数字孪生 智慧水利 元宇宙

DOM 精通了?请问 Node 和 Element 有何区别?

编程三昧

JavaScript 前端 DOM 2月月更

改革开放启示录(14/100)

hackstoic

创新管理

多图|一文详解Nacos参数!

王磊

nacos

福昕鲲鹏加入,龙蜥社区迎来版式文档技术服务新伙伴

OpenAnolis小助手

Linux 开源 社区 福昕

KubeVela v1.2 发布:你要的图形化操作控制台 VelaUX 终于来了!

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

基于CC2530(ZigBee)设计的自动照明系统

DS小龙哥

2月月更 自动照明系统设计

大数据培训:构建Flink SQL流式计算平台

@零度

flink sql 大数据开发

java培训:JVM 内存布局

@零度

JVM JAVA开发

DDD实战(1):从需求到代码实现生鲜电商系统

深清秋

DDD 软件架构 生鲜电商系统

外屏和宽屏浪费了?HarmonyOS折叠屏设计规范教你用起来

HarmonyOS开发者

HarmonyOS

移动应用中的第三方SDK隐私合规检测,早知道

华为云开发者联盟

移动应用 安全 sdk 隐私 隐私合规

一文带你了解 Java 的内存区域

宇宙之一粟

Java 内存 2月月更

“元认知”相关学习总结

panda

思维模型 阅读笔记 元认知

Linux系统问题排查

AiDaddy

Linux 负载 系统问题

技术盘点:容器技术的演进路线是什么?未来有哪些想象空间?

阿里巴巴云原生

阿里云 容器 云原生

怎么说服领导,能让我用DDD架构肝项目?

小傅哥

DDD 小傅哥 技术架构 架构实践

vivo 服务端监控架构设计与实践

vivo互联网技术

服务端 系统监控 构架

前端培训:Vue3语法糖详解分享

@零度

Vue 前端开发

学生管理系统的架构设计

Fingal

#架构实战营

2022年每个开发者必知的云原生趋势 | 社区征文

Geek_rze78a

容器 微服务 云原生 新春征文

了解一下ProtoBuf

蜜糖的代码注释

protobuf 2月月更

突然发现,npm里request依赖包已经弃用,怎么办?

华为云开发者联盟

npm HTTP node,js Request request依赖包

AI赋能安全技术总结与展望| 社区征文

herosunly

人工智能 新春征文 2月月更

架构训练营 毕业设计

ren

敏捷研发项目,我们该如何度量?

阿里云云效

阿里云 项目管理 云原生 度量 敏捷研发

数字孪生的起源,从救宇航员回家开始

Meta 小元

数据可视化 智慧城市 数字孪生 元宇宙

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