写点什么

历史上代价最高的 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:0810430
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论

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

程序员真的要失业了?新技术潮如何改变我们的职业生涯? | 社区征文

一道圣光

职业成长 ChatGPT 三周年征文

springboot升级过程中踩坑定位分析记录 | 京东云技术团队

京东科技开发者

spring Spring Boot release 企业号 4 月 PK 榜

软件测试/测试开发丨面试题之软素质与反问面试官篇(附答案)

测试人

软件测试 自动化测试 测试开发 测试用例 ChatGPT

3月底JAVA面试太难,吃透这份JAVA架构面试笔记后,成功涨到30K

程序知音

Java java面试 java架构 后端技术 Java面试八股文

大型水利投资集团,打造数智财资管理新范式

用友BIP

从不均匀性角度浅析AB实验 | 京东云技术团队

京东科技开发者

A/B 测试 AB实验 企业号 4 月 PK 榜 不均匀 实验准确度

GitHub下载已过百万!阿里这份Java虚拟机源码剖析手册真的绝了

做梦都在改BUG

Java JVM 虚拟机

好玩的策略游戏:群星Stellaris+DLC

真大的脸盆

Mac mac游戏 科幻策略游戏 游戏推荐 游戏安利

云服务规划技术

阿泽🧸

云服务 三周年连更

从五一的旅游热潮看,该如何实现数字文旅的转型升级?

加入高科技仿生人

低代码 旅游业 数字赋能

新浪张俊林:大语言模型的涌现能力——现象与解释

NLP资深玩家

浅谈复杂业务系统的架构设计 | 京东云技术团队

京东科技开发者

架构 DDD 架构设计 企业号 4 月 PK 榜 复杂系统

开启云上高效开发新时代,华为云开发者日东莞站成功举办

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 4 月 PK 榜

多云管理的六大价值

穿过生命散发芬芳

多云管理 三周年连更

5月7日【飞天Club × 云原生技术实践营—飞天免费计划实践专场】开启报名

阿里巴巴云原生

阿里云 云原生 飞天Club

Matlab实现PCA算法

Shine

三周年连更

编程界的新星 — Rust 凭什么被业界青睐(内附学习资源)

Greptime 格睿科技

rust 云原生 时序数据库 分布式时序数据库

龙蜥社区 4 月度运营大事件回顾

OpenAnolis小助手

开源 运营 龙蜥社区 sig 月度回顾

Matlab实现神经网络

袁袁袁袁满

三周年连更

服务百万商家的系统,发布风险如何规避?微盟全链路灰度实践

TakinTalks稳定性社区

软件测试/测试开发丨Python装饰器常见报错信息、原因和解决方案

测试人

Python 软件测试 自动化测试 装饰器 测试开发

软件测试/测试开发丨利用ChatGPT自动生成测试用例思维导图

测试人

软件测试 自动化测试 测试开发 测试用例 ChatGPT

App Store上架流程/苹果app发布流程

雪奈椰子

连ChatGPT都不懂的五一调休,到底怎么来的?

禅道项目管理

程序员 GPT 调休

如何进行带有透明压缩技术的SSD基准测试?

ScaleFlux

扩容 存储技术 压缩数据 固态硬盘 企业数据

GitHub经典教材!阿里P8的这份SpringBoot精髓到底厉害在哪里?

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

Confidential Containers发布0.5.0版本,龙蜥将基于八大特性构建开箱即用的机密容器解决方案

OpenAnolis小助手

开源 云原生 龙蜥社区 机密计算 机密容器

通过“群战”实现全民普惠,e签宝带来哪些思考?

ToB行业头条

ShareSDK 抖音平台注册指南

MobTech袤博科技

智能公厕设备升级方案@光明源智慧公厕

光明源智慧厕所

智慧城市

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