沃尔沃:敏捷开发中满足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软件开发,技术分享。
评论 (0)
  • 本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!鸿蒙北向开发主要侧重于应用层的开发,如APP开发、用户界面设计等,更多地关注用户体验、应用性能优化、上层业务逻辑的实现,需要开发者具备基本的编程知识、对操作系统原理的简单理解,以及一定的UI设计感。由触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,支持开源鸿蒙OpenHarmony3.2至5.0系统,适合鸿蒙开发入门学习。下载与安装开发工具点下面链接下载:
    Industio_触觉智能 2025-03-28 18:16 235浏览
  • 在智能语音交互设备开发中,系统响应速度直接影响用户体验。WT588F系列语音芯片凭借其灵活的架构设计,在响应效率方面表现出色。本文将深入解析该芯片从接收指令到音频输出的全过程,并揭示不同工作模式下的时间性能差异。一、核心处理流程与时序分解1.1 典型指令执行路径指令接收 → 协议解析 → 存储寻址 → 数据读取 → 数模转换 → 音频输出1.2 关键阶段时间分布(典型值)处理阶段PWM模式耗时DAC模式耗时外挂Flash模式耗时指令解析2-3ms2-3ms3-5ms存储寻址1ms1ms5-10m
    广州唯创电子 2025-03-31 09:26 144浏览
  • 真空容器的材料选择取决于其应用场景(如科研、工业、医疗)、真空等级(低真空、高真空、超高真空)以及环境条件(温度、压力、化学腐蚀等)。以下是常见材料及其优缺点分析:1. 不锈钢(如304、316L)优点:耐腐蚀性强:316L含钼,耐酸碱和高温氧化,适合高真空和腐蚀性环境。高强度:机械性能稳定,可承受高压差和外部冲击。低放气率:经电解抛光或镀镍处理后,表面放气率极低,适合超高真空系统(如粒子加速器、半导体镀膜设备)。易加工:可焊接、铸造,适合复杂结构设计。缺点:重量大:大型容器运输和安装成本高。磁
    锦正茂科技 2025-03-29 10:52 56浏览
  • 本文介绍瑞芯微RK356X系列复用接口配置的方法,基于触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。复用接口介绍由下图可知,红圈内容当前引脚可配置为SPI0或者PWM0功能。由标准系统固件以及相关系统手册可得,当前接口默认配置为SPI0功能:console:/ # ls dev/spidev0.0dev/spidev0.0再由原理图可知当前GPIO为GPIO0_C3
    Industio_触觉智能 2025-03-28 18:14 175浏览
  • 一、真空容器的定义与工作原理真空容器是一种能够创造并保持一定真空度的密闭容器。其工作原理通常涉及抽气系统,该系统能够逐渐抽出容器内部的气体分子,从而降低容器内的气压,形成真空环境。在这个过程中,容器的体积并不会因抽气而改变,但容器内的压力会随着气体的抽出而逐渐降低。二、真空容器并非恒压系统真空容器并非一个恒压系统。恒压系统指的是在外部环境变化时,系统内部压力能够保持相对稳定。然而,在真空容器中,随着气体的不断抽出,内部压力会持续降低,直至达到所需的真空度。因此,真空容器内部的压力是变化的,而非恒
    锦正茂科技 2025-03-29 10:23 156浏览
  • 真空容器内部并非wan全没有压强,而是压强极低,接近于零。真空状态下的压强与容器内外气体的分子数量、温度以及容器本身的性质有关。一、真空与压强的基本概念真空指的是一个空间内不存在物质或物质极少的状态,通常用于描述容器或系统中气体的稀薄程度。压强则是单位面积上所受正压力的大小,常用于描述气体、液体等流体对容器壁的作用力。二、真空状态下的压强特点在真空状态下,容器内部的气体分子数量极少,因此它们对容器壁的作用力也相应减小。这导致真空容器内部的压强远低于大气压强,甚至接近于零。然而,由于技术限制和物理
    锦正茂科技 2025-03-29 10:16 171浏览
  • 在智能语音设备开发中,高音量输出是许多场景的核心需求,例如安防警报、工业设备提示、户外广播等。 WT588F02BP-14S 和 WTN6040FP-14S 两款语音芯片,凭借其内置的 D类功放 和 3W大功率输出 能力,成为高音量场景的理想选择。本文将从 性能参数、应用场景、设计要点 三大维度,全面解析这两款芯片的选型策略。一、核心参数对比与选型决策参数WT588F02BP-14SWTN6040FP-14S输出功率3W@4Ω(THD<1%)3W@4Ω(THD<0.8%)功
    广州唯创电子 2025-03-28 09:15 138浏览
  • 文/杜杰编辑/cc孙聪颖‍3月11日,美国总统特朗普,将自费8万美元购买的特斯拉Model S,开进了白宫。特朗普此举,绝非偶然随性,而是有着鲜明的主观意图,处处彰显出一种刻意托举的姿态 。特朗普也毫不讳言,希望他的购买能推动特斯拉的发展。作为全球电动车鼻祖,特斯拉曾凭借创新理念与先进技术,开辟电动汽车新时代,引领行业发展潮流。然而当下,这家行业先驱正深陷困境,面临着前所未有的挑战。就连“钢铁侠”马斯克自己都在采访时表示“非常困难”,的确是需要美国总统伸手拉一把了。马斯克踏入白宫的那一刻,特斯拉
    华尔街科技眼 2025-03-28 20:44 200浏览
  • 在工业控制与数据采集领域,高精度的AD采集和实时显示至关重要。今天,我们就来基于瑞芯微RK3568J + FPGA国产平台深入探讨以下,它是如何实现该功能的。适用开发环境如下:Windows开发环境:Windows 7 64bit、Windows 10 64bitLinux开发环境:Ubuntu18.04.4 64bit、VMware15.5.5U-Boot:U-Boot-2017.09Kernel:Linux-4.19.232、Linux-RT-4.19.232LinuxSDK:LinuxSD
    Tronlong 2025-03-28 10:14 196浏览
  • Shinco音响拆解 一年一次的面包板社区的拆解活动拉开帷幕了。板友们开始大显身手了,拆解各种闲置的宝贝。把各自的设计原理和拆解的感悟一一向电子爱好者展示。产品使用了什么方案,用了什么芯片,能否有更优的方案等等。不仅让拆解的人员了解和深入探索在其中。还可以让网友们学习电子方面的相关知识。今天我也向各位拆解一个产品--- Shinco音响(如下图)。 当产品连接上电脑的耳机孔和USB孔时,它会发出“开机,音频输入模式”的语音播报,。告诉用户它已经进入音响外放模式。3.5mm耳机扣接收电脑音频信号。
    zhusx123 2025-03-30 15:42 90浏览
  •        随着智能驾驶向L3级及以上迈进,系统对实时性的要求已逼近极限。例如,自动紧急制动(AEB)需在50毫秒内完成感知、决策到执行的全链路响应,多传感器数据同步误差需小于10微秒。然而,传统基于Linux-RT的方案在混合任务处理中存在天然缺陷——其最大中断延迟高达200微秒,且多任务并发时易引发优先级反转问题。据《2024年智能汽车电子架构白皮书》统计,超60%的车企因实时性不足被迫推迟舱驾一体化项目落地。为旌电子给出的破局之道,是采用R5F(实
    中科领创 2025-03-29 11:55 268浏览
  • 3月27日,长虹中玖闪光超高剂量率电子射线放射治疗系统(e-Flash)临床试验项目在四川大学华西医院正式启动,标志着该项目正式进入临床试验阶段。这不仅是我国医学技术领域的一项重大突破,更是我国在高端医疗设备研发和应用方面的重要里程碑。e-Flash放射治疗系统适用于哪些病症,治疗周期为多久?会不会产生副作用?治疗费用高不高……随着超高剂量率电子射线放射治疗系统(e-Flash)正式进入临床试验阶段,社会各界对该项目的实施情况尤为关注。对此,中国工程院院士范国滨,以及四川大学华西医院、四川省肿瘤
    华尔街科技眼 2025-03-28 20:26 334浏览
  • 语音芯片在播放音频时出现电流声是嵌入式音频系统开发中的常见问题,直接影响用户体验。唯创电子WT系列语音芯片在智能家居、工业控制等领域广泛应用,本文将从PWM直推输出与DAC+功放输出两类典型电路架构出发,系统化分析电流声成因并提供工程级解决方案。一、PWM直推输出电路电流声诊断1.1 现象特征高频"滋滋"声(8kHz-20kHz)声音随系统负载变化波动静音状态下仍存在底噪1.2 核心成因分析(1) 电源干扰开关电源纹波超标:实测案例显示,当12V转3.3V的DC-DC电源纹波>80mVpp时,P
    广州唯创电子 2025-03-28 08:47 130浏览
  • 在智能家居领域,无线门铃正朝着高集成度、低功耗、强抗干扰的方向发展。 WTN6040F 和 WT588F02B 两款语音芯片,凭借其 内置EV1527编解码协议 和 免MCU设计 的独特优势,为无线门铃开发提供了革命性解决方案。本文将深入解析这两款芯片的技术特性、应用场景及落地价值。一、无线门铃市场痛点与芯片方案优势1.1 行业核心痛点系统复杂:传统方案需MCU+射频模块+语音芯片组合,BOM成本高功耗瓶颈:待机电流
    广州唯创电子 2025-03-31 09:06 121浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