Perforce SAST专家详解:自动驾驶汽车的安全与技术挑战,Klocwork、Helix QAC等静态代码分析成必备合规性工具

news2024/11/27 15:59:04

自动驾驶汽车安全吗?现代汽车的软件包含1亿多行代码,支持许多不同的功能,如巡航控制、速度辅助和泊车摄像头。而且,这些嵌入式系统中的代码只会越来越复杂。
随着未来汽车的互联程度越来越高,这一趋势还将继续。汽车越来越依赖于技术,将逐渐变得更加自主,并最终实现自动驾驶。因此,了解自动驾驶汽车的安全问题非常重要,这样你才能回答 “自动驾驶汽车安全吗?”、”自动驾驶汽车比人类驾驶更安全吗?”等问题。

自动驾驶汽车安全吗?比人类驾驶更安全吗?

有专家认为,自动驾驶汽车有可能比人类驾驶员更安全。

自动驾驶汽车正在不断改进:《自然通讯杂志》最近发表的一项研究比较了2100个自动驾驶系统和25,113个人类驾驶汽车的事故数据。研究发现,在大多数可比情况下,自动驾驶汽车比人类驾驶汽车发生的事故更少。

支持使用自动驾驶汽车的数据是有道理的——毕竟,人类驾驶员每年都会发生数百万起事故。2022年,约有600万起载有人类驾驶员的车辆事故,其中致命事故不到百分之一。

不过,该研究的其他数据表明,自动驾驶汽车要成为常态,还有很长的路要走。

例如,《自然》杂志的研究分析了其他情况下的事故率,发现在黎明、黄昏以及转弯条件下,使用高级驾驶辅助系统(ADAS)的事故更为频繁。

此外,《自然》杂志的研究承认,由于自动驾驶汽车仍然稀缺,事故数据也很少。与此同时,确实发生并成为头条新闻的事故可能会削弱公众对全自动驾驶汽车的信任。例如,福布斯的一项法律调查发现,93%的受访者对自动驾驶汽车表示担忧。

臭名昭著的是,2018年3月,一辆Uber自动驾驶测试车在亚利桑那州与一名骑自行车的人发生了致命碰撞。这辆自动驾驶汽车未能将骑车人识别为人类,直到来不及停车。而车内的人类安全驾驶员也没有注意到这名骑自行车的人。

我们可能还需要一段时间才能看到自动驾驶汽车的广泛应用。

与此同时,由人类驾驶的车辆正在使用越来越多的ADAS技术。

自动驾驶汽车如何保障安全?

如今,大多数新车都配备了ADAS。ADAS包括:

  • 车道跟踪 
  • 自主紧急制动 
  • 增强型视觉系统 

提供这些功能的系统依赖于通过本地网络进行通信的传感器和执行器。它们由微控制器控制。

汽车之间也相互通信,即车对车通信(V2V)。汽车还可以与交通灯、路标或卫星等基础设施进行通信,即车对基础设施通信 (V2I) 或V2X。

实现这一切的当然是软件。除了应用程序代码之外,还有操作系统和中间件(如网络通信栈),以及传感器、执行器和显示接口。

安全问题:自动驾驶汽车安全吗?

配备ADAS的车辆面临着比以往更多的安全问题。

围绕汽车的安全问题日益突出。随着V2X通信的发展,汽车很容易受到恶意攻击。有报道称,黑客控制了汽车并凌驾于驾驶员之上。

大多数汽车制造商都使用车载诊断系统(OBD)。OBD可访问各种发动机参数,以便在维修时进行故障查找和诊断。

连接器接口(OBD II)的技术细节已公开发布。目前有许多蓝牙OBD连接器,任何人都可以使用手机访问发动机参数。

显然,这可能会使发动机控制系统暴露给任何怀有善意或恶意的人。

密歇根大学最近对此进行了测试。他们发现,笔记本电脑与OBD接口的直接连接可用于覆盖驾驶员的指令。

汽车合规标准为何至关重要?

