沃尔沃:敏捷开发中满足ISO26262的软件安全分析

原创 汽车ECU开发 2021-11-22 08:00

软件安全分析是整个汽车系统安全审查的一部分。其目的是降低车辆使用过程中由软件缺陷给车内人员带来的风险。ISO26262-6第7节要求对车辆ECU的软件体系结构进行特定的安全导向分析,以实现以下四个目标:

1、证明软件可提供指定安全相关的功能和属性;

2、识别并确认软件的安全相关部分;

3、支持安全机制以及安全机制的验证;

4、检测可能违反所需干扰自由度的故障模式。

由于软件呈爆炸式增长,错误发生的几率增加。意味着不再可能分析给定软件系统的每个状态,并确定是否存在相关的错误。相反通过分析某些特性,如复杂性、代码静态检查等,可以估计软件中错误数量的概率。然而,ISO 26262-6第7节也要求,对于某些类型的错误,在架构级(车辆功能)层面,应该进行全面的分析。以下就是基于此发展的一种方法。

软件安全分析中的缺陷

进行系统安全分析的方法包括以下内容:

1、失效模式及影响分析FMEA;

2、故障树分析;

3、事件树分析;

4、危险和可操作性分析。

使用这些方法进行软件安全分析的基本问题是,软件作为一个系统,其状态比硬件多几个数量级。实际上不可能对所有状态进行分析,并以合理的方式确定哪些状态应优先考虑。也就是说,我们的研究中使用了一些系统安全分析方法的概念,如“指导词”和“故障模式”,作为标准表示。

另外,也有人提出以软件为重点的安全分析方法,如:

1、Petri网分析;

2、失效传播转化符号FPTN;

3、软件关键性分析;

4、软件FMEA

5、软件故障模式、影响和关键性分析(SFMECA)。

FPTN更多的是一种标记技术,它不能进行详尽的分析。Petri网分析适用于基础软件。软件FMEA和SFMECA是使用应用层软件的,但随着软件复杂性的增加,它们需要付出更多的努力。软件临界性分析和SHARD关注的是数据流。在SHARD中提出的数据流概念在我们的上下文中很有价值,它在以下的方法中有使用,但使用的顺序和抽象层不同。这些方法从整个架构层面开始分析,从上到下研究输入输出信号和相应的故障模式。它们假设有一个前端架构,不会随着时间发生显著的变化。

然而,在现代软件开发中,架构基本是不断变化。就沃尔沃汽车而言,敏捷团队拥有称为软件包的架构组件(图 1)。与电子控制单元 (ECU) 级别的架构决策相比,软件包内部的架构决策是紧急的,后者随着时间的推移相对稳定。紧急架构阻止进行自上而下的分析,因为信号的状态可能会在过程中间发生变化,从而使结果无效。此外,在我们的案例中,基础软件和部分应用软件由供应商采购,因此无法进行自上而下的分析。

图1 沃尔沃汽车ECU软件概述

应用软件的复杂性、对客户的响应性、多站点开发以及紧急架构都敦促我们开发一种新的软件安全分析方法,以帮助我们遵守ISO 26262-6。然而,这种方法是针对以Simulink模型作为软件单元开发的应用软件而设计的。该方法不适用于手写软件和基础软件。与Simulink模型相比,手写代码具有较少的开发限制(例如,非强制性地遵守干净的编码标准)和更多与其他文件和函数的耦合。因此,分析不那么清晰的数据流需要付出更多的努力,这在开发中可能是不可承受的。


01


研究方法

研究过程中的一个关键决定是首先识别软件中的所有错误类型,因为由于错误的多样性,不确定哪些类型应该进行面向安全的软件分析。以及哪些错误会影响软件安全分析的目标实现。通常采用行动研究来处理这种情况:成立了一个从业人员参考小组,在行动研究周期中进行迭代。其成员包括一名软件工程技术领导,一名软件安全技术专家,一名高级安全工程师,一名软件开发首席工程师,一名软件架构师,一名高级软件开发人员,以及一名负责开发车辆安全关键功能的产品负责人。任务包括以下内容:

1.根据给定的软件开发过程和工作产品,识别应用软件中可能发生的所有类型的错误;

2.针对已识别的错误类型,调查并记录当前的解决方法

3.为尚未发现的错误类型指定预设解决方法;

4.审查面向安全的软件分析方法的开发。

