嵌入式系统工程师,小小软件码错误也能杀人!

最新更新时间:2013-12-14来源: 互联网关键字:嵌入式  系统工程师 手机看文章 扫描二维码
随时随地手机看文章

不良软件码可能杀人吗?答案是肯定的,而且悲剧显然已经发生。

  最近丰田汽车(Toyota Motor)在美国卷进了一桩官司,原告律师指称丰田一款2005年份Camry车款在2007年于美国奥克拉荷马高速公路上发生的一场暴冲死亡车祸,主因就是该车款内的电子节流阀控制系统软体码发生错误。

  据了解,在上述案件审讯过程中,检视过丰田电子节流阀系统软件码的嵌入式系统专家作证指出,他们发现到丰田系统软件码的缺陷,而其内部的错误码就是造成车辆无预警暴冲的原因。参与该事故调查的Barr Group技术长暨共同创办人Michael Barr表示:“我们已经证实,只是一个小小的记忆体位元翻转(bit flip),就会造成驾驶人无法控制引擎速度,而这种软体故障是无法依赖任何一种故障安全(fail-safe)机制侦测出来。”

  其实在这之前,不过丰田已经自认无罪──因为美国国家高速公路交通安全局(NHTSA)在 2011年2月结束了对丰田汽车的调查,该单位委託NASA的专家检视丰田的电子节流阀系统,在为期10个月的调查期间,并没有发现任何电子缺陷可能导致车辆暴冲。虽然NASA报告并没有排除软体导致车辆无预警加速暴冲的可能性,但嵌入式系统专家们并不认为NASA有足够时间进行完整的测试。

嵌入式系统工程师,小小软件码错误也能杀人!

  于是包括Barr Group四位专家在内的一个七人小组接手NASA的调查任务,深入分析了发生事故的丰田汽车,并做成了一份长达800页的调查报告。“我们做了一些 NASA显然没有时间做的事情。”Barr表示,首先就是检视车用系统的即时作业系统,找出“未受保护的关键变量(unprotected critical variables)”,他们观察且检视了“子处理器(sub-CPU)”的软件原始码,而且“发现了电子节流阀故障安全机制中的漏洞与缺陷”。

  该专家小组并采用Green Hills模拟器进行了模拟:“这进一步确认某些动作会在看门狗未重新设定处理器的情形下失效。”Barr的小组也独立检查了在最坏情况下的堆叠深度 (worst-case stack depth):“我们发现NASA调查所依据的丰田分析报告有很多严重错误。”他指出,专家们证实:“透过车辆测试,那些我们所发现的缺陷确实与无预警暴冲有关;我们还观察检视了汽车黑盒子内的软体码,发现它会错误记录车辆意外前最后几秒的驾驶人动作资讯。”

  值得一提的是,Barr Group的证词,在去年12月让丰田面临数十亿美元损失的和解案;因为该和解案,专家们所做的详细技术性调查并没有被公开,直到奥克拉荷马事故审讯进行。该和解案虽平息了数百起丰田宣布因为车辆暴冲而召回检修所导致的车辆折价诉讼,该公司仍须面对数起因为车辆故障所导致的人员受伤或死亡官司。

  因为奥克拉荷马高速公路事故审讯,专家证词与发现得以公开;到底丰田的电子节流阀控制系统出现了甚么样的缺陷?

  Barr 表示,专家针对2005年份的Camry L4车款原始码以及车内测试,证实其中有部分关键变量并未受软体崩溃(corruption)保护,记忆体崩溃的塬始码也显现;他相信丰田的工程师应该会保护大量的变量抵抗软体与硬体导致的崩溃,但却未能成功映射(mirror)数个关键变量,也没有建立任何可以抵抗位元翻转的硬体保护机制。他指出,堆叠溢位(Stack overflow)与软体错误导致记忆体崩溃,而问题的关键就在于那些记忆体崩溃,就像是“擦枪走火”。

  “就算小至一个位元翻转的记忆体崩溃,也能导致程式(task)当机;只要藉由单一硬体事件的扰乱(例如位元翻转),或是众多软体错误中的一个就能发生,例如我们在软体码中看到的缓衝区溢位(buffer overflow)以及竞态条件(race condition)。”Barr表示:“未经测试的任务失败可能有上千万种组合,每一种都可能在任何一种车辆/软体状态下发生,它们多到来不及测试。”

  不过Barr指出:“我们在2005年与2008年份Camry车款所做的测试显示,甚至就是某个当机程式的本身,都可能造成驾驶失去对节流阀控制系统的控制权──而此时内燃机仍持续作动引擎。简而言之,丰田确实安装了故障安全机制,但其中有漏洞,也无法以UA透过软体的所有方式来进行检测。”

  在此特别说明,以上所说的“程式”与智慧型手机或PC上执行的应用程式是一样的,当软体偶尔出现当机状况,我们通常会重新开机;而2005年份的Camry L4有安装一系列程式,但因为这些程式都意味着永远执行,其中一项若当机就可能造成恐怖的后果。

  在被问到是否能将丰田汽车暴衝事件塬因与某个软体程式的当机直接连结时,Barr的回答是:“应该是某应用程式的当机与其他程式当机的组合造成,”他说,该系统有数十种程式以及至少1,600万种不同的当机方式,专家小组虽然能证实某一种软体故障方式可能造成车辆暴衝,但还有其他许多种故障形式也可能造成同样的结果。

  Barr 表示,专家们在实验中只研究了那数十种程式当机的模式的一半,但:“那些都无法被任何故障安全机制所侦测到。”

  在奥克拉荷马高速公路事故审讯后,Barr建议NHTSA应该要求丰田确保现有所有车款的安全性,并有需要加强针对软体方面的管理与监督;举例来说,美国联邦航空局(FAA)与联邦食品药物管理局(FDA)都有一些针对负责监管之系统的安全关键软体设计准则(如DO-178),但NHTSA则缺乏这样的规范。

  此外Barr也指出,最近NHTSA规定所有美国车辆需安装配备特定功能的黑盒子,但相关规定还是不充足;而他们也发现到丰田车辆的黑盒子会在车辆暴衝时故障,这使得黑盒子根本无法发生作用或是错误纪录。NHTSA应该注意这一点,并针对黑盒子如何收集资料的方式有更详细的规範,不要让黑盒子与引擎控制的电脑有共同故障点。

