信息安全驱动汽车行业快速向数字化转型

       开发一款安全性良好的软件是困难的,它需要专业知识的积累以及对常见编程缺陷和规则的了解,例如检查输入范围、管理内存分配和回收、寻址字符串格式、避免悬空指针等等。通常情况下,编写安全代码与开发人员编写“流畅”代码的自然愿望形成了对比,开发人员更希望将编写代码的精力集中在正确的业务逻辑上,而非集中于保证编写的每一行代码是否安全上。

       在日常实践中,大多数软件的漏洞源于一小部分编码错误,经过多年的开发实践均能得到改善。平均来看,每1000行代码中仍然存在40-70个错误,这些错误中的一部分将导致可利用的安全问题,而这也是行业中普遍存在的问题。但是对于部署了数千万行代码的产品而言,这可能很快就会导致系统安全性受损。

       漏洞通常被定义为 “一个可以被不法分子利用的缺陷”。如果把漏洞透明化的概念引入软件世界就很容易受到启发,比如在汽车产品本身安全的情况下,产品被部署到在设计上就不安全的环境中使用会发生什么情况呢?这将导致产品安全难以得到保证。作为制造商,你无法控制你的产品在哪里被使用、如何被使用、它们将与哪些系统连接、谁在使用它们、或者谁可能获得对它们的访问,无论是有意还是恶意的。在这种环境下,管理代码中的漏洞这一任务就变得至关重要。

那么汽车行业的安全挑战都有哪些呢?

· 开发惯例

       汽车软件开发大约已有50年的历史,汽车的生命周期至少是12年,汽车平台每5-7年就会更换一次,但大部分遗留的硬件和软件都是从一个平台转移到另一个平台。汽车开发人员主要使用C和C++作为开发语言,虽然这两种语言灵活性很高,但是它们从设计上就不安全,也没有提供任何可以防止将安全漏洞引入系统的保护措施。尽管通过引入编码标准(如MISRA-C)已经做了一些工作来确保编码的安全性,但这些指导方针很难强制执行,并且在一些富操作系统中遵守这些指导方针是不现实的。

· 供应链

       汽车行业的分布式开发实践是独特的,它有多层的供应商,每个供应商都为更高层次的系统集成提供软件集成。一辆汽车可能有50-150个不同的计算单元,由10-20个不同的供应商提供。而供应商提供的这50-150个不同的计算单元中,每个组件可能又有多个CPU、几十个外围硬件组件和大量的软件包。有了这么多第三方代码,且考虑到OEM实际上只负责实际编码的一小部分,这也就使得软件的不透明性成为常态,令制造商很难评估其安全性。

· 开源软件(OSS) 

       面对日益增长的客户需求,更快、更灵活的开发模式驱动成为众望所归,原始设备制造商和供应商越来越多地引入开源软件,并整合了大量的开源库。这种对开源软件的依赖导致了另一个安全问题的恶化。

那么面对这些问题,如何监管才有效呢?

       近几年来,汽车行业内相继发布了多项标准,ISO/SAE21434是SAE J3061的延伸、联合国欧洲经济委员会(UNECE)、WP.29车辆法规协调工作小组也制定了法规以满足OEM和制造商的需求:当涉及到汽车网络安全时,OEM和制造商必须满足法规要求后才能颁发汽车型号认证,否则汽车就不能出售。ISO标准和WP.29的工作都包括一项指令,即在汽车生命周期中持续管理和监测漏洞。

       拥有一个明确和规范的流程是推动车辆安全状况改善的一大步。但仅有流程是不够的,仍需要汽车行业自身进行安全数字化转型。在软件日益复杂的现实中,规模化管理漏洞带来了多种挑战。

· 可见性

       按照传统来讲,汽车工业是根据功能部件的概念来进行组织的。因此,原始设备制造商已经优化了内部资产管理系统来管理供应商的零件,但这些零件的内部软件组成却很少可见。这些系统在管理硬件组件(以及机械部件)级别的复杂供应链分配方面非常出色,但在软件级别的问题上却收效甚微。通常情况下,产品安全团队面临的最大挑战是需要深入了解系统上的漏洞和威胁,而它们很少有内部可见性。