沃尔沃为未发现的错误类型提出了初始的解决方法。他们还设计了面向安全的软件分析方法的框架。并且根据参考小组在行动研究周期中对这些建议提出的批判性的质疑,讨论得出了初步的结果。在大约一年半的时间里,软件安全分析方法基本上具体化了。之后将该方法应用于沃尔沃某大型ECU内部应用软件,对分析方法进行了更多的调整。应用该方法的软件有大约200个Simulink模型(产生大约80万行代码),由12个敏捷团队开发。


02


软件安全分析方法

分析方法由两部分组成。首先是对软件开发过程的评估,并采用一套实用且有效的方法来检测整个开发链中的错误。这些方法可以识别并消除绝大部分开发阶段的软件错误。这个过程被称为软件安全的通用分析,它明确地包含了软件错误检测的概率性质,并非所有软件状态都可以检查。但这确保了通过可用的方法和工具将总体软件错误的可能性降至最低。

第二部分是在架构级别的面向安全的软件分析,以消除可能在通用分析中遗漏的并且可能不利于安全目标实现的错误。架构级别的安全分析保持与软件工程保持同步,并且跟通用分析也是同步进行的。这两种分析中通常采用自动化检查、基于度量的更正、同行评审和自动化测试等方法来辅助分析。

软件安全的通用分析识别了开发链中的错误,并给出解决办法。表1中记录了我们产品的此类调查结果。如果某类错误可能影响四个安全目标中的任何一个,则应进行额外的安全导向分析。这些错误类型在表中以粗体显示。他们会定期评估和更新(例如,一年一次)。负责的软件安全专家应确保该表的信息是最新的。

表1 汽车软件确定的错误和解决办法


03


架构级别面向安全的软件分析

面向安全的分析旨在识别由于需求错误说明、错误分配、软件模型之间不正确的信号接口和不正确的功能调用(表1中以粗体显示)而导致的错误。分析分为两个阶段。第1阶段的全部分析是面向Simulink模型。有一个敏捷团队每次选择一个Simulink模块,并在软件安全专家的支持下进行分析。第2阶段的分析实体是应用软件。软件架构师在软件安全专家的支持下进行分析,并使用阶段1的结果。

第1阶段开始于产品负责人与敏捷团队和软件安全专家一起组织一个研讨会。假设团队已有关于给定模型的故障模式以及每个故障模式对应的车辆级安全级别(CLs)的正确信息。事实上,这一分析的目标之一就是纠正这一假设。CLs的定义如下:

1.如果车辆级后果未违反安全目标,则归类为CL1。如果模型只有CL1,则模型本身被分类为CL1。

2. 如果车辆级后果违反安全目标,但有安全机制避免该后果,则将其归类为CL2。如果模型只有CL2和CL1,则模型本身被分类为CL2。

3. 如果车辆级后果违反安全目标且没有任何安全机制,则将其归类为CL3,模型本身被分类为CL3。

第1阶段和第2阶段的概述如图2所示。下面是逐步详细的描述。

图2 阶段1和阶段2概述

阶段1:由敏捷团队在安全专家的支持下进行

1. 了解模型实现的功能;

2. 根据模型的输出信号和功能调用确定故障模式;

3. 尽团队所知,确定每个故障模式的车辆级后果;

4.将每个故障模式的车辆级后果分类为CL1、CL2或CL3。

  • 车辆级后果是否违反安全目标?如果没有,则将结果分类为CL1。如果是,请转到下一点。

  • 模型外部是否有安全机制来避免这种后果?如果是,将后果分类为CL2,并参考安全机制。如果没有,请转到下一点。

  • 相应的输出信号(功能调用)是否为CL3?如果是,将其车辆级后果分类为CL3。如果否,则检测到不合适的设计。

5. 确认软件的CL3部分。

  • 具有CL3故障模式的模型在架构描述中是否有相应的ASIL等级分类?如果否,则检测到不合适的设计。

  • 具有CL3故障模式的模型是否有相应ASIL分类的故障模式要求?如果否,则检测到不合适的设计。

6. 对于至少有一个CL2或CL3的模型,应该用相应的输出信号(函数调用)记录所有故障模式。 

  • 记录信号(函数调用)、故障模式、车辆级后果、CLs和ASIL级别的名称。

7. 尽团队所知,确定并记录CL3故障的原因。

  • 将原因按CL1、CL2或CL3分类。原因可以是输入信号、触发器、代码开关、配置和其他错误类型。

8.在实践时,应记录团队认为完成第 1 阶段所需的补齐的知识点。

在第1阶段之后,所有标记为CL3的模型应与系统安全工程师共享,以确认危害分析中的相应ASIL等级。ASIL等级应与表第5点下第一个条目中的信息一起记录。