因此,随着ADAS的发展和自动驾驶汽车的普及,汽车合规性仍将十分重要。而汽车标准也需要得到遵守。

ISO 26262可能是最重要的车辆安全标准。它侧重于电气和电子系统的功能安全,适用于安全相关系统生命周期内的所有活动。其中包括对软件质量的要求。

该标准使用汽车安全完整性等级(ASIL)来衡量风险。范围从A到D,A是最低的安全完整性级别。D级为最高级别,要求也最多。

风险参数包括风险的严重程度、暴露概率和可控性。

可控性假定驾驶员:

  • 具备适当的驾驶条件。
  • 接受过相应的驾驶培训(有驾驶执照)。
  • 符合所有适用的法律法规。

自动驾驶汽车合法吗?

自动驾驶汽车可以在一些国家/地区进行合法测试。但是,自动驾驶汽车还需要克服更多的法律障碍。

法律需要适应ADAS和自动驾驶汽车。立法必须考虑到ADAS出现故障时应如何处理,这一点至关重要。在这种情况下,ADAS将需要通知驾驶员,并恢复人为控制。

软件设计标准 

如果通知失效,人类驾驶员可能会注意力不集中,无法避免伤害——就像Uber自动驾驶汽车的情况一样。如果回退失败,系统可能会继续控制,而不是让驾驶员进行干预并避免伤害。

美国汽车工程师协会(SAE)标准J3016将驾驶自动化分为六个等级,从无自动化到全自动。

SAE三级或更高水平的ADAS依靠软件来实现:

  • 从传感器收集数据。 
  • 创建环境模型。
  • 决定如何协助驾驶员或控制车辆。

这些级别的ADAS还能确定传感器是否正常工作、何时向驾驶员发出警报以及何时恢复人工控制。

交通法规

为适应ADAS的发展,交通法规需要进行修改,特别是在责任和隐私方面。每个国家都有自己的交通法规。

北美
在美国,国家公路交通安全管理局提出了一个正式的分类系统,定义了五个级别的自动化。在最低级别,驾驶员必须始终完全控制车辆。在最高级别中,车辆在整个行程中执行所有安全关键功能——驾驶员在任何时候都无需控制车辆。

在州一级,情况各不相同。2011年,内华达州成为第一个批准在公共道路上进行自动驾驶汽车测试的州。如今,有29个州允许测试自动驾驶汽车。在内华达州、佛罗里达州、佐治亚州、西弗吉尼亚州、犹他州、北卡罗来纳州和北达科他州等七个州,如果车辆的人工智能达到SAE 4级或5级,则完全自动驾驶是合法的。

欧洲 
欧洲的一个研究项目——智能车辆的自动驾驶应用与技术——于2014年1月启动。该项目通过根据情况和驾驶员状态动态调整自动驾驶水平,为日常交通开发各种自动驾驶功能。

该项目还涉及可能影响成功引入市场的法律问题。

车辆与道路自动化 (VRA) 是一项由欧盟资助的支持行动。其目的是建立一个专家和利益相关者合作网络,致力于自动驾驶汽车和相关基础设施的部署。

亚太地区 

日本也许是最接近实现自动驾驶汽车的国家。他们在2020年东京奥运会前及时通过了新法规,使自动驾驶交通系统在有限条件下,在奥运村附近全面投入使用。然而,赛事期间发生的一起轻微事故表明,安全方面仍需要改进,自动驾驶汽车尚未准备好用于正常的道路和日常使用。

在中国,自动驾驶立法正在上海和北京等大城市进行。中国的立法相当灵活,政府有更大的权力将所需的变革落实到位。不过也仍需要处理与其他国家相同的复杂问题。

印度 
印度也在考虑自动驾驶,但面临着重大挑战。其中之一就是立法进展缓慢,而且由于基础设施的原因,很难实施预期的规则。

汽车开发人员始终需要合规性工具

可以为车辆开发安全可靠的系统。为了遵守法律法规,汽车开发人员始终需要智能工具,如Klocwork和Helix QAC等静态代码分析器。