· 相关性

       另一个挑战是 "去除噪音"。NVD是软件漏洞的主要来源,每年有超过16,000个CVE,其中90%以上在汽车行业没有应用。但如果没有先进的软件将数据与实际的车辆联系起来,安全团队就会花费相当多的时间来处理成千上万的漏洞,最终很有可能面对的是大部分漏洞和当前产品不相关的窘境。

· 可追溯性

       在一个组件或开发程序中发现的漏洞很可能与其他组件或开发程序有关,但由于团队可能是在孤军奋战,无法在多个项目之间协调程序,对于安全同事而言很难了解其整个开发范围。

· 可操作性

       安全团队的一项关键任务是管理开发工作,以消除漏洞并不断改进系统的状态。对于不同的个人和完全不同的组织结构,如果不以有组织和可扩展的方式进行管理,管理难度会很大。

 

       以上谈到的所有挑战都强调了汽车行业安全数字化转型的必要性。从业者们逐渐认识到“人+机器”的方法对于保持安全所需的规模的重要性,同时也认识到了引入自动化技术实施标准和法规要求的信息安全活动对于推动行业安全数字化发展的利害。

       经纬恒润针对ISO/SAE 21434、WP.29 R155等法规进行了深入研究,结合多年功能安全、信息安全经验,可以为客户提供信息安全全流程解决方案。依托自动化工具和咨询服务,助力客户建立完备的信息安全流程体系,在信息安全设计、软件开发、硬件设计、漏洞扫描、测试验证方面为客户赋能,保证软件源码级、部件级以及整车层面的安全。

 

 

了解更多:

       请致电 010-64840808转6115或发邮件至market_dept@hirain.com(联系时请说明来自CSDN)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库】第7讲 关系数据模型(章节测验)

一. 单选题 1【单选题】下面对于关系的叙述中,不正确的是(C) A、关系中的每个属性是不可分解的B、在关系中元组的顺序是无关紧要的C、任意的一个二维表都是一个关系D、每一个关系只有一种记录类型 2【单选题】关系模型的完整性约束不包括&…

日本最新型高达式巨型机器人承担铁路维护任务

日本有制造现实生活中的高达式巨型机器人的历史,但它们往往是用于娱乐目的,而不是实际应用。不过,日本刚刚开始使用一个 40 英尺高的人形机器人来维护铁路线。 大约两年前,西日本铁路公司(JR 西日本)制造了…

【Unity】RPG2D龙城纷争(八)寻路系统

更新日期:2024年7月4日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、寻路系统二、寻路规则(角色移动)三、寻路规则(角色攻击)四、角色移动寻路1.自定义寻路规则2.寻…

[C++]——同步异步日志系统(2)

同步异步日志系统 一、 不定参函数1.1 不定参宏函数的使用1.2 C 语言中不定参函数的使用1.3 C不定参数使用 二、设计模式2.1 单列模式2.2 工厂模式2.3 建造者模式2.4 代理模式 在我们开发同步异步日志系统之前,需要了解一些相关的技术知识。 一、 不定参函数 在初学…

从键盘输入一个3位数字字符串,将其转换为数字,并逆序,不允许使用切片,不需要做判断

分析思路: 首先,从键盘输入一个字符串类型的三位数字,使用input()函数获取用户的输入。 使用int()函数将输入的字符串转换为整数类型。 将输入的整数进行逆序操作,其中具体的步骤包括通过除法和取余操作获取个位、十位和百位上的…

VCL界面组件DevExpress VCL v24.1 - 发布全新的矢量主题

DevExpress VCL是DevExpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程…

DP学习——策略模式

学而时习之,温故而知新。 敌人出招(使用场景) 业务中需要多个算法可替换,而不能重构代码时,怎么办?这个时候就要出策略模式这一招了。 具体招式 策略模式的招式,就是把需要替换的算法抽象成…

