亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

重新定义行业标准的 13 个重大软件故障

无论工程师进行多少艰苦的测试,也无论开发人员进行多少个不眠之夜编码直到黎明,一个错误仍然可能导致整个系统故障。从造成数十亿美元损失的软件故障到导致致命事故的严重错误,不良软件开发的后果可能是灾难性的。

您是否知道,糟糕的软件质量每年给美国企业造成约 2 万亿美元的损失,而运营软件故障是造成这些损失的主要原因?

软件故障背后的一些最常见原因包括:

以下是导致尴尬和巨额财务损失的主要软件故障。  在极端情况下,软件错误甚至导致了人员伤亡,例如 Therac-25 辐射过量事件。

13。 MOVEit 数据泄露

2023 年 5 月,Progress Software 开发的托管文件传输软件 MOVEit 发生了一起重大数据泄露事件。该缺陷允许未经授权访问敏感数据,从而导致一系列网络攻击,影响了全球数千家公司。

失败原因:SQL注入漏洞

该漏洞主要是通过对面向公众的服务器进行 SQL 注入攻击来执行的,使攻击者能够在不被发现的情况下窃取数据。更具体地说,该缺陷使攻击者能够部署一个名为“LemurLoot”的 Web shell,从而促进未经授权的访问和窃取 MOVEit 数据库中存储的敏感数据。

泄露总成本:158 亿美元

此次泄露影响了全球 2,700 多个组织,并泄露了约 9580 万人的个人数据。根据 IBM 的数据泄露成本分析,每条泄露记录的平均成本为 165 美元。

12。英国护照系统(1999)

1999 年,英国护照局引入了新的计算机化处理系统来简化护照申请。该系统由西门子开发,旨在实现流程现代化并提高效率。然而,由于软件故障和系统故障,推出造成了大规模延误,导致数千名英国公民无法及时获得旅行护照。 

失败原因:测试不充分

该系统没有在现实条件下进行适当的测试,导致部署时出现瓶颈。此外,英国政府大约在同一时间对儿童推出了新的护照要求,大大增加了申请量——这是系统无法处理的。

错误的总成本:2000 万美元

这次失败迫使英国政府雇用额外的工作人员、加班并向受影响的公民提供补偿,造成估计 2000 万美元的经济损失。此外,成千上万的人错过了假期和商务旅行,这加剧了公众的愤怒。 

11。水手1

Atlas Agena 与水手 1 |图片来源:维基媒体

水手 1 号于 1962 年 7 月发射,是 NASA 的首次行星际任务,旨在飞越金星并将科学数据传回地球。不幸的是,由于制导系统故障,航天器在升空 293 秒后被摧毁,任务提前结束。 

失败原因:缺少 Overbar

升空后不久,火箭开始偏离轨道。这种偏差是由制导软件中的缺陷造成的。具体来说,手写制导方程中缺少上划线(表示平均值的符号)导致向火箭发送错误的制导命令。结果,火箭偏离了轨道,靶场安全官员下令将其销毁,以防止潜在危险。

错误的总成本:1850 万美元

1962 年,水手 1 号的损失估计造成 1,850 万美元的财务损失,相当于今天的约 1.94 亿美元。 

10。我的末日

Mydoom 于 2004 年 1 月 26 日首次被发现,是有史以来最臭名昭著、最具破坏性的计算机蠕虫之一。它通过电子邮件附件和点对点网络传播,感染全球数百万台计算机。在其巅峰时期,Mydoom 占全球发送的所有电子邮件的近 8.3%,使其成为历史上传播速度最快的电子邮件蠕虫。

攻击背后的原因:未知

虽然 Mydoom 的确切起源仍不清楚,但一些理论认为它是由一个受雇攻击 SCO 集团的组织创建的,该集团当时卷入了有关 Linux 软件的法律纠纷。与许多其他蠕虫病毒不同,Mydoom 似乎没有经济动机。 

总成本:380 亿至 500 亿美元之间

此次疫情爆发造成了数十亿美元的损失,包括安全成本、生产力损失和缓解措施。据估计,全球总财务影响在 380 亿至 500 亿美元之间。

9。哈特福德体育馆倒塌

图片来源:维基空间

1978年1月18日,康涅狄格州哈特福德市的哈特福德市政中心体育馆的屋顶因结构性破坏而倒塌。一场有 4,700 多名观众参加的篮球比赛仅六个小时后,重达 10,000 吨的屋顶掉落到了体育场的座位区。庆幸的是,当时里面没有人。 

失败原因:CAD 计算缺陷和结构设计错误

调查显示,倒塌是工程计算错误和结构设计过程中使用的计算机软件错误共同造成的。工程师使用早期的计算机软件来模拟应力分布,但该软件未能考虑某些负载条件,导致低估了关键接头的应力水平。 

桁架系统的对角支撑不足,导致弯曲应力过大。积雪和冰的重量(来自冬季风暴)使结构超出了其极限。

