0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在互联汽车开发生命周期中构建安全性

星星科技指导员 来源:嵌入式计算设计 作者:Mark Pitchford 2022-06-16 16:45 次阅读

一架波音 787 飞机包含大约 650 万行软件。令人印象深刻的是,直到您意识到现代汽车平均有 2000 万行代码,才能使客机超过三倍。虽然人类生命和安全取决于两个系统中软件的正常运行,但汽车行业在确保功能安全性方面落后于航空航天。

近年来,汽车行业采用了 ISO 26262 等功能安全标准,但并未同样重视安全性。根据BI Intelligence的数据,现在该行业正在迎头赶上,预计联网汽车的数量将从 2015 年的 3600 万辆增长到 2020 年的 3.81 亿辆,测试继续显示联网汽车的安全漏洞。

从客户(驾驶员)的角度来看,确保安全和安全的责任落在了汽车制造商身上。反过来,这些 OEM 依赖于一级和二级供应商提供一系列电子控制单元 (ECU)、车联网 (V2X) 通信、高级驾驶辅助系统 (ADAS) 和信息娱乐系统。现在,这些系统中的每一个都连接到一个通用的车辆网络(图 1),每个系统都有助于不断扩大的攻击面。分离内核和管理程序等安全方法可以通过提供运行时分离和隔离在一定程度上缓解该问题,但它们不能提供安全保证——仅仅是一道防线。

最佳实践表明,安全性(如功能安全性)不能是事后才想到的。它必须是整个软件开发生命周期的一部分。

需求是安全软件开发生命周期的一部分

安全开发生命周期始于 OEM 向一级和二级供应商提出的特定安全要求。然后必须将这些要求应用于开发过程和生产的软件。必须向 OEM 验证和证明过程和生成的软件方面的结果,以便 OEM 可以验证整个车辆及其系统是安全的。

只有可以跟踪和验证要求才有意义,而实施这些要求依赖于遵守必须不断检查和验证的实践和标准。可以将安全编码实践和标准与策略(整体方法)和策略(详细执行)进行比较。不遵守其中任何一个都可能导致危害安全的错误。幸运的是,可以使用适当的自动化测试工具和方法来检测这些错误。

计算机应急准备小组 ( CERT ) 网站列出了 12 种安全编码实践,可被视为战略编码方法或安全要求。它们包括诸如“验证输入”和“注意编译器警告”等建议,同时使用编译器的最高警告级别。另一条建议是“保持简单”,这可以通过圈复杂度等指标进行测试。这突出了比预期更复杂的函数,因此任何超出指定范围的复杂度值都可以证明是合理的,目的是创建更清晰、更可维护和更可测试的代码。12 项实践中的另一个关键建议是采用安全编码标准。

采用安全编码标准

编码标准规定了使用特定语言(例如 C 或 C++)编写安全代码的特定规则和指南(策略)。其中一个编码标准是 CERT C,它有 98 条规则用于开发安全、可靠和可靠的系统。规则按部分分组,涵盖字符串、内存和表达式等内容。MISRA C 和 MISRA C++ 是另外两种在汽车行业广泛使用的流行编码标准。这些 MISRA 标准始终针对“关键”代码,这意味着它们始终适用于安全和安保关键系统。MISRA C:2012 修正案 1 通过引入 14 条专门针对安全的新指南进一步强调了这一点。

编码标准处理为安全系统正确使用高级语言的细节,限制编码结构以最大限度地减少潜在漏洞。使用标准的一个好处是可以使用静态分析工具检查源代码是否符合所选标准,最好在整个开发过程中进行。

结构性覆盖提供信心

保护联网汽车及其广泛多样的攻击面是一项艰巨的任务。例如,可以通过信息娱乐系统、GPS、ODB2 诊断端口或软件/固件更新过程进行访问。一旦车载网络被破坏,安全关键系统(如安全气囊、制动、转向、传输和防撞)中的漏洞可能会被暴露和利用。任何这些系统中的编码错误都可能导致灾难,因此开发人员必须测试安全性,然后衡量该测试的有效性。