Django REST Framework(四)DRF APIVIEW

REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。 REST framework 提供了Parser解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(…

Hadoop权威指南-读书笔记-03-Hadoop分布式文件系统

Hadoop权威指南-读书笔记 记录一下读这本书的时候觉得有意思或者重要的点~ 还是老样子~挑重点记录哈😁有兴趣的小伙伴可以去看看原著😊 第三章 Hadoop分布式文件系统 当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分…

【数据结构】(C语言):二叉搜索树(不使用递归)

二叉搜索树: 非线性的,树是层级结构。基本单位是节点,每个节点最多2个子节点。有序。每个节点,其左子节点都比它小,其右子节点都比它大。每个子树都是一个二叉搜索树。每个节点及其所有子节点形成子树。可以是空树。 …

CAS(比较与交换)实现原理

CAS(Compare and Swap,即比较并交换)是一种用于多线程编程中无锁原子操作的机制,常用于实现并发数据结构和算法。CAS 操作通过硬件支持的原子操作实现,可以避免锁带来的开销,提高并发性能。以下是CAS实现原…

选择远程调用的底层实现技术

(1)、 理论基础 feign的远程调用底层实现技术默认采用的是JDK的 URLConnection,同时还支持 HttpClient与 OKHttp。 由于JDK的URLConnection不支持连接池,通信效率很低,所以生产中是不会使用该默认实现的。所以在SpringCloudOpenFeign中直接将…

【堆 优先队列】23. 合并 K 个升序链表

本文涉及知识点 堆 优先队列 LeetCode23. 合并 K 个升序链表 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists [[1,4,5],[1,3,4],[2,6]] 输出&#…

前端面试题5(http与https区别)

http与https区别 **HTTP(Hypertext Transfer Protocol)与HTTPS(Hypertext Transfer Protocol Secure)**是两种用于在互联网上传输数据的协议,它们有以下主要区别: 安全性: HTTP:HTT…

【Whisper】WhisperX: Time-Accurate Speech Transcription of Long-Form Audio

Abstract Whisper 的跨语言语音识别取得了很好的结果,但是对应的时间戳往往不准确,而且单词级别的时间戳也不能做到开箱即用(out-of-the-box). 此外,他们在处理长音频时通过缓冲转录

「C++系列」C++ 变量作用域

文章目录 一、C 变量作用域二、局部变量三、全局变量四、类作用域五、相关链接 一、C 变量作用域 在C中,变量的作用域(Scope)指的是变量在程序中可以被访问的区域。作用域由花括号{}定义,这些花括号可以出现在函数体、控制结构&a…

Apipost接口测试工具的原理及应用详解(四)

本系列文章简介: 随着软件行业的快速发展,API(应用程序编程接口)作为不同软件组件之间通信的桥梁,其重要性日益凸显。API的质量直接关系到软件系统的稳定性、性能和用户体验。因此,对API进行严格的测试成为…

windows安装jdk21

下载 下载zip解压 设置环境变量 设置JAVA_HOME环境变量 Path环境变量添加如下值%HAVA_HOME%\bin 打开新的cmd,输入java --version查看效果

恒创科技:HTTP错误码403禁止意味着什么,怎么修复它?

HTTP错误码403禁止意味着客户端无权访问特定网页或服务器。403 错误表示客户端存在问题,无论用户使用的是哪种网络浏览器,都可能发生这种情况。幸运的是,阻止服务器允许访问特定页面的问题通常可以修复。以下是一些常见原因和相应的解决方案。…

【ROS2】Ubuntu 24.04 源码编译安装 Jazzy Jalisco

目录 系统要求 系统设置 设置区域启用所需的存储库安装开发工具 构建 ROS 2 获取 ROS 2 代码使用 rosdep 安装依赖项安装额外的 RMW 实现(可选)在工作区构建代码 设置环境 尝试一些例子 下一步 备用编译器 Clang保持最新状态 故障排除 卸载 系统要求 当前…