史上导致数百万美元损失的10大计算机漏洞

2023-12-26 20:50

本文主要是介绍史上导致数百万美元损失的10大计算机漏洞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 摘自FreeBuf.COM

编译|clouds

在IT时代,计算机漏洞或编程错误(Bug)是一种常见现象,以至于所有的开发软件都有可能存在缺陷或漏洞。你信或不信,反正漏洞就在那里,只是要么根本没人发现,或者有些人对它进行了测试并公开,而有些人对其测试但未公开(0-day漏洞)。任何软件在其生命周期内都会存在漏洞或缺陷,而那些未被发现的漏洞、缺陷、错误或0-day漏洞将会对软件本身和其应用系统产生严重的信息安全威胁,或造成巨大的经济损失,软件开发的安全性设计和测试工作应该得到更多重视。

在此,我们一起来看看——史上造成数百万美元损失的10大著名安全漏洞。

1 阿丽亚娜5型火箭升空爆炸事件

阿丽亚娜5型火箭,为欧洲空间局研发的民用卫星一次性运载火箭,名称来源于神话人物阿丽雅杜妮(Ariadne)的法语拼写。1996年6月4日,在风和日丽的法属圭亚那太空发射场,阿丽亚娜5型运载火箭首航,计划运送4颗太阳风观察卫星到预定轨道。但在点火升空之后的40秒后,在4000米高空,这个价值5亿美元的运载系统就发生了爆炸,瞬间灰飞烟灭化为乌有。

爆炸原因由于火箭某段控制程序直接移植自阿丽亚娜4型火箭,其中一个需要接收64位数据的变量为了节省存储空间而使用了16位字节,从而在控制过程中产生了整数溢出,导致导航系统对火箭控制失效,程序进入异常处理模块,引爆自毁

20170119120747548.jpg

2 爱国者反导系统软件失灵事故

1991年2月25日,部署沙特宰赫兰基地的美军“爱国者”防空导弹居然没有发现伊拉克来袭的“飞毛腿”导弹,导致美军兵营被炸,28人死亡98人受伤,而事故原因则由于“爱国者”防空导弹系统的一个致命软件错误。该错误导致其雷达探测系统不能有效识别、跟踪和拦截敌方导弹。

在后来的调查中发现,由于一个简单的计算机bug,使基地的爱国者反导弹系统失效,未能在空中拦截飞毛腿导弹。当时,负责防卫该基地的爱国者反导弹系统已经连续工作了100个小时,每工作一个小时,系统内的时钟会有一个微小的毫秒级延迟,这就是这个失效悲剧的根源。爱国者反导弹系统的时钟寄存器设计为24位,因而时间的精度也只限于24位的精度。在长时间的工作后,这个微小的精度误差被渐渐放大。在工作了100小时后,系统时间的延迟是三分之一秒。伊拉克战争开始前,美军专业人士就对“爱国者”导弹的可靠性持怀疑态度。但雷神公司却辩解称,公司在试射“爱国者”导弹过程中的确发现存在难以分辨敌我的问题,但已经进行了技术改进。因此,“爱国者”防空导弹仓促投入了实战。

20170119120748264.jpg

3 千年虫问题

计算机2000年问题,又叫做“千年虫”、“电脑千禧年千年虫问题”或“千年危机”。缩写为“Y2K”。在90年代末,千年虫问题是许多专家广泛讨论的话题,它可能引发飞机碰撞、轮船偏离航向、证券交易所崩盘等问题。

问题原因在于某些使用了计算机程序的智能系统(包括计算机系统、自动控制芯片等)中,由于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运算时(如多个日期之间的计算或比较等),就会出现错误的结果,进而引发各种各样的系统功能紊乱甚至崩溃。如1970年用70表示,1999年用99表示,所以当到了2000年1月1日时,很多采用这种计时方法的系统都错误地把日期识别为1900年1月1日。从根本上说千年虫是一种程序处理日期上的bug(计算机程序故障),而非病毒。

20170119120749407.jpg

4 PayPal系统错误导致的92万亿客户存款

2013年6月闷热的一天,56岁的美国男子Chris Reynolds吃惊地发现,在PayPal发给他的对账单中,他的账户余额竟然高达$92,233,720,368,547,800,接近92万亿美元!这个数字富可敌国,是当时世界首富墨西哥电信大亨Carlos Slim的一百万倍。不过,经PayPal及时核实后,发现这是个严重的系统Bug。当他再次登陆自己的账户时,发现里面只剩下自己原本的100美元。

20170119120750992.jpg

5 江南Style点击量超出Youtube播放上限

2014年,鸟叔的《江南Style》视频在Youtube的播放次数超过了计数上限,导致谷歌不得不对Youtube进行技术调整。Youtube之前的播放计数上限为32位,即最多为2,147,483,647次观看量,当《江南Style》出现后,点击量远远超过该数,谷歌及时调整播放上限为64位,即9,223,372,036,854,775,808次播放数。对此,谷歌在其Google+上发表声明称:“我们从未想过一段视频的观看量会超过32比特的整数(=2,147,483,647次观看量),直到我们遇到了鸟叔

