美文网首页@IT·互联网
因为致命,所以关键

因为致命,所以关键

作者: 稻花香里追风筝 | 来源:发表于2017-04-26 23:03 被阅读47次

近日读了《致命Bug——软件缺陷的灾难与启示》这本书。这是一部用人类鲜血和泪水书写的软件Bug简史,一本业内资深人士写给同行和大众的案例分析书。纵观历史上出现过的重大系统事故,可以说不外乎都是嵌入式软件错误导致的,嵌入式软件漏洞引发的财产或什么安全方面的损失要比桌面软件漏洞大得多。人们对于那些优秀的、完美的软件抱有期待,但本书讲述的确是错误、失败,涵盖了汽车、金融、国防、航空、医疗、核电等领域,展示了软件错误是如何引发这些危险事故的,同时又带来了怎样的影响。

有些缺陷之前听说过,但是没有深入的去了解产生的原因和机理,例如爱国者导弹的软件缺陷。爱国者导弹防御系统时间的衡量计算是基于系统时钟时间乘以1/10所得到的秒数来进行表示的,且这个自动乘以1/10的运算是使用一个24位的定点寄存器来进行的。24位的寄存器只能存放24位的有效位,其余小数精度部分(0.000000095)会被砍掉。当时该爱国者导弹系统的电池已经启动了100个小时,这样下面一个很简单的计算公式就能计算出该砍掉的精度所导致的时间偏差会达到0.34秒之多(0.000000095×100×60×60×10=0.34)。飞毛腿导弹飞行的速度大概是1676米/秒,所以在0.34秒的误差时间内飞毛腿导弹就会产生超过近600米的误差。这个距离已经足够让正在飞来的飞毛腿导弹跨出爱国者导弹系统进行导弹跟踪的有效阈值。

丰田汽车踏板门事件则展示了有的软件缺陷实在是难于发现。从2002 年起,丰田对凯美瑞车型进行重新设计时,采用了新的油门踏板,使用电子节流阀向发动机发送信号,这个技术后来又用在雷克萨斯等其他车型。2004年初开始,NHTSA(National Highway Traffic Safety Administration,美国国家公路交通安全管理局)陆续接到一些用户反映,丰田汽车的凯美瑞和雷克萨斯会出现未踩油门的情况下突然加速的现象。NHTSA开展了调查,但并未发现问题,调查不了了之。后来,投诉依然不断,直到发生了十来起司乘人员丧生的事故后,丰田公司召回了380万辆汽车。2010年,NHTSA委托NASA调查电子节流阀是否是汽车突然加速的原因。经过十个月的调查,NASA的工程师们对电子控制设备的28万行源代码和各种电子设备进行了检测,没有发现问题。嵌入式软件专家Michael Barr不信邪,他组织自己公司的7名专家又进行了18个月的检测,发现凯美瑞的操作系统管理着24个任务,任务的堆栈余量很小。由于操作系统的缺陷,会导致某些任务发生堆栈溢出,更改数据结构,造成其他任务中断或挂起,从而失去节流阀的控制。结果是,当监控加速踏板的任务终止后,刹车处于踩下状态,驾驶者反而要完全松开刹车,汽车才会停止加速。2014年,丰田公司被美国司法部罚款12亿美元。

这本书的材料取之于公开的事故调查报告,作者对于有些缺陷的细节描述不深入,有些逻辑也有点混乱,也算是本书的不足之处。不过,作为安全关键软件的从业者,常看看这些事故和归零报告,对于开发和测试工作都会常怀敬畏之心。

相关文章

  • 因为致命,所以关键

    近日读了《致命Bug——软件缺陷的灾难与启示》这本书。这是一部用人类鲜血和泪水书写的软件Bug简史,一本业内资深人...

  • 17400

    关键时刻的失望 最致命

  • 读书笔记—哈耶克的思想影响

    哈耶克的致命的自负,这本书中提到理性的自负,之所以致命,是因为我们很难逃脱一种诱惑,就是想用理性去做整体设计,因为...

  • 因为所以因为

    死亡不该被严肃地谈论 离去的人不该被面带忧戚地怀念 因为痛苦不停消耗痛苦 而哀伤最终会阻断哀伤 落叶不该被囚禁成书...

  • 代理原告的六大致命时限

    致命时限,英文叫deadline,之所以致命,是因为一旦越过了这六条红线,原告面临的不是败诉的风险,而是彻底丧失...

  • 所以着因为,因为着所以

    因为成都下暴雨 所以这趟列车停运 因为这趟列车停运 所以我必须改车次 因为我改了车次 所以我会误了晚上的局 因为我...

  • 因为,所以!

    第一次接触简书,并不是想让写的东西有人看、有人喜欢,只是想记录下自己的点点滴滴。脑中好像有个橡皮擦,擦去了我...

  • 因为所以

    我们都像小孩子,胡闹是因为依赖,礼貌是因为陌生,生气是因为在乎,不联系是因为怕自己是多余,虽然岁月磨平了我们的棱角...

  • 因为所以

    “因为所以,科学道理,要想知道,问你自己。“ 这是儿时会儿歌,虽然已经过去了小30年,但它在我脑中形成的印记不曾有...

  • 因为所以

    1 养成新的作息还是有些难 早上早早起床还是费劲些 而且睡眠质量也不好 凌晨三点开始每隔一小时醒一次 持续到07....

网友评论

    本文标题:因为致命,所以关键

    本文链接:https://www.haomeiwen.com/subject/rsnwzttx.html