总成本:7000 万美元

这次倒塌损害了公众对计算机辅助工程的信任,并导致了更严格的建筑规范法规。此外,还针对设计公司、保险公司和承包商提起了重大诉讼。

8。火星气候轨道器

火星气候轨道飞行器是美国宇航局于 1998 年发射的机器人太空探测器,用于研究火星大气、气候和表面变化。发射286天后,飞船没有按计划进入轨道,而是在火星大气层中烧毁。

失败原因:单位转换错误

失败的原因是美国宇航局两个团队之间的一个简单但灾难性的单位转换错误:洛克希德·马丁公司(建造航天器的承包商)使用英制单位进行力计算,而美国宇航局喷气推进实验室控制任务,期望使用公制单位。 

由于这些装置从未被正确转换,轨道飞行器的导航系统错误计算了其轨迹,导致其在 35 英里处进入火星大气层,而不是原定的 140 英里。低空导致空气动力摧毁探测器。 

总成本:3.27 亿美元

该任务的总成本约为 3.276 亿美元,其中包括航天器开发、发射费用和任务运营费用。 

7。美国国税局:缺乏欺诈检测系统

1994 年,美国国税局 (IRS) 引入了电子欺诈检测系统 (EFDS),以检测和防止欺诈性纳税申报表。随着时间的推移,EFDS 变得过时,并且难以跟上不断变化的欺诈策略。认识到这些缺点,IRS 于 2009 年开始实施退货审查计划 (RRP),旨在提高欺诈检测能力并取代 EFDS。

失败原因:实施延迟

RRP 面临延误,未能按预期全面投入运行。因此,在 2006 年报税季节,美国国税局 (IRS) 的运营没有全面的前期欺诈检测系统,导致税务系统容易受到剥削。 

总成本:40 亿美元+

2012 年,与身份盗窃相关的税务欺诈导致大约 40 亿美元的欺诈性退款。到 2013 年,纳税身份盗窃已影响到 770,000 名纳税人。

6。集群航天器

集群任务是欧洲航天局的一个项目,由四个相同的航天器组成,旨在研究地球磁层。这些卫星原定于 1996 年 6 月 4 日搭乘阿丽亚娜 5 号火箭首次飞行发射。然而,升空后仅 37 秒,火箭在半空中爆炸,摧毁了所有四颗卫星。

失败原因:整数溢出错误

阿丽亚娜 5 号火箭使用最初为阿丽亚娜 4 号设计的软件,但代码中并未考虑其更快的加速度。结果,该软件尝试将 64 位浮点数转换为 16 位整数。由于Ariane 5的加速度较高,导致该值超出存储限制,导致系统崩溃。

错误的总成本:3.7 亿美元

Cluster 航天器的毁坏造成了超过 3.7 亿美元的经济损失。这个数字包括所有四艘航天器的研制和发射。除了金钱影响之外,这次失败还推迟了对地球磁层的关键科学研究。

5。奔腾的长除法

1994年,英特尔奔腾微处理器发现了一个严重缺陷,导致浮点除法计算出现错误。该错误后来被称为 Pentium FDIV bug,导致某些除法运算的十进制结果不正确。这引起了依赖精确计算的研究人员和企业的广泛关注。

流通中约有 500 万个有缺陷的芯片,英特尔最终决定为所有提出投诉的人更换所有芯片。后来,英特尔将一些有问题的处理器变成了钥匙链。

失败原因:浮点单元中的除法算法有缺陷

该错误是由于芯片基于硬件的除法算法中缺少查找表条目引起的。某些浮点除法返回的结果不正确,超出小数点后第 8 位。

然而,这种错误很少见,在大约 90 亿次随机浮点除法中只发生一次。例如,将 4,195,835.0 除以 3,145,727.0 得到的结果是 1.333739068902037589,而不是正确的 1.333820449136241002,误差为 0.006%。

预计损失:4.75 亿美元

由于召回和更换有缺陷的芯片,英特尔蒙受了 4.75 亿美元的损失。此外,该事件严重损害了公司的声誉,促使英特尔在未来的处理器设计中采取更大的透明度。

4。 1987 年华尔街崩盘

1987年10月19日(又称黑色星期一),道琼斯工业平均指数(DJIA)下跌508点,总市值下跌22.61%,标准普尔500指数下跌20.4%。这是华尔街一天内遭受的最大损失。

崩溃背后的原因:自动交易算法

当市场下跌时,大型机构投资者利用程序交易系统出售股票,从而加速崩盘。这些系统没有考虑到恐慌驱动的市场状况,导致了自我强化的抛售反馈循环。

几家公司使用投资组合保险,这是一种出售期货合约以对冲损失的算法策略。
随着市场下跌,这些算法引发了更多抛售,加剧了螺旋式下降。

全球损失估计为 1.71 万亿美元

