史上最贵 Bug,一行代码=5亿欧元

史上最贵 Bug,一行代码=5亿欧元

img

1996 年 6 月 4 日,欧洲航天局(ESA)首次发射了阿丽亚娜(Ariane)5 ,这在太空探索史上是一个重要时刻。

然而,这次任务却因一行代码导致火箭发射后发生了爆炸,价值近 5 亿欧元。

img

在起飞后约 30 秒,火箭在大约 3700 米的高度上偏离了预定飞行路径并发生解体和爆炸。

,时长02:28

这次失败的主要原因在于制导系统中的一个软件缺陷,该系统负责调节火箭的航向。

归根结底是由于一个编码错误,这段代码原本属于十年前阿丽亚娜4 型火箭的一部分,但在阿丽亚娜5 型火箭的设计中没有被适当更新或移除。

在火箭升空后,制导系统负责持续监测并跟踪火箭的飞行轨迹,并将这些数据传输给主计算机,在这一过程中,制导系统需要将测得的速度数据从 64 位浮点数格式转换为 16 位有符号整数格式。

然而,浮点数和整数在表示数值范围上存在本质差异:

16 位

  • 无符号整数(Unsigned Integer)范围:0 到 65535
  • 有符号整数(Signed Integer)范围:-32768 到 32767

64 位

  • 无符号整数(Unsigned Integer)范围:0 到 18446744073709551615
  • 有符号整数(Signed Integer)范围:-9223372036854775808 到 9223372036854775807

16 位无符号整数能够表示的数值范围是 0 到 65535,而16位有符号整数(使用一个位来表示正负号)能够表示的数值范围是 -32768 到 +32767。

如果 64 位浮点数表示的速度值超出了 16 位有符号整数的表示范围,那么在转换过程中就会发生溢出。

火箭发射后,由于速度数据超出了 16 位整数的最大表示能力,转换失败,导致制导系统无法正确传递速度信息给主计算机,从而发生了爆炸。

img

正常情况下,一个稳健的系统设计会包含错误处理机制,以应对此类溢出情况,但阿丽亚娜5 号火箭的系统设计中并未包含这种机制。结果,由于这个 Bug 火箭失去了导航和姿态控制,最终导致了火箭爆炸。

img

这次事件告诫我们在软件开发中要避免直接复制粘贴代码,确保异常处理和充分测试,并进行代码审查和建立备份系统,以增强软件的可靠性。

启示:

  • **代码复用的风险:**即使是从旧系统中复制的代码,也需要经过彻底的审查和测试,以确保它适用于新系统。
  • **异常处理:**系统设计中应包含异常处理机制,以便在出现错误或异常数据时能够妥善响应,避免灾难性后果。
  • **数据类型转换:**在进行数据类型转换时,需要确保转换的安全性和准确性,避免因数据溢出或精度丢失导致的问题。
  • **系统测试:**全面的系统测试是必要的,包括单元测试、集成测试和压力测试,以确保系统在各种条件下都能正常工作。
  • **代码审查:**定期进行代码审查,以识别和修正潜在的缺陷和错误。
  • **文档和注释:**保持良好的文档记录和代码注释,有助于理解代码的用途和限制,减少误解和错误使用。
  • **备份和冗余:**设计备份系统和冗余机制,以提高系统的可靠性和容错能力。
  • **持续学习和改进:**从失败中学习,不断改进设计和开发流程,以防止类似事件再次发生。
  • **跨团队沟通:**加强不同团队之间的沟通,确保所有相关人员都了解系统的所有方面,包括潜在的风险和限制。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。

内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要见下图即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————


 

  

本文转自 [https://blog.youkuaiyun.com/bdfcfff77fa/article/details/149110843?spm=1001.2014.3001.5502](https://blog.youkuaiyun.com/bdfcfff77fa/article/details/149110843?spm=1001.2014.3001.5502),如有侵权,请联系删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值