关键字:嵌入式  系统工程师 编辑:神话 引用地址:嵌入式系统工程师,小小软件码错误也能杀人!

上一篇:德州仪器解决方案:DLP 3D生物辨识
下一篇:ISC中国互联网安全大会聚焦安全新变革

推荐阅读最新更新时间:2023-10-12 20:55

学习plc,单片机,组态软件,嵌入式的一些心得
如果专注于某一兴趣,且投入进去,那么一定会有一种感觉:学习真的没完没了,永远有学不完的东西! plc,51单片机,嵌入式系统,组态软件等等这些东西要学精学透真的必须踏踏实实的下功夫去钻研,要花大量的时间和精力!同时这些知识必须不断温习和巩固且要去实践,否则即便是当时理解了学会了,过些时日有些知识点便会遗漏掉。 上周用51单片机开发板+固态继电器+DC5V手机充电器+DC24V开关电源+DC24V继电器+飞利浦电风扇红外遥控器这些硬件自己动手做了一个带温度自动控制功能的AC220V遥控电源;虽然体积比较大,但是毕竟是自己的一件DIY作品,还是比较喜欢的。在动手制作的过程中 ,对硬件的掌
[单片机]
嵌入式学习笔记5——51单片机之步进电机
1. 步进电机简介:在工业控制系统中,通常要控制机械部件的平移和转动,这些机械部件的驱动大都采用交流电机、直流电机和步进电机。其中,步进电机最适合数字控制,因此它在数控机床,家用电器等中得到广泛应用。 2. 步进电机的特点:(1)一般电机都是连续旋转的,而步进电机却是一步一步地转动,故称之为步进电机,每次能转动的最小角度称为步距角(1-2相励磁方式,即A-A、B-B-B、C-C-C、D-D-D、A-A)。(2)每当步进电机的驱动器收到一个驱动脉冲信号后,步进电机将会按照设定的方向转动一个固定的角度(有的步进电机可以直接输出线位移,称为直线电动机)。(3)对于角位移步进电机,可通过控制脉冲的个数控制角位移量,从而准确定位。(4)可
[单片机]
<font color='red'>嵌入式</font>学习笔记5——51单片机之步进电机
一种小型智能化UPS系统嵌入式设计方案
引言 该类小型智能化UPS 电源主要应用在通信行业、医疗设备和移动机器人等低电压场合,具备运行可靠、噪音小、能耗低等特点。目前国外多所高校和公司在针对该类UPS 进行研究和试制,并且在小型交流UPS 电源上取得了一些进展。但是国内所进行的相关研究尚处于起步阶段。 不同于多数交流输出的UPS 电源,本文提出的小型UPS 电源是通过控制相应的DC-DC 模块直接获得直流输出,避免了转换过程中的能量损耗。在系统设计上采用了嵌入式设计思想,将主控芯片与外围功能电路融合在同一块电路板中,软硬件协同工作以实现UPS 的智能化管理并大大减小系统的体积。 1 硬件系统 1.1 系统概述 如图1 所示,根据项目需要,设计以110
[电源管理]
一种小型智能化UPS<font color='red'>系统</font>的<font color='red'>嵌入式</font>设计方案
基于PLC的嵌入式车辆尾气自动检测系统
目前,实现对机动车排放污染进行有效控制已成为我国环境保护一项刻不容缓的任务,需要在生产中对汽车尾气污染物进行检测。本文就一种符合EU-2标准,基于嵌入式Windows CE操作系统和组态王6.0组态软件的集工况模拟、样气采集、样气分析于一体的汽车尾气污染物智能检测系统进行介绍。 一、系统综述 整个系统由中央控制单元、底盘测功机、尾气取样单元、分析仪器单元以及相关辅助设备组成。首先底盘测功机模拟汽车的工况,然后尾气取样系统对样气进行精确的定量采集,最后由分析仪器单元对样气中的污染物浓度加以定量检测,中央控制单元实现对整个系统的自动控制。其中中央控制单元采用嵌入式系统作为核心控制单元,系统操作站为运行WIndows CE嵌入式操作
[工业控制]
基于Windows CE的嵌入式网络收音机
  引言   目前,国内收音机设备还停留在模拟收音技术阶段,而国外网络收音机均采用专用集成芯片接收方案,成本高昂且均以ODM(原始设计制造商)方式投入市场,技术封闭且界面单调,这无疑给信息家电和数字化家庭信息化系统的推广增加了阻力。   本设计将嵌入式技术应用于实体网络收音机系统设计中,以Samsung公司ARM920T内核的S3C2440A为核心处理器,以Windows CE操作系统为软件平台,通过加载必要的驱动程序和应用程序构建一个完整的实体网络收音机系统,通过网络连接访问国内外网络电台并获取音频信息,下载播放并实现网络收音功能。系统可以通过有线连接或者无线连接(WiFi)接入网络,分析网络电台传输协议:对于采用顺序流
