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

news2024/7/8 2:20:23

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

       在日常实践中,大多数软件的漏洞源于一小部分编码错误,经过多年的开发实践均能得到改善。平均来看,每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.coloradmin.cn/o/1895740.html

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

相关文章

滤波算法学习笔记

目录 引言 一、定义 二、分类 三、常见滤波算法 四、应用与优势 五、发展趋势 例程 1. 均值滤波(Moving Average Filter) 2. 中值滤波(Median Filter) 3. 高斯滤波(Gaussian Filter) 4.指数移动…

新技术 高效的碳捕捉技术设计

网盘 https://pan.baidu.com/s/1mUlEhbQ6LBHYdmfg-du9bw?pwdc7gk 一种用于高效捕集CO_Sub_2__Sub_的生物炭颗粒吸附剂及其制备方法和应用.pdf 基于双相离子溶液的高效碳捕集及节能再生装置.pdf 基于水合物法低温液化的高效碳捕集系统及其操作方法.pdf 碳捕集系统及方法.pdf 高…

Feign远程调用,请求头丢失情况

现象 解决方案 import feign.RequestInterceptor; import feign.RequestTemplate; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolde…

一篇文章说清楚Filter(过滤器)、Interceptor(拦截器)和AOP(切面儿)

文章目录 前言一、Filter(过滤器)1.说明2.实现filterChain.doFilter() 3.order优先级4.解决跨域5.拦截返回错误信息JSON 二、Interceptor(拦截器)1.说明2.实现preHandlepostHandleafterCompletion 3.执行顺序图4.排除特定路径拦截…

C#/.NET/.NET Core编程技巧练习集

DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.NET Core各种编程常用语法、算法、技巧、中间件、类库等等。 GitHub开源地址:https://…

MedCLIP:CLIP + 医学语义匹配策略,解决模型误将不同患者同病症视为不相关

MedCLIP:CLIP 医学语义匹配策略,解决模型误将不同患者同病症视为不相关 提出背景流程图解法拆解子解法1:知识提取子解法2:视觉和文本编码器子解法3:语义匹配损失 提出背景 论文:https://arxiv.org/pdf/22…

【SkiaSharp绘图15】SKPath属性详解:边界、填充、凹凸、类型判断、坐标、路径类型

文章目录 SKPath 构造函数SKPath 属性Bounds 边界(宽边界)TightBounds紧边界FillType填充方式IsConcave 是否凹/ IsConvex 是否凸IsEmpty是否为空IsLine是否为线段IsRect是否为矩形IsOval是否为椭圆或圆IsRoundRect是否为圆角矩形Item[] 获取路径的坐标LastPoint最后点的坐标Po…

JavaScript——while类型

目录 任务描述 相关知识 while类型 编程要求 任务描述 质数的定义如下:大于1的自然数,且除了1和本身外没有别的因数。如2、3、5、7。 本关任务:利用循环结构求质数的和。 相关知识 在选择结构中,条件会被测试一次&#xff…

第一百四十三节 Java数据类型教程 - Java Boolean包装类

Java数据类型教程 - Java Boolean包装类 布尔类的对象包装一个布尔值。 Boolean.TRUE和Boolean.FALSE是布尔类型的两个常量,用于表示布尔值true和false值。 我们可以使用构造函数或valueOf()工厂方法创建一个布尔对象。 当解析字符串时,此类将处理“t…

复现centernet时,报错RuntimeError: CUDA error: out of memory

运行 python test.py ctdet --dataset coco --exp_id coco_dla --load_model /root/CenterNet/exp/ctdet/coco_dla/model_last.pth --gpus 0 --test_scales 1 报错下面: RuntimeError: CUDA error: out of memory明明显存是够用的 解决办法: 找到自己…

RK3568平台(opencv篇)ubuntu18.04上安装opencv环境

一.什么是 OpenCV-Python OpenCV-Python 是一个 Python 绑定库,旨在解决计算机视觉问题。   Python 是一种由 Guido van Rossum 开发的通用编程语言,它很快就变得非常流行,主要是 因为它的简单性和代码可读性。它使程序员能够用更少的代码行…

LVS-DR负载均衡

LVS-DR负载均衡 LVS—DR工作模式 原理 客户端访问调度器的VIP地址,在路由器上应该设置VIP跟调度器的一对一的映射关系,调度器根据调度算法将该请求“调度“到后端真实服务器,真实服务器处理完毕后直接将处理后的应答报文发送给路由器&#xf…

[Redis]哨兵机制

哨兵机制概念 在传统主从复制机制中,会存在一些问题: 1. 主节点发生故障时,进行主备切换的过程是复杂的,需要人工参与,导致故障恢复时间无法保障。 2. 主节点可以将读压力分散出去,但写压力/存储压力是无法…

二、基础—常用数据结构:列表、元祖、集合、字典、函数等(爬虫及数据可视化)

二、基础—常用数据结构:列表、元祖、集合、字典、函数等(爬虫及数据可视化) 1,字符串2,最常用的是列表(重点掌握)3,元组4,字典(重要)5&#xff0…

卫星IoT产品发展前景

卫星IoT产品发展前景 一、概述 卫星IoT产品是指利用卫星通信技术实现物联网设备互联互通的解决方案。随着卫星互联网技术的快速发展,卫星IoT产品正逐渐成为解决偏远地区、海洋、航空等场景下物联网连接问题的重要手段。 二、性能特点 广泛覆盖: 卫星…

搜维尔科技:如何使用 SenseGlove Nova 加速手部运动功能的恢复

District XR 的VR 培训 5 年多来,District XR 一直在为最大的工业公司创建 VR 和 AR 项目。 客户:District XR 客户代表:尼古拉沃尔科夫 他的角色:District XR 首席执行官 面临解决的挑战 该公司正在寻找一种方法来加速身体伤…

k8s离线安装安装skywalking9.4

目录 概述资源下载Skywalking功能介绍成果速览实践rbacoapoap-svcuiui-svc 结束 概述 k8s 离线安装安装 skywalking9.4 版本,环境:k8s版本为:1.27.x 、spring boot 2.7.x spring cloud :2021.0.5 、spring.cloud.alibab&#xff1…

搜维尔科技:【研究】Scalefit人体工程学测量系统为预防肌肉骨骼疾病提供生物力学分析

与工作相关的肌肉骨骼疾病(MSE)是工作生活中的一个持续的伴侣。总部位于科隆的Scaleit公司生产的移动生物力学测量系统Industrial Athlete有助于在工作场所立即发现疾病,伤害和损伤的原因。 Scalefit是一个跨学科网络的一部分,在德国科隆体育大学和职业…

Linux手动安装JDK1.8

1、下载要安装的jdk安装包文件 官网下载地址:https://www.oracle.com/cn/java/technologies/downloads/ 2、上传jdk安装包至要安装服务器 3、在要安装jdk位置使用命令解压安装包 安装路径: /usr/local/java 解压安装包,解压命令 tar -zxvf /install…