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

    文章

    2720

    浏览量

    94074
  • 编译器
    +关注

    关注

    1

    文章

    1674

    浏览量

    52140
  • adas
    +关注

    关注

    311

    文章

    2363

    浏览量

    212308
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Nordic Semiconductor 将AI辅助开发引入整个产品生命周期

    Semiconductor (OSE: NOD) 今日宣布将AI辅助开发引入物联网设备生命周期的所有环节。无线物联网领域中,Nordic 提供的芯片到云完整解决方案,率先在原型到部署设备群的所有
    的头像 发表于 06-03 16:05 233次阅读
    Nordic Semiconductor 将AI辅助<b class='flag-5'>开发</b>引入整个产品<b class='flag-5'>生命周期</b>

    汽车网络安全 ISO/SAE 21434是什么?(一)

    的基础框架与全流程实施指南,是满足UNECE R155(汽车网络安全管理体系,CSMS) 法规的核心技术支撑,为整车及零部件网络安全设计、验证、运维提供统一标准。 2. 核心目标 在车辆全生命周期
    发表于 04-07 10:37

    动力电池检测:为电动汽车的“心脏”构建生命周期安全防线

    动力电池检测,是指通过电化学测试、机械验证、热分析、无损探伤等多学科技术手段,对构成电动汽车动力电池系统的单体电芯、电池模组、电池包乃至电池管理系统(BMS),生命周期(研发、生产、使用、退役
    的头像 发表于 03-10 14:41 545次阅读
    动力电池检测:为电动<b class='flag-5'>汽车</b>的“心脏”<b class='flag-5'>构建</b>全<b class='flag-5'>生命周期</b>的<b class='flag-5'>安全</b>防线

    使用OpenUSD与NVIDIA Halos构建安全物理AI系统

    全新 NVIDIA 安全框架与技术正在推进开发构建安全物理 AI 的方式。 本文是洞悉 Omniverse 系列文章。“洞悉 Omniverse”重点介绍开发者、3D 从业者与企业
    的头像 发表于 12-24 10:22 1137次阅读

    从安装到数据:振弦式表面应变计的全生命周期服务指南

    工程安全监测领域,振弦式表面应变计作为一种精密的测量工具,其价值贯穿于从初始安装到长期数据服务的整个生命周期。一套科学、严谨的全生命周期服务,是确保监测数据准确可靠、最终为结构物
    的头像 发表于 11-05 16:01 419次阅读
    从安装到数据:振弦式表面应变计的全<b class='flag-5'>生命周期</b>服务指南

    射频识别RFID设备赋能喷涂线全生命周期识别智造

    晨控智能采用RFID技术解决汽车零部件喷涂线体识别难题,实现高效、稳定、精准的全生命周期追溯。
    的头像 发表于 10-15 15:27 568次阅读

    ALM(应用生命周期管理)解析:一文了解其概念、关键阶段及Perforce ALM工具推荐

    什么是ALM(应用生命周期管理)?它远不止是SDLC!一文了解其概念、关键阶段以及如何借助Perforce ALM这类工具,实现端到端的可追溯、加速发布并保障合规
    的头像 发表于 09-19 11:03 2342次阅读
    ALM(应用<b class='flag-5'>生命周期</b>管理)解析:一文了解其概念、关键阶段及Perforce ALM工具推荐

    如何利用技术实现装置数据验证的全生命周期管理?

    效率与合规。以下从 “阶段拆解 + 技术落地” 角度,详细说明实现路径,并结合行业案例强化可操作。 一、先明确:装置数据验证全生命周期的核心阶段 落地技术前,需先锚定全
    的头像 发表于 09-05 15:23 1064次阅读
    如何利用技术实现装置数据验证的全<b class='flag-5'>生命周期</b>管理?

    掌控汽车信息安全生命周期:合规、实现、验证的协同之道

    智能网联汽车产业加速发展,信息安全挑战日益严峻。经纬恒润提供全生命周期解决方案,涵盖MCU安全、软件代码管理和自动化测试,确保满足GB/R155/ISO等法规标准要求,助力企业实现合规
    的头像 发表于 08-22 14:26 1700次阅读
    掌控<b class='flag-5'>汽车</b>信息<b class='flag-5'>安全</b>全<b class='flag-5'>生命周期</b>:合规、实现、验证的协同之道

    智能网联汽车信息安全:构建数字时代的生命防线

    和驾驶体验的革新,也使信息安全成为决定产业可持续发展的核心要素。面对日益复杂的安全威胁,构建一套覆盖全生命周期、融合技术与管理的安全防护体系
    的头像 发表于 07-16 18:13 959次阅读

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、生命周期阶段: 创建阶段 build: 构建
    的头像 发表于 07-11 18:24 1258次阅读

    CYW20706的生命周期状态如何?

    CYW20706的生命周期状态如何? 我注意到CYW20706不再列AIROC™ Bluetooth® LE& Bluetooth® 下。贸泽现在还将该器件列为不建议用于未来设计。 对于CYW20706来说,什么是好的更换零件。 还会有支持 LE Audio 的
    发表于 07-04 07:25

    关于生命周期中的aboutToAppear和onPageShow的理解和应用

    ​##HarmonyOS 应用开发## 官网的“自定义组件的生命周期”这一章节当中介绍的生命周期中,有两个对开发我觉得很重要的
    发表于 06-30 17:32

    如何在MCXN947微控制器上配置安全启动和生命周期

    本文档旨在介绍如何在MCXN947微控制器上配置安全启动和生命周期,以确保产品量产阶段的安全性,防止代码被窃取和篡改,并且能够安全地升级更
    的头像 发表于 06-26 09:49 2825次阅读
    如何在MCXN947微控制器上配置<b class='flag-5'>安全</b>启动和<b class='flag-5'>生命周期</b>

    ArkUI-X中Plugin生命周期开发指南

    ArkUI-X插件用于拓展ArkUI应用的能力,提供管理插件生命周期的能力。本文主要介绍Android平台的ArkUI-X插件生命周期的使用。 Android平台创建ArkUI-X插件生命周期
    发表于 06-04 22:36