在执行和测试编译的代码时,结构覆盖分析通过识别和突出显示哪些代码已经过测试和没有经过测试,有助于衡量测试过程的有效性。颜色编码格式化的源代码和流程图可以很容易地确定还需要做什么(图 2)。获得的覆盖范围越多,就可以确信不存在包含漏洞的代码。软件组件的安全性或安全性越关键,应应用的覆盖分析级别的要求就越高——从简单的语句覆盖到修改的条件/决策覆盖 (MC/DC)。

poYBAGKq7caAYYeQAAKSxEgQueM702.png

【图2 | 使用动态分析的结构覆盖揭示了尚未采用的功能和路径。]

结构覆盖率可能来自整个运行系统的执行,或在单元测试期间。单元测试利用提供可执行机制的测试工具来调用具有指定输入的功能或子系统,以便可以验证输出并跟踪需求。这种组合导致对单个软件组件和整个应用程序的功能的信心。

一套集成的、协调的和可配置的工具对于处理这些项目的规模和复杂性是必不可少的。这些工具自动跟踪、分析和测试,并维护重要、复杂系统的证明和资格或认证所需的数据。它们为安全、可靠的软件开发生命周期提供了基础,并为所有团队成员提供了一种沟通和协调工作的机制。

此外,一旦汽车上路,只要暴露出新的漏洞或引入额外的安全要求,该工具套件就能做出有效且高效的响应。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 车联网
    +关注

    关注

    76

    文章

    2575

    浏览量

    91548
  • 编译器
    +关注

    关注

    1

    文章

    1623

    浏览量

    49103
  • adas
    +关注

    关注

    309

    文章

    2181

    浏览量

    208617