软件设计 
系统安全始于功能设计。

这可能包括使用防火墙来保持安全关键型应用(如转向和制动)与非关键型应用之间的隔离。这对于与外界通信的应用程序(如信息娱乐系统)尤为重要。

它还包括减少或限制通信,以及检查和验证任何通信数据。

安全的嵌入代码 
大多数汽车嵌入式软件都是用C或C++编写的。

您可以使用编码标准来确保嵌入代码的安全性。MISRA提供了C和C++的指导原则。AUTOSAR也提供了现代C++的指导原则。

Perforce静态分析工具有效管理自动驾驶汽车的安全问题

在Perforce最新的《汽车软件开发现状报告》中,信息安全(security)已成为汽车开发人员日益关注的问题,超越了对使用安全(safety)的关注,跃居首位。

Klocwork静态应用程序安全测试(SAST)适用于C、C++、C#、Java、JavaScript、Python和Kotlin,可识别软件的安全性、质量和可靠性问题,保护您的软件免受潜在网络安全漏洞的威胁。

适用于C和C++的Perforce Helix QAC,使代码符合MISRA和AUTOSAR等编码标准以及ISO 26262等功能安全标准。

Perforce中国授权合作伙伴——龙智:

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

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

相关文章

(计算机组成原理)期末复习

第一章 计算机的基本组成:硬件软件(程序)计算机系统 软件有系统软件(系统管理工具),应用软件 计算机硬件:包括主机和外设,主机包括CPU和内存,***CPU由运算器和控制器所组…

UEFI 中的 Protocol

Protocol 在 UEFI 内核中的表示 typedef VOID *EFI_HANDLE;EFI_HANDLE是指向某种对象的指针,UEFI 用它来表示某个对象。 UEFI 扫描总线后,会为每个设备建立一个 Controller 对象,用于控制设备,所有该设备的驱动以 Protocol 的形式…

量子安全与经典密码学:一些现实方面的讨论

量子安全与经典密码学 背景:量子安全与经典密码学量子计算对传统密码学的威胁 安全性分析经典密码学的数学复杂性假设**量子密码学的物理不可克隆性假设** **性能与实现难度**后量子算法在经典计算机上的运行效率**量子通信设备的技术要求与成本** **可扩展性与适用…

【大模型】LLaMA-Factory的环境配置、微调模型与测试

前言 【一些闲扯】 时常和朋友闲聊,时代发展这么快,在时代的洪流下,我们个人能抓住些什么呢。我问了大模型,文心一言是这样回答的: 在快速发展的时代背景下,个人确实面临着诸多挑战,但同时也充满…

PostgreSQL的学习心得和知识总结(一百五十八)|在线调优工具pgtune的实现原理和源码解析

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

汽车渲染领域:Blender 和 UE5 哪款更适用?两者区别?

在汽车渲染领域,选择合适的工具对于实现高质量的视觉效果至关重要。Blender和UE5(Unreal Engine 5)作为两大主流3D软件,各自在渲染动画方面有着显著的差异。本文将从核心定位与用途、工作流程、渲染技术和灵活性、后期处理与合成四…

机器学习—迁移学习:使用其他任务中的数据

对于一个没有那么多数据的应用程序,迁移学习是一种奇妙的技术,它允许你使用来自不同任务的数据来帮助你的应用程序,迁移学习是如何工作的? 以下是迁移学习的工作原理,假设你想识别手写的数字0到9,但是你没…

LeetCode 3206.交替组 I:遍历

【LetMeFly】3206.交替组 I:遍历 力扣题目链接:https://leetcode.cn/problems/alternating-groups-i/ 给你一个整数数组 colors ,它表示一个由红色和蓝色瓷砖组成的环,第 i 块瓷砖的颜色为 colors[i] : colors[i] …

如何通过高效的缓存策略无缝加速湖仓查询

引言 本文将探讨如何利用开源项目 StarRocks 的缓存策略来加速湖仓查询,为企业提供更快速、更灵活的数据分析能力。作为 StarRocks 社区的主要贡献者和商业化公司,镜舟科技深度参与 StarRocks 项目开发,也为企业着手构建湖仓架构提供更多参考…

25A物联网微型断路器 智慧空开1P 2P 3P 4P-安科瑞黄安南

微型断路器,作为现代电气系统中不可或缺的重要组件,在保障电路安全与稳定运行方面发挥着关键作用。从其工作原理来看,微型断路器通过感知电流的异常变化来迅速作出响应。当电路中的电流超过预设的安全阈值时,其内部的电磁感应装置…

目标检测,图像分割,超分辨率重建

目标检测和图像分割 目标检测和图像分割是计算机视觉中的两个不同任务,它们的输出形式也有所不同。下面我将分别介绍这两个任务的输出。图像分割又可以分为:语义分割、实例分割、全景分割。 语义分割(Semantic Segmentation)&…

16 —— Webpack多页面打包

需求&#xff1a;把 黑马头条登陆页面-内容页面 一起引入打包使用 步骤&#xff1a; 准备源码&#xff08;html、css、js&#xff09;放入相应位置&#xff0c;并改用模块化语法导出 原始content.html代码 <!DOCTYPE html> <html lang"en"><head&…

《PH47 快速开发教程》发布

PDF 教程下载位于CSDN资源栏目&#xff08;网页版本文上方&#xff09; 或Gitee&#xff1a;document ss15/PH47 - 码云 - 开源中国

腾讯云OCR车牌识别实践:从图片上传到车牌识别

在当今智能化和自动化的浪潮中&#xff0c;车牌识别&#xff08;LPR&#xff09;技术已经广泛应用于交通管理、智能停车、自动收费等多个场景。腾讯云OCR车牌识别服务凭借其高效、精准的识别能力&#xff0c;为开发者提供了强大的技术支持。本文将介绍如何利用腾讯云OCR车牌识别…

C++ 优先算法 —— 无重复字符的最长子串(滑动窗口)

目录 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 3. 代码实现 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 题目截图&#xff1a; 此题所说的…

[网安靶场] [更新中] UPLOAD LABS —— 靶场笔记合集

GitHub - c0ny1/upload-labs: 一个想帮你总结所有类型的上传漏洞的靶场一个想帮你总结所有类型的上传漏洞的靶场. Contribute to c0ny1/upload-labs development by creating an account on GitHub.https://github.com/c0ny1/upload-labs 0x01&#xff1a;UPLOAD LABS 靶场初识…

安装python拓展库pyquery相关问题

我采用的是离线whl文件安装, 从官方库地址: https://pypi.org/, 下载whl文件, 然后在本地电脑上执行pip install whl路径文件名.whl 但是在运行时报错如下图 大体看了看, 先是说了说找到了合适的 lxml>2.1, 在我的python库路径中, 然后我去看了看我的lxml版本, 是4.8.0, 对…

春秋云境 CVE 复现

CVE-2022-4230 靶标介绍 WP Statistics WordPress 插件13.2.9之前的版本不会转义参数&#xff0c;这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下&#xff0c;具有管理选项功能 (admin) 的用户可以使用受影响的功能&#xff0c;但是该插件有一个设置允许低权限用…

图论入门编程

卡码网刷题链接&#xff1a;98. 所有可达路径 一、题目简述 二、编程demo 方法①邻接矩阵 from collections import defaultdict #简历邻接矩阵 def build_graph(): n, m map(int,input().split()) graph [[0 for _ in range(n1)] for _ in range(n1)]for _ in range(m): …

Jackson库中JsonInclude的使用

简介 JsonInclude是 Jackson 库&#xff08;Java 中用于处理 JSON 数据的流行库&#xff09;中的一个注解。它用于控制在序列化 Java 对象为 JSON 时&#xff0c;哪些属性应该被包含在 JSON 输出中。这个注解提供了多种策略来决定属性的包含与否&#xff0c;帮助减少不必要的数…