北京白癜风治疗最好医院 http://baidianfeng.39.net/qzzt/#ISO#
过去二十年,创新、竞争和客户需求大大增加了汽车行业对软件和连通性的依赖。快速创新使机动车从机械机器转变为高度复杂、高度连通的信息物理系统。
不幸的是,软件和连接性的大幅增加使汽车成为肆无忌惮的软件黑客的目标。汽车系统攻击面的大幅增长已经导致了一些针对机动车的引人注目的网络攻击。
为了应对这一针对汽车行业日益严重的威胁,美国汽车工程师学会(SAE)和ISO推出了ISO/SAE:道路车辆-网络安全工程,这是一项经ISO认可的标准,旨在系统地解决汽车网络安全问题。
ISO/SAE是一个用于开发涵盖整个机动车生命周期的综合风险管理系统的框架。然而,如何实施该流程的具体细节在很大程度上取决于汽车制造商。自然,由于该标准相对较新(年8月发布),业内许多人都在努力满足其要求。
在本文中,我们将讨论:
近期创新趋势对汽车网络安全的影响
ISO/SAE:它是什么以及它为什么对汽车软件开发人员如此重要
汽车网络安全和ISO/SAE合规性的独特挑战
我们还将指出您可以在哪里找到更多有关应对这些挑战的信息。
汽车创新推动更高网络安全需求
汽车行业正在经历巨大的变革。数字化(汽车系统内的信息采集并将其转换为数字信息)、动力传动系统电气化(电动汽车)、高级驾驶辅助系统(ADAS)、自动驾驶(AD)、汽车共享和其他新的移动概念都是重塑该行业的大趋势。
所有这些趋势都是由软件驱动的,并且严重依赖于车辆连接。现在有足够的移动连接带宽来支持各种复杂的用例。车辆可以连接到后端系统和其他车辆。它们交换大量数据。
连通性已实现多种新的客户服务,其中包括:
紧急援助服务
基于位置的服务
停车服务
预测性维护
基于使用情况的保险
不利的一面是,连接性也极大地扩展了黑客可以利用的攻击面,以访问车辆系统。
在巨大的上市时间压力下,汽车OEM依赖许多新参与者为该行业带来软件专业知识。他们还依赖众多开源技术来促进系统和供应商之间的互操作性。这些因素使他们的最新车辆成为黑客利用网络安全漏洞的理想目标。
MITRE将网络安全“漏洞”定义为“软件、固件、硬件或服务组件中存在的缺陷,这种缺陷可能被利用,从而对受影响组件的机密性、完整性或可用性造成负面影响。
汽车软件安全挑战
软件安全现在是汽车行业的一个关键挑战。对车辆进行网络攻击的潜在后果已变得更加严重。这些后果包括:
破坏车辆
伤亡
因盗窃或责任造成的经济损失
大规模车辆召回
对公司形象造成灾难性影响
为了应对这一新挑战,该行业的软件开发商必须采用强大的网络安全管理流程。此外,他们还必须调整软件验证活动,以更好地识别和消除软件黑客通常利用的漏洞。
为了满足第一个需求,SAE和ISO开发了ISO/SAE,这是行业标准的网络安全管理流程。
ISO/SAE:道路车辆–网络安全工程
ISO/SAE提供了一种结构化的方法来定义和管理网络安全目标和风险。它建立了一个严格的框架,使组织能够设计出能够抵御网络安全威胁的车辆。此外,它还旨在确保在产品开发的每个阶段(从开始到退役)都考虑到网络安全。
遵守ISO/SAE对所有ISO成员而言都是强制性的,但从技术上讲,对整个行业而言是自愿的;ISO/SAE是一项标准,而不是法规。但是,汽车OEM和供应商必须遵守联合国法规第号(UNR)。
与UNR的关系
UNR要求汽车公司实施网络安全管理系统(CSMS)并满足与网络安全相关的其他特定要求。对于汽车行业而言,UNR的要求具有约束力,必须遵守才能获得型式批准和市场准入。不遵守规定可能会导致在相应应用领域被禁止销售。已有60多个国家承诺采用该法规。
像UNR这样的法规经常引用各种标准作为主题参考点。UNR引用ISO/SAE。年末发布的一份解释文件直接将法规的要求与标准的各种要求联系起来。
因此,ISO/SAE为满足UNR的要求提供了支持。换句话说,对于必须遵守UNR的公司来说,ISO/SAE已成为事实上的要求。
最大限度地降低网络安全与合规成本
为了证明其符合ISO/SAE,汽车供应商必须在首次交付时证明其产品的网络安全性,并在整个产品生命周期内对该网络安全承担同等责任。
他们必须定义支持初始产品交付和产品整个生命周期的网络安全活动。他们必须根据网络风险分析展示良好的网络安全实践。他们必须识别、评估和缓解产品漏洞。
此外,如果产品漏洞被攻击者利用,他们还要承担任何损失。
为了最大限度地降低总体成本,供应商需要在每个项目开始时定义有效的网络安全活动,以最大限度地降低产品生命周期内这些活动的成本。
以流程为中心的标准
从软件开发的角度来看,ISO/SAE是一个以流程为中心的标准,侧重于网络安全风险管理。它为供应商在展示其产品安全性的方法方面留出了相当大的自由度。该标准列举了各种验证技术,但没有提供如何使用它们的指导。
ISO/SAE要求供应商识别潜在的攻击媒介和漏洞,并确定如何防范。他们必须通过自己具体实施标准定义的强制性风险评估流程来做到这一点。
汽车系统中的攻击面
在ISO/SAE的背景下,网络安全风险分析涉及评估汽车系统的攻击面。术语“攻击面”是指系统中所有可能被恶意行为者利用的潜在入口点(直接或间接)或漏洞的总和。
攻击面分析包括硬件组件、软件模块、网络接口、外部连接和通信通道的分析。
前面讨论的近期行业趋势正在导致汽车攻击面迅速扩大,而这些新技术需要大量数据。例如,在电动汽车中,电源管理和充电点计费所需的大量车辆到基础设施(V2I)消息传递创造了非常广泛的攻击面。
汽车共享依赖于车辆和后端服务器之间的直接移动网络连接,以便汽车向服务器报告其位置和其他数据。通过这种连接,黑客可以实现多种攻击场景,例如伪造GPS信号以重定向汽车或攻击汽车信息娱乐系统主机和后端服务器之间的通信。
ADAS和自动驾驶依靠许多传感器进行导航,包括雷达、激光雷达和摄像头。它们还需要先进的高清地图,这些地图不仅提供环境的常规二维地图,还提供垂直维度的信息,例如道路边界、护栏、标牌和其他障碍物。ADAS和AD所需的大量数据的存储和频繁交换为潜在的攻击创造了巨大的攻击面。
总体而言,联网汽车的攻击面不断扩大。行程数据(如移动地图和实时交通状态、天气和本地服务可用性)必须频繁更新。刷新这些数据所需的无线(OTA)更新机制大大拓宽了攻击面。
网络攻击面
影响所有汽车电子系统的一个弱点是其内部通信网络。
汽车系统中使用多种网络通信协议。这些协议中最广泛使用的协议是控制器局域网(CAN)总线。其他协议包括FlexRay、汽车以太网、MOST和无线CAN。
与其他网络协议(HTTP、以太网、Wi-Fi、蓝牙等)一样,这些汽车协议既可以在硬件中实现,也可以在软件中实现。例如,ECU中的CAN总线协议实现包括以硬件(芯片组)实现的CAN控制器和以C或C++(通常为C)编写的软件中实现的CAN服务模块。
虽然这些网络的通信是系统内部的,但可以从车辆外部访问它们。例如,任何愿意花几百美元购买CAN总线分析仪和接口电缆的黑客都可以访问车辆的CAN总线并探索ECU的CAN服务实现是否存在漏洞。
年,研究人员CharlieMiller和ChrisValasek证明了以这种方式入侵汽车是多么容易。通过修理厂用来检索故障代码和诊断数据的OBD-II端口监控CAN总线,他们能够对福特Escape和丰田Prius的CAN总线通信进行逆向工程。
米勒和瓦拉塞克向记者演示了他们如何控制车辆的多种功能,从简单的烦人操作(如鸣喇叭、更改车速表和油量表读数、收紧安全带),到严重的安全隐患(包括导致发动机加速、猛打方向盘、禁用动力转向和在任何速度下猛踩刹车)。
其他研究表明,使用简单的API连接到CAN总线很容易触发写入缓冲区溢出错误(C和C++中的常见错误)。黑客经常利用缓冲区溢出来访问系统。
易受远程攻击
5年,Miller和Valasek证明,他们在年演示的攻击也可以远程进行。6专家确定,Miller和Valasek发现的8%的漏洞“可用于CAN总线访问,危害远程信息处理通信、升级或攻击链,以及危害或禁用电子控制单元(ECU)。”
最近,在年末,研究人员能够利用16家不同汽车制造商的车辆以及SiriusXM、Spireon和Reviver的联网汽车服务中的漏洞。利用漏洞的后果包括:
仅使用VIN号即可完全远程锁定、解锁、启动、停止发动机、精确定位、闪烁大灯和鸣喇叭
通过VIN号码实现完全远程账户接管和PII披露
可以锁定用户,使其无法远程管理车辆、更改所有权
访问数百个关键任务内部应用程序
在多个系统上执行远程代码
不断扩大的攻击面
总体而言,联网汽车的攻击面不断扩大。行程数据(如移动地图和实时交通状况、天气和本地服务可用性)必须经常更新。
许多客户服务也依赖于连接。其中包括:
基于账户的服务
基于状态的预防性维护建议
与智能手机/PC应用程序集成
此外,汽车原始设备制造商和供应商开始依赖OTA更新来满足不断增长的应用程序数量。
所有这些功能都增加了必须考虑并消除的攻击潜在载体。
源代码攻击面
虽然在系统层面上可以采取很多措施来保护车辆,但上述总体攻击面中很大一部分由源代码组成。软件黑客会探测车辆代码中是否存在可以利用的漏洞。因此,汽车ECU和其他依赖软件和固件的组件也必须在源代码层面得到保护。
大部分软件和固件都是用C/C++编程语言编写的。
由于C/C++代码可以在低级机制上运行高级结构化编程,因此它允许程序员直接操作运行它的硬件。这一特性(以及它的灵活性以及在知识和编程资源方面的广泛支持)使C/C++成为汽车ECU和嵌入式系统的首选语言。
汽车应用的大多数软件和固件(包括ADAS、OTA更新、电动汽车充电和计费协议、车辆连接、信息娱乐等)都是用C或C++编写的。CAN和FlexRay等网络协议的服务软件是用C编写的。AUTomotive开放系统架构(AUTOSAR)自适应平台是用C++实现的。
而且,所有这些应用程序都依赖于实时操作系统(RTOS)或用C语言编写的序列器。
为了满足ISO/SAE并确保其系统的网络安全,汽车软件开发人员必须确保消除所有这些应用程序中的漏洞。不幸的是,由于该语言固有的安全漏洞,消除C/C++代码中的漏洞变得困难。我们将在文章中探讨这些漏洞。
ISO是什么?如何实施ISO?ISO认证费用一般多少钱?什么是ISO以及如何合规?年ISO合规性的6个技巧什么是ISO?它对汽车开发商意味着什么?什么是ISO?面向汽车软件开发人员的合规提示