汽车网络安全误区

2024-03-10  

总结


汽车安全是一个比较重要的领域,人们可能会对该领域产生误解。对于许多 IT 安全专家来说,汽车安全也是一个未知的新领域。

总结有以下误区:

只有应用程序之间的安全才是真正的安全!

访问控制必须在应用程序内部进行!

每个协议都需要安全!

IDS/IPS 在安全方面是最重要的!

安全不允许测试!

有了安全,就没有敏捷开发!

引言


汽车与安全

在汽车联网程度越来越高、越来越复杂之前,汽车领域的安全用例是有限的。
基于有限的安全用例,安全知识也很有限。

安全与汽车

安全研究人员对汽车行业的了解不是很深。

虽然安全研究人员对汽车的攻击非常感有趣,但由于对汽车技术和架构的了解有限,迄今为止看到的大多数攻击都非常有限。在过去,即使最简单的 E2E CRC 校验也能起到防攻击作用。

本文主要讨论汽车网络安全中的一些 "误区"

只有 App 之间的安全才是安全的


误区:只有应用程序之间的安全(端到端安全)才是安全的。

什么是 "端到端安全"?

汽车领域的许多参与者似乎将其定义为安全解决方案中的端到端原则,如 E2E 库。这样做的目的是尽量减少 E2E 解决方案之外的代码。

让我们假设安全从应用延伸到应用。

哪种网络安全解决方案能提供这种 "应用到应用 "的安全?




SecOC


安全车载通信 (SecOC) 是基于 AUTOSAR 的应用程序安全 "扩展"。



SecOC 可以保障应用程序到应用程序安全吗?

SecOC 是在通信栈内实现的!所以无法保障应用程序到应用程序的安全。

IPsec


IPsec 由 IETF 在一系列 RFC(RFC4301 等)中定义。IPsec 可以保护 IP 上的所有通信,并支持两种模式(隧道和传输)下的两种协议(AH 和 ESP)。



IPsec 可以保障应用到应用安全吗?

IPsec 也是在通信栈中实现的,所以不安全。


TLS


TLS 如何?

TLS 全称 Transport Lay Security,传输层安全。可以与 "IT 行业" 中的应用程序相关联。那么 TLS "应用程序到应用程序" 安全吗?

这里的 TLS 位于 TCP/IP 协议栈中!所以无法保障应用程序之间的安全。

在 Linux 上,TLS 可以链接到应用程序。但加密或 TLS 本身的硬件加速是共享资源!所以还是不安全的。



所以,端到端安全意味着 "应用到应用 "的安全吗?结论是:

无法通过标准化解决方案(SecOC、IPsec、TLS......)实现!

无法通过加密加速等共享资源实现!

在没有内存保护的嵌入式系统上无法实现!

没有中间节点的 "端到端 "才有意义。

所以,在实际项目中请确保 "端到端安全 "定义是合理的!


应用程序内部的访问控制


误区:"只有在应用程序中实现了安全,访问控制才会起作用"。

其基本思想是,你不能相信下面各层的信息,因为一切都可能被欺骗(IP、端口......)。在互联网上,这可能是真的。

例如,浏览器是一个应用程序,它对操作系统的信任度有多高?当用户需要检查证书是否过期时,可能我们只想将其限制在服务端内。

但对于车载网络来说,情况是否如此呢?车载网络的情况截然不同!

在车内,原始设备制造商可以控制大部分部件,而不会受到限制。

因此,OEM 可以限制网络中的通信(如通过 VLAN)。

可以确保 IP 和端口不会被欺骗。

举例说明:在以太网交换机上使用逐跳 MACsec 结合强过滤功能:

可以强制执行 VLAN 和 IP。这样就能在主机(和网络)上实现有效的防火墙。

这样就可以在许多地方实施强大的 ACL!

如果你的整体网络安全设计有效,那么访问控制可以是分布式的!


每个协议都需要安全


误区:每个协议都需要内置安全性!

例如 ARP 也需要安全吗?还是只在应用层才需要?

对于 DoIP 来说,似乎有点道理,因为它可以连接到车外。那么网络管理呢?

我们首先检查一下攻击者模型!

外部攻击者可以修改链路上的流量并替换 ECU。他们可以攻击哪些协议取决于您运行的网络安全。MACsec 可以保护下图几乎所有协议!


内部攻击者可以尝试使用不允许的 "服务",通过访问控制轻松阻止外部攻击!访问控制不一定要在协议 "内部"。

那么该如何做?"对于每个相关协议,都需要支持 ACL 和过滤"(但不必在每个协议内部)。需要确保有足够的访问控制和过滤功能!


IDS/IPS最重要


误区:IDS(入侵检测系统)/IPS(入侵防御系统) 是最重要的安全功能!

检测入侵对汽车网络安全来说很有价值。

通过检测发生了哪些攻击,可以确保能够快速阻止大规模攻击。然而 IDS 和 IPS 的技术深度有限,所能起到的安全保护作用也有限。

所以,IDS 只是安全工具中的一个工具!在使用 IDS 时,需要制定一定的安全策略!


安全不允许测试!


误区:在引入网络安全解决方案时,无法再进行测试,因为所有流量都已加密,无法读取。

SecOC 仅支持身份验证(不支持加密),IPsec、TLS 和 MACsec 仅支持身份验证。


在只有网络安全认证时,我们就不能更改信息了吗?

要允许更改信息,主要有两种方法:

添加一个安全程序,用户打开或关闭安全程序。

增加一个在测试系统和 ECU 之间共享密钥的安全程序。

但是,上述安全程序中的代码错误会降低安全性。因此,该安全程序需要测试!

因此使用网络安全解决方案时,需要允许测试!

有了安全,就没有敏捷开发


误区:有了安全就不需要敏捷开发了。

对于安全性,需要分析需求,以确定需要添加的安全机制。但是,添加安全机制需要时间。所以,为了加快进程,需要用敏捷开发,如:

始终设计通用的安全机制(如保护所有流量)

使用新功能/应用程序检查通用安全机制是否足够。

分析安全性,以确认是否有足够的安全性!

了解安全性是功能的推动因素。不要将其最小化!

后记


本文参考 "2020 汽车技术日" 相关材料书写

所有资料已上架到 "搞一下汽车电子"平台。可在 "搞一下汽车电子"APP 或 "gyxqcdz.com" 资料板块直接搜索 "汽车技术日"即可查看所有内容。






文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。