虽然直接的经济影响没有最初担心的那么严重,但崩盘导致市场波动加剧,并促使监管机构进行改革,以防止未来再次发生类似情况。 

3。 Y2K

Y2K bug,也称为千年虫bug,是由于旧系统中日期的存储方式而产生的。许多遗留计算机程序使用两位数字(例如,“99”代表 1999 年)而不是四位数字(“1999”)来表示年份。 

随着 2000 年的临近,人们越来越担心计算机会将“00”解释为 1900 而不是 2000,从而导致计算错误以及银行、医疗保健和航空等行业的潜在经济混乱。 

流程背后的原因:早期计算中的内存有限

旧计算机的内存和存储空间很小,因此程序员使用两位数的年份来节省空间。这种短视的设计选择在几十年后成为一个大问题。 

修复总成本:3000 亿美元

据估计,全球解决这一问题的成本超过 3000 亿美元。仅美国就花费了约 1000 亿美元用于 Y2K 防备。这些投资涵盖软件更新、系统更换、测试和应急计划。

2。癌症治疗和致命放射治疗

Therac-25 是加拿大原子能有限公司(AECL)开发的计算机控制放射治疗机,用于治疗癌症。 1985 年至 1987 年间,该装置向至少 6 名患者造成了大量过量辐射。 这些患者接受的辐射剂量是预期水平的 100 倍,导致他们遭受致命的辐射烧伤和严重的组织损伤。

原因:软件中的竞争条件

Therac-25 完全依赖软件来确保安全,但代码中的错误导致危险情况发生。该装置有两种模式:低功率X射线模式和高功率电子束模式。如果技术人员在设备开始治疗之前快速改变模式,软件中的竞争条件可能会使衰减器错位,从而使致命的电子束直接击中患者。

总成本:3条生命

至少三名患者死于辐射过量,而其他患者则遭受终身伤害,包括严重烧伤、截肢和器官损伤。针对 AECL 提起多起诉讼,并达成财务和解。

1。爱国者导弹失败

1991年2月(第一次海湾战争期间),位于沙特阿拉伯达兰的美国爱国者导弹系统未能拦截和跟踪一枚来袭的伊拉克飞毛腿导弹。飞毛腿坠入美国陆军营房。

失败原因:浮点精度导致的累积时序误差

爱国者导弹系统依靠 24 位浮点寄存器来跟踪时间。然而,累积的舍入误差导致其内部时钟在连续运行超过100小时后漂移了0.34秒。由于飞毛腿导弹的飞行速度约为每秒1676米,这一微小的计时误差导致雷达误算导弹位置约600米,导致拦截失败。

影响:28 名士兵死亡、100 人受伤

这次袭击造成 28 名美国士兵死亡,约 100 人受伤,成为战争期间对美军最致命的袭击之一。 

其他值得注意的软件故障

微软客户被指控盗版: Windows 团队的某人意外地在所有 Windows 服务器上安装了充满漏洞的预生产软件。在接下来的 19 个小时内,所有正版 XP 用户都被告知他们正在运行盗版软件。

假释罪犯:  2011年,大约450名暴力罪犯因计算机程序代码的一个小错误从加州县监狱被释放。

第三次世界大战 (差点发生):苏联核预警系统报告称,1983 年 9 月 26 日美国发射了导弹。苏联系统错误地捕捉到了云层顶部的阳光反射,并将其解释为导弹发射。
后来,导弹袭击警告被苏联防空部队的一名军官认定为误报。这一决定避免了核战争和数百万人的潜在死亡。

停电: 2003 年,黑暗席卷了美国 8 个州,影响了 5000 万人。问题是由使用同一代码元素的单个操作的两个独立线程引起的竞争条件。

苹果地图失败: 随着iOS 6的发布,苹果决定放弃优越的谷歌地图平台。不幸的是,这成为移动计算行业最史诗般的失败之一。 2012 年 9 月,TPMIdeaLab 意识到该软件缺少整个城镇的条目、位置不正确、卫星图像被云层遮挡等等。

洛杉矶国际机场航班停飞: 2007 年,大量错误数据通过美国边境和海关控制网络发送。这导致洛杉矶国际机场整个机场关闭了 8 个小时——超过 17,000 架飞机停飞,直到问题得到解决。罪魁祸首是一个有缺陷的嵌入式软件。

了解更多:


工业技术

  1. 2020 年你应该知道的最佳 Raspberry Pi 4 项目
  2. 什么是物业 ID?
  3. 欧姆表设计
  4. 工业卖家的三大陷阱
  5. 公差设计方法
  6. 如何减少生产故障?
  7. 海底电缆 - 结构、特性、电缆铺设和接头
  8. 编码器
  9. 通过伪 TTY 将 PLCnext PLC 连接到远程 RS232/RS485
  10. 超快时尚公司成功的四个关键
  11. 创建高效供应商入职流程的五个技巧
  12. 使用 Arduino 的自动夜灯