引导词用于系统地表示特定设计意图的可能偏差,并确定可能的后果。引导词可用于识别弱点、故障和故障。选择合适的引导词取决于所检查功能、行为、属性、接口和数据的特征。分析中应使用的指导词集取决于上下文,因此应由分析工程师在安全专家的协助下选择。表2中提供了第1阶段分析结果的样本。分析的第二阶段使用第一阶段的结果来确认CL2模型的安全机制,并评估安全相关软件的抗干扰性。

表2 Simulink模型分析的示例结果 

阶段2:由软件架构师在安全专家支持下进行

1. 通过检查第1阶段的所有CL2相关的模型及其安全机制,确认软件的CL2部分。

  • 目标软件版本中是否包含安全机制?如果否,则检测到不合适的设计。如果是,评估安全机制的充分性;

  • 是否为安全机制规定了适当的软件/系统集成测试?如果否,请指定一个。

2.通过检查软件架构中的所有模型,确认各功能的分区合理性。

  • 具有给定ASIL等级的模型是否分配给具有相同或更高ASIL等级的软件分区?如果否,则检测到不适当的分配。

  • 如果不同ASIL等级的模型分配到同一分区,请在架构描述中确认这些模型是根据最高ASIL开发标准设计的。

3. 检查从较低ASIL分区到较高分区的故障模式传播。

  • 所有CL3输入信号是否都来自CL3模型?如果不是,则检测到紧急架构和合理架构之间不一致的规范。

4.根据阶段1分析,确认应用软件的接口信号具有正确的ASIL分类。

建议团队在每个项目增量期间执行第1阶段。在一些敏捷方法中,每个增量可能是8到12周。第2阶段应在每次产品发布之前执行,前提是明确不会发生进一步的功能更改。


04


总结

该方法被认为是经济上可承受的连续安全分析方法。原因如下:首先,软件安全的一般分析方法在很大程度上是自动化的,并与软件开发环境集成。一旦部署了这些方法(表1),就很容易定期审查和更新信息。其次,一旦进行了以安全为导向的分析,在未来,团队将拥有足够的知识和文件,根据输出信号的变化及其相应信息(故障模式、车辆级后果等)更新评估。文档可以是Excel表格和基于浏览器的半自动方式。

面向安全的软件分析有助于关注直接违反安全目标的错误。这种分析超越了自动检查,这重点关注模型实现了哪些功能,模型间如何相互干预,以及模型与架构决策如何一致。这有助于避免可能危及功能安全的意外设计决策。

一般来说,以上的分析需要了解模型在车辆级功能中的作用。以安全为导向的分析增强了敏捷团队的这种意识,开拓了成员的知识面,使他们能够做出更明智的设计决策。使用此方法过程中也得到了有关改进的反馈,主要提高了自动化程度并集成到软件开发环境中,以减少技术的管理工作。


来源:整理自外文文献,侵删.

推荐阅读

登录阅读全文

汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 143浏览
  • 艾迈斯欧司朗全新“样片申请”小程序,逾160种LED、传感器、多芯片组合等产品样片一触即达。轻松3步完成申请,境内免费包邮到家!本期热荐性能显著提升的OSLON® Optimal,GF CSSRML.24ams OSRAM 基于最新芯片技术推出全新LED产品OSLON® Optimal系列,实现了显著的性能升级。该系列提供五种不同颜色的光源选项,包括Hyper Red(660 nm,PDN)、Red(640 nm)、Deep Blue(450 nm,PDN)、Far Red(730 nm)及Ho
    艾迈斯欧司朗 2024-11-29 16:55 186浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 142浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 103浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 141浏览
  • 国产光耦合器正以其创新性和多样性引领行业发展。凭借强大的研发能力,国内制造商推出了适应汽车、电信等领域独特需求的专业化光耦合器,为各行业的技术进步提供了重要支持。本文将重点探讨国产光耦合器的技术创新与产品多样性,以及它们在推动产业升级中的重要作用。国产光耦合器创新的作用满足现代需求的创新模式新设计正在满足不断变化的市场需求。例如,高速光耦合器满足了电信和数据处理系统中快速信号传输的需求。同时,栅极驱动光耦合器支持电动汽车(EV)和工业电机驱动器等大功率应用中的精确高效控制。先进材料和设计将碳化硅
    克里雅半导体科技 2024-11-29 16:18 184浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 96浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 110浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 126浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-30 14:30 85浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 170浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 92浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 138浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 107浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 114浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