”。

20170119120750172.jpg

6 美F-22软件错误导致系统瘫痪

2008年,美国空军声称12架“猛禽”执行从夏威夷飞往日本的任务中,当途经国际日期变更线的时候,飞机上的全球定位系统都失灵了,多个电脑系统发生崩溃,多次重启也均告失败。飞行员们再也没有办法正确辨识战机的位置、飞行的高度和速度。他们不得不掉头返航,但是幸运的是,当时天气很好,能见度也非常高,这给“猛禽”加油的KC-135型加油机可以引导它们安全降落,顺利地返回位于夏威夷的希卡姆空军基地。

“猛禽”一到希卡姆机场,不出几个小时,问题就真相大白:软件开发工程师在电脑系统编码中犯了一个错误,引发了一系列的问题。当时美国空军退役少将史皮尔德称:“对于那些“猛禽”战斗机飞行员来说,他们很幸运,因为如果在实战中发生这个问题,他们可能会被击落。并且这个小小的软件错误,将可能成为扭转整个战局的关键点,使美国陷入短时不利的战争局面”。

20170119120750235.jpg

7 32位UNIX系统时间编码机制的2038年问题

当工程师在上个世纪七十年代开发出世界上的第一款UNIX操作系统时,他们做出了一个很随意的决定,即使用32位签名整数(或数字)来代表时间,整个计时系统的起始时间是1970年1月1日。但这个时间编码机制存在一个严重的问题,因为32位软件能够检测到的最大秒值为2147483647,对应时间为2038年1月19日。也就是说,如果无法解决这个问题,地球上的所有计算机将在那个时刻点将时间计数“归零”,重新从1970年1月1日起算起。与千年虫问题类似。

也就是说所有使用UNIX时间编码的系统将在2038年发生溢出错误,计时器可能会停止工作,跟时间有关的所有系统都会乱套。值得庆幸的是,要解决这个问题,从技术上来说并不困难。我们只要将时钟系统换成更高位数的值比如64位就行了,那样就会得到一个更大的最大值。64位系统只是将这个问题发生的时间向后推了而已,虽然看似治标不治本,但是其时钟系统的最大计数值对应的时间是2920亿年之后!因此这也等于很好地解决了这个难题。

20170119120751606.jpg

8 软件竞争条件错误引发的美国大面积停电事故

2003年8月14日,酷暑中的美国东北部和加拿大部分地区发生大面积停电事故,给当地交通、通信和居民生活造成严重影响。直到16日上午, 纽约市才全部恢复正常供电。据电脑专家分析认为,停电的直接原因在于电控系统的竞争条件错误,其中一个操作的两个独立线程在调用一段相同代码时,导致输电系统突然发生故障。由于没有适当的同步和容错机制,线程陷入崩溃,致使输电系统出现连锁反应。

20170119120751434.jpg

9 软件错误导致的火星气候探测者号解体失联

火星气候探测者号(Mars ClimateOrbiter)是美国国家航空航天局的火星探测卫星,也是火星探测98计划的一部份,于1999年发射进入预定轨道。不幸的是,在运行286天之后,这个价值3亿2760万美元的飞行器失联了。失联原因在于,探测器的地面控制团队使用英制单位来发送导航指令,而探测器的软件系统使用公制来读取指令。这一错误大大改变了导航控制的路径。最后探测器进入过低的火星轨道,在过大的火星大气压力和摩擦下解体。

20170119120751918.jpg

10 AT&T9小时长途电话网瘫痪事件

90年代,AT&T公司在美国占据70%的长途通讯量,电话呼叫转发超过11.5亿次,是美国最大的电信通讯公司。然而就在1990年1月15日下午,该公司所有客户都不能正常拨打长途电话,全国各地的长途电话交换机接连发生故障,陷入瘫痪。大量技术团队参与了事故应急与分析,原因令所有人瞠目结舌。这个Bug是由一个非常简单的语法错误引起:大型交换机软件中一个C关键字break用法错误。最终AT&T工程师重装了电话交换机以前的软件版本才得以解决这个问题。但在电话网络瘫痪的九个小时里,AT&T公司至少损失6000万美元,该Bug可以算得上一个昂贵的Bug了。

20170119120751983.jpg


本文转自d1net(转载)

这篇关于史上导致数百万美元损失的10大计算机漏洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/540737

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失,在SigLIP这个工作中,作者提出采用非对比性的sigmoid损失,能够更高效地进行图文预训练,本文进行介绍。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

DAY16:什么是慢查询,导致的原因,优化方法 | undo log、redo log、binlog的用处 | MySQL有哪些锁

目录 什么是慢查询,导致的原因,优化方法 undo log、redo log、binlog的用处  MySQL有哪些锁   什么是慢查询,导致的原因,优化方法 数据库查询的执行时间超过指定的超时时间时,就被称为慢查询。 导致的原因: 查询语句比较复杂:查询涉及多个表,包含复杂的连接和子查询,可能导致执行时间较长。查询数据量大:当查询的数据量庞大时,即使查询本身并不复杂,也可能导致

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路