[嵌入式]
基于ARM和FPGA的硬件平台实现嵌入式数控系统
引言 现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换性。 1 基
[单片机]
基于ARM和FPGA的硬件平台实现<font color='red'>嵌入式</font>数控<font color='red'>系统</font>
嵌入式WiFi技术在医疗监护中的应用方案
  目前,IEEE802.11无线局域网标准在语音通信、无线办公等领域广泛应用,但主要还是局限在PC机、笔记本电脑等通用平台的无线通信。无线局域网在信息家电、工业控制、移动手持设备等嵌入式环境中的应用需求日益增多。如何在嵌入式系统中整合WLAN宽带通信,成为嵌入式系统应用中的一个热点。   1 IEEE802.11b无线局域网   IEEE802.11系列包括IEEE802.11、IEEE802.11a、IEEE802.1lb、IEEE802.1lg四个标准。现阶段IEEE802.11b的产品比较多。本文主要针对IEEE802.1lb标准,介绍嵌入式WiFi的实现。   IEEE802.11b标准是在IEEE802
[医疗电子]
嵌入式Linux系统中的GUI系统的研究与移植
引 言     嵌入式GUI为嵌入式系统提供了一种应用于特殊场合的人们交互接口。嵌入式GUI要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。另外,由于嵌入式系统硬件本身的特殊性,嵌入式GUI应具备高度可移植性与可裁减性,以适应不同的硬件条件和使用需求。总体来讲,嵌入式GUI具备以下特点:     *体积小;     *运行时耗用系统资源小;     *上层接口与硬件无关,高度可移植;     *高可靠性;     *在某些应用场合应具备实时性。 1 基于嵌入式Linux的GUI系统底层实现基础     一个能够移植到多种硬件平台上的嵌入式GUI系统,应用至少抽象出
[嵌入式]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved