车载软件易受攻击,如何规避嵌入式软件漏洞

图片

在汽车开发中,汽车网络安全至关重要,特别是现在汽车软件变得日益互联。阅读本文,了解如何预防汽车网络安全漏洞。

为什么汽车网络安全很重要?

如今,互联汽车的解决方案远不只有简单的从A点到B点。通过实时数据共享、应用与汽车的连接、先进的驾驶辅助系统(ADAS)、关键的安全功能(如位置跟踪、远程停车)以及车载信息娱乐系统(IVIs),互联汽车旨在提升驾驶(和乘车)体验。

但是,为车辆添加智能功能会使它们面临网络攻击,导致客户数据泄露,最坏的情况是影响关键的安全功能。有时,直到产品发货后,您才意识到某些漏洞本可以轻松预防。例如,据彭博社报道,最近汽车盗窃案的增加是由于车钥匙系统中没有安装防盗计算机芯片。这就是为什么在开发之初就要考虑各种潜在的攻击途径,并制定计划。

幸运的是,随着对联网汽车的需求不断增长,以及政府出台了更多的法规,汽车生厂商也越来越注重汽车网络安全。根据Meticulous Research最近的一份报告,到2030年,汽车网络安全市场预计将达到139亿美元。

汽车嵌入式软件的网络安全至关重要,它是确保汽车软件经得起考验且安全可靠的唯一途径。它能提高车辆的安全性、保护乘客的安全,同时也是在保护制造商和开发人员。它降低了声誉受损的风险。

但是,如何确保汽车网络安全呢?

这就是问题所在。

了解应该将精力和时间集中到哪里可能就是一大难题。不过好在大多数安全问题可以追溯到软件漏洞,而这些漏洞是可以轻松预防的。

主要汽车网络安全漏洞

以下是两个重要的汽车网络安全漏洞及其预防方法。

内存缓冲区问题

内存缓冲区问题是最重要的汽车网络安全漏洞。这意味着软件可以读取或写入内存缓冲区边界之外的位置。缓冲区溢出就是其中一个例子。

这包括: 

  • 未检查副本上输入的大小

  • 允许写入任意位置的Bug

  • 越界读取

  • 指针超出预期范围

  • 不受信任的指针取消引用

  • 未初始化的指针

  • 已过期的指针引用

  • 超出缓冲区末端的内存访问

防止内存缓冲区问题对于汽车网络安全来说非常重要。

代码注入

代码注入是另一种汽车网络安全漏洞。它们会影响解释性环境(interpreted environment)。代码注入最常影响的是信息娱乐系统和其他复杂的车载系统。 

防止代码注入攻击对于确保汽车网络安全非常重要。您可以联系龙智(Perforce中国授权合作伙伴),获取防止代码注入攻击的建议和白皮书。

TOP汽车网络安全标准和指南

为了保持竞争力并确保汽车嵌入式系统的网络安全,原始设备制造商(OEMs)需要满足不断发展的汽车标准和指南。

ISO SAE 21434

ISO SAE 21434是道路车辆电子系统网络安全风险的标准,涵盖了车辆生命周期的所有阶段,适用于车辆中的所有电子系统、软件以及任何外部连接。ISO SAE 21434还为开发人员提供了在整个供应链中实施安全保障的指南。

WP.29

另外,最新的WP.29 UNECE法规涵盖了网络安全管理系统和软件更新管理系统,为汽车制造商制定了适用于整个供应链的明确流程要求。这些指南包括建议在软件开发的网络安全最佳实践中使用编码标准。

静态分析是验证这些编码标准的推荐方法。开发人员可以使用静态代码分析器(如Helix QAC和Klocwork)来帮助执行并证明符合编码准则(如MISRA® 和 CERT),帮助组织和供应商满足建议的软件验证准则。

如何预防汽车网络安全漏洞

以下是预防汽车网络安全漏洞的方法:

  1. 使用设计审查、手动分析和自动静态分析;

  2. 确保您了解所有黑匣子组件。使它们保持最新状态;

  3. 不要以为一切都在自己的系统内。请特别注意可能从网站中提取的项目。 

静态代码分析可以提供帮助。

使用Perforce静态分析工具提高汽车网络安全

提高汽车网络安全并预防漏洞的一种最有效的方法是使用静态分析工具,例如Helix QAC或Klocwork。

静态分析工具能够帮助执行关键的汽车编码指南(如MISRA和AUTOSAR C++14),同时协助遵守功能安全标准(如ISO 26262)和安全标准(如ISO 21434)。

而且,静态分析工具还能通过以下方式提高软件质量:

  • 在开发早期检测汽车网络安全漏洞、合规性问题和违规行为,加速代码审查和手动测试;

  • 强制执行行业编码标准和准则;

  • 加速代码审查;

  • 报告不同时间、不同产品版本的合规性。

文章来源:https://bit.ly/3Tn3BKK

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

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

相关文章

RK3399平台开发系列讲解(内核入门篇)网络协议的分层

🚀返回专栏总目录 文章目录 一、应用层二、传输层三、网络层四、数据链路层(Data Link Layer)五、物理层沉淀、分享、成长,让自己和他人都能有所收获!😄 📢对于多数的应用和用户而言,使用互联网的一个基本要求就是数据可以无损地到达。用户通过应用进行网络通信࿰

【数组Array】力扣-1109 航班预订统计

目录 题目描述 解题过程 题目描述 这里有 n 个航班,它们分别从 1 到 n 进行编号。 有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti &#xff…

从 MySQL 到 DolphinDB,Debezium + Kafka 数据同步实战

Debezium 是一个开源的分布式平台,用于实时捕获和发布数据库更改事件。它可以将关系型数据库(如 MySQL、PostgreSQL、Oracle 等)的变更事件转化为可观察的流数据,以供其他应用程序实时消费和处理。本文中我们将采用 Debezium 与 K…

Spring Security 6.x 系列(11)—— Form表单认证流程

一、前言 在本系列文章中介绍了过滤器和相关认证组件,对部分源码也进行详细分析。 本章主要学习 Spring Security 中通过 HTML 表单提供用户名和密码的认证流程。 二、配置表单登录 默认情况下,Spring Security 表单登录处于启用状态。 但是&#xff…

Leetcode—454.四数相加II【中等】

2023每日刷题&#xff08;六十四&#xff09; Leetcode—454.四数相加II 实现代码 class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {unordered_map&l…

雷电4.0.50模拟器Android7.1.2安装xposed框架

官方论坛&#xff1a;https://xdaforums.com/t/official-xposed-for-lollipop-marshmallow-nougat-oreo-v90-beta3-2018-01-29.3034811/ Xposed 有分支 [EdXposed 和 LSPosed] 。 Edxposed框架现在支持android 8.0 - android 9.0 &#xff0c;如果是android 7.0或更早的版本&…

2023最新最全【Kali Linux】入门教程【从零基础入门到精通】附安装包

作为一名从事渗透测试的人员&#xff0c;不懂Kali Linux的话&#xff0c;就out了。它预装了数百种享誉盛名的渗透工具&#xff0c;使你可以更轻松地测试、破解以及进行与数字取证相关的任何其他工作。 今天给大家分享一套Kali Linux资料合集&#xff0c;包括12份Kali Linux渗透…

LED恒流调节器FP7126:引领LED照明和调光的新时代(调光电源、汽车大灯)

目录 一、FP7126概述 二、FP7126功能 三、应用领域 随着科技的进步&#xff0c;LED照明成为了当代照明产业的主力军。而在LED照明的核心技术中&#xff0c;恒流调节器是不可或缺的组成部分。今天&#xff0c;我将为大家介绍一款重要的恒流调节器FP7126&#xff0c;适用于LED…

从 Android 手机恢复删除的数据的10个有效工具

您是否曾经在 Android 手机上遇到过数据丢失的情况&#xff0c;即您拍摄的瞬间或其他数据意外丢失&#xff1f; 就我而言&#xff0c;我多次遇到过此类数据丢失的情况&#xff0c;相信我&#xff0c;没有什么比从手机中丢失所有重要数据更严重的了。这就像一场噩梦&#xff0c…

第二十一章 : Spring Boot 集成定时任务(一)

第二十一章 &#xff1a; Spring Boot 集成定时任务&#xff08;一&#xff09; 前言 本章知识点&#xff1a; 介绍使用Spring Boot内置的Scheduled注解来实现定时任务-单线程和多线程&#xff1b;以及介绍Quartz定时任务调度框架&#xff1a;简单定时调度器&#xff08;Simp…

Dubbo线程池

前言 Dubbo使用Netty作为网络调用框架&#xff0c;Netty是一个Reactor模型的框架&#xff0c;线程模型分为boss线程池和worker线程池&#xff0c;boss线程池负责监听、分配事件&#xff0c;worker线程池负责处理事件&#xff0c;简单说就是boss线程池负责hold请求&#xff0c;并…

【算法】选择排序

1、排序逻辑 选择排序逻辑&#xff1a;对数组中的数据&#xff0c;先假定一个最小的数据下标&#xff0c;然后进行循环寻找到最小数据的下标&#xff0c;放在第一层循环的最初始位置 例&#xff1a; 从0 ~ N-1 寻找到最小值&#xff0c;放在0位置 从1~N-1 寻找到最小值 &…

自定义IDEA代码补全插件

目标&#xff1a; 对于项目中的静态方法&#xff08;主要是各种工具类里的静态方法&#xff09;&#xff0c;可以在输入方法名时直接提示相关的静态方法&#xff0c;选中后自动补全代码&#xff0c;并导入静态类。 设计&#xff1a; 初步构想&#xff0c;用户选择要导入的文…

SearchWP WordPress高级网站内容搜索插件

点击阅读SearchWP WordPress高级网站内容搜索插件原文 SearchWP WordPress高级网站内容搜索插件是一个非常强大的工具&#xff0c;可以显着增强您网站的搜索功能。通过向网站访问者提供高度相关和精确的搜索结果&#xff0c;它可以有效地简化他们的搜索过程&#xff0c;促进发…

CentOS 8离线安装telnet

下载telnet rpm安装包&#xff0c;可从https://www.rpmfind.net/linux/rpm2html/search.php?querytelnet&submitSearch…&systemcentos&arch 根据自己的操作系统下载对应的包&#xff0c;这里以CentOS8为例,分别下载如下的rtp包 xinetd-2.3.15-24.el8.x86_64.rpm…

设计师必备的Figma可视化组件库资产已更新至 7.0版本

在当今数字化时代&#xff0c;数据量呈爆炸式增长&#xff0c;大屏可视化的主要程度越来越高&#xff0c;而大屏背后的设计师们面对的挑战也越来越多&#xff0c;其中之一就是大屏可视化设计项目中的重复性元素设计。这一过程不仅耗费时间&#xff0c;还明显降低了设计团队的生…

Qt6.5类库详解:QLineEdit

哈喽大家好&#xff0c;我是20YC小二&#xff01;欢迎关注(20YC编程)&#xff0c;现在有免费《C程序员》视频教程下载哦&#xff01; ~下面开始今天的分享内容~ 1. QLineEdit介绍 QLineEdit是一个单行文本编辑器&#xff0c;允许用户输入和编辑纯文本。它提供了许多有用的编辑…

SSH的交互原理(wireshark的分析)

SSH的交换原理&#xff08;wireshark篇&#xff09; 首先要想了解ssh的交换原理&#xff0c;必须要先了解他的加密方式&#xff0c;他的加密方式是对称加密&#xff0c;和公钥加密。什么意思呢&#xff1f; 首先我们向服务器发送一个请求&#xff0c;然后服务器会发给我们他的…

GitBook安装及使用——使用 Markdown 创建你自己的博客网站和电子书

目录 前言一、依赖环境二、gitbook安装使用1.安装 gitbook-cli2.安装 gitbook3.Gitbook初始化4.创建你的文章5.修改 SUMMARY.md 和 README.md6.编译生成静态网页7.运行以便在浏览器预览8.运行效果 前言 GitBook是一个命令行工具&#xff0c;用于使用 Markdown 构建漂亮的博客网…

【鉴权】JWT加密

目录 定义 官网 定义 JWT是JSON Web Token的缩写&#xff0c;是RFC7519规范。该规范目的是为了让客户端和服务端可靠的传递信息。 官网 JSON Web Tokens - jwt.io JWT是由三个部分组成&#xff0c;HMACSHA256( base64UrlEncode(header) "." base64UrlEncode(pa…