收藏 人收藏

    评论

    相关推荐

    什么是PLM产品生命周期管理系统?

    在当今竞争激烈的制造业环境中,企业不仅要关注产品的设计和生产,还需要对产品的整个生命周期进行全面管理。这包括了从产品概念构思、设计开发、生产制造、销售分发,到最终报废处理的每一个环节。为了高效、系统
    的头像 发表于 11-23 16:14 155次阅读
    什么是PLM产品<b class='flag-5'>生命周期</b>管理系统?

    如何确保车规级芯片全生命周期安全

    为保障质量、安全性和可靠汽车行业始终如一地贯彻着严苛的标准。然而,这种对汽车安全性和可靠
    的头像 发表于 08-12 10:47 471次阅读
    如何确保车规级芯片全<b class='flag-5'>生命周期</b>的<b class='flag-5'>安全</b>

    新型储能全产业链、全生命周期质量提升解决方案

    新型储能产品全产业链、全生命周期的可靠性质量提升,保障储能系统的高安全、高可靠、长寿命,对国家能源安全新战略推进落实、实现绿色可持续发展具有重要意义。
    的头像 发表于 07-16 13:20 771次阅读
    新型储能全产业链、全<b class='flag-5'>生命周期</b>质量提升解决方案

    半导体全生命周期测试:哪些设备默默守护你的电子产品?

    半导体产业作为现代电子工业的核心,其产品的全生命周期测试对于确保产品质量、提高生产效率和降低成本具有重要意义。半导体全生命周期测试设备涵盖了从原材料检测到最终产品测试的一系列设备,本文将对这些设备进行详细介绍。
    的头像 发表于 07-01 09:38 331次阅读
    半导体全<b class='flag-5'>生命周期</b>测试:哪些设备<b class='flag-5'>在</b>默默守护你的电子产品?

    鸿蒙开发组件:DataAbility的生命周期

    应用开发者可以根据业务场景实现data.js/data.ets中的生命周期相关接口。DataAbility生命周期接口说明见下表。
    的头像 发表于 06-20 09:39 427次阅读

    鸿蒙开发:【PageAbility的生命周期

    PageAbility生命周期是PageAbility被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。PageAbility生命周期流转及状态说明见如下图1、表1所示。
    的头像 发表于 06-17 10:05 688次阅读
    鸿蒙<b class='flag-5'>开发</b>:【PageAbility的<b class='flag-5'>生命周期</b>】

    设备全生命周期管理流程有哪些?

    采购与安装阶段设备全生命周期管理系统对设备需求进行分析,记录设备信息,确保设备正确安装并达到预期性能。维护保养阶段制定科学维护计划,定期检查和保养。性能优化与升级阶段通过分析数据发现问题,优化设备性能。
    的头像 发表于 06-13 15:21 715次阅读
    设备全<b class='flag-5'>生命周期</b>管理流程有哪些?

    鸿蒙Ability Kit(程序框架服务)【UIAbility组件生命周期】实例

    本文档主要描述了应用运行过程中UIAbility和自定义组件的生命周期。对于UIAbility,描述了Create、Foreground、Background、Destroy四种生命周期。对于页面
    的头像 发表于 05-31 15:03 1107次阅读
    鸿蒙Ability Kit(程序框架服务)【UIAbility组件<b class='flag-5'>生命周期</b>】实例

    如何保护电子元器件以延长生命周期

    电子电力领域,许多关键应用要求设备必须运行很长一段时间,甚至几十年。尤其是对于航空航天、国防、能源和医疗行业方面而言,为了保持设备正常运行,必须在其整个生命周期内持续供应组件。那么,如何保护电子
    的头像 发表于 05-31 13:59 503次阅读
    如何保护电子元器件以延长<b class='flag-5'>生命周期</b>

    鸿蒙Ability Kit(程序框架服务)【UIAbility组件生命周期

    当用户打开、切换和返回到对应应用时,应用中的UIAbility实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调,通过这些回调可以知道当前UIAbility实例的某个状态发生改变,会经过UIAbility实例的创建和销毁,或者UIAbility实例
    的头像 发表于 05-30 21:51 1491次阅读
    鸿蒙Ability Kit(程序框架服务)【UIAbility组件<b class='flag-5'>生命周期</b>】

    Traveo II B-H中的SECURE和SECURE_WITH_DEBUG生命周期阶段有何不同?

    Traveo II B-H 中的 SECURE 和 SECURE_WITH_DEBUG 生命周期阶段有何不同?
    发表于 05-21 07:07

    HarmonyOS开发案例:【UIAbility和自定义组件生命周期

    本文档主要描述了应用运行过程中UIAbility和自定义组件的生命周期。对于UIAbility,描述了Create、Foreground、Background、Destroy四种生命周期。对于页面
    的头像 发表于 05-10 15:31 1236次阅读
    HarmonyOS<b class='flag-5'>开发</b>案例:【UIAbility和自定义组件<b class='flag-5'>生命周期</b>】

    为旌科技智能驾驶芯片获取ISO26262功能安全认证,安全至上

    ISO26262道路功能安全标准作为全球认可的汽车安全标准之一,致力于确保道路车辆中电子/电气(E/E)系统的功能安全,使产品
    的头像 发表于 05-07 16:10 480次阅读

    企业数据备份体系化方法论的七大原则:数据生命周期规划:资产管理的新篇章

    。本文将深入探讨如何通过全面规划数据生命周期,实现数据的有效管理和价值的最大化。 1. 数据生命周期的重要分析: 数据生命周期的概念帮助我们理解数据从诞生到消亡的全过程。DAMA的定
    的头像 发表于 03-11 14:24 345次阅读

    什么是设备全生命周期管理系统?

    设备全生命周期管理系统是一款能够对设备进行全周期数字化管理的软件平台,它通过将设备信息电子化,使得设备的管理和监督更加便捷。这个系统不仅涵盖了设备的采购、使用、维修、报废等各个阶段,还能够对设备
    的头像 发表于 02-26 14:21 1169次阅读
    什么是设备全<b class='flag-5'>生命周期</b>管理系统?