网络安全在数字世界中至关重要。当涉及到自动驾驶汽车,或配备先进驾驶辅助系统(ADAS)的车辆时,风险会更高一些。如果有人黑进了你的车,他们可能会使你的车瘫痪,或者更糟,撞坏它,可能会伤害乘客和旁观者。这种风险很难处理,但可以控制。
自动驾驶汽车给黑客提供了一个独特的机会:他们可以与目标车辆进行物理交互,而不必购买或偷窃车辆。一旦物理连接上,黑客就可以利用越来越普遍的ADAS功能来控制汽车,带来灾难性的后果。
自动驾驶汽车给黑客提供了一个独特的机会:他们可以与目标车辆进行物理交互,而不必购买或偷窃车辆。一旦物理连接上,黑客就可以利用越来越普遍的ADAS功能来控制汽车,带来灾难性的后果。
自动驾驶汽车给黑客提供了一个独特的机会:他们可以与目标车辆进行物理交互,而不必购买或偷窃车辆。一旦物理连接上,黑客就可以利用越来越普遍的ADAS功能来控制汽车,带来灾难性的后果。
CAN (Controller Area Network)漏洞攻击
黑客在车内可以侵入汽车的CAN网络,这是一种内部网络,允许部件之间进行通信。一旦有人进入这个网络,他们就可以使用它,造成灾难性的后果。没有了ECU,他们就可以劫持整个系统,而不是干扰单个组件。一些黑客还能够利用CAN网络简单地禁用组件。它们破坏了从传感器或微控制器到中央处理器的数据,最终,主控制器认为组件损坏了,并将其切断。您的组件总是有可能在字段中偶然发生故障的风险,但这种攻击可能同时关闭所有ADAS功能。
攻击向量
一旦进入汽车的网络,黑客就可以利用CAN网络的安全漏洞来篡改汽车的任何电脑控制的部分。在启用了adas的汽车中,从刹车到转向的一切都可以由ecu控制,这带来了严重的风险,因为用户可能无法在物理上推翻计算机控制。
一旦进入汽车的网络,黑客就可以利用CAN网络的安全漏洞来篡改汽车的任何电脑控制的部分。在启用了adas的汽车中,从刹车到转向的一切都可以由ecu控制,这带来了严重的风险,因为用户可能无法在物理上推翻计算机控制。
一个时期自我攻击很难检测到,也很容易绕过现有的入侵检测系统,这些系统会寻找代表汽车网络中恶意通信的异常帧。它等待目标组件发送其中一个帧,然后在同一时间发送自己的帧,其中包含一个损坏的位,该位覆盖了原始帧中的正确位。当目标组件看到它发送了一个错误的位时,CAN协议要求它发出一个错误消息“召回”这个错误消息。重复攻击足够多的次数——汽车组件往往会交换消息——这些重复的错误消息会欺骗组件,使其告诉网络的其他部分它有缺陷,并切断自己进一步的通信。
攻击者可以随机化错误消息的模式,使检测更加困难。而且这些错误也很难与实际发生故障的组件区分开来。为了应对这种情况,整车厂最好的防御措施是将他们的网络分割开来,将关键的安全组件与可能被黑客访问的网络隔离开来,甚至考虑在CAN协议中增加一层加密层,使消息更难被模仿。
网络立法:WP.29 & ISO/SAE 21434
两个网络安全法规将显著影响汽车网络安全的各个方面:WP.29和ISO/SAE 21434。
2022年将是这两个标准规范汽车软件的第一年。
这些网络安全标准和法规的一个重要要求是,每辆汽车必须在其整个生命周期内,从开发到生产,以及所有车辆客户使用阶段,都得到安全保障。因此,整车厂及其供应链必须包含多层次的网络安全解决方案,以防止当前和未来的网络攻击。
防御攻击
第一件能保护汽车的东西是数字安全文化。一旦实施电子防御,还应考虑保护入口点、整合组件和攻击检测。
现在许多汽车的系统使用多达100个独立的ecu。随着ADAS越来越普遍,许多制造商正在将分布广泛的ecu组合成单个微控制器单元(MCU)。这主要是为了增加可用的处理能力,但也有安全目的。保护单个MCU比保护100个ecu更容易。然而,如果使用单个MCU,如果它受到损害,后果可能会更糟。
在不知情的情况下很难抵御入侵。因此,系统必须能够检查自身是否有恶意代码,这一点非常关键。黑客有时可以通过在数据流中注入代码来访问基于传感器的系统。如果处理器能够根据原始代码检查正在运行的代码,就有可能检测并中断入侵。
高风险安全与注意事项
自动驾驶汽车的安全风险很高。首先,你必须在物理上保护你的汽车系统,以防止骑车人访问它们。然后,您必须通过实现故障保护和自检来关注软件的安全性。构建故障安全系统对于减少入侵的影响至关重要。有两种很好的方法可以做到这一点:限制级联故障并允许空中补丁:
1.屏蔽组件可以降低部分风险,因为如果黑客不知道他们在处理什么类型的组件,就很难进入系统。
2.此外,使用防篡改胶带可以帮助你知道什么时候有人打开了他们不应该打开的东西。
内存保护单元(Memory protection unit)用于防止mcu级联故障。应该安装这种系统来防止级联攻击。如果攻击者控制了一个ECU,就有可能导致ECU失灵,引发连锁反应,从而影响汽车。将系统充分隔离是一个好主意,一个有目的的故障不会导致整个系统的故障。
用软件比用物理保护更有可能挫败黑客的企图。软件检查以确保组件仍在工作,可以向系统发出入侵警报。如果在驾驶时ECU域控制器处于更新模式,那么就知道出现了问题,您可以将车停到问题解决为止。检查组件可以帮助阻止攻击,如前面提到的禁用黑客。有人可能利用CAN网络欺骗处理器,使其认为传感器没有工作。如果这些传感器能够自我检查,它们就可以告诉控制器它们实际上是在工作的,并触发一些故障安全措施。如果正在发生攻击,可以进行缓解。当已知的漏洞没有做好准备,让黑客在系统内横行时,就会出现问题。尽可能地分割系统将防止级联故障。如果有人黑进了车内的娱乐系统,他们应该不能用它来关闭整个系统。
案例研究:机器学习可以检测和防止攻击
与所有机器学习应用一样,将人工智能部署到自动驾驶汽车中应对安全风险的第一步是收集和存储正确的数据。如果使用一个能够存储和分析日志的平台来监控汽车的内部网络,那么汽车本身就可以检测到恶意活动并防止攻击——或者,至少可以提醒司机并减轻他们的影响。
能够存储和分析日志的有效平台的一个例子是 Elasticsearch,广泛应用于安防。下面的图表说明了汽车的用户日志是如何流入Elasticsearch数据库的,这将使算法检测到潜在的漏洞。
Miller和Valasek开发的反黑客解决方案就是一个在车辆环境下工作的学习和预防设备的例子。这是一种针对具有一定自动化功能的车辆的入侵检测系统。
该设备基于一个通用的NXP微控制器,用一块简单的板插入OBD2端口。它的工作原理是在驾驶的前几分钟以观察模式运行,使设备能够捕捉车辆的典型数据模式。然后,它切换到检测模式,以监视系统的异常,如不寻常的洪水信号或命令。如果它发现了“不良”信号,就会将汽车置于“软弱模式”,实质上是关闭网络,并禁用动力转向和车道辅助等一些功能,直到车辆重新启动。
检测到异常后,可以触发两种不同的操作:预防和警报。
预防模块用于“告诉”汽车它应该忽略流氓命令,它可以用来阻止试图使用相同方法的攻击者。警报模块用于实时发送(或显示)通知,允许司机采取行动或自动通知当局攻击。该模块可以扩展与仪表盘集成到汽车。
防范利用和攻击的长期解决方案
- 网络分割:通过改变拓扑结构或分割车辆中的CAN,可以阻止目标错误扩散对特定系统的影响。
- 规范的OBD2端口访问:创建一个唯一的硬件密钥或密码来打开端口所在的物理位置,可以防止非法和未经授权的设备被引入CAN。还可以考虑实现软件级身份验证,以允许来自和访问端口的流量。
- 加密:加密CAN帧ID字段可以防止攻击者识别到目标的CAN帧,从而产生更嘈杂和更可检测的攻击模式。
作为技术服务提供商,Cyient与行业专家、设备制造商和售后市场客户紧密合作,通过我们关注的大趋势“智能交通和互联产品”、“增强和人类福祉”、“超自动化和智能运营”等领域,与汽车行业的趋势保持一致。
让我们知道你对这篇文章的看法。
请在下方留言。